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

Add support for NSSL cloud microphysics scheme (CCPP) #277

Merged
merged 38 commits into from
Mar 14, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
7f849b2
erm: modules point to fork
MicroTed May 30, 2020
531b977
Merge branch 'master' of https://github.com/NCAR/gmtb-scm
MicroTed Sep 7, 2020
94d3dc1
Merge branch 'NCAR:main' into master
MicroTed Oct 1, 2021
1811351
Changed 'init' date info netcdf variables to integer to match variabl…
MicroTed Oct 15, 2021
f6b6d2f
Added support for NSSL microphysics scheme (CCPP) and its variables. …
MicroTed Oct 15, 2021
9afe983
Support files (namelists, tracer config, suites) for NSSL microphysic…
MicroTed Oct 15, 2021
bc15d91
Update prebuild to include NSSL microphysics in CCPP
MicroTed Oct 15, 2021
14ce381
Removed optional args for mp_nssl in ccpp_prebuild
MicroTed Nov 10, 2021
940bb48
Merge branch 'NCAR:main' into main
MicroTed Dec 8, 2021
5724c4e
Merge branch 'NCAR:main' into main
MicroTed Jan 13, 2022
793538d
Changed 'init' date info netcdf variables to integer to match variabl…
MicroTed Oct 15, 2021
e02b416
Added support for NSSL microphysics scheme (CCPP) and its variables. …
MicroTed Oct 15, 2021
6dcc8aa
Support files (namelists, tracer config, suites) for NSSL microphysic…
MicroTed Oct 15, 2021
32688fe
Update prebuild to include NSSL microphysics in CCPP
MicroTed Oct 15, 2021
4ad8df6
Removed optional args for mp_nssl in ccpp_prebuild
MicroTed Nov 10, 2021
6038562
CCPP compatibility updates
MicroTed Jan 13, 2022
46c77a3
Added support for NSSL microphysics scheme (CCPP) and its variables. …
MicroTed Oct 15, 2021
d9f41aa
Removed optional args for mp_nssl in ccpp_prebuild
MicroTed Nov 10, 2021
21781ee
Rebase to 28 Dec. 2021
MicroTed Jan 15, 2022
ce1ed0a
Merge branch 'feature/nssl_micro' of https://github.com/MicroTed/gmtb…
MicroTed Jan 15, 2022
fc54a2c
Actually save file change
MicroTed Jan 15, 2022
ef5edc2
Merge branch 'NCAR:main' into main
MicroTed Jan 26, 2022
e1a7f62
Merge remote-tracking branch 'origin/main' into feature/nssl_micro
MicroTed Jan 27, 2022
884578a
Set CCPP url in .gitmodules
MicroTed Jan 29, 2022
080999e
Set framework point
MicroTed Jan 29, 2022
fb66191
Set physics point
MicroTed Jan 29, 2022
2a34274
Added setting for nssl_cccn in namelist
MicroTed Jan 30, 2022
fd1c21b
Add suite file for ARM-SGP case for SCM_GSD_v1nssl suite
MicroTed Jan 30, 2022
12f6399
Although hail is not physically needed for SCM tests, this changes t…
MicroTed Feb 1, 2022
a265e9c
fix metadata bug in GFS_typedefs.meta, point ccpp-physics to NCAR/mai…
grantfirl Feb 1, 2022
335bce5
Merge branch 'feature/nssl_micro' into feature/nssl_micro_gjf
grantfirl Feb 1, 2022
ba38c72
Merge pull request #1 from grantfirl/feature/nssl_micro_gjf
MicroTed Feb 2, 2022
01ca928
change units for a few flags
grantfirl Feb 15, 2022
a4a8861
Merge pull request #2 from grantfirl/feature/nssl_micro_gjf
MicroTed Feb 15, 2022
ba60511
update ccpp-physics/framework submodule pointers
grantfirl Mar 11, 2022
158f28a
Merge branch 'main' into feature/nssl_micro_gjf
grantfirl Mar 11, 2022
cc08f0a
update GFS_typedefs for SPP PR (latest main)
grantfirl Mar 11, 2022
7647c0f
Merge pull request #3 from grantfirl/feature/nssl_micro_gjf
MicroTed Mar 12, 2022
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
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