Skip to content

Commit fa280e0

Browse files
Merge pull request #63 from SebastienRietteMTO/SR_Adrien
Modifications from Adrien Marcel
2 parents 845c1c5 + 7f69b38 commit fa280e0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+41074
-571
lines changed

src/arome/ext/apl_arome.F90

+83-16
Large diffs are not rendered by default.

src/arome/ext/aro_adjust.F90

+18-6
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ SUBROUTINE ARO_ADJUST(PHYEX, &
55
PTSTEP, &
66
PZZF, PRHODJ, PEXNREF, PRHODREF,&
77
PPABSM, PTHT, PRT, PSIGS, &
8-
PMFCONV, PRC_MF, PRI_MF, PCF_MF, &
8+
PMFCONV, PRC_MF, PRI_MF, PCF_MF, PWEIGHT_MF_CLOUD, &
99
PTHS, PRS, PSRCS, PCLDFR,&
1010
PICLDFR, PWCLDFR, PSSIO, PSSIU, PIFR, &
1111
PHLC_HRC, PHLC_HCF, PHLI_HRI, PHLI_HCF,&
12+
PHLC_HRC_MF, PHLC_HCF_MF, PHLI_HRI_MF, PHLI_HCF_MF,&
1213
YDDDH,YDLDDH,YDMDDH,&
1314
YSPP_PSIGQSAT,YSPP_ICE_CLD_WGT)
1415
USE YOMHOOK , ONLY : LHOOK, DR_HOOK, JPHOOK
@@ -78,6 +79,8 @@ SUBROUTINE ARO_ADJUST(PHYEX, &
7879
!! 2018-02 K.I Ivarsson : More outputs from OCND2 option
7980
!! 2020-12 U. Andrae : Introduce SPP for HARMONIE-AROME
8081
!! R. El Khatib 24-Aug-2021 Optimizations
82+
!! A. Marcel Jan 2025: bi-Gaussian PDF and associated subgrid precipitation
83+
!! A. Marcel Jan 2025: relaxation of the small fraction assumption
8184
!!
8285
!-------------------------------------------------------------------------------
8386
!
@@ -125,7 +128,7 @@ SUBROUTINE ARO_ADJUST(PHYEX, &
125128
REAL, DIMENSION(KLON,1,KLEV,KRR), INTENT(INOUT) :: PRT ! Moist variables at time t
126129
REAL, DIMENSION(KLON,1,KLEV), INTENT(IN) :: PSIGS ! Sigma_s at time t
127130
REAL, DIMENSION(KLON,1,KLEV), INTENT(IN) :: PMFCONV ! convective mass flux
128-
REAL, DIMENSION(KLON,1,KLEV), INTENT(IN) :: PRC_MF, PRI_MF, PCF_MF
131+
REAL, DIMENSION(KLON,1,KLEV), INTENT(IN) :: PRC_MF, PRI_MF, PCF_MF, PWEIGHT_MF_CLOUD ! Mass flux cloud
129132
!
130133
!
131134
REAL, DIMENSION(KLON,1,KLEV), INTENT(INOUT) :: PTHS ! Theta source
@@ -148,6 +151,10 @@ SUBROUTINE ARO_ADJUST(PHYEX, &
148151
REAL, DIMENSION(KLON,1,KLEV), INTENT(OUT) :: PHLC_HCF
149152
REAL, DIMENSION(KLON,1,KLEV), INTENT(OUT) :: PHLI_HRI
150153
REAL, DIMENSION(KLON,1,KLEV), INTENT(OUT) :: PHLI_HCF
154+
REAL, DIMENSION(KLON,1,KLEV), INTENT(IN) :: PHLC_HRC_MF
155+
REAL, DIMENSION(KLON,1,KLEV), INTENT(IN) :: PHLC_HCF_MF
156+
REAL, DIMENSION(KLON,1,KLEV), INTENT(IN) :: PHLI_HRI_MF
157+
REAL, DIMENSION(KLON,1,KLEV), INTENT(IN) :: PHLI_HCF_MF
151158
!
152159
TYPE(TYP_DDH), INTENT(INOUT), TARGET :: YDDDH
153160
TYPE(TLDDH), INTENT(IN), TARGET :: YDLDDH
@@ -375,7 +382,7 @@ SUBROUTINE ARO_ADJUST(PHYEX, &
375382
& PTSTEP=ZTWOTSTEP,PSIGQSAT=ZSIGQSAT, &
376383
& PRHODJ=PRHODJ ,PEXNREF=PEXNREF, PRHODREF=PRHODREF, &
377384
& PSIGS=PSIGS, LMFCONV=PHYEX%MISC%LMFCONV, PMFCONV=PMFCONV, PPABST=PPABSM, PZZ=ZZZ, &
378-
& PEXN=PEXNREF, PCF_MF=PCF_MF,PRC_MF=PRC_MF,PRI_MF=PRI_MF, &
385+
& PEXN=PEXNREF, PCF_MF=PCF_MF,PRC_MF=PRC_MF,PRI_MF=PRI_MF, PWEIGHT_MF_CLOUD=PWEIGHT_MF_CLOUD, &
379386
& PICLDFR=PICLDFR, PWCLDFR=PWCLDFR, &
380387
& PSSIO=PSSIO, PSSIU=PSSIU, PIFR=PIFR, &
381388
& PRV=ZRS(:,:,:,1), PRC=ZRS(:,:,:,2), &
@@ -388,15 +395,17 @@ SUBROUTINE ARO_ADJUST(PHYEX, &
388395
& TBUDGETS=YLBUDGET, KBUDGETS=SIZE(YLBUDGET), &
389396
& PICE_CLD_WGT=ZICE_CLD_WGT(:,:), &
390397
& PHLC_HRC=PHLC_HRC(:,:,:), PHLC_HCF=PHLC_HCF(:,:,:), &
391-
& PHLI_HRI=PHLI_HRI(:,:,:), PHLI_HCF=PHLI_HCF(:,:,:))
398+
& PHLI_HRI=PHLI_HRI(:,:,:), PHLI_HCF=PHLI_HCF(:,:,:), &
399+
& PHLC_HRC_MF=PHLC_HRC_MF(:,:,:), PHLC_HCF_MF=PHLC_HCF_MF(:,:,:), &
400+
& PHLI_HRI_MF=PHLI_HRI_MF(:,:,:), PHLI_HCF_MF=PHLI_HCF_MF(:,:,:))
392401
ELSE
393402
CALL ICE_ADJUST ( YLDIMPHYEX, CST=PHYEX%CST, ICEP=PHYEX%RAIN_ICE_PARAMN, NEBN=PHYEX%NEBN, TURBN=PHYEX%TURBN, &
394403
& PARAMI=PHYEX%PARAM_ICEN, BUCONF=PHYEX%MISC%TBUCONF, KRR=KRR,&
395404
& HBUNAME=HBUNAME, &
396405
& PTSTEP=ZTWOTSTEP,PSIGQSAT=ZSIGQSAT, &
397406
& PRHODJ=PRHODJ ,PEXNREF=PEXNREF, PRHODREF=PRHODREF, &
398407
& PSIGS=PSIGS, LMFCONV=PHYEX%MISC%LMFCONV, PMFCONV=PMFCONV, PPABST=PPABSM, PZZ=ZZZ, &
399-
& PEXN=PEXNREF, PCF_MF=PCF_MF,PRC_MF=PRC_MF,PRI_MF=PRI_MF, &
408+
& PEXN=PEXNREF, PCF_MF=PCF_MF,PRC_MF=PRC_MF,PRI_MF=PRI_MF, PWEIGHT_MF_CLOUD=PWEIGHT_MF_CLOUD,&
400409
& PICLDFR=PICLDFR, PWCLDFR=PWCLDFR, &
401410
& PSSIO=PSSIO, PSSIU=PSSIU, PIFR=PIFR, &
402411
& PRV=ZRS(:,:,:,1), PRC=ZRS(:,:,:,2), &
@@ -410,7 +419,10 @@ SUBROUTINE ARO_ADJUST(PHYEX, &
410419
& PICE_CLD_WGT=ZICE_CLD_WGT(:,:), &
411420
& PRH=ZRS(:,:,:,7), &
412421
& PHLC_HRC=PHLC_HRC(:,:,:), PHLC_HCF=PHLC_HCF(:,:,:), &
413-
& PHLI_HRI=PHLI_HRI(:,:,:), PHLI_HCF=PHLI_HCF(:,:,:))
422+
& PHLI_HRI=PHLI_HRI(:,:,:), PHLI_HCF=PHLI_HCF(:,:,:), &
423+
& PHLC_HRC_MF=PHLC_HRC_MF(:,:,:), PHLC_HCF_MF=PHLC_HCF_MF(:,:,:), &
424+
& PHLI_HRI_MF=PHLI_HRI_MF(:,:,:), PHLI_HCF_MF=PHLI_HCF_MF(:,:,:))
425+
414426
ENDIF
415427

416428
CALL CLEAR_SPP_TYPE(YSPP_PSIGQSAT)

src/arome/ext/aro_adjust.h

+7-2
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ INTERFACE
44
& CMICRO, &
55
& PTSTEP, PZZF, PRHODJ, PEXNREF, PRHODREF,&
66
& PPABSM, PTHT, PRT, PSIGS,&
7-
& PMFCONV, PRC_MF, PRI_MF, PCF_MF,&
7+
& PMFCONV, PRC_MF, PRI_MF, PCF_MF, PWEIGHT_MF_CLOUD,&
88
& PTHS, PRS, PSRCS, PCLDFR, &
99
& PICLDFR, PWCLDFR, PSSIO, PSSIU, PIFR,&
1010
& PHLC_HRC, PHLC_HCF, PHLI_HRI, PHLI_HCF, &
11+
& PHLC_HRC_MF, PHLC_HCF_MF, PHLI_HRI_MF, PHLI_HCF_MF, &
1112
& YDDDH,YDLDDH,YDMDDH,&
1213
& YSPP_PSIGQSAT,YSPP_ICE_CLD_WGT)
1314

@@ -35,7 +36,7 @@ REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PTHT
3536
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV,KRR), INTENT(INOUT) :: PRT
3637
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PSIGS
3738
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PMFCONV
38-
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PRC_MF,PRI_MF,PCF_MF
39+
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PRC_MF,PRI_MF,PCF_MF,PWEIGHT_MF_CLOUD
3940
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(INOUT) :: PTHS
4041
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV,KRR), INTENT(INOUT) :: PRS
4142
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(OUT) :: PSRCS
@@ -49,6 +50,10 @@ REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(OUT) :: PHLC_HRC
4950
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(OUT) :: PHLC_HCF
5051
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(OUT) :: PHLI_HRI
5152
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(OUT) :: PHLI_HCF
53+
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PHLC_HRC_MF
54+
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PHLC_HCF_MF
55+
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PHLI_HRI_MF
56+
REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PHLI_HCF_MF
5257
TYPE(TYP_DDH) , INTENT(INOUT) :: YDDDH
5358
TYPE(TLDDH) , INTENT(IN) :: YDLDDH
5459
TYPE(TMDDH) , INTENT(IN) :: YDMDDH

src/arome/ext/aro_shallow_mf.F90

+68-10
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ SUBROUTINE ARO_SHALLOW_MF(PHYEX,&
99
PSFTH,PSFRV, &
1010
PTHM,PRM, &
1111
PUM,PVM,PTKEM,PSVM, &
12-
PDUDT_MF,PDVDT_MF, &
12+
PDUDT_MF,PDVDT_MF,PDTKEDT_MF, &
1313
PDTHLDT_MF,PDRTDT_MF,PDSVDT_MF, &
14-
PSIGMF,PRC_MF,PRI_MF,PCF_MF,PFLXZTHVMF, &
14+
PSIGMF,PRC_MF,PRI_MF,PCF_MF, &
15+
PHLC_HRC_MF, PHLC_HCF_MF, PHLI_HRI_MF, PHLI_HCF_MF, &
16+
PWEIGHT_MF_CLOUD, PFLXZTHVMF, PFLXZUMF, PFLXZVMF, &
1517
PTHL_UP,PRT_UP,PRV_UP,PRC_UP,PRI_UP, &
1618
PU_UP, PV_UP, PTHV_UP, PW_UP, PFRAC_UP, PEMF, &
1719
YDDDH,YDLDDH,YDMDDH )
@@ -57,6 +59,10 @@ SUBROUTINE ARO_SHALLOW_MF(PHYEX,&
5759
!! Y. Seity : new arguments for EDMF scheme 04/2009
5860
!! S. Riette 18 May 2010: aro_shallow_mf and shallow_mf interfaces changed
5961
!! S. Riette Jan 2012: support for both order of vertical levels
62+
!! A. Marcel Jan 2025: EDMF contribution to dynamic TKE production
63+
!! A. Marcel Jan 2025: TKE mixing
64+
!! A. Marcel Jan 2025: bi-Gaussian PDF and associated subgrid precipitation
65+
!! A. Marcel Jan 2025: relaxation of the small fraction assumption
6066
!!
6167
!-------------------------------------------------------------------------------
6268
!
@@ -75,6 +81,8 @@ SUBROUTINE ARO_SHALLOW_MF(PHYEX,&
7581
USE YOMLDDH, ONLY : TLDDH
7682
USE YOMMDDH, ONLY : TMDDH
7783
!
84+
USE YOMLSFORC, ONLY: LMUSCLFA, NMUSCLFA
85+
!
7886
IMPLICIT NONE
7987
!
8088
!* 0.1 Declarations of dummy arguments :
@@ -122,12 +130,17 @@ SUBROUTINE ARO_SHALLOW_MF(PHYEX,&
122130
! variables for EDMF scheme
123131
REAL, DIMENSION(KLON,KLEV), INTENT(OUT):: PDUDT_MF ! tendency of U by massflux scheme
124132
REAL, DIMENSION(KLON,KLEV), INTENT(OUT):: PDVDT_MF ! tendency of V by massflux scheme
133+
REAL, DIMENSION(KLON,KLEV), INTENT(OUT):: PDTKEDT_MF ! tendency of TKE by massflux scheme
125134
REAL, DIMENSION(KLON,KLEV), INTENT(OUT):: PDTHLDT_MF ! tendency of thl by massflux scheme
126135
REAL, DIMENSION(KLON,KLEV), INTENT(OUT):: PDRTDT_MF ! tendency of rt by massflux scheme
127136
REAL, DIMENSION(KLON,KLEV,KSV), INTENT(OUT):: PDSVDT_MF ! tendency of Sv by massflux scheme
128137

129138
REAL, DIMENSION(KLON,KLEV), INTENT(OUT) :: PSIGMF,PRC_MF,PRI_MF,PCF_MF ! cloud info for the cloud scheme
139+
REAL, DIMENSION(KLON,KLEV), INTENT(OUT) :: PHLC_HRC_MF, PHLC_HCF_MF, PHLI_HRI_MF, PHLI_HCF_MF ! high/low cloud diagnostics
140+
REAL, DIMENSION(KLON,KLEV), INTENT(OUT) :: PWEIGHT_MF_CLOUD ! weight coefficient for the mass-flux cloud
130141
REAL, DIMENSION(KLON,KLEV), INTENT(OUT) :: PFLXZTHVMF ! Thermal production for TKE scheme
142+
REAL, DIMENSION(KLON,KLEV), INTENT(OUT) :: PFLXZUMF ! Dynamic production for TKE scheme
143+
REAL, DIMENSION(KLON,KLEV), INTENT(OUT) :: PFLXZVMF ! Dynamic production for TKE scheme
131144
REAL, DIMENSION(KLON,KLEV), INTENT(INOUT) :: PTHL_UP ! Thl updraft characteristics
132145
REAL, DIMENSION(KLON,KLEV), INTENT(INOUT) :: PRT_UP ! Rt updraft characteristics
133146
REAL, DIMENSION(KLON,KLEV), INTENT(INOUT) :: PRV_UP ! Vapor updraft characteristics
@@ -148,13 +161,17 @@ SUBROUTINE ARO_SHALLOW_MF(PHYEX,&
148161
!* 0.2 Declarations of local variables :
149162
!
150163
TYPE(TBUDGETDATA), DIMENSION(NBUDGET_SV1) :: YLBUDGET !NBUDGET_SV1 is the one with the highest number needed for shallow_mf
151-
INTEGER, DIMENSION(size(PRHODJ,1)) :: IKLCL,IKETL,IKCTL
152-
REAL,DIMENSION(size(PRHODJ,1),size(PRHODJ,2)) :: ZFLXZTHMF,ZFLXZRMF,ZFLXZUMF,ZFLXZVMF
153-
REAL,DIMENSION(size(PRHODJ,1),size(PRHODJ,2)) :: ZDETR,ZENTR
164+
INTEGER, DIMENSION(KLON) :: IKLCL,IKETL,IKCTL
165+
REAL,DIMENSION(KLON,KLEV) :: ZFLXZTHMF,ZFLXZRMF,ZFLXZTKEMF
166+
REAL,DIMENSION(KLON,KLEV) :: ZDETR,ZENTR
167+
REAL,DIMENSION(KLON,KLEV) :: ZTKE_UP
168+
REAL,DIMENSION(size(PRHODJ,1),size(PRHODJ,2)) :: ZW
154169
TYPE(DIMPHYEX_t) :: YLDIMPHYEX
155170
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
156171
INTEGER :: JBU ! Loop index for budgets
157172
!
173+
#include "wrarom.intfb.h"
174+
!
158175
!
159176
!
160177
!------------------------------------------------------------------------------
@@ -205,7 +222,7 @@ SUBROUTINE ARO_SHALLOW_MF(PHYEX,&
205222
!
206223
! ---------------------------------
207224
!
208-
CALL SHALLOW_MF(YLDIMPHYEX, PHYEX%CST, PHYEX%NEBN, PHYEX%PARAM_MFSHALLN, PHYEX%TURBN, PHYEX%CSTURB, &
225+
CALL SHALLOW_MF(YLDIMPHYEX, PHYEX%CST, PHYEX%NEBN, PHYEX%PARAM_MFSHALLN, PHYEX%TURBN, PHYEX%CSTURB, PHYEX%RAIN_ICE_PARAMN, &
209226
&KRR=KRR, KRRL=KRRL, KRRI=KRRI, KSV=KSV, &
210227
&ONOMIXLG=PHYEX%MISC%ONOMIXLG,KSV_LGBEG=KSV_LGBEG,KSV_LGEND=KSV_LGEND, &
211228
&PTSTEP=PTSTEP, &
@@ -214,12 +231,14 @@ SUBROUTINE ARO_SHALLOW_MF(PHYEX,&
214231
&PPABSM=PPABSM,PEXNM=PEXNM, &
215232
&PSFTH=PSFTH,PSFRV=PSFRV, &
216233
&PTHM=PTHM,PRM=PRM,PUM=PUM,PVM=PVM,PTKEM=PTKEM,PSVM=PSVM, &
217-
&PDUDT_MF=PDUDT_MF,PDVDT_MF=PDVDT_MF, &
234+
&PDUDT_MF=PDUDT_MF,PDVDT_MF=PDVDT_MF,PDTKEDT_MF=PDTKEDT_MF, &
218235
&PDTHLDT_MF=PDTHLDT_MF,PDRTDT_MF=PDRTDT_MF,PDSVDT_MF=PDSVDT_MF, &
219-
&PSIGMF=PSIGMF,PRC_MF=PRC_MF,PRI_MF=PRI_MF,PCF_MF=PCF_MF,PFLXZTHVMF=PFLXZTHVMF, &
220-
&PFLXZTHMF=ZFLXZTHMF,PFLXZRMF=ZFLXZRMF,PFLXZUMF=ZFLXZUMF,PFLXZVMF=ZFLXZVMF, &
236+
&PSIGMF=PSIGMF,PRC_MF=PRC_MF,PRI_MF=PRI_MF,PCF_MF=PCF_MF, &
237+
&PHLC_HRC=PHLC_HRC_MF, PHLC_HCF=PHLC_HCF_MF, PHLI_HRI=PHLI_HRI_MF, PHLI_HCF=PHLI_HCF_MF,&
238+
&PWEIGHT_MF_CLOUD=PWEIGHT_MF_CLOUD, PFLXZTHVMF=PFLXZTHVMF, &
239+
&PFLXZTHMF=ZFLXZTHMF,PFLXZRMF=ZFLXZRMF,PFLXZUMF=PFLXZUMF,PFLXZVMF=PFLXZVMF,PFLXZTKEMF=ZFLXZTKEMF, &
221240
&PTHL_UP=PTHL_UP,PRT_UP=PRT_UP,PRV_UP=PRV_UP,PRC_UP=PRC_UP,PRI_UP=PRI_UP, &
222-
&PU_UP=PU_UP, PV_UP=PV_UP, PTHV_UP=PTHV_UP, PW_UP=PW_UP, &
241+
&PU_UP=PU_UP, PV_UP=PV_UP, PTKE_UP=ZTKE_UP, PTHV_UP=PTHV_UP, PW_UP=PW_UP, &
223242
&PFRAC_UP=PFRAC_UP,PEMF=PEMF,PDETR=ZDETR,PENTR=ZENTR, &
224243
&KKLCL=IKLCL,KKETL=IKETL,KKCTL=IKCTL,PDX=PDX,PDY=PDY, &
225244
&BUCONF=PHYEX%MISC%TBUCONF, TBUDGETS=YLBUDGET, KBUDGETS=SIZE(YLBUDGET) )
@@ -233,5 +252,44 @@ SUBROUTINE ARO_SHALLOW_MF(PHYEX,&
233252
!
234253
! -----------------------------------------------
235254
!
255+
IF (LMUSCLFA) THEN
256+
!Some updraft variables are initialised with environmental values.
257+
!ZW mask must be used to suppress those values, for variables on flux levels
258+
ZW=1.
259+
WHERE(PFRAC_UP==0.) ZW=0.
260+
261+
!Variables on flux levels
262+
CALL WRAROM(NMUSCLFA, 'MF', PEMF*ZW, &
263+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
264+
CALL WRAROM(NMUSCLFA, 'CF_MF', PCF_MF, &
265+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .FALSE.)
266+
CALL WRAROM(NMUSCLFA, 'ZWU', PW_UP*ZW, &
267+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
268+
CALL WRAROM(NMUSCLFA, 'PUDAL', PFRAC_UP*ZW, &
269+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
270+
CALL WRAROM(NMUSCLFA, 'ZEPSILON_U', ZENTR, &
271+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .FALSE.)
272+
CALL WRAROM(NMUSCLFA, 'ZDELTA_U', ZDETR, &
273+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .FALSE.)
274+
CALL WRAROM(NMUSCLFA, 'PQLSHCONV', PRC_UP/(1.+PRT_UP)*ZW, &
275+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
276+
CALL WRAROM(NMUSCLFA, 'PQISHCONV', PRI_UP/(1.+PRT_UP)*ZW, &
277+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
278+
CALL WRAROM(NMUSCLFA, 'PQU', PRV_UP/(1.+PRT_UP)*ZW, &
279+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
280+
CALL WRAROM(NMUSCLFA, 'THV_UP', PTHV_UP*ZW, &
281+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
282+
CALL WRAROM(NMUSCLFA, 'RT_UP', PRT_UP*ZW, &
283+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
284+
CALL WRAROM(NMUSCLFA, 'TKE_UP', ZTKE_UP*ZW, &
285+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
286+
CALL WRAROM(NMUSCLFA, 'WE_UP', ZFLXZTKEMF*ZW, &
287+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
288+
CALL WRAROM(NMUSCLFA, 'WRT_UP', ZFLXZRMF*ZW, &
289+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
290+
CALL WRAROM(NMUSCLFA, 'WTHL_UP', ZFLXZTHMF*ZW, &
291+
KLON, YLDIMPHYEX%NKT, YLDIMPHYEX%NKB, YLDIMPHYEX%NKE, YLDIMPHYEX%NKL, .TRUE.)
292+
ENDIF
293+
!
236294
IF (LHOOK) CALL DR_HOOK('ARO_SHALLOW_MF',1,ZHOOK_HANDLE)
237295
END SUBROUTINE ARO_SHALLOW_MF

src/arome/ext/aro_shallow_mf.h

+9-2
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ INTERFACE
99
& PSFTH,PSFRV,&
1010
& PTHM,PRM,&
1111
& PUM,PVM,PTKEM,PSVM,&
12-
& PDUDT_MF,PDVDT_MF,&
12+
& PDUDT_MF,PDVDT_MF,PDTKEDT_MF,&
1313
& PDTHLDT_MF,PDRTDT_MF,PDSVDT_MF,&
14-
& PSIGMF,PRC_MF,PRI_MF,PCF_MF,PFLXZTHVMF,&
14+
& PSIGMF,PRC_MF,PRI_MF,PCF_MF,&
15+
& PHLC_HRC_MF, PHLC_HCF_MF, PHLI_HRI_MF, PHLI_HCF_MF,&
16+
& PWEIGHT_MF_CLOUD,PFLXZTHVMF,PFLXZUMF,PFLXZVMF,&
1517
& PTHL_UP,PRT_UP,PRV_UP,PRC_UP,PRI_UP,&
1618
& PU_UP, PV_UP, PTHV_UP, PW_UP, PFRAC_UP, PEMF,&
1719
& YDDDH,YDLDDH,YDMDDH)
@@ -49,11 +51,16 @@ REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(IN) :: PTKEM
4951
REAL(KIND=JPRB), DIMENSION(KLON,KLEV,KSV), INTENT(IN) :: PSVM
5052
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(OUT):: PDUDT_MF
5153
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(OUT):: PDVDT_MF
54+
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(OUT):: PDTKEDT_MF
5255
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(OUT):: PDTHLDT_MF
5356
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(OUT):: PDRTDT_MF
5457
REAL(KIND=JPRB), DIMENSION(KLON,KLEV,KSV), INTENT(OUT):: PDSVDT_MF
5558
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(OUT) :: PSIGMF,PRC_MF,PRI_MF,PCF_MF
59+
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(OUT) :: PHLC_HRC_MF, PHLC_HCF_MF, PHLI_HRI_MF, PHLI_HCF_MF
60+
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(OUT) :: PWEIGHT_MF_CLOUD
5661
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(OUT) :: PFLXZTHVMF
62+
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(OUT) :: PFLXZUMF
63+
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(OUT) :: PFLXZVMF
5764
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(INOUT) :: PTHL_UP
5865
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(INOUT) :: PRT_UP
5966
REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(INOUT) :: PRV_UP

0 commit comments

Comments
 (0)