Skip to content
Open
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
14 changes: 11 additions & 3 deletions Registry/Registry.EM_COMMON
Original file line number Diff line number Diff line change
Expand Up @@ -1225,9 +1225,9 @@ state real CUPPT ij misc 1 - r "C
state real rswtoa ij misc 1 - -
state real rlwtoa ij misc 1 - -
state real czmean ij misc 1 - -
state real cfracl ij misc 1 - -
state real cfracm ij misc 1 - -
state real cfrach ij misc 1 - -
state real cfracl ij misc 1 - rh "CFRACL" "Low cloud fraction" ""
state real cfracm ij misc 1 - rh "CFRACM" "Middle cloud fraction" ""
state real cfrach ij misc 1 - rh "CFRACH" "High cloud fraction" ""
state real acfrst ij misc 1 - -
state integer ncfrst ij misc 1 - -
state real acfrcv ij misc 1 - -
Expand Down Expand Up @@ -1304,6 +1304,12 @@ state real F_ICE_PHY ikj misc 1 - rhdu "F
state real F_RAIN_PHY ikj misc 1 - rhdu "F_RAIN_PHY" "FRACTION OF RAIN " ""
state real F_RIMEF_PHY ikj misc 1 - rhdu "F_RIMEF_PHY" "MASS RATIO OF RIMED ICE " ""
state real qndropsource ikj misc 1 - r "qndropsource" "Droplet number source" "#/kg/s"
# ivanr microphysics variables
state real cld ikj misc 1 - r "CLD" "CLOUD FRACTION" "0 - 1 fraction"
state real tw2 ikj misc 1 - r "TW2" "T from previous timestep" "K"
state real pw2 ikj misc 1 - r "PW2" "P from previous timestep" "Pa"
state real qw2 ikj misc 1 - r "QW2" "Q from previous timestep" "kg kg-1"
state real f_snow ikj misc 1 - r "F_SNOW" "FRACTION OF SNOW" "0 - 1 fraction"

# cyl 3DPWP variables
state real OM_TMP i{nocnl}j misc 1 Z i012rhdu=(copy_fcnm)f=(c2f_interp:grid_id) "OM_TMP" "temperature" "k"
Expand Down Expand Up @@ -2994,6 +3000,7 @@ package p3_1category_nc mp_physics==51 - moist:qv,qc
package p3_2category mp_physics==52 - moist:qv,qc,qr,qi,qi2;scalar:qnc,qni,qnr,qir,qib,qni2,qir2,qib2;state:re_cloud,re_ice,vmi3d,rhopo3d,di3d,vmi3d_2,rhopo3d_2,di3d_2,refl_10cm,th_old,qv_old
package p3_1cat_3mom mp_physics==53 - moist:qv,qc,qr,qi;scalar:qnc,qni,qnr,qir,qib,qzi;state:re_cloud,re_ice,vmi3d,rhopo3d,di3d,refl_10cm,th_old,qv_old
package morr_tm_aero mp_physics==40 - moist:qv,qc,qr,qi,qs,qg;scalar:qnc,qni,qns,qnr,qng;state:rqrcuten,rqscuten,rqicuten,EFCG,EFIG,EFSG,WACT,CCN1_GS,CCN2_GS,CCN3_GS,CCN4_GS,CCN5_GS,CCN6_GS,CCN7_GS,re_cloud,re_ice,re_snow,mskf_refl_10cm
package ivanr_micro mp_physics==150 - moist:qv,qc,qr,qs;scalar:qt;state:cld,tw2,pw2,qw2,f_snow
package jensen_ishmael mp_physics==55 - moist:qv,qc,qr,qi,qi2,qi3;scalar:qnr,qni,qvoli,qaoli,qni2,qvoli2,qaoli2,qni3,qvoli3,qaoli3;state:re_cloud,re_ice,vmi3d,rhopo3d,di3d,phii3d,itype,vmi3d_2,rhopo3d_2,di3d_2,phii3d_2,itype_2,vmi3d_3,rhopo3d_3,di3d_3,phii3d_3,itype_3,refl_10cm
package ntu mp_physics==56 - moist:qv,qc,qr,qi,qs,qg,qh;scalar:qnc,qnr,qni,qns,qng,qnh,qdcn,qtcn,qccn,qrcn,qnin,fi,fs,vi,vs,vg,ai,as,ag,ah,i3m
package etampnew mp_physics==95 - moist:qv,qc,qr,qs;scalar:qt;state:f_ice_phy,f_rain_phy,f_rimef_phy
Expand Down Expand Up @@ -3038,6 +3045,7 @@ package jensen_ishmael_dfi mp_physics_dfi==55 - dfi_moist:dfi
package ntu_dfi mp_physics_dfi==56 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg,dfi_qh;dfi_scalar:dfi_qnc,dfi_qnr,dfi_qni,dfi_qns,dfi_qng,dfi_qnh,dfi_qdcn,dfi_qtcn,dfi_qccn,dfi_qrcn,dfi_qnin,dfi_fi,dfi_fs,dfi_vi,dfi_vs,dfi_vg,dfi_ai,dfi_as,dfi_ag,dfi_ah,dfi_i3m
package etampnew_dfi mp_physics_dfi==95 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qs;dfi_scalar:dfi_qt
package gsfcgcescheme_dfi mp_physics_dfi==97 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qi,dfi_qs,dfi_qg
package ivanr_micro_dfi mp_physics_dfi==150 - dfi_moist:dfi_qv,dfi_qc,dfi_qr,dfi_qs;dfi_scalar:dfi_qt

package noprogn progn==0 - -
package progndrop progn==1 - scalar:qndrop;dfi_scalar:dfi_qndrop;state:qndropsource
Expand Down
2 changes: 2 additions & 0 deletions Registry/registry.var
Original file line number Diff line number Diff line change
Expand Up @@ -591,6 +591,7 @@ package ntu mp_physics==56 - moist:qv,qc
package etampnew mp_physics==95 - moist:qv,qc,qr,qs
package lscondscheme mp_physics==98 - moist:qv
package mkesslerscheme mp_physics==99 - moist:qv,qc,qr
package ivanr_micro mp_physics==150 - moist:qv,qc,qr,qs
#
package mpnotset_4dvar mp_physics_4dvar==-1 - g_moist:g_qv;a_moist:a_qv
package passiveqv_4dvar mp_physics_4dvar==0 - g_moist:g_qv;a_moist:a_qv
Expand Down Expand Up @@ -623,6 +624,7 @@ package ntu_4dvar mp_physics_4dvar==56 - g_moist:g_q
package etampnew_4dvar mp_physics_4dvar==95 - g_moist:g_qv,g_qc,g_qr,g_qs;a_moist:a_qv,a_qc,a_qr,a_qs
package lscond_4dvar mp_physics_4dvar==98 - g_moist:g_qv;a_moist:a_qv
package mkessler_4dvar mp_physics_4dvar==99 - g_moist:g_qv,g_qc,g_qr;a_moist:a_qv,a_qc,a_qr
package ivanr_micro_4dvar mp_physics_4dvar==150 - g_moist:g_qv,g_qc,g_qr,g_qs;a_moist:a_qv,a_qc,a_qr,a_qs

package surfdragscheme bl_pbl_physics==98 - -
package ducuscheme cu_physics==98 - -
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 ivanr_micro_plus mp_physics_plus==150 - g_moist:g_qv,g_qc,g_qr,g_qs;a_moist:a_qv,a_qc,a_qr,a_qs

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
1 change: 1 addition & 0 deletions dyn_em/module_first_rk_step_part1.F
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@ SUBROUTINE first_rk_step_part1 ( grid , config_flags &
& , cldovrlp=config_flags%cldovrlp &
& , idcor=config_flags%idcor &
& , qc_bl=grid%qc_bl,qi_bl=grid%qi_bl,cldfra_bl=grid%cldfra_bl&
& , cld=grid%cld & ! w2id
& , re_cloud=grid%re_cloud, re_ice=grid%re_ice, re_snow=grid%re_snow & ! G. Thompson
& , has_reqc=grid%has_reqc, has_reqi=grid%has_reqi, has_reqs=grid%has_reqs & ! G. Thompson
& , PB=grid%pb &
Expand Down
5 changes: 5 additions & 0 deletions dyn_em/solve_em.F
Original file line number Diff line number Diff line change
Expand Up @@ -3921,6 +3921,11 @@ END SUBROUTINE CMAQ_DRIVER
! YLIN
! RI_CURR INPUT
& , RI_CURR=grid%rimi &
& , cld=grid%cld & ! w2id
& , tw2=grid%tw2 & ! w2id
& , pw2=grid%pw2 & ! w2id
& , qw2=grid%qw2 & ! w2id
& , f_snow=grid%f_snow & ! w2id
& , re_cloud=grid%re_cloud, re_ice=grid%re_ice, re_snow=grid%re_snow & ! G. Thompson
& , has_reqc=grid%has_reqc, has_reqi=grid%has_reqi, has_reqs=grid%has_reqs & ! G. Thompson
& , qnwfa2d=grid%qnwfa2d, qnifa2d=grid%qnifa2d, qnbca2d=grid%qnbca2d & ! G. Thompson
Expand Down
1 change: 1 addition & 0 deletions phys/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ MODULES = \
module_mp_wsm6.o \
module_mp_wsm7.o \
module_mp_etanew.o \
module_mp_ivanr_micro.o \
module_mp_fer_hires.o \
module_mp_thompson.o \
module_fire_emis.o \
Expand Down
35 changes: 34 additions & 1 deletion phys/module_microphysics_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ SUBROUTINE microphysics_driver( &
,ri_curr &
,diagflag, do_radar_ref &
,ke_diag &
,cld, tw2, pw2, qw2, f_snow & ! w2id
,re_cloud, re_ice, re_snow & ! G. Thompson
,has_reqc, has_reqi, has_reqs & ! G. Thompson
,ccn_conc & ! RAS
Expand Down Expand Up @@ -171,7 +172,7 @@ SUBROUTINE microphysics_driver( &
,WSM7SCHEME, WDM7SCHEME &
,NUWRF4ICESCHEME &
,MILBRANDT2MOM , CAMMGMPSCHEME,FULL_KHAIN_LYNN, P3_1CATEGORY, P3_1CATEGORY_NC, P3_2CATEGORY, P3_1CAT_3MOM &
,MORR_TM_AERO, JENSEN_ISHMAEL, SPRINKLER, NTU !,MILBRANDT3MOM
,MORR_TM_AERO, JENSEN_ISHMAEL, SPRINKLER, NTU, IVANR_MICRO !,MILBRANDT3MOM
#if ( WRFPLUS == 1 )
USE module_state_description, ONLY : LSCONDSCHEME, MKESSLERSCHEME
#endif
Expand Down Expand Up @@ -216,6 +217,7 @@ SUBROUTINE microphysics_driver( &
USE module_mp_wsm6
USE module_mp_wsm7
USE module_mp_etanew
USE module_mp_ivanr_micro
USE module_mp_fer_hires
USE module_mp_thompson
USE module_mp_full_sbm
Expand Down Expand Up @@ -726,6 +728,8 @@ SUBROUTINE microphysics_driver( &
INTEGER, OPTIONAL, INTENT(IN) :: ke_diag ! tells reflectivity calculation whether to do full depth or only k=1
REAL, INTENT(IN) :: ccn_conc ! RAS
INTEGER, OPTIONAL, INTENT(IN) :: do_radar_ref
REAL, DIMENSION(ims:ime,kms:kme,jms:jme), INTENT(INOUT) :: & ! w2id
cld, tw2, pw2, qw2, f_snow
REAL, DIMENSION(ims:ime,kms:kme,jms:jme), INTENT(INOUT) :: & ! G. Thompson
re_cloud, re_ice, re_snow
INTEGER, INTENT(IN):: has_reqc, has_reqi, has_reqs
Expand Down Expand Up @@ -964,6 +968,35 @@ SUBROUTINE microphysics_driver( &
#endif

micro_select: SELECT CASE(mp_physics)
CASE (IVANR_MICRO) !-- Operational 4-km High-Resolution Window (HRW)version IVANR_MICRO
CALL wrf_debug ( 100 , 'microphysics_driver: calling ivanr_micro')

IF ( PRESENT( qv_curr ) .AND. PRESENT( qt_curr ) .AND. &
PRESENT( RAINNC ) .AND. PRESENT ( RAINNCV ) ) THEN
CALL IVANRM_NEW( &
ITIMESTEP=itimestep,DT=dt &
,DZ8W=dz8w,RHO_PHY=rho,P_PHY=p,PI_PHY=pi_phy,TH_PHY=th &
,QV=qv_curr &
,QT=qt_curr &
,SR=SR &
,QC=qc_curr &
,QS=qs_curr &
,QR=qr_curr &
,xland=xland &
,CLD=cld &
,T0=tw2 &
,P0=pw2 &
,Q0=qw2 &
,F_SNOW=f_snow &
,RAINNC=rainnc,RAINNCV=rainncv &
,SNOWNC=snownc,SNOWNCV=snowncv &
,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 ivanr_micro' )
ENDIF

CASE (KESSLERSCHEME)
CALL wrf_debug ( 100 , 'microphysics_driver: calling kessler' )
Expand Down
Loading