Skip to content

Commit

Permalink
add SCM_RRFS_v1 SDF, nml, tracer file; update suite_info; update scm_…
Browse files Browse the repository at this point in the history
…type_defs to recgonize new tracers
  • Loading branch information
grantfirl committed May 2, 2024
1 parent bd3128c commit 7ad487a
Show file tree
Hide file tree
Showing 6 changed files with 310 additions and 0 deletions.
145 changes: 145 additions & 0 deletions ccpp/physics_namelists/input_RRFS_v1.nml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
&gfs_physics_nml
addsmoke_flag = 1
aero_dir_fdb = .true.
aero_ind_fdb = .false.
bl_mynn_edmf = 1
bl_mynn_edmf_mom = 1
bl_mynn_tkeadvect = .true.
cal_pre = .false.
cdmbgwd = 3.5, 1.0
clm_debug_print = .false.
clm_lake_debug = .false.
cnvcld = .false.
cnvgwd = .false.
coarsepm_settling = 1
cplflx = .false.
diag_log = .true.
debug = .false.
do_deep = .true.
do_gsl_drag_ls_bl = .true.
do_gsl_drag_ss = .true.
do_gsl_drag_tofd = .true.
do_mynnedmf = .true.
do_mynnsfclay = .true.
do_plumerise = .true.
do_smoke_transport = .true.
do_tofd = .false.
do_ugwp = .false.
do_ugwp_v0 = .false.
do_ugwp_v0_nst_only = .false.
do_ugwp_v0_orog_only = .false.
drydep_opt = 1
dspheat = .true.
dt_inner = 36
dust_alpha = 10.0
dust_drylimit_factor = 0.5
dust_gamma = 1.3
dust_moist_correction = 2.0
dust_opt = 1
ebb_dcycle = 2
effr_in = .true.
enh_mix = .false.
fhcyc = 0
fhlwr = 900.0
fhswr = 900.0
fhzero = 1.0
frac_ice = .true.
gwd_opt = 3
h2o_phys = .true.
hybedmf = .false.
iaer = 1011
ialb = 2
iau_delthrs = 6
iau_inc_files = ''
iaufhrs = 30
iccn = 2
icliq_sw = 2
icloud_bl = 1
ico2 = 2
iems = 2
imfdeepcnv = 3
imfshalcnv = -1
imp_physics = 8
iopt_alb = 2
iopt_btr = 1
iopt_crs = 1
iopt_dveg = 2
iopt_frz = 1
iopt_inf = 1
iopt_lake = 2
iopt_rad = 1
iopt_run = 1
iopt_sfc = 1
iopt_snf = 4
iopt_stc = 1
iopt_tbot = 2
iovr = 3
isncond_opt = 2
isncovr_opt = 3
isol = 2
isot = 1
isubc_lw = 2
isubc_sw = 2
ivegsrc = 1
kice = 9
ldiag3d = .true.
ldiag_ugwp = .false.
lgfdlmprad = .false.
lheatstrg = .false.
lightning_threat = .true.
lkm = 1
lradar = .true.
lrefres = .true.
lsm = 3
lsoil = 9
lsoil_lsm = 9
ltaerosol = .true.
lwhtr = .true.
min_lakeice = 0.15
min_seaice = 0.15
mix_chem = .true.
mosaic_lu = 1
mosaic_soil = 1
nsfullradar_diag = 3600
oz_phys = .false.
oz_phys_2015 = .true.
pdfcld = .false.
plume_wind_eff = 1
plumerisefire_frq = 60
pre_rad = .false.
print_diff_pgr = .true.
prslrd0 = 0.0
qdiag3d = .true.
random_clds = .false.
redrag = .true.
rrfs_sd = .true.
rrfs_smoke_debug = .false.
satmedmf = .false.
seas_opt = 0
sfclay_compute_flux = .true.
shal_cnv = .false.
smoke_conv_wet_coef = 0.5, 0.5, 0.5
smoke_forecast = 1
swhtr = .true.
thsfc_loc = .false.
trans_trac = .true.
ttendlim = -999
use_ufo = .true.
wetdep_ls_alpha = 0.5
wetdep_ls_opt = 1
/

&cires_ugwp_nml
knob_ugwp_azdir = 2, 4, 4, 4
knob_ugwp_doaxyz = 1
knob_ugwp_doheat = 1
knob_ugwp_dokdis = 1
knob_ugwp_effac = 1, 1, 1, 1
knob_ugwp_ndx4lh = 1
knob_ugwp_solver = 2
knob_ugwp_source = 1, 1, 0, 0
knob_ugwp_stoch = 0, 0, 0, 0
knob_ugwp_version = 0
knob_ugwp_wvspec = 1, 25, 25, 25
launch_level = 25
/
79 changes: 79 additions & 0 deletions ccpp/suites/suite_SCM_RRFS_v1.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>

<suite name="SCM_RRFS_v1" version="1">
<group name="time_vary">
<subcycle loop="1">
<scheme>GFS_time_vary_pre</scheme>
<scheme>GFS_rrtmg_setup</scheme>
<scheme>GFS_rad_time_vary</scheme>
<scheme>GFS_phys_time_vary</scheme>
</subcycle>
</group>
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>GFS_radiation_surface</scheme>
<scheme>rad_sw_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>sgscloud_radpost</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
</group>
<group name="physics">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_phys_reset</scheme>
<scheme>GFS_suite_stateout_reset</scheme>
<scheme>get_prs_fv3</scheme>
<scheme>GFS_suite_interstitial_1</scheme>
<scheme>GFS_surface_generic_pre</scheme>
<scheme>GFS_surface_composites_pre</scheme>
<scheme>dcyc2t3</scheme>
<scheme>GFS_surface_composites_inter</scheme>
<scheme>GFS_suite_interstitial_2</scheme>
</subcycle>
<!-- Surface iteration loop -->
<subcycle loop="2">
<scheme>mynnsfc_wrapper</scheme>
<scheme>GFS_surface_loop_control_part1</scheme>
<scheme>lsm_ruc</scheme>
<scheme>clm_lake</scheme>
<scheme>GFS_surface_loop_control_part2</scheme>
</subcycle>
<!-- End of surface iteration loop -->
<subcycle loop="1">
<scheme>GFS_surface_composites_post</scheme>
<scheme>sfc_diag</scheme>
<scheme>sfc_diag_post</scheme>
<scheme>GFS_surface_generic_post</scheme>
<scheme>rrfs_smoke_wrapper</scheme>
<scheme>mynnedmf_wrapper</scheme>
<scheme>rrfs_smoke_postpbl</scheme>
<scheme>GFS_GWD_generic_pre</scheme>
<scheme>drag_suite</scheme>
<scheme>GFS_GWD_generic_post</scheme>
<scheme>GFS_suite_stateout_update</scheme>
<scheme>h2ophys</scheme>
<scheme>get_phi_fv3</scheme>
<scheme>GFS_suite_interstitial_3</scheme>
<scheme>GFS_DCNV_generic_pre</scheme>
<scheme>cu_gf_driver_pre</scheme>
<scheme>cu_gf_driver</scheme>
<scheme>GFS_DCNV_generic_post</scheme>
<scheme>GFS_suite_interstitial_4</scheme>
<scheme>cnvc90</scheme>
<scheme>GFS_MP_generic_pre</scheme>
<scheme>mp_thompson_pre</scheme>
<scheme>mp_thompson</scheme>
<scheme>mp_thompson_post</scheme>
<scheme>GFS_MP_generic_post</scheme>
<scheme>cu_gf_driver_post</scheme>
<scheme>maximum_hourly_diagnostics</scheme>
<scheme>GFS_physics_post</scheme>
</subcycle>
</group>
</suite>
63 changes: 63 additions & 0 deletions ccpp/suites/suite_SCM_RRFS_v1_ps.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>

<suite name="SCM_RRFS_v1_ps" version="1">
<group name="time_vary">
<subcycle loop="1">
<scheme>GFS_time_vary_pre</scheme>
<scheme>GFS_rrtmg_setup</scheme>
<scheme>GFS_rad_time_vary</scheme>
<scheme>GFS_phys_time_vary</scheme>
</subcycle>
</group>
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>GFS_radiation_surface</scheme>
<scheme>rad_sw_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>sgscloud_radpost</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
</group>
<group name="physics">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_phys_reset</scheme>
<scheme>GFS_suite_stateout_reset</scheme>
<scheme>get_prs_fv3</scheme>
<scheme>GFS_suite_interstitial_1</scheme>
<scheme>GFS_surface_generic_pre</scheme>
<scheme>scm_sfc_flux_spec</scheme>
<scheme>dcyc2t3</scheme>
<scheme>GFS_suite_interstitial_2</scheme>
<scheme>rrfs_smoke_wrapper</scheme>
<scheme>mynnedmf_wrapper</scheme>
<scheme>rrfs_smoke_postpbl</scheme>
<scheme>GFS_GWD_generic_pre</scheme>
<scheme>drag_suite</scheme>
<scheme>GFS_GWD_generic_post</scheme>
<scheme>GFS_suite_stateout_update</scheme>
<scheme>h2ophys</scheme>
<scheme>get_phi_fv3</scheme>
<scheme>GFS_suite_interstitial_3</scheme>
<scheme>GFS_DCNV_generic_pre</scheme>
<scheme>cu_gf_driver_pre</scheme>
<scheme>cu_gf_driver</scheme>
<scheme>GFS_DCNV_generic_post</scheme>
<scheme>GFS_suite_interstitial_4</scheme>
<scheme>cnvc90</scheme>
<scheme>GFS_MP_generic_pre</scheme>
<scheme>mp_thompson_pre</scheme>
<scheme>mp_thompson</scheme>
<scheme>mp_thompson_post</scheme>
<scheme>GFS_MP_generic_post</scheme>
<scheme>cu_gf_driver_post</scheme>
<scheme>maximum_hourly_diagnostics</scheme>
<scheme>GFS_physics_post</scheme>
</subcycle>
</group>
</suite>
16 changes: 16 additions & 0 deletions scm/etc/tracer_config/tracers_RRFS_v1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
"sphum","water_vapor_specific_humidity","kg kg-1"
"liq_wat","cloud_condensed_water_mixing_ratio","kg kg-1"
"ice_wat","ice_water_mixing_ratio","kg kg-1"
"rainwat","rain_water_mixing_ratio","kg kg-1"
"snowwat","snow_water_mixing_ratio","kg kg-1"
"graupel","graupel_mixing_ratio","kg kg-1"
"water_nc","cloud_droplet_number_concentration","kg-1"
"ice_nc","ice_number_concentration","kg-1"
"rain_nc","rain_number_concentration","kg-1"
"o3mr","ozone_mixing_ratio","kg kg-1"
"liq_aero","water_friendly_aerosol_number_concentration","kg-1"
"ice_aero","ice_friendly_aerosol_number_concentration","kg-1"
"sgs_tke","turbulent_kinetic_energy","m2 s-2"
"smoke","smoke_tracer_concentration","ug kg-1"
"dust","dust_tracer_concentration","ug kg-1"
"coarsepm","coarse_particulate_matter","ug kg-1"
6 changes: 6 additions & 0 deletions scm/src/scm_type_defs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ module scm_type_defs
integer :: water_friendly_aerosol_index !< index for water-friendly aerosols in the tracer array
integer :: ice_friendly_aerosol_index !< index for ice-friendly aerosols in the tracer array
integer :: mass_weighted_rime_factor_index !< index for mass-weighted rime factor
integer :: smoke_index !< index for smoke in the tracer array
integer :: dust_index !< index for dust in the tracer array
integer :: coarsepm_index !< index for coarsepm in the tracer array
integer :: init_year, init_month, init_day, init_hour, init_min
character(len=32), allocatable :: tracer_names(:) !<
integer, allocatable :: tracer_types(:) !<
Expand Down Expand Up @@ -489,6 +492,9 @@ subroutine scm_state_create(scm_state, n_columns, n_levels, n_soil, n_snow, n_ti
scm_state%water_friendly_aerosol_index = get_tracer_index(scm_state%tracer_names,"liq_aero")
scm_state%ice_friendly_aerosol_index = get_tracer_index(scm_state%tracer_names,"ice_aero")
scm_state%mass_weighted_rime_factor_index = get_tracer_index(scm_state%tracer_names,"q_rimef")
scm_state%smoke_index = get_tracer_index(scm_state%tracer_names,"smoke")
scm_state%dust_index = get_tracer_index(scm_state%tracer_names,"dust")
scm_state%coarsepm_index = get_tracer_index(scm_state%tracer_names,"coarsepm")

scm_state%nwat = 0
if(scm_state%water_vapor_index /= -99) then
Expand Down
1 change: 1 addition & 0 deletions scm/src/suite_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ def timestep(self, value):
suite_list.append(suite('SCM_GFS_v17_p8', 'tracers_GFS_v17_p8.txt', 'input_GFS_v17_p8.nml', 600.0, 600.0, True ))
suite_list.append(suite('SCM_GFS_v17_HR3', 'tracers_GFS_v17_p8.txt', 'input_GFS_v17_HR3.nml', 600.0, 600.0, True ))
suite_list.append(suite('SCM_RAP', 'tracers_RAP.txt', 'input_RAP.nml', 600.0, 600.0 , True ))
suite_list.append(suite('SCM_RRFS_v1', 'tracers_RRFS_v1.txt', 'input_RRFS_v1.nml', 600.0, 600.0 , True ))
suite_list.append(suite('SCM_RRFS_v1beta', 'tracers_RRFS_v1beta.txt', 'input_RRFS_v1beta.nml', 600.0, 600.0 , True ))
suite_list.append(suite('SCM_WoFS_v0', 'tracers_WoFS_v0.txt', 'input_WoFS_v0.nml', 600.0, 600.0 , True ))
suite_list.append(suite('SCM_HRRR', 'tracers_HRRR.txt', 'input_HRRR.nml', 600.0, 600.0 , True ))
Expand Down

0 comments on commit 7ad487a

Please sign in to comment.