diff --git a/ccpp/physics_namelists/input_GFS_v17_H3.nml b/ccpp/physics_namelists/input_GFS_v17_H3.nml
new file mode 100644
index 000000000..10d60a77e
--- /dev/null
+++ b/ccpp/physics_namelists/input_GFS_v17_H3.nml
@@ -0,0 +1,171 @@
+&gfs_physics_nml
+ fhzero = 6
+ h2o_phys = .true.
+ ldiag3d = .true.
+ qdiag3d = .true.
+ print_diff_pgr = .false.
+ fhcyc = 24
+ use_ufo = .true.
+ pre_rad = .false.
+ imp_physics = 8
+ iovr = 3
+ ltaerosol = .false.
+ lradar = .true.
+ ttendlim = -999
+ dt_inner = 225.0
+ sedi_semi = .true.
+ decfl = 10
+ oz_phys = .false.
+ oz_phys_2015 = .true.
+ lsoil_lsm = 4
+ do_mynnedmf = .false.
+ do_mynnsfclay = .false.
+ icloud_bl = 1
+ bl_mynn_edmf = 1
+ bl_mynn_tkeadvect = .true.
+ bl_mynn_edmf_mom = 1
+ do_ugwp = .false.
+ do_tofd = .false.
+ gwd_opt = 2
+ do_ugwp_v0 = .false.
+ do_ugwp_v1 = .true.
+ do_ugwp_v0_orog_only = .false.
+ do_ugwp_v0_nst_only = .false.
+ do_gsl_drag_ls_bl = .true.
+ do_gsl_drag_ss = .true.
+ do_gsl_drag_tofd = .true.
+ do_ugwp_v1_orog_only = .false.
+ min_lakeice = 0.15
+ min_seaice = 0.15
+ use_cice_alb = .false.
+ pdfcld = .false.
+ fhswr = 1200.
+ fhlwr = 1200.
+ ialb = 1
+ iems = 1
+ iaer = 5111
+ icliq_sw = 2
+ 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 = .true.
+ isatmedmf = 1
+ lheatstrg = .true.
+ lseaspray = .true.
+ random_clds = .false.
+ trans_trac = .true.
+ cnvcld = .true.
+ imfshalcnv = 2
+ imfdeepcnv = 2
+ ras = .false.
+ cdmbgwd = 10.0,3.5,1.0,1.0
+ prslrd0 = 0.
+ ivegsrc = 1
+ isot = 1
+ lsoil = 4
+ lsm = 2
+ iopt_dveg = 4
+ iopt_crs = 2
+ iopt_btr = 1
+ iopt_run = 1
+ iopt_sfc = 3
+ iopt_trs = 2
+ iopt_frz = 1
+ iopt_inf = 1
+ iopt_rad = 3
+ iopt_alb = 1
+ iopt_snf = 4
+ iopt_tbot = 2
+ iopt_stc = 3
+ debug = .false.
+ nstf_name = 2,1,0,0,0
+ nst_anl = .true.
+ psautco = 0.0008,0.0005
+ prautco = 0.00015,0.00015
+ lgfdlmprad = .false.
+ effr_in = .true.
+ ldiag_ugwp = .false.
+ fscav_aero = "'*:0.0'"
+ do_sppt = .false.
+ do_shum = .false.
+ do_skeb = .false.
+ do_RRTMGP = .false.
+ doGP_cldoptics_LUT = .true.
+ doGP_lwscat = .true.
+ active_gases = 'h2o_co2_o3_n2o_ch4_o2'
+ ngases = 6
+ rrtmgp_root = '../../ccpp/physics/physics/rte-rrtmgp/'
+ lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc'
+ lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
+ sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc'
+ sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-sw.nc'
+ rrtmgp_nGptsSW = 112
+ rrtmgp_nGptsLW = 128
+ rrtmgp_nBandsLW = 16
+ rrtmgp_nBandsSW = 14
+ frac_grid = .true.
+ cplchm = .false.
+ cplflx = .false.
+ cplice = .false.
+ cplwav = .false.
+ cplwav2atm = .false.
+ do_ca = .false.
+ ca_global = .false.
+ ca_sgs = .false.
+ nca = 1
+ ncells = 5
+ nlives = 12
+ nseed = 1
+ nfracseed = 0.5
+ nthresh = 18
+ ca_trigger = .true.
+ nspinup = 1
+ iseed_ca = 12345
+ lndp_type = 0
+ n_var_lndp = 0
+ do_ccpp_suite_sim = .false.
+/
+
+&cires_ugwp_nml
+ knob_ugwp_solver = 2
+ knob_ugwp_version = 1
+ 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 = 2
+ knob_ugwp_ndx4lh = 4
+ knob_ugwp_palaunch = 275.0e2
+ knob_ugwp_nslope = 0
+ knob_ugwp_lzmax = 15.750e3
+ knob_ugwp_lzmin = 0.75e3
+ knob_ugwp_lzstar = 2.0e3
+ knob_ugwp_taumin = 0.25e-3
+ knob_ugwp_tauamp = 1.5e-3
+ knob_ugwp_lhmet = 200.0e3
+ knob_ugwp_orosolv = 'pss-1986'
+/
+
+&ccpp_suite_sim_nml
+ suite_sim_file = ''
+ nprc_sim = 7
+ prc_LWRAD_cfg = 0, 0, 1
+ prc_SWRAD_cfg = 0, 0, 2
+ prc_PBL_cfg = 1, 0, 3
+ prc_GWD_cfg = 1, 0, 4
+ prc_SCNV_cfg = 1, 1, 5
+ prc_DCNV_cfg = 1, 1, 6
+ prc_cldMP_cfg = 1, 1, 7
+/
diff --git a/ccpp/suites/suite_SCM_GFS_v17_HR3.xml b/ccpp/suites/suite_SCM_GFS_v17_HR3.xml
new file mode 100644
index 000000000..92effe13c
--- /dev/null
+++ b/ccpp/suites/suite_SCM_GFS_v17_HR3.xml
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+ GFS_time_vary_pre
+ GFS_rrtmg_setup
+ GFS_rad_time_vary
+ GFS_phys_time_vary
+
+
+
+
+ GFS_suite_interstitial_rad_reset
+ GFS_rrtmg_pre
+ GFS_radiation_surface
+ rad_sw_pre
+ rrtmg_sw
+ rrtmg_sw_post
+ rrtmg_lw
+ rrtmg_lw_post
+ GFS_rrtmg_post
+
+
+
+
+ GFS_suite_interstitial_phys_reset
+ GFS_suite_stateout_reset
+ get_prs_fv3
+ GFS_suite_interstitial_1
+ GFS_surface_generic_pre
+ GFS_surface_composites_pre
+ dcyc2t3
+ GFS_surface_composites_inter
+ GFS_suite_interstitial_2
+
+
+
+ sfc_diff
+ GFS_surface_loop_control_part1
+ sfc_nst_pre
+ sfc_nst
+ sfc_nst_post
+ noahmpdrv
+ sfc_sice
+ GFS_surface_loop_control_part2
+
+
+
+ GFS_surface_composites_post
+ sfc_diag
+ sfc_diag_post
+ GFS_surface_generic_post
+ GFS_PBL_generic_pre
+ satmedmfvdifq
+ GFS_PBL_generic_post
+ GFS_GWD_generic_pre
+ ugwpv1_gsldrag
+ ugwpv1_gsldrag_post
+ GFS_GWD_generic_post
+ GFS_suite_stateout_update
+ h2ophys
+ get_phi_fv3
+ GFS_suite_interstitial_3
+ GFS_DCNV_generic_pre
+ samfdeepcnv
+ GFS_DCNV_generic_post
+ GFS_SCNV_generic_pre
+ samfshalcnv
+ GFS_SCNV_generic_post
+ GFS_suite_interstitial_4
+ cnvc90
+ GFS_MP_generic_pre
+ mp_thompson_pre
+
+
+ mp_thompson
+
+
+ mp_thompson_post
+ GFS_MP_generic_post
+ maximum_hourly_diagnostics
+ GFS_physics_post
+
+
+
+
diff --git a/ccpp/suites/suite_SCM_GFS_v17_HR3_ps.xml b/ccpp/suites/suite_SCM_GFS_v17_HR3_ps.xml
new file mode 100644
index 000000000..d9e833936
--- /dev/null
+++ b/ccpp/suites/suite_SCM_GFS_v17_HR3_ps.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+ GFS_time_vary_pre
+ GFS_rrtmg_setup
+ GFS_rad_time_vary
+ GFS_phys_time_vary
+
+
+
+
+ GFS_suite_interstitial_rad_reset
+ GFS_rrtmg_pre
+ GFS_radiation_surface
+ rad_sw_pre
+ rrtmg_sw
+ rrtmg_sw_post
+ rrtmg_lw
+ rrtmg_lw_post
+ GFS_rrtmg_post
+
+
+
+
+ GFS_suite_interstitial_phys_reset
+ GFS_suite_stateout_reset
+ get_prs_fv3
+ GFS_suite_interstitial_1
+ GFS_surface_generic_pre
+ scm_sfc_flux_spec
+ dcyc2t3
+ GFS_suite_interstitial_2
+ GFS_PBL_generic_pre
+ satmedmfvdifq
+ GFS_PBL_generic_post
+ GFS_GWD_generic_pre
+ ugwpv1_gsldrag
+ ugwpv1_gsldrag_post
+ GFS_GWD_generic_post
+ GFS_suite_stateout_update
+ h2ophys
+ get_phi_fv3
+ GFS_suite_interstitial_3
+ GFS_DCNV_generic_pre
+ samfdeepcnv
+ GFS_DCNV_generic_post
+ GFS_SCNV_generic_pre
+ samfshalcnv
+ GFS_SCNV_generic_post
+ GFS_suite_interstitial_4
+ cnvc90
+ GFS_MP_generic_pre
+ mp_thompson_pre
+
+
+ mp_thompson
+
+
+ mp_thompson_post
+ GFS_MP_generic_post
+ maximum_hourly_diagnostics
+ GFS_physics_post
+
+
+
+
diff --git a/scm/src/suite_info.py b/scm/src/suite_info.py
index 63d35c97c..f3420cdf5 100755
--- a/scm/src/suite_info.py
+++ b/scm/src/suite_info.py
@@ -44,6 +44,7 @@ def timestep(self, value):
suite_list = []
suite_list.append(suite('SCM_GFS_v16', 'tracers_GFS_v16.txt', 'input_GFS_v16.nml', 600.0, 1800.0, True ))
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_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 ))