diff --git a/.gitmodules b/.gitmodules
index 22c723ac1..c20f73895 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -8,8 +8,10 @@
branch = main
[submodule "ccpp/physics"]
path = ccpp/physics
- url = https://github.com/ufs-community/ccpp-physics
- branch = ufs/dev
+ #url = https://github.com/ufs-community/ccpp-physics
+ #branch = ufs/dev
+ url = https://github.com/grantfirl/ccpp-physics
+ branch = rrfsv1-to-ufs/dev9
[submodule "upp"]
path = upp
url = https://github.com/NOAA-EMC/UPP
diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90
index f904b2f24..48e1ac33e 100644
--- a/ccpp/data/GFS_typedefs.F90
+++ b/ccpp/data/GFS_typedefs.F90
@@ -1221,6 +1221,7 @@ module GFS_typedefs
integer :: ichoice = 0 !< flag for closure of C3/GF deep convection
integer :: ichoicem = 13!< flag for closure of C3/GF mid convection
integer :: ichoice_s = 3 !< flag for closure of C3/GF shallow convection
+ logical :: gf_coldstart !< flag for cold start GF
integer :: nmtvr !< number of topographic variables such as variance etc
!< used in the GWD parameterization - 10 more added if
@@ -3976,6 +3977,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
integer :: ichoice = 0 !< flag for closure of C3/GF deep convection
integer :: ichoicem = 13!< flag for closure of C3/GF mid convection
integer :: ichoice_s = 3 !< flag for closure of C3/GF shallow convection
+ logical :: gf_coldstart = .false. !< flag for cold start GF
!-- chem nml variables for RRFS-SD
real(kind=kind_phys) :: dust_drylimit_factor = 1.0
@@ -4188,7 +4190,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
addsmoke_flag, enh_mix, mix_chem, smoke_dir_fdb_coef, &
do_smoke_transport,smoke_conv_wet_coef,n_dbg_lines, &
!--- C3/GF closures
- ichoice,ichoicem,ichoice_s, &
+ ichoice,ichoicem,ichoice_s,gf_coldstart, &
!--- (DFI) time ranges with radar-prescribed microphysics tendencies
! and (maybe) convection suppression
fh_dfi_radar, radar_tten_limits, do_cap_suppress, &
@@ -4460,6 +4462,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%ichoice_s = ichoice_s
Model%ichoicem = ichoicem
Model%ichoice = ichoice
+ Model%gf_coldstart = gf_coldstart
!--- integrated dynamics through earth's atmosphere
Model%lsidea = lsidea
@@ -6571,6 +6574,7 @@ subroutine control_print(Model)
print*,'ichoice_s : ', Model%ichoice_s
print*,'ichoicem : ', Model%ichoicem
print*,'ichoice : ', Model%ichoice
+ print*,'gf_coldstart : ', Model%gf_coldstart
endif
if(model%rrfs_sd) then
print *, ' '
diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta
index 567d0e37e..4f1fa0800 100644
--- a/ccpp/data/GFS_typedefs.meta
+++ b/ccpp/data/GFS_typedefs.meta
@@ -5602,6 +5602,12 @@
units = flag
dimensions = ()
type = integer
+[gf_coldstart]
+ standard_name = flag_for_cold_start_gf
+ long_name = flag to cold start G-F
+ units = flag
+ dimensions = ()
+ type = logical
[hwrf_samfdeep]
standard_name = flag_for_hurricane_specific_code_in_scale_aware_mass_flux_deep_convection
long_name = flag for hwrf samfdeepcnv scheme
diff --git a/ccpp/physics b/ccpp/physics
index 6e0467ad0..a1d1d2329 160000
--- a/ccpp/physics
+++ b/ccpp/physics
@@ -1 +1 @@
-Subproject commit 6e0467ad07a2231d298dc3be91a923c934354a7f
+Subproject commit a1d1d23295692e3095853d05a58fd9e367bbc7f4
diff --git a/ccpp/suites/suite_RRFS_sas.xml b/ccpp/suites/suite_RRFS_sas.xml
new file mode 100644
index 000000000..c570a012a
--- /dev/null
+++ b/ccpp/suites/suite_RRFS_sas.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ GFS_time_vary_pre
+ GFS_rrtmg_setup
+ GFS_rad_time_vary
+ GFS_phys_time_vary
+
+
+
+
+ GFS_suite_interstitial_rad_reset
+ sgscloud_radpre
+ GFS_rrtmg_pre
+ GFS_radiation_surface
+ rad_sw_pre
+ rrtmg_sw
+ rrtmg_sw_post
+ rrtmg_lw
+ sgscloud_radpost
+ 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
+
+
+
+ mynnsfc_wrapper
+ GFS_surface_loop_control_part1
+ lsm_ruc
+ clm_lake
+ GFS_surface_loop_control_part2
+
+
+
+ GFS_surface_composites_post
+ sfc_diag
+ sfc_diag_post
+ GFS_surface_generic_post
+ rrfs_smoke_wrapper
+ mynnedmf_wrapper
+ rrfs_smoke_postpbl
+ GFS_GWD_generic_pre
+ drag_suite
+ 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_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
+
+
+
+
+ GFS_stochastics
+
+
+
+
diff --git a/ccpp/suites/suite_RRFS_sas_nogwd.xml b/ccpp/suites/suite_RRFS_sas_nogwd.xml
new file mode 100644
index 000000000..fc34c57e0
--- /dev/null
+++ b/ccpp/suites/suite_RRFS_sas_nogwd.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+ GFS_time_vary_pre
+ GFS_rrtmg_setup
+ GFS_rad_time_vary
+ GFS_phys_time_vary
+
+
+
+
+ GFS_suite_interstitial_rad_reset
+ sgscloud_radpre
+ GFS_rrtmg_pre
+ GFS_radiation_surface
+ rad_sw_pre
+ rrtmg_sw
+ rrtmg_sw_post
+ rrtmg_lw
+ sgscloud_radpost
+ 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
+
+
+
+ mynnsfc_wrapper
+ GFS_surface_loop_control_part1
+ lsm_ruc
+ clm_lake
+ GFS_surface_loop_control_part2
+
+
+
+ GFS_surface_composites_post
+ sfc_diag
+ sfc_diag_post
+ GFS_surface_generic_post
+ rrfs_smoke_wrapper
+ mynnedmf_wrapper
+ rrfs_smoke_postpbl
+ GFS_suite_stateout_update
+ h2ophys
+ get_phi_fv3
+ GFS_suite_interstitial_3
+ GFS_DCNV_generic_pre
+ samfdeepcnv
+ GFS_DCNV_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
+
+
+
+
+ GFS_stochastics
+
+
+
+