Skip to content

Commit

Permalink
Merge pull request #277 from MicroTed/feature/nssl_micro
Browse files Browse the repository at this point in the history
Add support for NSSL cloud microphysics scheme (CCPP)
  • Loading branch information
grantfirl committed Mar 14, 2022
2 parents f2c73df + 5ce0010 commit 9b73f41
Show file tree
Hide file tree
Showing 23 changed files with 1,574 additions and 36 deletions.
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[submodule "ccpp-framework"]
path = ccpp/framework
url = https://github.com/NCAR/ccpp-framework
branch = master
branch = main
[submodule "ccpp-physics"]
path = ccpp/physics
url = https://github.com/NCAR/ccpp-physics
branch = master
branch = main
1 change: 1 addition & 0 deletions ccpp/config/ccpp_prebuild_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@
'ccpp/physics/physics/mp_thompson_pre.F90' ,
'ccpp/physics/physics/mp_thompson.F90' ,
'ccpp/physics/physics/mp_thompson_post.F90' ,
'ccpp/physics/physics/mp_nssl.F90' ,
'ccpp/physics/physics/ozphys.f' ,
'ccpp/physics/physics/ozphys_2015.f' ,
'ccpp/physics/physics/precpd.f' ,
Expand Down
2 changes: 1 addition & 1 deletion ccpp/framework
2 changes: 1 addition & 1 deletion ccpp/physics
Submodule physics updated 47 files
+28 −5 CMakeLists.txt
+13 −6 physics/GFS_DCNV_generic.F90
+56 −0 physics/GFS_DCNV_generic.meta
+6 −5 physics/GFS_MP_generic.F90
+7 −0 physics/GFS_MP_generic.meta
+131 −9 physics/GFS_PBL_generic.F90
+112 −0 physics/GFS_PBL_generic.meta
+1 −1 physics/GFS_debug.F90
+89 −6 physics/GFS_rrtmg_pre.F90
+65 −1 physics/GFS_rrtmg_pre.meta
+1 −1 physics/GFS_rrtmgp_gfdlmp_pre.F90
+86 −15 physics/GFS_suite_interstitial.F90
+57 −0 physics/GFS_suite_interstitial.meta
+1 −1 physics/GFS_surface_generic.meta
+540 −77 physics/cu_gf_deep.F90
+115 −18 physics/cu_gf_driver.F90
+3 −0 physics/cu_gf_driver_post.F90
+11 −0 physics/cu_gf_driver_pre.F90
+111 −7 physics/cu_gf_sh.F90
+38 −0 physics/docs/library.bib
+35 −0 physics/docs/pdftxt/NSSLMICRO.txt
+35 −12 physics/drag_suite.F90
+15 −0 physics/drag_suite.meta
+2 −2 physics/h2ointerp.f90
+17 −7 physics/maximum_hourly_diagnostics.F90
+7 −0 physics/maximum_hourly_diagnostics.meta
+65 −10 physics/module_MYNNPBL_wrapper.F90
+45 −0 physics/module_MYNNPBL_wrapper.meta
+7 −4 physics/module_MYNNSFC_wrapper.F90
+15 −0 physics/module_MYNNSFC_wrapper.meta
+4 −3 physics/module_bl_mynn.F90
+19,964 −0 physics/module_mp_nssl_2mom.F90
+5 −21 physics/module_mp_thompson.F90
+32 −32 physics/module_sf_mynn.F90
+826 −0 physics/mp_nssl.F90
+634 −0 physics/mp_nssl.meta
+17 −12 physics/mp_thompson.F90
+15 −0 physics/mp_thompson.meta
+2 −2 physics/ozinterp.f90
+5 −2 physics/radiation_clouds.f
+1 −1 physics/radiation_surface.meta
+5 −2 physics/sfc_drv_ruc.F90
+7 −0 physics/sfc_drv_ruc.meta
+7 −2 physics/ugwpv1_gsldrag.F90
+15 −0 physics/ugwpv1_gsldrag.meta
+6 −2 physics/unified_ugwp.F90
+15 −0 physics/unified_ugwp.meta
145 changes: 145 additions & 0 deletions ccpp/physics_namelists/input_GSD_v1nssl.nml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
&gfs_physics_nml
fhzero = 0.16667
h2o_phys = .true.
ldiag3d = .true.
qdiag3d = .true.
fhcyc = 0.
nst_anl = .true.
use_ufo = .true.
pre_rad = .false.
imp_physics = 17
nssl_ccn_on = .true.
nssl_cccn = 0.3e9
nssl_invertccn = .true.
nssl_hail_on = .true.
ltaerosol = .false.
lradar = .true.
ttendlim = 0.004
pdfcld = .false.
fhswr = 3600.
fhlwr = 3600.
ialb = 1
iems = 1
iaer = 111
ico2 = 2
isubc_sw = 2
isubc_lw = 2
isol = 2
lwhtr = .true.
swhtr = .true.
cnvgwd = .true.
shal_cnv = .true.
cal_pre = .false.
redrag = .true.
dspheat = .true.
hybedmf = .false.
satmedmf = .false.
lheatstrg = .false.
do_mynnedmf = .true.
do_mynnsfclay = .false.
effr_in = .true.
random_clds = .false.
trans_trac = .true.
cnvcld = .true.
imfshalcnv = 3
imfdeepcnv = 3
cdmbgwd = 3.5,0.25
prslrd0 = 0.
ivegsrc = 1
isot = 1
debug = .false.
oz_phys = .false.
oz_phys_2015 = .true.
nstf_name = 2,1,1,0,5
cplflx = .false.
iau_delthrs = 6
iaufhrs = 30
iau_inc_files = "''"
do_sppt = .false.
do_shum = .false.
do_skeb = .false.
lsm = 3
lsoil_lsm = 9
kice = 9
iopt_dveg = 2
iopt_crs = 1
iopt_btr = 1
iopt_run = 1
iopt_sfc = 1
iopt_frz = 1
iopt_inf = 1
iopt_rad = 1
iopt_alb = 2
iopt_snf = 4
iopt_tbot = 2
iopt_stc = 1
icloud_bl = 1
bl_mynn_tkeadvect = .true.
bl_mynn_edmf = 1
bl_mynn_edmf_mom = 1
gwd_opt = 1
/

&gfdl_cloud_microphysics_nml
sedi_transport = .true.
do_sedi_heat = .false.
rad_snow = .true.
rad_graupel = .true.
rad_rain = .true.
const_vi = .F.
const_vs = .F.
const_vg = .F.
const_vr = .F.
vi_max = 1.
vs_max = 2.
vg_max = 12.
vr_max = 12.
qi_lim = 1.
prog_ccn = .false.
do_qa = .false.
fast_sat_adj = .false.
tau_l2v = 225.
tau_v2l = 150.
tau_g2v = 900.
rthresh = 10.e-6 ! This is a key parameter for cloud water
dw_land = 0.16
dw_ocean = 0.10
ql_gen = 1.0e-3
ql_mlt = 1.0e-3
qi0_crt = 8.0E-5
qs0_crt = 1.0e-3
tau_i2s = 1000.
c_psaci = 0.05
c_pgacs = 0.01
rh_inc = 0.30
rh_inr = 0.30
rh_ins = 0.30
ccn_l = 300.
ccn_o = 100.
c_paut = 0.5
c_cracw = 0.8
use_ppm = .false.
use_ccn = .true.
mono_prof = .true.
z_slope_liq = .true.
z_slope_ice = .true.
de_ice = .false.
fix_negative = .true.
icloud_f = 1
mp_time = 150.
/

&cires_ugwp_nml
knob_ugwp_solver = 2
knob_ugwp_source = 1,1,0,0
knob_ugwp_wvspec = 1,25,25,25
knob_ugwp_azdir = 2,4,4,4
knob_ugwp_stoch = 0,0,0,0
knob_ugwp_effac = 1,1,1,1
knob_ugwp_doaxyz = 1
knob_ugwp_doheat = 1
knob_ugwp_dokdis = 1
knob_ugwp_ndx4lh = 1
knob_ugwp_version = 0
launch_level = 25
/
145 changes: 145 additions & 0 deletions ccpp/physics_namelists/input_GSD_v1nssl_nohail.nml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
&gfs_physics_nml
fhzero = 0.16667
h2o_phys = .true.
ldiag3d = .true.
qdiag3d = .true.
fhcyc = 0.
nst_anl = .true.
use_ufo = .true.
pre_rad = .false.
imp_physics = 17
nssl_cccn = 0.3e9
nssl_ccn_on = .true.
nssl_invertccn = .true.
nssl_hail_on = .false.
ltaerosol = .false.
lradar = .true.
ttendlim = 0.004
pdfcld = .false.
fhswr = 3600.
fhlwr = 3600.
ialb = 1
iems = 1
iaer = 111
ico2 = 2
isubc_sw = 2
isubc_lw = 2
isol = 2
lwhtr = .true.
swhtr = .true.
cnvgwd = .true.
shal_cnv = .true.
cal_pre = .false.
redrag = .true.
dspheat = .true.
hybedmf = .false.
satmedmf = .false.
lheatstrg = .false.
do_mynnedmf = .true.
do_mynnsfclay = .false.
effr_in = .true.
random_clds = .false.
trans_trac = .true.
cnvcld = .true.
imfshalcnv = 3
imfdeepcnv = 3
cdmbgwd = 3.5,0.25
prslrd0 = 0.
ivegsrc = 1
isot = 1
debug = .false.
oz_phys = .false.
oz_phys_2015 = .true.
nstf_name = 2,1,1,0,5
cplflx = .false.
iau_delthrs = 6
iaufhrs = 30
iau_inc_files = "''"
do_sppt = .false.
do_shum = .false.
do_skeb = .false.
lsm = 3
lsoil_lsm = 9
kice = 9
iopt_dveg = 2
iopt_crs = 1
iopt_btr = 1
iopt_run = 1
iopt_sfc = 1
iopt_frz = 1
iopt_inf = 1
iopt_rad = 1
iopt_alb = 2
iopt_snf = 4
iopt_tbot = 2
iopt_stc = 1
icloud_bl = 1
bl_mynn_tkeadvect = .true.
bl_mynn_edmf = 1
bl_mynn_edmf_mom = 1
gwd_opt = 1
/

&gfdl_cloud_microphysics_nml
sedi_transport = .true.
do_sedi_heat = .false.
rad_snow = .true.
rad_graupel = .true.
rad_rain = .true.
const_vi = .F.
const_vs = .F.
const_vg = .F.
const_vr = .F.
vi_max = 1.
vs_max = 2.
vg_max = 12.
vr_max = 12.
qi_lim = 1.
prog_ccn = .false.
do_qa = .false.
fast_sat_adj = .false.
tau_l2v = 225.
tau_v2l = 150.
tau_g2v = 900.
rthresh = 10.e-6 ! This is a key parameter for cloud water
dw_land = 0.16
dw_ocean = 0.10
ql_gen = 1.0e-3
ql_mlt = 1.0e-3
qi0_crt = 8.0E-5
qs0_crt = 1.0e-3
tau_i2s = 1000.
c_psaci = 0.05
c_pgacs = 0.01
rh_inc = 0.30
rh_inr = 0.30
rh_ins = 0.30
ccn_l = 300.
ccn_o = 100.
c_paut = 0.5
c_cracw = 0.8
use_ppm = .false.
use_ccn = .true.
mono_prof = .true.
z_slope_liq = .true.
z_slope_ice = .true.
de_ice = .false.
fix_negative = .true.
icloud_f = 1
mp_time = 150.
/

&cires_ugwp_nml
knob_ugwp_solver = 2
knob_ugwp_source = 1,1,0,0
knob_ugwp_wvspec = 1,25,25,25
knob_ugwp_azdir = 2,4,4,4
knob_ugwp_stoch = 0,0,0,0
knob_ugwp_effac = 1,1,1,1
knob_ugwp_doaxyz = 1
knob_ugwp_doheat = 1
knob_ugwp_dokdis = 1
knob_ugwp_ndx4lh = 1
knob_ugwp_version = 0
launch_level = 25
/
Loading

0 comments on commit 9b73f41

Please sign in to comment.