diff --git a/.gitmodules b/.gitmodules
index 2fdeca40a..8e4dd18da 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -8,5 +8,5 @@
branch = dtc/develop
[submodule "ccpp/physics"]
path = ccpp/physics
- url = https://github.com/NCAR/ccpp-physics
+ url = https://github.com/dustinswales/ccpp-physics
branch = dtc/develop
diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py
index d30d8d1e7..4e19bf810 100755
--- a/ccpp/config/ccpp_prebuild_config.py
+++ b/ccpp/config/ccpp_prebuild_config.py
@@ -364,6 +364,7 @@
},
'GFS_rrtmgp_sw_post' : {
'GFS_rrtmgp_sw_post_run' : [
+ 'tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky_on_radiation_time_step_and_radiation_levels',
'components_of_surface_downward_shortwave_fluxes',
'sw_fluxes_sfc',
'sw_fluxes_toa',
@@ -377,6 +378,7 @@
},
'GFS_rrtmgp_lw_post' : {
'GFS_rrtmgp_lw_post_run' : [
+ 'tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_time_step_and_radiation_levels',
'lw_fluxes_sfc',
'lw_fluxes_toa',
],
diff --git a/ccpp/suites/suite_FV3_GFS_v15p2_RRTMGP.xml b/ccpp/suites/suite_FV3_GFS_v15p2_RRTMGP.xml
new file mode 100644
index 000000000..db657c786
--- /dev/null
+++ b/ccpp/suites/suite_FV3_GFS_v15p2_RRTMGP.xml
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+ fv_sat_adj
+
+
+
+
+ GFS_time_vary_pre
+ GFS_rrtmgp_setup
+ GFS_rad_time_vary
+ GFS_phys_time_vary
+
+
+
+
+ GFS_suite_interstitial_rad_reset
+ GFS_rrtmgp_pre
+ GFS_rrtmgp_sw_pre
+ rrtmgp_sw_gas_optics
+ rrtmgp_sw_aerosol_optics
+ rrtmgp_sw_cloud_optics
+ rrtmgp_sw_cloud_sampling
+ rrtmgp_sw_rte
+ GFS_rrtmgp_sw_post
+ rrtmgp_lw_pre
+ rrtmgp_lw_gas_optics
+ rrtmgp_lw_aerosol_optics
+ rrtmgp_lw_cloud_optics
+ rrtmgp_lw_cloud_sampling
+ rrtmgp_lw_rte
+ GFS_rrtmgp_lw_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
+ lsm_noah
+ sfc_sice
+ GFS_surface_loop_control_part2
+
+
+
+ GFS_surface_composites_post
+ sfc_diag
+ sfc_diag_post
+ GFS_surface_generic_post
+ GFS_PBL_generic_pre
+ hedmf
+ GFS_PBL_generic_post
+ GFS_GWD_generic_pre
+ cires_ugwp
+ cires_ugwp_post
+ GFS_GWD_generic_post
+ rayleigh_damp
+ GFS_suite_stateout_update
+ ozphys_2015
+ h2ophys
+ GFS_DCNV_generic_pre
+ get_phi_fv3
+ GFS_suite_interstitial_3
+ samfdeepcnv
+ GFS_DCNV_generic_post
+ GFS_SCNV_generic_pre
+ samfshalcnv
+ GFS_SCNV_generic_post
+ GFS_suite_interstitial_4
+ cnvc90
+ GFS_MP_generic_pre
+ gfdl_cloud_microphys
+ GFS_MP_generic_post
+ maximum_hourly_diagnostics
+
+
+
+
+ GFS_stochastics
+
+
+
+
diff --git a/ccpp/suites/suite_FV3_GFS_v16beta_RRTMGP.xml b/ccpp/suites/suite_FV3_GFS_v16beta_RRTMGP.xml
new file mode 100644
index 000000000..88e36f5fa
--- /dev/null
+++ b/ccpp/suites/suite_FV3_GFS_v16beta_RRTMGP.xml
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+ fv_sat_adj
+
+
+
+
+ GFS_time_vary_pre
+ GFS_rrtmgp_setup
+ GFS_rad_time_vary
+ GFS_phys_time_vary
+
+
+
+
+ GFS_suite_interstitial_rad_reset
+ GFS_rrtmgp_pre
+ GFS_rrtmgp_sw_pre
+ rrtmgp_sw_gas_optics
+ rrtmgp_sw_aerosol_optics
+ rrtmgp_sw_cloud_optics
+ rrtmgp_sw_cloud_sampling
+ rrtmgp_sw_rte
+ GFS_rrtmgp_sw_post
+ rrtmgp_lw_pre
+ rrtmgp_lw_gas_optics
+ rrtmgp_lw_aerosol_optics
+ rrtmgp_lw_cloud_optics
+ rrtmgp_lw_cloud_sampling
+ rrtmgp_lw_rte
+ GFS_rrtmgp_lw_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
+ lsm_noah
+ 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
+ cires_ugwp
+ cires_ugwp_post
+ GFS_GWD_generic_post
+ rayleigh_damp
+ GFS_suite_stateout_update
+ ozphys_2015
+ h2ophys
+ GFS_DCNV_generic_pre
+ get_phi_fv3
+ GFS_suite_interstitial_3
+ samfdeepcnv
+ GFS_DCNV_generic_post
+ GFS_SCNV_generic_pre
+ samfshalcnv
+ GFS_SCNV_generic_post
+ GFS_suite_interstitial_4
+ cnvc90
+ GFS_MP_generic_pre
+ gfdl_cloud_microphys
+ GFS_MP_generic_post
+ maximum_hourly_diagnostics
+
+
+
+
+ GFS_stochastics
+
+
+
+
diff --git a/gfsphysics/GFS_layer/GFS_typedefs.F90 b/gfsphysics/GFS_layer/GFS_typedefs.F90
index 74598d522..fa8be67ae 100644
--- a/gfsphysics/GFS_layer/GFS_typedefs.F90
+++ b/gfsphysics/GFS_layer/GFS_typedefs.F90
@@ -1941,12 +1941,6 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: cld_resnow(:,:) => null() !< Cloud snow effective radius
real (kind=kind_phys), pointer :: cld_rwp(:,:) => null() !< Cloud rain water path
real (kind=kind_phys), pointer :: cld_rerain(:,:) => null() !< Cloud rain effective radius
- real (kind=kind_phys), pointer :: hsw0(:,:) => null() !< RRTMGP shortwave heating-rate (clear-sky)
- real (kind=kind_phys), pointer :: hswc(:,:) => null() !< RRTMGP shortwave heating-rate (all-sky)
- real (kind=kind_phys), pointer :: hswb(:,:,:) => null() !< RRTMGP shortwave heating-rate (all-sky), by band
- real (kind=kind_phys), pointer :: hlw0(:,:) => null() !< RRTMGP longwave heating-rate (clear-sky)
- real (kind=kind_phys), pointer :: hlwc(:,:) => null() !< RRTMGP longwave heating-rate (all-sky)
- real (kind=kind_phys), pointer :: hlwb(:,:,:) => null() !< RRTMGP longwave heating-rate (all-sky), by band
real (kind=kind_phys), pointer :: fluxlwUP_allsky(:,:) => null() !< RRTMGP upward longwave all-sky flux profile
real (kind=kind_phys), pointer :: fluxlwDOWN_allsky(:,:) => null() !< RRTMGP downward longwave all-sky flux profile
real (kind=kind_phys), pointer :: fluxlwUP_clrsky(:,:) => null() !< RRTMGP upward longwave clr-sky flux profile
@@ -6116,12 +6110,6 @@ subroutine interstitial_create (Interstitial, IM, Model)
allocate (Interstitial%cld_resnow (IM, Model%levs))
allocate (Interstitial%cld_rwp (IM, Model%levs))
allocate (Interstitial%cld_rerain (IM, Model%levs))
- allocate (Interstitial%hsw0 (IM, Model%levs))
- allocate (Interstitial%hswc (IM, Model%levs))
- allocate (Interstitial%hswb (IM, Model%levs, Model%rrtmgp_nGptsSW))
- allocate (Interstitial%hlw0 (IM, Model%levs))
- allocate (Interstitial%hlwc (IM, Model%levs))
- allocate (Interstitial%hlwb (IM, Model%levs, Model%rrtmgp_nGptsLW))
allocate (Interstitial%icseed_lw (IM))
allocate (Interstitial%icseed_sw (IM))
allocate (Interstitial%flxprf_lw (IM, Model%levs+1))
@@ -6484,12 +6472,6 @@ subroutine interstitial_rad_reset (Interstitial, Model)
Interstitial%cld_resnow = clear_val
Interstitial%cld_rwp = clear_val
Interstitial%cld_rerain = clear_val
- Interstitial%hsw0 = clear_val
- Interstitial%hswc = clear_val
- Interstitial%hswb = clear_val
- Interstitial%hlw0 = clear_val
- Interstitial%hlwc = clear_val
- Interstitial%hlwb = clear_val
Interstitial%icseed_lw = clear_val
Interstitial%icseed_sw = clear_val
Interstitial%sfc_emiss_byband = clear_val
diff --git a/gfsphysics/GFS_layer/GFS_typedefs.meta b/gfsphysics/GFS_layer/GFS_typedefs.meta
index f02602277..27e3a7dca 100644
--- a/gfsphysics/GFS_layer/GFS_typedefs.meta
+++ b/gfsphysics/GFS_layer/GFS_typedefs.meta
@@ -8461,54 +8461,6 @@
type = real
kind = kind_phys
optional = F
-[hsw0]
- standard_name = RRTMGP_sw_heating_rate_clear_sky
- long_name = RRTMGP shortwave clear sky heating rate
- units = K s-1
- dimensions = (horizontal_dimension,vertical_dimension)
- type = real
- kind = kind_phys
- optional = T
-[hswc]
- standard_name = RRTMGP_sw_heating_rate_all_sky
- long_name = RRTMGP shortwave all sky heating rate
- units = K s-1
- dimensions = (horizontal_dimension,vertical_dimension)
- type = real
- kind = kind_phys
- optional = F
-[hswb]
- standard_name = RRTMGP_sw_heating_rate_spectral
- long_name = RRTMGP shortwave total sky heating rate (spectral)
- units = K s-1
- dimensions = (horizontal_dimension,vertical_dimension,number_of_sw_spectral_points_rrtmgp)
- type = real
- kind = kind_phys
- optional = T
-[hlw0]
- standard_name = RRTMGP_lw_heating_rate_clear_sky
- long_name = RRTMGP longwave clear sky heating rate
- units = K s-1
- dimensions = (horizontal_dimension,vertical_dimension)
- type = real
- kind = kind_phys
- optional = T
-[hlwc]
- standard_name = RRTMGP_lw_heating_rate_all_sky
- long_name = RRTMGP longwave all sky heating rate
- units = K s-1
- dimensions = (horizontal_dimension,vertical_dimension)
- type = real
- kind = kind_phys
- optional = F
-[hlwb]
- standard_name = RRTMGP_lw_heating_rate_spectral
- long_name = RRTMGP longwave total sky heating rate (spectral)
- units = K s-1
- dimensions = (horizontal_dimension,vertical_dimension,number_of_lw_spectral_points_rrtmgp)
- type = real
- kind = kind_phys
- optional = T
[ipsdsw0]
standard_name = initial_permutation_seed_sw
long_name = initial seed for McICA SW