@@ -16,13 +16,13 @@ module GFS_MP_generic_post
16
16
! ! \htmlinclude GFS_MP_generic_post_run.html
17
17
! !
18
18
subroutine GFS_MP_generic_post_run ( &
19
- im , levs , kdt , nrcm , nncl , ntcw , ntrac , imp_physics , imp_physics_gfdl , imp_physics_thompson , imp_physics_nssl , &
20
- imp_physics_mg , imp_physics_fer_hires , cal_pre , cplflx , cplchm , cpllnd , progsigma , con_g , rhowater , rainmin , dtf , &
21
- frain , rainc , rain1 , rann , xlat , xlon , gt0 , gq0 , prsl , prsi , phii , tsfc , ice , phil , htop , refl_10cm , &
22
- imfshalcnv ,imfshalcnv_gf ,imfdeepcnv ,imfdeepcnv_gf ,imfdeepcnv_samf , con_t0c , snow , graupel , save_t , save_q , &
23
- rain0 , ice0 , snow0 , graupel0 , del , rain , domr_diag , domzr_diag , domip_diag , doms_diag , tprcp , srflag , sr , cnvprcp , &
24
- totprcp , totice , totsnw , totgrp , cnvprcpb , totprcpb , toticeb , totsnwb , totgrpb , rain_cpl , rainc_cpl , snow_cpl , &
25
- pwat , frzr , frzrb , frozr , frozrb , tsnowp , tsnowpb , rhonewsn1 , exticeden , &
19
+ im , levs , kdt , nrcm , nncl , ntcw , ntrac , imp_physics , imp_physics_gfdl , imp_physics_thompson , imp_physics_tempo , &
20
+ imp_physics_nssl , imp_physics_mg , imp_physics_fer_hires , cal_pre , cplflx , cplchm , cpllnd , progsigma , con_g , &
21
+ rhowater , rainmin , dtf , frain , rainc , rain1 , rann , xlat , xlon , gt0 , gq0 , prsl , prsi , phii , tsfc , ice , phil , htop , &
22
+ refl_10cm , imfshalcnv ,imfshalcnv_gf ,imfdeepcnv ,imfdeepcnv_gf ,imfdeepcnv_samf , con_t0c , snow , graupel , save_t , &
23
+ save_q , rain0 , ice0 , snow0 , graupel0 , del , rain , domr_diag , domzr_diag , domip_diag , doms_diag , tprcp , srflag , sr , &
24
+ cnvprcp , totprcp , totice , totsnw , totgrp , cnvprcpb , totprcpb , toticeb , totsnwb , totgrpb , rain_cpl , rainc_cpl , &
25
+ snow_cpl , pwat , frzr , frzrb , frozr , frozrb , tsnowp , tsnowpb , rhonewsn1 , exticeden , &
26
26
drain_cpl , dsnow_cpl , lsm , lsm_ruc , lsm_noahmp , raincprv , rainncprv , iceprv , snowprv , &
27
27
graupelprv , draincprv , drainncprv , diceprv , dsnowprv , dgraupelprv , dtp , &
28
28
dtend , dtidx , index_of_temperature , index_of_process_mp ,ldiag3d , qdiag3d ,dqdt_qmicro , lssav , num_dfi_radar , &
@@ -35,7 +35,7 @@ subroutine GFS_MP_generic_post_run(
35
35
36
36
integer , intent (in ) :: im, levs, kdt, nrcm, nncl, ntcw, ntrac, num_dfi_radar, index_of_process_dfi_radar
37
37
integer , intent (in ) :: imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_mg, imp_physics_fer_hires
38
- integer , intent (in ) :: imp_physics_nssl, iopt_lake_clm, iopt_lake, lkm
38
+ integer , intent (in ) :: imp_physics_nssl, iopt_lake_clm, iopt_lake, lkm, imp_physics_tempo
39
39
logical , intent (in ) :: cal_pre, lssav, ldiag3d, qdiag3d, cplflx, cplchm, cpllnd, progsigma, exticeden
40
40
integer , intent (in ) :: index_of_temperature,index_of_process_mp,use_lake_model(:)
41
41
integer , intent (in ) :: imfshalcnv,imfshalcnv_gf,imfdeepcnv,imfdeepcnv_gf,imfdeepcnv_samf
@@ -133,7 +133,7 @@ subroutine GFS_MP_generic_post_run(
133
133
!
134
134
! Combine convective reflectivity with MP reflectivity for selected
135
135
! parameterizations.
136
- if ( (imp_physics== imp_physics_thompson .or. imp_physics== imp_physics_nssl) .and. &
136
+ if ( (imp_physics== imp_physics_thompson .or. imp_physics== imp_physics_tempo .or. imp_physics == imp_physics_nssl) .and. &
137
137
(imfdeepcnv== imfdeepcnv_samf .or. imfdeepcnv== imfdeepcnv_gf .or. imfshalcnv== imfshalcnv_gf) ) then
138
138
do i= 1 ,im
139
139
factor(i) = 0.0
@@ -178,7 +178,8 @@ subroutine GFS_MP_generic_post_run(
178
178
endif
179
179
180
180
! compute surface snowfall, graupel/sleet, freezing rain and precip ice density
181
- if (imp_physics == imp_physics_gfdl .or. imp_physics == imp_physics_thompson .or. imp_physics == imp_physics_nssl ) then
181
+ if (imp_physics == imp_physics_gfdl .or. imp_physics == imp_physics_thompson .or. &
182
+ imp_physics == imp_physics_tempo .or. imp_physics == imp_physics_nssl ) then
182
183
do i = 1 , im
183
184
if (gt0(i,1 ) .le. 273 ) then
184
185
frzr(i) = frzr(i) + rain0(i)
@@ -256,7 +257,7 @@ subroutine GFS_MP_generic_post_run(
256
257
ice = ice0
257
258
snow = snow0
258
259
! Do it right from the beginning for Thompson
259
- else if (imp_physics == imp_physics_thompson .or. imp_physics == imp_physics_nssl ) then
260
+ else if (imp_physics == imp_physics_thompson .or. imp_physics == imp_physics_tempo .or. imp_physics == imp_physics_nssl ) then
260
261
tprcp = max (zero, rainc + frain * rain1) ! time-step convective and explicit precip
261
262
graupel = frain* graupel0 ! time-step graupel
262
263
ice = frain* ice0 ! time-step ice
@@ -302,7 +303,8 @@ subroutine GFS_MP_generic_post_run(
302
303
!
303
304
! HCHUANG: use new precipitation type to decide snow flag for LSM snow accumulation
304
305
305
- if (imp_physics /= imp_physics_gfdl .and. imp_physics /= imp_physics_thompson .and. imp_physics /= imp_physics_nssl) then
306
+ if (imp_physics /= imp_physics_gfdl .and. imp_physics /= imp_physics_thompson .and. &
307
+ imp_physics /= imp_physics_tempo .and. imp_physics /= imp_physics_nssl) then
306
308
do i= 1 ,im
307
309
tprcp(i) = max (zero, rain(i) )
308
310
if (doms(i) > zero .or. domip(i) > zero) then
@@ -390,7 +392,7 @@ subroutine GFS_MP_generic_post_run(
390
392
! ! \f$0^oC\f$.
391
393
392
394
if (imp_physics == imp_physics_gfdl .or. imp_physics == imp_physics_thompson .or. &
393
- imp_physics == imp_physics_nssl ) then
395
+ imp_physics == imp_physics_tempo .or. imp_physics == imp_physics_nssl ) then
394
396
395
397
! determine convective rain/snow by surface temperature
396
398
! determine large-scale rain/snow by rain/snow coming out directly from MP
0 commit comments