Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regularized WSM6 and its TL/AD for 4DVar #1768

Merged
merged 10 commits into from
Nov 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Registry/Registry.EM_COMMON
Original file line number Diff line number Diff line change
Expand Up @@ -2972,6 +2972,7 @@ package wsm5scheme mp_physics==4 - moist:qv,qc
package fer_mp_hires mp_physics==5 - moist:qv,qc,qr,qi;scalar:qt;state:f_ice_phy,f_rain_phy,f_rimef_phy
package fer_mp_hires_advect mp_physics==15 - moist:qv,qc,qr,qi;scalar:qrimef
package wsm6scheme mp_physics==6 - moist:qv,qc,qr,qi,qs,qg;state:re_cloud,re_ice,re_snow
package wsm6rscheme mp_physics==106 - moist:qv,qc,qr,qi,qs,qg
package nuwrf4icescheme mp_physics==7 - moist:qv,qc,qr,qi,qs,qg,qh;state:phys_tot,physc,physe,physd,physs,physm,physf,acphys_tot,acphysc,acphyse,acphysd,acphyss,acphysm,acphysf,preci3d,precs3d,precg3d,precr3d,prech3d,re_cloud_gsfc,re_rain_gsfc,re_ice_gsfc,re_snow_gsfc,re_graupel_gsfc,re_hail_gsfc,re_cloud,re_ice,re_snow
package thompson mp_physics==8 - moist:qv,qc,qr,qi,qs,qg;scalar:qni,qnr;state:re_cloud,re_ice,re_snow
package milbrandt2mom mp_physics==9 - moist:qv,qc,qr,qi,qs,qg,qh;scalar:qnc,qnr,qni,qns,qng,qnh
Expand Down
2 changes: 2 additions & 0 deletions Registry/registry.var
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,7 @@ package wsm5scheme mp_physics==4 - moist:qv,qc
package fer_mp_hires mp_physics==5 - moist:qv,qc,qr,qi
package fer_mp_hires_advect mp_physics==15 - moist:qv,qc,qr,qi
package wsm6scheme mp_physics==6 - moist:qv,qc,qr,qi,qs,qg
package wsm6rscheme mp_physics==106 - moist:qv,qc,qr,qi,qs,qg
package gsfcgcescheme mp_physics==7 - moist:qv,qc,qr,qi,qs,qg
package thompson mp_physics==8 - moist:qv,qc,qr,qi,qs,qg
package milbrandt2mom mp_physics==9 - moist:qv,qc,qr,qi,qs,qg,qh
Expand Down Expand Up @@ -601,6 +602,7 @@ package wsm5_4dvar mp_physics_4dvar==4 - g_moist:g_q
package fer_mp_hi_4dvar mp_physics_4dvar==5 - g_moist:g_qv,g_qc,g_qr,g_qi;a_moist:a_qv,a_qc,a_qr,a_qi
package fer_mp_hi_advect_4dvar mp_physics_4dvar==15 - g_moist:g_qv,g_qc,g_qr,g_qi;a_moist:a_qv,a_qc,a_qr,a_qi
package wsm6_4dvar mp_physics_4dvar==6 - g_moist:g_qv,g_qc,g_qr,g_qi,g_qs,g_qg;a_moist:a_qv,a_qc,a_qr,a_qi,a_qs,a_qg
package wsm6r_4dvar mp_physics_4dvar==106 - g_moist:g_qv,g_qc,g_qr,g_qi,g_qs,g_qg;a_moist:a_qv,a_qc,a_qr,a_qi,a_qs,a_qg
package gsfcgce_4dvar mp_physics_4dvar==7 - g_moist:g_qv,g_qc,g_qr,g_qi,g_qs,g_qg;a_moist:a_qv,a_qc,a_qr,a_qi,a_qs,a_qg
package thompson_4dvar mp_physics_4dvar==8 - g_moist:g_qv,g_qc,g_qr,g_qi,g_qs,g_qg;a_moist:a_qv,a_qc,a_qr,a_qi,a_qs,a_qg
package milbrandt2mom_4dvar mp_physics_4dvar==9 - g_moist:g_qv,g_qc,g_qr,g_qi,g_qs,g_qg,g_qh;a_moist:a_qv,a_qc,a_qr,a_qi,a_qs,a_qg,a_qh
Expand Down
1 change: 1 addition & 0 deletions Registry/registry.wrfplus
Original file line number Diff line number Diff line change
Expand Up @@ -886,6 +886,7 @@ package ntu_plus mp_physics_plus==56 - g_moist:g_qv,
package etampnew_plus mp_physics_plus==95 - g_moist:g_qv,g_qc,g_qr,g_qs;a_moist:a_qv,a_qc,a_qr,a_qs
package lscond_plus mp_physics_plus==98 - g_moist:g_qv;a_moist:a_qv
package mkessler_plus mp_physics_plus==99 - g_moist:g_qv,g_qc,g_qr;a_moist:a_qv,a_qc,a_qr
package wsm6r_plus mp_physics_plus==106 - g_moist:g_qv,g_qc,g_qr,g_qi,g_qs,g_qg;a_moist:a_qv,a_qc,a_qr,a_qi,a_qs,a_qg

rconfig integer cu_used_plus derived 1 0 - "cu_used_plus" "turn on if any cumulus scheme is used"
rconfig integer shcu_used_plus derived 1 0 - "shcu_used_plus" "turn on if any shallow cumulus scheme is used"
Expand Down
2 changes: 2 additions & 0 deletions main/depend.common
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,7 @@ module_physics_init.o : \
module_mp_wsm3.o \
module_mp_wsm5.o \
module_mp_wsm6.o \
module_mp_wsm6r.o \
module_mp_etanew.o \
module_mp_fer_hires.o \
module_mp_fast_sbm.o \
Expand Down Expand Up @@ -613,6 +614,7 @@ module_microphysics_driver.o: \
$(PHYS_MP) \
module_mp_wsm3.o module_mp_wsm5.o \
module_mp_wsm6.o module_mp_etanew.o \
module_mp_wsm6r.o \
module_mp_fer_hires.o \
module_mp_thompson.o \
module_mp_gsfcgce.o \
Expand Down
1 change: 1 addition & 0 deletions phys/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ MODULES = \
module_mp_wsm3.o \
module_mp_wsm5.o \
module_mp_wsm6.o \
module_mp_wsm6r.o \
module_mp_wsm7.o \
module_mp_etanew.o \
module_mp_fer_hires.o \
Expand Down
24 changes: 24 additions & 0 deletions phys/module_microphysics_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ SUBROUTINE microphysics_driver( &
,NUWRF4ICESCHEME &
,MILBRANDT2MOM , CAMMGMPSCHEME,FULL_KHAIN_LYNN, P3_1CATEGORY, P3_1CATEGORY_NC, P3_2CATEGORY, P3_1CAT_3MOM &
,MORR_TM_AERO, JENSEN_ISHMAEL, SPRINKLER, NTU !,MILBRANDT3MOM
USE module_state_description, ONLY : WSM6RSCHEME
#if ( WRFPLUS == 1 )
USE module_state_description, ONLY : LSCONDSCHEME, MKESSLERSCHEME
#endif
Expand Down Expand Up @@ -214,6 +215,7 @@ SUBROUTINE microphysics_driver( &
USE module_mp_wsm3
USE module_mp_wsm5
USE module_mp_wsm6
USE module_mp_wsm6r, ONLY:wsm6r
USE module_mp_wsm7
USE module_mp_etanew
USE module_mp_fer_hires
Expand Down Expand Up @@ -2532,6 +2534,28 @@ SUBROUTINE microphysics_driver( &
CALL wrf_error_fatal ( 'arguments not present for calling wsm6' )
ENDIF

CASE (WSM6RSCHEME)
CALL wrf_debug ( 100 , 'microphysics_driver: calling wsm6r' )
IF ( PRESENT( QV_CURR ) .AND. PRESENT( QR_CURR ) .AND. &
PRESENT( QC_CURR ) .AND. PRESENT( QS_CURR ) .AND. &
PRESENT( QI_CURR ) .AND. PRESENT( QG_CURR ) .AND. &
PRESENT( RAINNC ) .AND. PRESENT( RAINNCV )) THEN
CALL wsm6r( &
TH=th &
,Q =qv_curr,Qc=qc_curr,Qi=qi_curr &
,Qr=qr_curr,Qs=qs_curr,Qg=qg_curr &
,DEN=rho, PII=pi_phy &
,P=p &
,DELZ=dz8w, DELT=dt &
,RAIN=rainnc,RAINNCV=rainncv &
,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde &
,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme &
,ITS=its,ITE=ite, JTS=jts,JTE=jte, KTS=kts,KTE=kte &
)
ELSE
CALL wrf_error_fatal ( 'arguments not present for calling wsm6r' )
ENDIF

CASE (WSM7SCHEME)
CALL wrf_debug ( 100 , 'microphysics_driver: calling wsm7' )
IF ( PRESENT( QV_CURR ) .AND. PRESENT ( QC_CURR ) .AND. &
Expand Down
Loading