Skip to content
Closed
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
8 changes: 7 additions & 1 deletion Registry/Registry.EM_COMMON
Original file line number Diff line number Diff line change
Expand Up @@ -1295,7 +1295,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"
state real OM_S i{nocnl}j misc 1 Z i012rhdu=(copy_fcnm)f=(c2f_interp:grid_id) "OM_S" "salinity" "degree"
Expand Down Expand Up @@ -2972,6 +2977,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
5 changes: 5 additions & 0 deletions dyn_em/solve_em.F
Original file line number Diff line number Diff line change
Expand Up @@ -3851,6 +3851,11 @@ SUBROUTINE solve_em ( grid , config_flags &
! 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 & ! G. Thompson
Expand Down
3 changes: 2 additions & 1 deletion phys/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,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_mp_SBM_polar_radar.o \
Expand Down Expand Up @@ -198,7 +199,7 @@ MODULES = \
module_wind_fitch.o \
module_sf_lake.o \
module_diagnostics_driver.o \
module_irrigation.o
module_irrigation.o

FIRE_MODULES = \
module_fr_fire_driver.o \
Expand Down
33 changes: 32 additions & 1 deletion phys/module_microphysics_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,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 @@ -162,7 +163,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 @@ -207,6 +208,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 @@ -697,6 +699,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 @@ -935,7 +939,34 @@ 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 &
,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' )
IF ( PRESENT( QV_CURR ) .AND. PRESENT( QC_CURR ) .AND. &
Expand Down
Loading