diff --git a/CMakeLists.txt b/CMakeLists.txt index 177d5240d4c807788fa5d7d70c173cc2f4f698b8..6b6f4d01e4d3a155bd208a836b3b837d84fe6139 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,7 +32,7 @@ set(lib_files src/parkinds.f90 src/pbl_grid.f90 src/phys_fluid.f90 - src/state_utils.f90 + src/abl_state_utils.f90 src/scm_state_data.f90 src/pbl_turb_data.f90 src/pbl_solver.f90 diff --git a/radiation/CMakeLists.txt b/radiation/CMakeLists.txt index 677b4e8e94db375adbc3ef4433d05d82bd86935f..65e423caf9ddfe31bfc3edd817fc9d01b96baede 100644 --- a/radiation/CMakeLists.txt +++ b/radiation/CMakeLists.txt @@ -24,7 +24,7 @@ else () endif() set(CMAKE_Fortran_FLAGS_DEBUG "-O0 ${CMAKE_Fortran_FLAGS_DEBUG} ${bounds}") -set(CMAKE_Fortran_FLAGS_RELEASE "-O1 -finline-functions ${dialect}" ) +set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -finline-functions ${dialect}" ) add_library(rrtmlw STATIC modules/parkind.f90 diff --git a/src/state_utils.f90 b/src/abl_state_utils.f90 similarity index 91% rename from src/state_utils.f90 rename to src/abl_state_utils.f90 index a3404fac4070de5eeec7cfeff92b8340f5eb2e12..a80248f2e31ecc54ff702cbee5920976e6d88a8c 100644 --- a/src/state_utils.f90 +++ b/src/abl_state_utils.f90 @@ -1,8 +1,8 @@ ! Created by Andrey Debolskiy on 17.12.2023. -module state_utils +module abl_state_utils - public geo + public geo_abl public get_geopotential_moist public theta2ta public ta2theta @@ -41,7 +41,7 @@ module state_utils end do end subroutine get_geopotential_moist - SUBROUTINE GEO(T,FS,F,SIG, R, LL) + SUBROUTINE geo_abl(T,FS,F,SIG, R, LL) implicit none integer, intent(in):: LL real, intent(in):: T(LL) @@ -62,7 +62,7 @@ module state_utils end do - END SUBROUTINE GEO + END SUBROUTINE geo_abl @@ -97,7 +97,7 @@ module state_utils end do end subroutine ta2theta - real function qmax_sc(t, p, aa) + real function qmax_scabl(t, p, aa) implicit none real, intent(in) :: t, p, aa @@ -109,9 +109,9 @@ module state_utils else pb=21.85e0/(t-7.65e0) end if - qmax_sc=3.80042e-3*exp(pb*pb2)/p - end function qmax_sc - real function qmax(T,P, AA ) + qmax_scabl=3.80042e-3*exp(pb*pb2)/p + end function qmax_scabl + real function qmax_abl(T,P, AA ) IMPLICIT NONE real, intent(in):: t, p, aa !local @@ -123,39 +123,39 @@ module state_utils ELSE PB=21.85E0/(T-7.65E0) ENDIF - QMAX=3.80042E-3*EXP(PB*PB2)/P + QMAX_abl=3.80042E-3*EXP(PB*PB2)/P RETURN - end function qmax + end function qmax_abl - real function dqsdt_sc(a, b, h) + real function dqsdt_scabl(a, b, h) real, intent(in) :: a, b, h - dqsdt_sc=4248.855e0*h*qmax_sc(a,b, 0.0e0)/(a-31.10e0)**2 - end function dqsdt_sc + dqsdt_scabl=4248.855e0*h*qmax_scabl(a,b, 0.0e0)/(a-31.10e0)**2 + end function dqsdt_scabl - REAL FUNCTION CLDT(Q,T,P,C) + REAL FUNCTION cldt_abl(Q,T,P,C) ! IMPLICIT NONE REAL, INTENT(IN) :: Q,T,P,C ! REAL DQSDT !REAL :: QMAX - CLDT=(Q-C*QMAX(T,P, 0.0E0))/(1.0E0+2488.851E0*DQSDT(T,P,C)) + CLDT_abl=(Q-C*qmax_abl(T,P, 0.0E0))/(1.0E0+2488.851E0*DQSDT_abl(T,P,C)) RETURN - END FUNCTION CLDT + END FUNCTION cldt_abl - REAL FUNCTION DQSDT(A,B,H) + REAL FUNCTION dqsdt_abl(A,B,H) ! IMPLICIT NONE REAL, INTENT(IN) :: A, B, H !REAL :: QMAX - DQSDT=4248.855E0*H*QMAX(A,B, 0.0E0)/(A-31.10E0)**2 + DQSDT_abl=4248.855E0*H*qmax_abl(A,B, 0.0E0)/(A-31.10E0)**2 RETURN - END FUNCTION DQSDT + END FUNCTION dqsdt_abl - REAL FUNCTION DQSDT2(A,B,H) + REAL FUNCTION dqsdt2_abl(A,B,H) IMPLICIT NONE @@ -163,10 +163,10 @@ module state_utils ! REAL DQSDT !REAL :: QMAX - DQSDT2=4248.855E0*H*(DQSDT(A,B, H )/(A-31.10E0)**2 - & - 2.0E0*QMAX (A,B, 0.0E0)/(A-31.10E0)**3) + DQSDT2_abl=4248.855E0*H*(DQSDT_abl(A,B, H )/(A-31.10E0)**2 - & + 2.0E0*QMAX_abl (A,B, 0.0E0)/(A-31.10E0)**3) RETURN - END FUNCTION DQSDT2 + END FUNCTION DQSDT2_abl real function get_density( p, t, qv, fluid) use phys_fluid, only: fluidParamsDataType @@ -357,4 +357,4 @@ module state_utils end do grid%dzc(2:kmax) = grid%z_cell(2:kmax) - grid%z_cell(1:kmax-1) end subroutine get_z_from_sigma -end module state_utils \ No newline at end of file +end module abl_state_utils \ No newline at end of file diff --git a/src/tests/cbl_exp.f90 b/src/tests/cbl_exp.f90 index 9d83fed06bdd0c7bb13090eca43b37cefc245af5..de5b8be62356181afc82b364f48cb63304358af8 100644 --- a/src/tests/cbl_exp.f90 +++ b/src/tests/cbl_exp.f90 @@ -13,7 +13,7 @@ program cbl_exp use pbl_turb_common use pbl_dry_contrgradient use pbl_solver - use state_utils, only : geo, theta2ta, ta2theta, get_sigma_from_z, & + use abl_state_utils, only : geo_abl, theta2ta, ta2theta, get_sigma_from_z, & get_sigma_from_z_theta, get_theta_v, get_density_theta_vector use diag_pbl use pbl_grid diff --git a/src/tests/gabls1.f90 b/src/tests/gabls1.f90 index fcb818b8f5c6b73a06ccd1798ec238d351579621..fb2dd61bba5c820557aadceaf1f4ed1b3afd1e55 100644 --- a/src/tests/gabls1.f90 +++ b/src/tests/gabls1.f90 @@ -12,7 +12,7 @@ program gabls1 use pbl_turb_data use pbl_turb_common use pbl_solver - use state_utils, only : geo, theta2ta, ta2theta, get_sigma_from_z, & + use abl_state_utils, only : geo_abl, theta2ta, ta2theta, get_sigma_from_z, & get_sigma_from_z_theta, get_theta_v, get_density_theta_vector use diag_pbl use pbl_grid diff --git a/src/tests/gabls2.f90 b/src/tests/gabls2.f90 index 044a88d2eb5b20374ea5d21c5dad0b90f5efede6..dd4f0a4c5a644e4be96e5c9159455bd8dd1914de 100644 --- a/src/tests/gabls2.f90 +++ b/src/tests/gabls2.f90 @@ -13,7 +13,7 @@ program gabls2 use pbl_turb_common use pbl_dry_contrgradient use pbl_solver - use state_utils, only : geo, theta2ta, ta2theta, get_sigma_from_z, & + use abl_state_utils, only : geo_abl, theta2ta, ta2theta, get_sigma_from_z, & get_sigma_from_z_theta, get_theta_v, get_density_theta_vector use diag_pbl use pbl_grid