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 RRFS_v1 suite #467

Merged
merged 1 commit into from
May 21, 2024
Merged
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
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
Loading