diff --git a/src/arome/gmkpack_ignored_files b/src/arome/gmkpack_ignored_files index d93196a4a2e2868562a343cad3cbdd791ba72ca3..ce3b58090018fcf9b21ce34e5d40188ad2b04af1 100644 --- a/src/arome/gmkpack_ignored_files +++ b/src/arome/gmkpack_ignored_files @@ -105,3 +105,9 @@ phyex/turb/etheta.F90 phyex/turb/emoist.F90 phyex/turb/rmc01.F90 phyex/turb/sbl_depth.F90 +phyex/turb/th_r_from_thl_rt_1d.F90 +phyex/turb/th_r_from_thl_rt_2d.F90 +phyex/turb/th_r_from_thl_rt_3d.F90 +phyex/turb/thl_rt_from_th_r_mf.F90 +phyex/turb/bl_depth_diag_3d.F90 +phyex/turb/bl_depth_diag_1d.F90 diff --git a/src/arome/turb/bl_depth_diag_1d.F90 b/src/arome/turb/bl_depth_diag_1d.F90 deleted file mode 100644 index c477ca8ef4893d2c19ab0f4d68b580b95de1a775..0000000000000000000000000000000000000000 --- a/src/arome/turb/bl_depth_diag_1d.F90 +++ /dev/null @@ -1,38 +0,0 @@ -! ######spl -FUNCTION BL_DEPTH_DIAG_1D(KKB,KKE,PSURF,PZS,PFLUX,PZZ,PFTOP_O_FSURF) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! -USE MODI_BL_DEPTH_DIAG_3D -IMPLICIT NONE -! -INTEGER, INTENT(IN) :: KKB ! bottom point -INTEGER, INTENT(IN) :: KKE ! top point -REAL, INTENT(IN) :: PSURF ! surface flux -REAL, INTENT(IN) :: PZS ! orography -REAL, DIMENSION(:), INTENT(IN) :: PFLUX ! flux -REAL, DIMENSION(:), INTENT(IN) :: PZZ ! altitude of flux points -REAL, INTENT(IN) :: PFTOP_O_FSURF! Flux at BL top / Surface flux -REAL :: BL_DEPTH_DIAG_1D -! -REAL, DIMENSION(1,1) :: ZSURF -REAL, DIMENSION(1,1) :: ZZS -REAL, DIMENSION(1,1,SIZE(PFLUX)) :: ZFLUX -REAL, DIMENSION(1,1,SIZE(PZZ)) :: ZZZ -REAL, DIMENSION(1,1) :: ZBL_DEPTH_DIAG -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('BL_DEPTH_DIAG_1D',0,ZHOOK_HANDLE) -ZSURF = PSURF -ZZS = PZS -ZFLUX(1,1,:) = PFLUX(:) -ZZZ (1,1,:) = PZZ (:) -! -ZBL_DEPTH_DIAG = BL_DEPTH_DIAG_3D(KKB,KKE,ZSURF,ZZS,ZFLUX,ZZZ,PFTOP_O_FSURF) -! -BL_DEPTH_DIAG_1D = ZBL_DEPTH_DIAG(1,1) -! -!------------------------------------------------------------------------------- -! -IF (LHOOK) CALL DR_HOOK('BL_DEPTH_DIAG_1D',1,ZHOOK_HANDLE) -END FUNCTION BL_DEPTH_DIAG_1D diff --git a/src/arome/turb/compute_entr_detr.F90 b/src/arome/turb/compute_entr_detr.F90 index 16d23c24e0da948d2781d9661395ec9b4b36065e..8211b6bd81f58275b3cd8121a3b7e614f8825538 100644 --- a/src/arome/turb/compute_entr_detr.F90 +++ b/src/arome/turb/compute_entr_detr.F90 @@ -66,7 +66,7 @@ USE MODD_CST ! USE MODD_CMFSHALL ! -USE MODI_TH_R_FROM_THL_RT_1D +USE MODE_TH_R_FROM_THL_RT_1D, ONLY: TH_R_FROM_THL_RT_1D USE MODE_THERMO diff --git a/src/arome/turb/compute_updraft.F90 b/src/arome/turb/compute_updraft.F90 index b0047fc1ec66cfacbeb6093e8910ee1f81381b69..d2ea158e8dc4333cfc67c6ede04e102221342bd5 100644 --- a/src/arome/turb/compute_updraft.F90 +++ b/src/arome/turb/compute_updraft.F90 @@ -60,7 +60,7 @@ USE MODD_CMFSHALL USE MODD_TURB_n, ONLY : CTURBLEN USE MODI_COMPUTE_ENTR_DETR -USE MODI_TH_R_FROM_THL_RT_1D +USE MODE_TH_R_FROM_THL_RT_1D, ONLY: TH_R_FROM_THL_RT_1D USE MODI_SHUMAN_MF, ONLY: MZM_MF, MZF_MF, GZ_M_W_MF USE MODI_COMPUTE_BL89_ML diff --git a/src/arome/turb/compute_updraft_raha.F90 b/src/arome/turb/compute_updraft_raha.F90 index 337696338c23e4075da3b4416e6b46a74bd16957..ae0ecb2e84a66868aab21337774b032372c0bf5d 100644 --- a/src/arome/turb/compute_updraft_raha.F90 +++ b/src/arome/turb/compute_updraft_raha.F90 @@ -54,7 +54,7 @@ USE MODD_CST USE MODD_CMFSHALL -USE MODI_TH_R_FROM_THL_RT_1D +USE MODE_TH_R_FROM_THL_RT_1D, ONLY: TH_R_FROM_THL_RT_1D USE MODI_SHUMAN_MF, ONLY: MZM_MF IMPLICIT NONE diff --git a/src/arome/turb/compute_updraft_rhcj10.F90 b/src/arome/turb/compute_updraft_rhcj10.F90 index c6d108cf8fe3d7b6ffc3a1d82615587028a2beb7..0491bebffb06a6bb71533fd40812ab9ef0b61076 100644 --- a/src/arome/turb/compute_updraft_rhcj10.F90 +++ b/src/arome/turb/compute_updraft_rhcj10.F90 @@ -53,7 +53,7 @@ USE MODD_CST USE MODD_CMFSHALL USE MODD_TURB_n, ONLY : CTURBLEN -USE MODI_TH_R_FROM_THL_RT_1D +USE MODE_TH_R_FROM_THL_RT_1D, ONLY: TH_R_FROM_THL_RT_1D USE MODI_SHUMAN_MF, ONLY: MZF_MF, MZM_MF, GZ_M_W_MF USE MODI_COMPUTE_BL89_ML diff --git a/src/arome/turb/modi_bl_depth_diag.F90 b/src/arome/turb/modi_bl_depth_diag.F90 deleted file mode 100644 index 778761f9c327fd3efa4447d3c465558cabcf8436..0000000000000000000000000000000000000000 --- a/src/arome/turb/modi_bl_depth_diag.F90 +++ /dev/null @@ -1,36 +0,0 @@ -! ######spl - MODULE MODI_BL_DEPTH_DIAG -! ################ -! -INTERFACE BL_DEPTH_DIAG -! -! - FUNCTION BL_DEPTH_DIAG_3D(KKB,KKE,PSURF,PZS,PFLUX,PZZ,PFTOP_O_FSURF) - -INTEGER, INTENT(IN) :: KKB ! bottom point -INTEGER, INTENT(IN) :: KKE ! top point -REAL, DIMENSION(:,:), INTENT(IN) :: PSURF ! surface flux -REAL, DIMENSION(:,:), INTENT(IN) :: PZS ! orography -REAL, DIMENSION(:,:,:), INTENT(IN) :: PFLUX ! flux -REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! altitude of flux points -REAL, INTENT(IN) :: PFTOP_O_FSURF! Flux at BL top / Surface flux -REAL, DIMENSION(SIZE(PSURF,1),SIZE(PSURF,2)) :: BL_DEPTH_DIAG_3D -! -END FUNCTION BL_DEPTH_DIAG_3D -! -! - FUNCTION BL_DEPTH_DIAG_1D(KKB,KKE,PSURF,PZS,PFLUX,PZZ,PFTOP_O_FSURF) -INTEGER, INTENT(IN) :: KKB ! bottom point -INTEGER, INTENT(IN) :: KKE ! top point -REAL, INTENT(IN) :: PSURF ! surface flux -REAL, INTENT(IN) :: PZS ! orography -REAL, DIMENSION(:), INTENT(IN) :: PFLUX ! flux -REAL, DIMENSION(:), INTENT(IN) :: PZZ ! altitude of flux points -REAL, INTENT(IN) :: PFTOP_O_FSURF! Flux at BL top / Surface flux -REAL :: BL_DEPTH_DIAG_1D -! -END FUNCTION BL_DEPTH_DIAG_1D -! -END INTERFACE -! -END MODULE MODI_BL_DEPTH_DIAG diff --git a/src/arome/turb/modi_bl_depth_diag_3d.F90 b/src/arome/turb/modi_bl_depth_diag_3d.F90 deleted file mode 100644 index d2ea0c80dc34a1a8386177160e2374a1f02670c9..0000000000000000000000000000000000000000 --- a/src/arome/turb/modi_bl_depth_diag_3d.F90 +++ /dev/null @@ -1,24 +0,0 @@ -! ######spl - MODULE MODI_BL_DEPTH_DIAG_3D -! ################ -! -! -INTERFACE -! -! - FUNCTION BL_DEPTH_DIAG_3D(KKB,KKE,PSURF,PZS,PFLUX,PZZ,PFTOP_O_FSURF) -INTEGER, INTENT(IN) :: KKB ! bottom point -INTEGER, INTENT(IN) :: KKE ! top point -REAL, DIMENSION(:,:), INTENT(IN) :: PSURF ! surface flux -REAL, DIMENSION(:,:), INTENT(IN) :: PZS ! orography -REAL, DIMENSION(:,:,:), INTENT(IN) :: PFLUX ! flux -REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! altitude of flux points -REAL, INTENT(IN) :: PFTOP_O_FSURF! Flux at BL top / Surface flux -REAL, DIMENSION(SIZE(PSURF,1),SIZE(PSURF,2)) :: BL_DEPTH_DIAG_3D -! -END FUNCTION BL_DEPTH_DIAG_3D -! -! -END INTERFACE -! -END MODULE MODI_BL_DEPTH_DIAG_3D diff --git a/src/arome/turb/modi_th_r_from_thl_rt_1d.F90 b/src/arome/turb/modi_th_r_from_thl_rt_1d.F90 deleted file mode 100644 index 577edb249bc26074fe0e702f3b42755230e6f855..0000000000000000000000000000000000000000 --- a/src/arome/turb/modi_th_r_from_thl_rt_1d.F90 +++ /dev/null @@ -1,24 +0,0 @@ -! ######spl - MODULE MODI_TH_R_FROM_THL_RT_1D -! ############################### -! - INTERFACE - SUBROUTINE TH_R_FROM_THL_RT_1D(HFRAC_ICE,PFRAC_ICE,PP, & - PTHL, PRT, PTH, PRV, PRL, PRI, & - PRSATW, PRSATI, PRR, PRS, PRG, PRH ) -CHARACTER*1 , INTENT(IN) :: HFRAC_ICE -REAL, DIMENSION(:), INTENT(INOUT) :: PFRAC_ICE -REAL, DIMENSION(:), INTENT(IN) :: PP ! Pressure -REAL, DIMENSION(:), INTENT(IN) :: PTHL ! Liquid pot. temp. -REAL, DIMENSION(:), INTENT(IN) :: PRT ! Total mixing ratios -REAL, DIMENSION(:),OPTIONAL,INTENT(IN) :: PRR, PRS, PRG, PRH -REAL, DIMENSION(:), INTENT(OUT):: PTH ! Potential temp. -REAL, DIMENSION(:), INTENT(OUT):: PRV ! vapor mixing ratio -REAL, DIMENSION(:), INTENT(INOUT):: PRL ! cloud mixing ratio -REAL, DIMENSION(:), INTENT(INOUT):: PRI ! ice mixing ratio -REAL, DIMENSION(:), INTENT(OUT) :: PRSATW ! estimated mixing ration at saturation over water -REAL, DIMENSION(:), INTENT(OUT) :: PRSATI ! estimated mixing ration at saturation over ice - - END SUBROUTINE TH_R_FROM_THL_RT_1D - END INTERFACE - END MODULE MODI_TH_R_FROM_THL_RT_1D diff --git a/src/arome/turb/modi_th_r_from_thl_rt_2d.F90 b/src/arome/turb/modi_th_r_from_thl_rt_2d.F90 deleted file mode 100644 index a3af56f230d40c878f0107fccf848bf0e0767939..0000000000000000000000000000000000000000 --- a/src/arome/turb/modi_th_r_from_thl_rt_2d.F90 +++ /dev/null @@ -1,24 +0,0 @@ -! ######spl - MODULE MODI_TH_R_FROM_THL_RT_2D - INTERFACE - SUBROUTINE TH_R_FROM_THL_RT_2D(HFRAC_ICE,PFRAC_ICE,PP, & - PTHL, PRT, PTH, PRV, PRL, PRI, & - PRSATW, PRSATI, PRR, PRS, PRG, PRH ) -CHARACTER*1 , INTENT(IN) :: HFRAC_ICE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PFRAC_ICE -REAL, DIMENSION(:,:), INTENT(IN) :: PP ! Pressure -REAL, DIMENSION(:,:), INTENT(IN) :: PTHL ! thetal to transform into th -REAL, DIMENSION(:,:),INTENT(IN) :: PRT ! Total mixing ratios to transform into rv,rc and ri -REAL, DIMENSION(:),OPTIONAL,INTENT(IN) :: PRR, PRS, PRG, PRH -REAL, DIMENSION(:,:), INTENT(OUT):: PTH ! th -REAL, DIMENSION(:,:), INTENT(OUT):: PRV ! vapor mixing ratio -REAL, DIMENSION(:,:), INTENT(INOUT):: PRL ! vapor mixing ratio -REAL, DIMENSION(:,:), INTENT(INOUT):: PRI ! vapor mixing ratio -REAL, DIMENSION(:,:), INTENT(OUT) :: PRSATW ! estimated mixing ration at saturation over water -REAL, DIMENSION(:,:), INTENT(OUT) :: PRSATI ! estimated mixing ration at saturation over ice - - END SUBROUTINE TH_R_FROM_THL_RT_2D - - END INTERFACE - - END MODULE MODI_TH_R_FROM_THL_RT_2D diff --git a/src/arome/turb/modi_th_r_from_thl_rt_3d.F90 b/src/arome/turb/modi_th_r_from_thl_rt_3d.F90 deleted file mode 100644 index 5b52a056f4b7b7b6889c6f0c893843bbb65cc2d7..0000000000000000000000000000000000000000 --- a/src/arome/turb/modi_th_r_from_thl_rt_3d.F90 +++ /dev/null @@ -1,27 +0,0 @@ -! ######spl - MODULE MODI_TH_R_FROM_THL_RT_3D -! ############################### -INTERFACE -! - SUBROUTINE TH_R_FROM_THL_RT_3D(HFRAC_ICE,PFRAC_ICE,PP, & - PTHL, PRT, PTH, PRV, PRL, PRI, & - PRSATW, PRSATI, PRR, PRS, PRG, PRH ) - -CHARACTER*1 , INTENT(IN) :: HFRAC_ICE -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PFRAC_ICE -REAL, DIMENSION(:,:,:), INTENT(IN) :: PP ! Pressure -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHL ! thetal to transform into th -REAL, DIMENSION(:,:,:),INTENT(IN) :: PRT ! Total mixing ratios to transform into rv,rc and ri -REAL, DIMENSION(:,:,:),OPTIONAL,INTENT(IN) :: PRR, PRS, PRG, PRH -REAL, DIMENSION(:,:,:), INTENT(OUT):: PTH ! th -REAL, DIMENSION(:,:,:), INTENT(OUT):: PRV ! vapor mixing ratio -REAL, DIMENSION(:,:,:), INTENT(INOUT):: PRL ! vapor mixing ratio -REAL, DIMENSION(:,:,:), INTENT(INOUT):: PRI ! vapor mixing ratio -REAL, DIMENSION(:,:,:), INTENT(OUT) :: PRSATW ! estimated mixing ration at saturation over water -REAL, DIMENSION(:,:,:), INTENT(OUT) :: PRSATI ! estimated mixing ration at saturation over ice -! -END SUBROUTINE TH_R_FROM_THL_RT_3D -! -END INTERFACE -! -END MODULE MODI_TH_R_FROM_THL_RT_3D diff --git a/src/arome/turb/modi_thl_rt_from_th_r_mf.F90 b/src/arome/turb/modi_thl_rt_from_th_r_mf.F90 deleted file mode 100644 index ed1dd9c6bdde9ebd379a8dbac1f5ed49281a884e..0000000000000000000000000000000000000000 --- a/src/arome/turb/modi_thl_rt_from_th_r_mf.F90 +++ /dev/null @@ -1,31 +0,0 @@ -! ######spl - MODULE MODI_THL_RT_FROM_TH_R_MF -! ############################### -! -INTERFACE -! ################################################################# - SUBROUTINE THL_RT_FROM_TH_R_MF( KRR,KRRL,KRRI, & - PTH, PR, PEXN, & - PTHL, PRT ) -! ################################################################# -! -! -!* 1.1 Declaration of Arguments -! -! -INTEGER, INTENT(IN) :: KRR ! number of moist var. -INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. -INTEGER, INTENT(IN) :: KRRI ! number of ice water var. - -REAL, DIMENSION(:,:), INTENT(IN) :: PTH ! theta -REAL, DIMENSION(:,:,:), INTENT(IN) :: PR ! water species -REAL, DIMENSION(:,:), INTENT(IN) :: PEXN ! exner function - -REAL, DIMENSION(:,:), INTENT(OUT) :: PTHL ! th_l -REAL, DIMENSION(:,:), INTENT(OUT) :: PRT ! total non precip. water -! -END SUBROUTINE THL_RT_FROM_TH_R_MF - -END INTERFACE -! -END MODULE MODI_THL_RT_FROM_TH_R_MF diff --git a/src/arome/turb/shallow_mf.F90 b/src/arome/turb/shallow_mf.F90 index 1173fc67f6e6f56433c0e0cc3f3fe89d0de9260c..8a9fa19166f099743b3f89f86f236f88b38734de 100644 --- a/src/arome/turb/shallow_mf.F90 +++ b/src/arome/turb/shallow_mf.F90 @@ -63,7 +63,7 @@ USE MODD_CST USE MODD_PARAMETERS, ONLY: JPVEXT USE MODD_CMFSHALL -USE MODI_THL_RT_FROM_TH_R_MF +USE MODE_THL_RT_FROM_TH_R_MF, ONLY: THL_RT_FROM_TH_R_MF USE MODI_COMPUTE_UPDRAFT USE MODI_COMPUTE_UPDRAFT_RHCJ10 USE MODI_COMPUTE_UPDRAFT_RAHA diff --git a/src/arome/turb/bl_depth_diag_3d.F90 b/src/common/turb/mode_bl_depth_diag.F90 similarity index 57% rename from src/arome/turb/bl_depth_diag_3d.F90 rename to src/common/turb/mode_bl_depth_diag.F90 index 78ce7c72a1dcca18bab4db48b5a002c1b7103dfa..3cf56530a1969c0ebc35cf56bb74b7a1bc59eb1d 100644 --- a/src/arome/turb/bl_depth_diag_3d.F90 +++ b/src/common/turb/mode_bl_depth_diag.F90 @@ -1,4 +1,16 @@ -! ######spl +!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC for details. version 1. +MODULE MODE_BL_DEPTH_DIAG +! +INTERFACE BL_DEPTH_DIAG + MODULE PROCEDURE BL_DEPTH_DIAG_3D + MODULE PROCEDURE BL_DEPTH_DIAG_1D +END INTERFACE +! +CONTAINS +! FUNCTION BL_DEPTH_DIAG_3D(KKB,KKE,PSURF,PZS,PFLUX,PZZ,PFTOP_O_FSURF) USE PARKIND1, ONLY : JPRB USE YOMHOOK , ONLY : LHOOK, DR_HOOK @@ -91,3 +103,41 @@ BL_DEPTH_DIAG_3D(:,:) = BL_DEPTH_DIAG_3D(:,:) / (1. - PFTOP_O_FSURF) ! IF (LHOOK) CALL DR_HOOK('BL_DEPTH_DIAG_3D',1,ZHOOK_HANDLE) END FUNCTION BL_DEPTH_DIAG_3D +! +FUNCTION BL_DEPTH_DIAG_1D(KKB,KKE,PSURF,PZS,PFLUX,PZZ,PFTOP_O_FSURF) +USE PARKIND1, ONLY : JPRB +USE YOMHOOK , ONLY : LHOOK, DR_HOOK +! +IMPLICIT NONE +! +INTEGER, INTENT(IN) :: KKB ! bottom point +INTEGER, INTENT(IN) :: KKE ! top point +REAL, INTENT(IN) :: PSURF ! surface flux +REAL, INTENT(IN) :: PZS ! orography +REAL, DIMENSION(:), INTENT(IN) :: PFLUX ! flux +REAL, DIMENSION(:), INTENT(IN) :: PZZ ! altitude of flux points +REAL, INTENT(IN) :: PFTOP_O_FSURF! Flux at BL top / Surface flux +REAL :: BL_DEPTH_DIAG_1D +! +REAL, DIMENSION(1,1) :: ZSURF +REAL, DIMENSION(1,1) :: ZZS +REAL, DIMENSION(1,1,SIZE(PFLUX)) :: ZFLUX +REAL, DIMENSION(1,1,SIZE(PZZ)) :: ZZZ +REAL, DIMENSION(1,1) :: ZBL_DEPTH_DIAG +! +REAL(KIND=JPRB) :: ZHOOK_HANDLE +IF (LHOOK) CALL DR_HOOK('BL_DEPTH_DIAG_1D',0,ZHOOK_HANDLE) +ZSURF = PSURF +ZZS = PZS +ZFLUX(1,1,:) = PFLUX(:) +ZZZ (1,1,:) = PZZ (:) +! +ZBL_DEPTH_DIAG = BL_DEPTH_DIAG_3D(KKB,KKE,ZSURF,ZZS,ZFLUX,ZZZ,PFTOP_O_FSURF) +! +BL_DEPTH_DIAG_1D = ZBL_DEPTH_DIAG(1,1) +! +!------------------------------------------------------------------------------- +! +IF (LHOOK) CALL DR_HOOK('BL_DEPTH_DIAG_1D',1,ZHOOK_HANDLE) +END FUNCTION BL_DEPTH_DIAG_1D +END MODULE MODE_BL_DEPTH_DIAG diff --git a/src/common/turb/mode_sbl_depth.F90 b/src/common/turb/mode_sbl_depth.F90 index 8de257fe9fa2d4ff734023fd84a7a10e31431c0c..e485940e06f075776b2f2ddd41aac71164aa331b 100644 --- a/src/common/turb/mode_sbl_depth.F90 +++ b/src/common/turb/mode_sbl_depth.F90 @@ -48,7 +48,7 @@ CONTAINS USE MODD_PARAMETERS, ONLY : XUNDEF USE MODD_CTURB, ONLY : XFTOP_O_FSURF, XSBL_O_BL ! -USE MODI_BL_DEPTH_DIAG +USE MODE_BL_DEPTH_DIAG ! IMPLICIT NONE ! diff --git a/src/arome/turb/th_r_from_thl_rt_1d.F90 b/src/common/turb/mode_th_r_from_thl_rt_1d.F90 similarity index 91% rename from src/arome/turb/th_r_from_thl_rt_1d.F90 rename to src/common/turb/mode_th_r_from_thl_rt_1d.F90 index 5a17d25695a87c9346e1b352d3b183bc238afdfe..f408b8bab715e4372402a14ee6aed38b2b498e38 100644 --- a/src/arome/turb/th_r_from_thl_rt_1d.F90 +++ b/src/common/turb/mode_th_r_from_thl_rt_1d.F90 @@ -1,4 +1,10 @@ -! ######spl +!MNH_LIC Copyright 2006-2022 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC for details. version 1. +MODULE MODE_TH_R_FROM_THL_RT_1D +IMPLICIT NONE +CONTAINS SUBROUTINE TH_R_FROM_THL_RT_1D(HFRAC_ICE,PFRAC_ICE,PP, & PTHL, PRT, PTH, PRV, PRL, PRI, & PRSATW, PRSATI, PRR, PRS, PRG, PRH ) @@ -35,6 +41,7 @@ !! S. Riette April 2011 : ice added, allow ZRLTEMP to be negative !! we use dQsat/dT to help convergence !! use of optional PRR, PRS, PRG, PRH +!! S. Riette Nov 2016: support for HFRAC_ICE='S' !! !! -------------------------------------------------------------------------- ! @@ -44,7 +51,8 @@ USE PARKIND1, ONLY : JPRB USE YOMHOOK , ONLY : LHOOK, DR_HOOK USE MODI_COMPUTE_FRAC_ICE -USE MODD_CST!, ONLY: XP00, XRD, XCPD, XCPV, XCL, XCI, XLVTT, XTT, XLSTT +USE MODD_CST +USE MODD_DYN_n, ONLY : LOCEAN USE MODE_THERMO ! IMPLICIT NONE @@ -52,7 +60,7 @@ IMPLICIT NONE ! !* 0.1 declarations of arguments ! -CHARACTER*1 , INTENT(IN) :: HFRAC_ICE +CHARACTER(LEN=1), INTENT(IN) :: HFRAC_ICE REAL, DIMENSION(:), INTENT(INOUT) :: PFRAC_ICE REAL, DIMENSION(:), INTENT(IN) :: PP ! Pressure REAL, DIMENSION(:), INTENT(IN) :: PTHL ! thetal to transform into th @@ -118,8 +126,11 @@ ENDDO ! --------- DO II=1,JITER - ZT(:)=PTH(:)*ZEXN(:) - + IF (LOCEAN) THEN + ZT=PTH + ELSE + ZT(:)=PTH(:)*ZEXN(:) + END IF !Computation of liquid/ice fractions PFRAC_ICE(:) = 0. DO J=1, SIZE(PFRAC_ICE, 1) @@ -191,3 +202,4 @@ ENDDO IF (LHOOK) CALL DR_HOOK('TH_R_FROM_THL_RT_1D',1,ZHOOK_HANDLE) END SUBROUTINE TH_R_FROM_THL_RT_1D +END MODULE MODE_TH_R_FROM_THL_RT_1D diff --git a/src/arome/turb/th_r_from_thl_rt_2d.F90 b/src/common/turb/mode_th_r_from_thl_rt_2d.F90 similarity index 87% rename from src/arome/turb/th_r_from_thl_rt_2d.F90 rename to src/common/turb/mode_th_r_from_thl_rt_2d.F90 index 5d1ff0e0802183504784a6b10abb3c76943c72df..e4292fa121fc7d17360a06e5e625b7630f978487 100644 --- a/src/arome/turb/th_r_from_thl_rt_2d.F90 +++ b/src/common/turb/mode_th_r_from_thl_rt_2d.F90 @@ -1,4 +1,10 @@ -! ######spl +!MNH_LIC Copyright 2006-2022 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC for details. version 1. +MODULE MODE_TH_R_FROM_THL_RT_2D +IMPLICIT NONE +CONTAINS SUBROUTINE TH_R_FROM_THL_RT_2D(HFRAC_ICE,PFRAC_ICE,PP, & PTHL, PRT, PTH, PRV, PRL, PRI, & PRSATW, PRSATI, PRR, PRS, PRG, PRH ) @@ -40,7 +46,7 @@ ! ------------ ! ! -USE MODI_TH_R_FROM_THL_RT_3D +USE MODE_TH_R_FROM_THL_RT_3D, ONLY: TH_R_FROM_THL_RT_3D USE PARKIND1, ONLY : JPRB USE YOMHOOK , ONLY : LHOOK, DR_HOOK @@ -49,7 +55,7 @@ IMPLICIT NONE ! !* 0.1 declarations of arguments ! -CHARACTER*1 , INTENT(IN) :: HFRAC_ICE +CHARACTER(LEN=1), INTENT(IN) :: HFRAC_ICE REAL, DIMENSION(:,:), INTENT(INOUT) :: PFRAC_ICE REAL, DIMENSION(:,:), INTENT(IN) :: PP ! Pressure REAL, DIMENSION(:,:), INTENT(IN) :: PTHL ! Liquid pot. temp. @@ -101,3 +107,5 @@ ENDDO IF (LHOOK) CALL DR_HOOK('TH_R_FROM_THL_RT_2D',1,ZHOOK_HANDLE) END SUBROUTINE TH_R_FROM_THL_RT_2D +END MODULE MODE_TH_R_FROM_THL_RT_2D + diff --git a/src/arome/turb/th_r_from_thl_rt_3d.F90 b/src/common/turb/mode_th_r_from_thl_rt_3d.F90 similarity index 87% rename from src/arome/turb/th_r_from_thl_rt_3d.F90 rename to src/common/turb/mode_th_r_from_thl_rt_3d.F90 index 473a9bcc278263fd8ea78fed112a4520567b0f21..fb42b71011f9b8c3029ad443ec2f3a036ec6caad 100644 --- a/src/arome/turb/th_r_from_thl_rt_3d.F90 +++ b/src/common/turb/mode_th_r_from_thl_rt_3d.F90 @@ -1,4 +1,10 @@ -! ######spl +!MNH_LIC Copyright 2006-2022 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC for details. version 1. +MODULE MODE_TH_R_FROM_THL_RT_3D +IMPLICIT NONE +CONTAINS SUBROUTINE TH_R_FROM_THL_RT_3D(HFRAC_ICE,PFRAC_ICE,PP, & PTHL, PRT, PTH, PRV, PRL, PRI, & PRSATW, PRSATI, PRR, PRS, PRG, PRH ) @@ -39,7 +45,7 @@ !* 0. DECLARATIONS ! ------------ ! -USE MODI_TH_R_FROM_THL_RT_1D +USE MODE_TH_R_FROM_THL_RT_1D, ONLY: TH_R_FROM_THL_RT_1D USE PARKIND1, ONLY : JPRB USE YOMHOOK , ONLY : LHOOK, DR_HOOK ! @@ -48,7 +54,7 @@ IMPLICIT NONE ! !* 0.1 declarations of arguments ! -CHARACTER*1 , INTENT(IN) :: HFRAC_ICE +CHARACTER(LEN=1), INTENT(IN) :: HFRAC_ICE REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PFRAC_ICE REAL, DIMENSION(:,:,:), INTENT(IN) :: PP ! Pressure REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHL ! thetal to transform into th @@ -98,3 +104,4 @@ ENDDO IF (LHOOK) CALL DR_HOOK('TH_R_FROM_THL_RT_3D',1,ZHOOK_HANDLE) END SUBROUTINE TH_R_FROM_THL_RT_3D +END MODULE MODE_TH_R_FROM_THL_RT_3D diff --git a/src/arome/turb/thl_rt_from_th_r_mf.F90 b/src/common/turb/mode_thl_rt_from_th_r_mf.F90 similarity index 90% rename from src/arome/turb/thl_rt_from_th_r_mf.F90 rename to src/common/turb/mode_thl_rt_from_th_r_mf.F90 index c9488f86b61a8c1e520804f2a283ccd26e28a208..bf72ab9439b62e883471b54f7abb10ecce8c4031 100644 --- a/src/arome/turb/thl_rt_from_th_r_mf.F90 +++ b/src/common/turb/mode_thl_rt_from_th_r_mf.F90 @@ -1,4 +1,10 @@ -! ######spl +!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC for details. version 1. +MODULE MODE_THL_RT_FROM_TH_R_MF +IMPLICIT NONE +CONTAINS SUBROUTINE THL_RT_FROM_TH_R_MF( KRR,KRRL,KRRI, & PTH, PR, PEXN, & PTHL, PRT ) @@ -114,3 +120,4 @@ ELSE END IF IF (LHOOK) CALL DR_HOOK('THL_RT_FRM_TH_R_MF',1,ZHOOK_HANDLE) END SUBROUTINE THL_RT_FROM_TH_R_MF +END MODULE MODE_THL_RT_FROM_TH_R_MF diff --git a/src/mesonh/turb/th_r_from_thl_rt_1d.f90 b/src/mesonh/turb/th_r_from_thl_rt_1d.f90 index e4ba92f8a9d8f7ca88e5411bfaadd73c1d8023fa..09aa2610d1630375293fd956daeb03e829ec244a 100644 --- a/src/mesonh/turb/th_r_from_thl_rt_1d.f90 +++ b/src/mesonh/turb/th_r_from_thl_rt_1d.f90 @@ -81,7 +81,7 @@ IMPLICIT NONE ! !* 0.1 declarations of arguments ! -CHARACTER(len=1), INTENT(IN) :: HFRAC_ICE +CHARACTER(LEN=1), INTENT(IN) :: HFRAC_ICE REAL, DIMENSION(:), INTENT(INOUT) :: PFRAC_ICE REAL, DIMENSION(:), INTENT(IN) :: PP ! Pressure REAL, DIMENSION(:), INTENT(IN) :: PTHL ! thetal to transform into th diff --git a/src/mesonh/turb/th_r_from_thl_rt_2d.f90 b/src/mesonh/turb/th_r_from_thl_rt_2d.f90 index 356c9c1910c17a2126f7f4212b94045ad46a268d..d610a72bda073171f6154bdc8e6a6f1e6763300f 100644 --- a/src/mesonh/turb/th_r_from_thl_rt_2d.f90 +++ b/src/mesonh/turb/th_r_from_thl_rt_2d.f90 @@ -77,7 +77,7 @@ IMPLICIT NONE ! !* 0.1 declarations of arguments ! -CHARACTER(len=1), INTENT(IN) :: HFRAC_ICE +CHARACTER(LEN=1), INTENT(IN) :: HFRAC_ICE REAL, DIMENSION(:,:), INTENT(INOUT) :: PFRAC_ICE REAL, DIMENSION(:,:), INTENT(IN) :: PP ! Pressure REAL, DIMENSION(:,:), INTENT(IN) :: PTHL ! Liquid pot. temp. diff --git a/src/mesonh/turb/th_r_from_thl_rt_3d.f90 b/src/mesonh/turb/th_r_from_thl_rt_3d.f90 index d58d98f4df68925f2f4085e3038c98b1800d2c81..0591be50c12cee5be78a7522530ddfa5617a35f1 100644 --- a/src/mesonh/turb/th_r_from_thl_rt_3d.f90 +++ b/src/mesonh/turb/th_r_from_thl_rt_3d.f90 @@ -78,7 +78,7 @@ IMPLICIT NONE ! !* 0.1 declarations of arguments ! -CHARACTER(len=1), INTENT(IN) :: HFRAC_ICE +CHARACTER(LEN=1), INTENT(IN) :: HFRAC_ICE REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PFRAC_ICE REAL, DIMENSION(:,:,:), INTENT(IN) :: PP ! Pressure REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHL ! thetal to transform into th