diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py
index 66bf68a89..124fe3b81 100755
--- a/ccpp/config/ccpp_prebuild_config.py
+++ b/ccpp/config/ccpp_prebuild_config.py
@@ -100,19 +100,17 @@
# Relative path to source (from where ccpp_prebuild.py is called) : [ list of physics sets in which scheme may be called ];
# current restrictions are that each scheme can only belong to one physics set, and all schemes within one group in the
# suite definition file have to belong to the same physics set
- 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_DCNV_generic_pre.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_DCNV_generic_post.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_GWD_generic_pre.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_GWD_generic_post.F90' ,
- 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_MP_generic_pre.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_MP_generic_post.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_pre.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_post.F90' ,
- 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_pre.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_post.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_debug.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_photochemistry.F90' ,
+ 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_photochemistry_post.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_post.F90' ,
@@ -125,8 +123,6 @@
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_overlap.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_1.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_2.F90' ,
- 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_stateout_reset.F90' ,
- 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_stateout_update.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_3.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_4.F90' ,
'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_5.F90' ,
@@ -188,10 +184,8 @@
'ccpp/physics/physics/MP/Morrison_Gettelman/m_micro_pre.F90',
'ccpp/physics/physics/MP/Morrison_Gettelman/m_micro_post.F90',
'ccpp/physics/physics/MP/NSSL/mp_nssl.F90',
- 'ccpp/physics/physics/MP/Thompson/mp_thompson_pre.F90',
'ccpp/physics/physics/MP/Thompson/mp_thompson.F90',
'ccpp/physics/physics/MP/Thompson/mp_thompson_post.F90',
- 'ccpp/physics/physics/MP/TEMPO/mp_tempo_pre.F90',
'ccpp/physics/physics/MP/TEMPO/mp_tempo.F90',
'ccpp/physics/physics/MP/TEMPO/mp_tempo_post.F90',
'ccpp/physics/physics/PBL/HEDMF/hedmf.f',
@@ -199,6 +193,7 @@
'ccpp/physics/physics/PBL/SHOC/shoc.F90',
'ccpp/physics/physics/PBL/MYJ/myjpbl_wrapper.F90',
'ccpp/physics/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.F90',
+ 'ccpp/physics/physics/PBL/MYNN_EDMF/mynnedmf_wrapper_post.F90',
'ccpp/physics/physics/PBL/SATMEDMF/satmedmfvdif.F',
'ccpp/physics/physics/PBL/SATMEDMF/satmedmfvdifq.F',
'ccpp/physics/physics/PBL/SATMEDMF/canopy_driver.F',
diff --git a/ccpp/physics b/ccpp/physics
index d25c26ea2..01edf9f62 160000
--- a/ccpp/physics
+++ b/ccpp/physics
@@ -1 +1 @@
-Subproject commit d25c26ea2cb288e442efa367ac1fcd9640ed6302
+Subproject commit 01edf9f6227d27de541e4f16886f90d18f46245f
diff --git a/ccpp/suites/suite_HAFS_v0_hwrf.xml b/ccpp/suites/suite_HAFS_v0_hwrf.xml
index 76111175a..9a40a9a45 100644
--- a/ccpp/suites/suite_HAFS_v0_hwrf.xml
+++ b/ccpp/suites/suite_HAFS_v0_hwrf.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -57,23 +56,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
- GFS_DCNV_generic_pre
+ GFS_photochemistry_post
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
mp_fer_hires
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_HAFS_v0_hwrf_ps.xml b/ccpp/suites/suite_HAFS_v0_hwrf_ps.xml
index 602b3aeb6..582669c73 100644
--- a/ccpp/suites/suite_HAFS_v0_hwrf_ps.xml
+++ b/ccpp/suites/suite_HAFS_v0_hwrf_ps.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -38,23 +37,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
- GFS_DCNV_generic_pre
+ GFS_photochemistry_post
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
mp_fer_hires
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_HAFS_v0_hwrf_thompson.xml b/ccpp/suites/suite_HAFS_v0_hwrf_thompson.xml
index d8bfb8311..af63c87a3 100644
--- a/ccpp/suites/suite_HAFS_v0_hwrf_thompson.xml
+++ b/ccpp/suites/suite_HAFS_v0_hwrf_thompson.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -59,24 +58,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
- GFS_DCNV_generic_pre
+ GFS_photochemistry_post
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
- mp_thompson_pre
mp_thompson
mp_thompson_post
GFS_MP_generic_post
diff --git a/ccpp/suites/suite_HAFS_v0_hwrf_thompson_ps.xml b/ccpp/suites/suite_HAFS_v0_hwrf_thompson_ps.xml
index 62d188709..7ff959786 100644
--- a/ccpp/suites/suite_HAFS_v0_hwrf_thompson_ps.xml
+++ b/ccpp/suites/suite_HAFS_v0_hwrf_thompson_ps.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -40,24 +39,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
- GFS_DCNV_generic_pre
+ GFS_photochemistry_post
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
- mp_thompson_pre
mp_thompson
mp_thompson_post
GFS_MP_generic_post
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2.xml b/ccpp/suites/suite_SCM_GFS_v15p2.xml
index 2b881738e..8a9fb88d9 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -56,23 +55,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_ACM_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_ACM_ps.xml
index 6e9ec3504..ec8ff1b87 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_ACM_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_ACM_ps.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -37,23 +36,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_FA.xml b/ccpp/suites/suite_SCM_GFS_v15p2_FA.xml
index 886a8768b..28dcf91be 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_FA.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_FA.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -56,23 +55,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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_fer_hires
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_MYJ.xml b/ccpp/suites/suite_SCM_GFS_v15p2_MYJ.xml
index 2632e40f5..4951d229e 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_MYJ.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_MYJ.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -56,23 +55,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP.xml b/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP.xml
index d198a9737..4f6c8fbae 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -57,23 +56,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP_ps.xml
index e5d22a3d7..38bcb16f3 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP_ps.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -38,23 +37,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_YSU_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_YSU_ps.xml
index 1febad374..c3b311eaa 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_YSU_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_YSU_ps.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -37,23 +36,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst.xml b/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst.xml
index 330f20946..7601804a0 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -54,23 +53,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst_ps.xml
index 5915ecd4f..4f690c198 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst_ps.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -37,23 +36,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_noahmp.xml b/ccpp/suites/suite_SCM_GFS_v15p2_noahmp.xml
index 87553bd40..dd50319c4 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_noahmp.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_noahmp.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -56,23 +55,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_ntiedtke.xml b/ccpp/suites/suite_SCM_GFS_v15p2_ntiedtke.xml
index a32a78fb6..47d2f97d5 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_ntiedtke.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_ntiedtke.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -57,23 +56,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_ntiedtke_pre
cu_ntiedtke
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
- GFS_MP_generic_pre
gfdl_cloud_microphys
GFS_MP_generic_post
cu_ntiedtke_post
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_ntiedtke_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_ntiedtke_ps.xml
index bbe13cdfb..8f5d08d62 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_ntiedtke_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_ntiedtke_ps.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -38,23 +37,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_ntiedtke_pre
cu_ntiedtke
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
- GFS_MP_generic_pre
gfdl_cloud_microphys
GFS_MP_generic_post
cu_ntiedtke_post
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_ps.xml
index 1634d4214..4df51679d 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_ps.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -37,23 +36,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_saYSU_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_saYSU_ps.xml
index 9450b42f3..c7f4e1447 100644
--- a/ccpp/suites/suite_SCM_GFS_v15p2_saYSU_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v15p2_saYSU_ps.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -37,23 +36,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v16.xml b/ccpp/suites/suite_SCM_GFS_v16.xml
index 57c5c01fd..1cc8f812b 100644
--- a/ccpp/suites/suite_SCM_GFS_v16.xml
+++ b/ccpp/suites/suite_SCM_GFS_v16.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -57,23 +56,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP.xml b/ccpp/suites/suite_SCM_GFS_v16_RRTMGP.xml
index 3b585c411..01a1ca0a1 100644
--- a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP.xml
+++ b/ccpp/suites/suite_SCM_GFS_v16_RRTMGP.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -57,23 +56,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP_ps.xml b/ccpp/suites/suite_SCM_GFS_v16_RRTMGP_ps.xml
index 1c1e5d437..a32e700c1 100644
--- a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v16_RRTMGP_ps.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -38,23 +37,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v16_debug.xml b/ccpp/suites/suite_SCM_GFS_v16_debug.xml
index 71d003efe..380fe5914 100644
--- a/ccpp/suites/suite_SCM_GFS_v16_debug.xml
+++ b/ccpp/suites/suite_SCM_GFS_v16_debug.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -56,23 +55,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v16_debug_ps.xml b/ccpp/suites/suite_SCM_GFS_v16_debug_ps.xml
index 2e94e8ca0..2dfa4c6cb 100644
--- a/ccpp/suites/suite_SCM_GFS_v16_debug_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v16_debug_ps.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -37,23 +36,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v16_gfdlmpv3.xml b/ccpp/suites/suite_SCM_GFS_v16_gfdlmpv3.xml
index e4febfe24..d9064737a 100644
--- a/ccpp/suites/suite_SCM_GFS_v16_gfdlmpv3.xml
+++ b/ccpp/suites/suite_SCM_GFS_v16_gfdlmpv3.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -57,23 +56,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys_v3
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v16_gfdlmpv3_ps.xml b/ccpp/suites/suite_SCM_GFS_v16_gfdlmpv3_ps.xml
index d5fe0bd16..4050ba9f7 100644
--- a/ccpp/suites/suite_SCM_GFS_v16_gfdlmpv3_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v16_gfdlmpv3_ps.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -38,23 +37,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys_v3
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v16_no_nsst.xml b/ccpp/suites/suite_SCM_GFS_v16_no_nsst.xml
index ec15e151f..bcb4440ad 100644
--- a/ccpp/suites/suite_SCM_GFS_v16_no_nsst.xml
+++ b/ccpp/suites/suite_SCM_GFS_v16_no_nsst.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -54,23 +53,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v16_no_nsst_ps.xml b/ccpp/suites/suite_SCM_GFS_v16_no_nsst_ps.xml
index b7decd982..f8e1370a3 100644
--- a/ccpp/suites/suite_SCM_GFS_v16_no_nsst_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v16_no_nsst_ps.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -37,23 +36,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v16_ps.xml b/ccpp/suites/suite_SCM_GFS_v16_ps.xml
index 6b1a1582c..de0039098 100644
--- a/ccpp/suites/suite_SCM_GFS_v16_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v16_ps.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -38,23 +37,20 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v16_ugwpv1.xml b/ccpp/suites/suite_SCM_GFS_v16_ugwpv1.xml
index 7858601b9..8b2613754 100644
--- a/ccpp/suites/suite_SCM_GFS_v16_ugwpv1.xml
+++ b/ccpp/suites/suite_SCM_GFS_v16_ugwpv1.xml
@@ -23,7 +23,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -56,23 +55,20 @@
ugwpv1_gsldrag
ugwpv1_gsldrag_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
gfdl_cloud_microphys
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8.xml b/ccpp/suites/suite_SCM_GFS_v17_p8.xml
index 8faddb85b..27ed56708 100644
--- a/ccpp/suites/suite_SCM_GFS_v17_p8.xml
+++ b/ccpp/suites/suite_SCM_GFS_v17_p8.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -58,24 +57,20 @@
unified_ugwp
unified_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_c3.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_c3.xml
index e700c7e55..3b6acd053 100644
--- a/ccpp/suites/suite_SCM_GFS_v17_p8_c3.xml
+++ b/ccpp/suites/suite_SCM_GFS_v17_p8_c3.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -57,24 +56,20 @@
unified_ugwp
unified_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_c3_driver_pre
cu_c3_driver
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
- GFS_MP_generic_pre
- mp_thompson_pre
mp_thompson
diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_c3_ps.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_c3_ps.xml
index 0ca378b15..aadf5790e 100644
--- a/ccpp/suites/suite_SCM_GFS_v17_p8_c3_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v17_p8_c3_ps.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -38,24 +37,20 @@
unified_ugwp
unified_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_c3_driver_pre
cu_c3_driver
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
- GFS_MP_generic_pre
- mp_thompson_pre
mp_thompson
diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_ps.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_ps.xml
index a789c414b..5e096a7bf 100644
--- a/ccpp/suites/suite_SCM_GFS_v17_p8_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v17_p8_ps.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -39,24 +38,20 @@
unified_ugwp
unified_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1.xml
index e4e8eb2ba..b0bd62a29 100644
--- a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1.xml
+++ b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -57,24 +56,20 @@
ugwpv1_gsldrag
ugwpv1_gsldrag_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_no_nsst.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_no_nsst.xml
index 75644d368..1fded3916 100644
--- a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_no_nsst.xml
+++ b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_no_nsst.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -55,24 +54,20 @@
ugwpv1_gsldrag
ugwpv1_gsldrag_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_no_nsst_ps.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_no_nsst_ps.xml
index eaf5d18b7..f35be2186 100644
--- a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_no_nsst_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_no_nsst_ps.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -38,24 +37,20 @@
ugwpv1_gsldrag
ugwpv1_gsldrag_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_ps.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_ps.xml
index 772816157..35a0b5abb 100644
--- a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_ps.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -38,24 +37,20 @@
ugwpv1_gsldrag
ugwpv1_gsldrag_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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
diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_tempo.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_tempo.xml
index 64b58cfd2..45352a673 100644
--- a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_tempo.xml
+++ b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_tempo.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -57,24 +56,20 @@
ugwpv1_gsldrag
ugwpv1_gsldrag_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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_tempo_pre
mp_tempo
diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_tempo_ps.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_tempo_ps.xml
index 032cfe411..8f5a15f81 100644
--- a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_tempo_ps.xml
+++ b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_tempo_ps.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -38,24 +37,20 @@
ugwpv1_gsldrag
ugwpv1_gsldrag_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
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_tempo_pre
mp_tempo
diff --git a/ccpp/suites/suite_SCM_GSD_v1.xml b/ccpp/suites/suite_SCM_GSD_v1.xml
index 2d2674f57..e799ad587 100644
--- a/ccpp/suites/suite_SCM_GSD_v1.xml
+++ b/ccpp/suites/suite_SCM_GSD_v1.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -52,28 +51,25 @@
sfc_diag_post
GFS_surface_generic_post
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_gf_driver_pre
cu_gf_driver
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
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
diff --git a/ccpp/suites/suite_SCM_GSD_v1_ps.xml b/ccpp/suites/suite_SCM_GSD_v1_ps.xml
index b366de869..255fa2642 100644
--- a/ccpp/suites/suite_SCM_GSD_v1_ps.xml
+++ b/ccpp/suites/suite_SCM_GSD_v1_ps.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -34,28 +33,25 @@
dcyc2t3
GFS_suite_interstitial_2
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_gf_driver_pre
cu_gf_driver
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
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
diff --git a/ccpp/suites/suite_SCM_GSD_v1nssl.xml b/ccpp/suites/suite_SCM_GSD_v1nssl.xml
index f7e538b30..c10e1b8b3 100644
--- a/ccpp/suites/suite_SCM_GSD_v1nssl.xml
+++ b/ccpp/suites/suite_SCM_GSD_v1nssl.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -52,27 +51,25 @@
sfc_diag_post
GFS_surface_generic_post
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_gf_driver_pre
cu_gf_driver
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
- GFS_MP_generic_pre
mp_nssl
GFS_MP_generic_post
cu_gf_driver_post
diff --git a/ccpp/suites/suite_SCM_GSD_v1nssl_ps.xml b/ccpp/suites/suite_SCM_GSD_v1nssl_ps.xml
index eca2a4050..2b212104e 100644
--- a/ccpp/suites/suite_SCM_GSD_v1nssl_ps.xml
+++ b/ccpp/suites/suite_SCM_GSD_v1nssl_ps.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -34,27 +33,25 @@
GFS_suite_interstitial_2
scm_sfc_flux_spec
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_gf_driver_pre
cu_gf_driver
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
- GFS_MP_generic_pre
mp_nssl
GFS_MP_generic_post
cu_gf_driver_post
diff --git a/ccpp/suites/suite_SCM_HRRR.xml b/ccpp/suites/suite_SCM_HRRR.xml
index 676b86ae8..df232457c 100644
--- a/ccpp/suites/suite_SCM_HRRR.xml
+++ b/ccpp/suites/suite_SCM_HRRR.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -53,20 +52,19 @@
sfc_diag_post
GFS_surface_generic_post
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
drag_suite
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
GFS_suite_interstitial_4
- GFS_MP_generic_pre
- mp_thompson_pre
mp_thompson
mp_thompson_post
GFS_MP_generic_post
diff --git a/ccpp/suites/suite_SCM_HRRR_gf.xml b/ccpp/suites/suite_SCM_HRRR_gf.xml
index 3d2b0ea59..9367f1b1c 100644
--- a/ccpp/suites/suite_SCM_HRRR_gf.xml
+++ b/ccpp/suites/suite_SCM_HRRR_gf.xml
@@ -25,7 +25,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -50,26 +49,24 @@
GFS_surface_generic_post
rrfs_smoke_wrapper
mynnedmf_wrapper
+ mynnedmf_wrapper_post
rrfs_smoke_postpbl
GFS_GWD_generic_pre
drag_suite
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_gf_driver_pre
cu_gf_driver
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
diff --git a/ccpp/suites/suite_SCM_HRRR_gf_ps.xml b/ccpp/suites/suite_SCM_HRRR_gf_ps.xml
index ca05b5a21..2ac469e62 100644
--- a/ccpp/suites/suite_SCM_HRRR_gf_ps.xml
+++ b/ccpp/suites/suite_SCM_HRRR_gf_ps.xml
@@ -25,7 +25,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -34,26 +33,24 @@
GFS_suite_interstitial_2
rrfs_smoke_wrapper
mynnedmf_wrapper
+ mynnedmf_wrapper_post
rrfs_smoke_postpbl
GFS_GWD_generic_pre
drag_suite
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_gf_driver_pre
cu_gf_driver
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
diff --git a/ccpp/suites/suite_SCM_HRRR_ps.xml b/ccpp/suites/suite_SCM_HRRR_ps.xml
index 36fbe6063..452eb0ea9 100644
--- a/ccpp/suites/suite_SCM_HRRR_ps.xml
+++ b/ccpp/suites/suite_SCM_HRRR_ps.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -34,20 +33,19 @@
dcyc2t3
GFS_suite_interstitial_2
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
drag_suite
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
GFS_suite_interstitial_4
- GFS_MP_generic_pre
- mp_thompson_pre
mp_thompson
mp_thompson_post
GFS_MP_generic_post
diff --git a/ccpp/suites/suite_SCM_RAP.xml b/ccpp/suites/suite_SCM_RAP.xml
index 91dd01455..61ad95cf9 100644
--- a/ccpp/suites/suite_SCM_RAP.xml
+++ b/ccpp/suites/suite_SCM_RAP.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -52,27 +51,24 @@
sfc_diag_post
GFS_surface_generic_post
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
drag_suite
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_gf_driver_pre
cu_gf_driver
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
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
diff --git a/ccpp/suites/suite_SCM_RAP_ps.xml b/ccpp/suites/suite_SCM_RAP_ps.xml
index 94611ee37..ea2ead2f0 100644
--- a/ccpp/suites/suite_SCM_RAP_ps.xml
+++ b/ccpp/suites/suite_SCM_RAP_ps.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -34,27 +33,24 @@
dcyc2t3
GFS_suite_interstitial_2
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
drag_suite
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cu_gf_driver_pre
cu_gf_driver
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
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
diff --git a/ccpp/suites/suite_SCM_RRFS_v1alpha.xml b/ccpp/suites/suite_SCM_RRFS_v1alpha.xml
index c66e3f647..a788bc069 100644
--- a/ccpp/suites/suite_SCM_RRFS_v1alpha.xml
+++ b/ccpp/suites/suite_SCM_RRFS_v1alpha.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -53,21 +52,20 @@
sfc_diag_post
GFS_surface_generic_post
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
GFS_suite_interstitial_4
- GFS_MP_generic_pre
- mp_thompson_pre
mp_thompson
mp_thompson_post
GFS_MP_generic_post
diff --git a/ccpp/suites/suite_SCM_RRFS_v1alpha_ps.xml b/ccpp/suites/suite_SCM_RRFS_v1alpha_ps.xml
index 35525ae70..e89afb673 100644
--- a/ccpp/suites/suite_SCM_RRFS_v1alpha_ps.xml
+++ b/ccpp/suites/suite_SCM_RRFS_v1alpha_ps.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -34,21 +33,20 @@
dcyc2t3
GFS_suite_interstitial_2
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
GFS_suite_interstitial_4
- GFS_MP_generic_pre
- mp_thompson_pre
mp_thompson
mp_thompson_post
GFS_MP_generic_post
diff --git a/ccpp/suites/suite_SCM_RRFS_v1beta.xml b/ccpp/suites/suite_SCM_RRFS_v1beta.xml
index 8fa5959ac..21ccfc58f 100644
--- a/ccpp/suites/suite_SCM_RRFS_v1beta.xml
+++ b/ccpp/suites/suite_SCM_RRFS_v1beta.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -53,21 +52,20 @@
sfc_diag_post
GFS_surface_generic_post
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
GFS_suite_interstitial_4
- GFS_MP_generic_pre
- mp_thompson_pre
mp_thompson
mp_thompson_post
GFS_MP_generic_post
diff --git a/ccpp/suites/suite_SCM_RRFS_v1beta_no_nsst.xml b/ccpp/suites/suite_SCM_RRFS_v1beta_no_nsst.xml
index c91560ba0..8b3d988aa 100644
--- a/ccpp/suites/suite_SCM_RRFS_v1beta_no_nsst.xml
+++ b/ccpp/suites/suite_SCM_RRFS_v1beta_no_nsst.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -51,21 +50,20 @@
sfc_diag_post
GFS_surface_generic_post
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
GFS_suite_interstitial_4
- GFS_MP_generic_pre
- mp_thompson_pre
mp_thompson
mp_thompson_post
GFS_MP_generic_post
diff --git a/ccpp/suites/suite_SCM_RRFS_v1beta_no_nsst_ps.xml b/ccpp/suites/suite_SCM_RRFS_v1beta_no_nsst_ps.xml
index 68ef0ccbd..09ecb930a 100644
--- a/ccpp/suites/suite_SCM_RRFS_v1beta_no_nsst_ps.xml
+++ b/ccpp/suites/suite_SCM_RRFS_v1beta_no_nsst_ps.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -34,21 +33,20 @@
dcyc2t3
GFS_suite_interstitial_2
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
GFS_suite_interstitial_4
- GFS_MP_generic_pre
- mp_thompson_pre
mp_thompson
mp_thompson_post
GFS_MP_generic_post
diff --git a/ccpp/suites/suite_SCM_RRFS_v1beta_ps.xml b/ccpp/suites/suite_SCM_RRFS_v1beta_ps.xml
index b8f0420b2..36c808da4 100644
--- a/ccpp/suites/suite_SCM_RRFS_v1beta_ps.xml
+++ b/ccpp/suites/suite_SCM_RRFS_v1beta_ps.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -34,21 +33,20 @@
dcyc2t3
GFS_suite_interstitial_2
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
GFS_suite_interstitial_4
- GFS_MP_generic_pre
- mp_thompson_pre
mp_thompson
mp_thompson_post
GFS_MP_generic_post
diff --git a/ccpp/suites/suite_SCM_RRFS_v1nssl.xml b/ccpp/suites/suite_SCM_RRFS_v1nssl.xml
index 74338b179..00fd3de65 100644
--- a/ccpp/suites/suite_SCM_RRFS_v1nssl.xml
+++ b/ccpp/suites/suite_SCM_RRFS_v1nssl.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -53,20 +52,20 @@
sfc_diag_post
GFS_surface_generic_post
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
- GFS_MP_generic_pre
mp_nssl
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_WoFS_v0.xml b/ccpp/suites/suite_SCM_WoFS_v0.xml
index 8a0023899..642ff0346 100644
--- a/ccpp/suites/suite_SCM_WoFS_v0.xml
+++ b/ccpp/suites/suite_SCM_WoFS_v0.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -53,18 +52,18 @@
sfc_diag_post
GFS_surface_generic_post
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
- GFS_MP_generic_pre
mp_nssl
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_WoFS_v0_ps.xml b/ccpp/suites/suite_SCM_WoFS_v0_ps.xml
index 943996c7a..fab800d6d 100644
--- a/ccpp/suites/suite_SCM_WoFS_v0_ps.xml
+++ b/ccpp/suites/suite_SCM_WoFS_v0_ps.xml
@@ -26,7 +26,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -34,18 +33,18 @@
dcyc2t3
GFS_suite_interstitial_2
mynnedmf_wrapper
+ mynnedmf_wrapper_post
GFS_GWD_generic_pre
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
- GFS_MP_generic_pre
mp_nssl
GFS_MP_generic_post
maximum_hourly_diagnostics
diff --git a/ccpp/suites/suite_SCM_csawmg.xml b/ccpp/suites/suite_SCM_csawmg.xml
index 286b03cf2..a073d72b1 100644
--- a/ccpp/suites/suite_SCM_csawmg.xml
+++ b/ccpp/suites/suite_SCM_csawmg.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -57,25 +56,22 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cs_conv_pre
cs_conv
cs_conv_post
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
samfshalcnv
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
- GFS_MP_generic_pre
m_micro_pre
m_micro
m_micro_post
diff --git a/ccpp/suites/suite_SCM_csawmg_ps.xml b/ccpp/suites/suite_SCM_csawmg_ps.xml
index 3884e38fc..42ac63017 100644
--- a/ccpp/suites/suite_SCM_csawmg_ps.xml
+++ b/ccpp/suites/suite_SCM_csawmg_ps.xml
@@ -24,7 +24,6 @@
- GFS_suite_stateout_reset
get_prs_fv3
GFS_suite_interstitial_1
GFS_surface_generic_pre
@@ -38,25 +37,22 @@
cires_ugwp
cires_ugwp_post
GFS_GWD_generic_post
- GFS_suite_stateout_update
GFS_photochemistry
+ GFS_photochemistry_post
get_phi_fv3
GFS_suite_interstitial_3
- GFS_DCNV_generic_pre
cs_conv_pre
cs_conv
cs_conv_post
GFS_DCNV_generic_post
- GFS_SCNV_generic_pre
samfshalcnv
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
- GFS_MP_generic_pre
m_micro_pre
m_micro
m_micro_post
diff --git a/scm/src/CCPP_typedefs.F90 b/scm/src/CCPP_typedefs.F90
index c20adba6a..a960f62ce 100644
--- a/scm/src/CCPP_typedefs.F90
+++ b/scm/src/CCPP_typedefs.F90
@@ -70,6 +70,7 @@ module CCPP_typedefs
real (kind=kind_phys), pointer :: cld1d(:) => null() !<
real (kind=kind_phys), pointer :: clouds(:,:,:) => null() !<
real (kind=kind_phys), pointer :: clw(:,:,:) => null() !<
+ real (kind=kind_phys), pointer :: dclw(:,:,:) => null() !<
real (kind=kind_phys), pointer :: clx(:,:) => null() !<
real (kind=kind_phys), pointer :: cmm_ice(:) => null() !<
real (kind=kind_phys), pointer :: cmm_land(:) => null() !<
@@ -258,6 +259,10 @@ module CCPP_typedefs
real (kind=kind_phys), pointer :: stress_land(:) => null() !<
real (kind=kind_phys), pointer :: stress_water(:) => null() !<
real (kind=kind_phys), pointer :: t2mmp(:) => null() !<
+ real (kind=kind_phys), pointer :: ten_q(:,:,:) => null()
+ real (kind=kind_phys), pointer :: ten_t(:,:) => null()
+ real (kind=kind_phys), pointer :: ten_u(:,:) => null()
+ real (kind=kind_phys), pointer :: ten_v(:,:) => null()
real (kind=kind_phys), pointer :: theta(:) => null() !<
real (kind=kind_phys), pointer :: tlvl(:,:) => null() !<
real (kind=kind_phys), pointer :: tkeh(:,:) => null() !< vertical turbulent kinetic energy (m2/s2) at the model layer interfaces
@@ -453,6 +458,7 @@ subroutine gfs_interstitial_create (Interstitial, ixs, ixe, Model)
allocate (Interstitial%cld1d (ixs:ixe))
allocate (Interstitial%clouds (ixs:ixe,Model%levr+LTP,NF_CLDS))
allocate (Interstitial%clw (ixs:ixe,Model%levs,Interstitial%nn))
+ allocate (Interstitial%dclw (ixs:ixe,Model%levs,Interstitial%nn))
allocate (Interstitial%clx (ixs:ixe,4))
allocate (Interstitial%cmm_ice (ixs:ixe))
allocate (Interstitial%cmm_land (ixs:ixe))
@@ -598,6 +604,10 @@ subroutine gfs_interstitial_create (Interstitial, ixs, ixe, Model)
allocate (Interstitial%stress_ice (ixs:ixe))
allocate (Interstitial%stress_land (ixs:ixe))
allocate (Interstitial%stress_water (ixs:ixe))
+ allocate (Interstitial%ten_q (ixs:ixe,Model%levs,Model%ntrac))
+ allocate (Interstitial%ten_t (ixs:ixe,Model%levs))
+ allocate (Interstitial%ten_u (ixs:ixe,Model%levs))
+ allocate (Interstitial%ten_v (ixs:ixe,Model%levs))
allocate (Interstitial%theta (ixs:ixe))
allocate (Interstitial%tkeh (ixs:ixe,Model%levs+1)) !Vertical turbulent kinetic energy at model layer interfaces
allocate (Interstitial%tlvl (ixs:ixe,Model%levr+1+LTP))
@@ -806,6 +816,7 @@ subroutine gfs_interstitial_destroy (Interstitial, Model)
deallocate (Interstitial%cld1d)
deallocate (Interstitial%clouds)
deallocate (Interstitial%clw)
+ deallocate (Interstitial%dclw)
deallocate (Interstitial%clx)
deallocate (Interstitial%cmm_ice)
deallocate (Interstitial%cmm_land)
@@ -951,6 +962,10 @@ subroutine gfs_interstitial_destroy (Interstitial, Model)
deallocate (Interstitial%stress_ice)
deallocate (Interstitial%stress_land)
deallocate (Interstitial%stress_water)
+ deallocate (Interstitial%ten_q)
+ deallocate (Interstitial%ten_t)
+ deallocate (Interstitial%ten_u)
+ deallocate (Interstitial%ten_v)
deallocate (Interstitial%theta)
deallocate (Interstitial%tkeh)
deallocate (Interstitial%tlvl)
@@ -1347,6 +1362,7 @@ subroutine gfs_interstitial_reset (Interstitial, Model)
Interstitial%clouds = clear_val
Interstitial%clw = clear_val
Interstitial%clw(:,:,2) = -999.9
+ Interstitial%dclw = clear_val
Interstitial%clx = clear_val
Interstitial%cmm_ice = Model%huge
Interstitial%cmm_land = Model%huge
@@ -1503,6 +1519,10 @@ subroutine gfs_interstitial_reset (Interstitial, Model)
Interstitial%stress_ice = Model%huge
Interstitial%stress_land = Model%huge
Interstitial%stress_water = Model%huge
+ Interstitial%ten_q = clear_val
+ Interstitial%ten_t = clear_val
+ Interstitial%ten_u = clear_val
+ Interstitial%ten_v = clear_val
Interstitial%theta = clear_val
Interstitial%tkeh = 0
Interstitial%tlvl = clear_val
diff --git a/scm/src/CCPP_typedefs.meta b/scm/src/CCPP_typedefs.meta
index 4fbf96a5b..7eb7a8d4a 100644
--- a/scm/src/CCPP_typedefs.meta
+++ b/scm/src/CCPP_typedefs.meta
@@ -331,6 +331,27 @@
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
+[dclw]
+ standard_name = tendency_of_convective_transportable_tracers
+ long_name = array to contain tendencies of cloud water and other convective trans. tracers
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_tracers_for_convective_transport)
+ type = real
+ kind = kind_phys
+[dclw(:,:,1)]
+ standard_name = tendency_of_ice_water_mixing_ratio_convective_transport_tracer
+ long_name = tendency of ratio of mass of ice water to mass of dry air plus vapor (without condensates) in the convectively transported tracer array
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+[dclw(:,:,2)]
+ standard_name = tendency_of_cloud_condensed_water_mixing_ratio_convective_transport_tracer
+ long_name = tendency of ratio of mass of cloud water to mass of dry air plus vapor (without condensates) in the convectively transported tracer array
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
[clx]
standard_name = fraction_of_grid_box_with_subgrid_orography_higher_than_critical_height
long_name = frac. of grid box with by subgrid height_above_mean_sea_level higher than critical height
@@ -479,7 +500,7 @@
kind = kind_phys
[dqdt]
standard_name = process_split_cumulative_tendency_of_tracers
- long_name = updated tendency of the tracers due to model physics
+ long_name = tendency of the tracers due to model physics
units = kg kg-1 s-1
dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_tracers)
type = real
@@ -544,7 +565,7 @@
kind = kind_phys
active = (index_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_in_tracer_concentration_array > 0)
[dqdt(:,:,index_of_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array)]
- standard_name = tendency_of_cloud_condensation_nuclei_number_concentration_due_to_model_physics
+ standard_name = process_split_cumulative_tendency_of_cloud_condensation_nuclei_number_concentration
long_name = number concentration of cloud condensation nuclei tendency due to model physics
units = kg-1 s-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
@@ -575,7 +596,7 @@
[dqdt(:,:,index_of_turbulent_kinetic_energy_in_tracer_concentration_array)]
standard_name = process_split_cumulative_tendency_of_turbulent_kinetic_energy
long_name = turbulent kinetic energy tendency due to model physics
- units = J s-1
+ units = J kg-1 s-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
@@ -644,7 +665,7 @@
kind = kind_phys
[dvdftra]
standard_name = tendency_of_vertically_diffused_tracer_concentration
- long_name = updated tendency of the tracers due to vertical diffusion in PBL scheme
+ long_name = tendency of the tracers due to vertical diffusion in PBL scheme
units = kg kg-1 s-1
dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_vertical_diffusion_tracers)
type = real
@@ -1698,7 +1719,7 @@
[save_q(:,:,index_of_turbulent_kinetic_energy_in_tracer_concentration_array)]
standard_name = turbulent_kinetic_energy_save
long_name = turbulent kinetic energy before entering a physics scheme
- units = kg kg-1
+ units = J kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
@@ -1913,6 +1934,222 @@
type = real
kind = kind_phys
active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme)
+[ten_q]
+ standard_name = tendency_of_tracer_concentration
+ long_name = tendency of tracer concentration calculated by one physics scheme
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_tracers)
+ type = real
+ kind = kind_phys
+[ten_q(:,:,index_of_specific_humidity_in_tracer_concentration_array)]
+ standard_name = tendency_of_specific_humidity
+ long_name = water vapor specific humidity tendency
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+[ten_q(:,:,index_of_cloud_liquid_water_mixing_ratio_in_tracer_concentration_array)]
+ standard_name = tendency_of_cloud_liquid_water_mixing_ratio
+ long_name = cloud condensed water mixing ratio tendency
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+[ten_q(:,:,index_of_cloud_ice_mixing_ratio_in_tracer_concentration_array)]
+ standard_name = tendency_of_cloud_ice_mixing_ratio
+ long_name = cloud condensed water mixing ratio tendency
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+[ten_q(:,:,index_of_rain_mixing_ratio_in_tracer_concentration_array)]
+ standard_name = tendency_of_rain_mixing_ratio
+ long_name = tendency of ratio of mass of rain water tendency to mass of dry air plus vapor (without condensates)
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+[ten_q(:,:,index_of_snow_mixing_ratio_in_tracer_concentration_array)]
+ standard_name = tendency_of_snow_mixing_ratio
+ long_name = tendency of ratio of mass of snow water tendency to mass of dry air plus vapor (without condensates)
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_snow_mixing_ratio_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_graupel_mixing_ratio_in_tracer_concentration_array)]
+ standard_name = tendency_of_graupel_mixing_ratio
+ long_name = tendency of ratio of mass of graupel tendency to mass of dry air plus vapor (without condensates)
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_graupel_mixing_ratio_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_hail_mixing_ratio_in_tracer_concentration_array)]
+ standard_name = tendency_of_hail_mixing_ratio
+ long_name = ratio of mass of hail tendency to mass of dry air plus vapor (without condensates)
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_hail_mixing_ratio_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array)]
+ standard_name = tendency_of_cloud_condensation_nuclei_number_concentration
+ long_name = number concentration of cloud condensation nuclei tendency
+ units = kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = ( index_of_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array > 0 )
+[ten_q(:,:,index_of_mass_number_concentration_of_cloud_ice_in_tracer_concentration_array)]
+ standard_name = tendency_of_mass_number_concentration_of_cloud_ice_water_crystals_in_air
+ long_name = number concentration of ice tendency
+ units = kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_mass_number_concentration_of_cloud_ice_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_mass_number_concentration_of_snow_in_tracer_concentration_array)]
+ standard_name = tendency_of_mass_number_concentration_of_snow
+ long_name = number concentration of snow tendency
+ units = kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_mass_number_concentration_of_snow_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_mass_number_concentration_of_graupel_in_tracer_concentration_array)]
+ standard_name = tendency_of_mass_number_concentration_of_graupel
+ long_name = number concentration of graupel tendency
+ units = kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_mass_number_concentration_of_graupel_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_mass_number_concentration_of_hail_in_tracer_concentration_array)]
+ standard_name = tendency_of_mass_number_concentration_of_hail
+ long_name = number concentration of hail tendency
+ units = kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = ( index_of_mass_number_concentration_of_hail_in_tracer_concentration_array > 0 )
+[ten_q(:,:,index_of_graupel_volume_in_tracer_concentration_array)]
+ standard_name = tendency_of_graupel_volume
+ long_name = graupel volume tendency
+ units = m3 kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = ( index_of_graupel_volume_in_tracer_concentration_array > 0 )
+[ten_q(:,:,index_of_hail_volume_in_tracer_concentration_array)]
+ standard_name = tendency_of_hail_volume
+ long_name = hail volume tendency
+ units = m3 kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = ( index_of_hail_volume_in_tracer_concentration_array > 0 )
+[ten_q(:,:,index_of_mass_number_concentration_of_rain_in_tracer_concentration_array)]
+ standard_name = tendency_of_mass_number_concentration_of_rain_water_in_air
+ long_name = number concentration of rain tendency
+ units = kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_mass_number_concentration_of_rain_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_array)]
+ standard_name = tendency_of_mass_number_concentration_of_cloud_liquid_water_particles_in_air
+ long_name = number concentration of cloud droplets (liquid) tendency
+ units = kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array)]
+ standard_name = tendency_of_mass_number_concentration_of_hygroscopic_aerosols
+ long_name = number concentration of water-friendly aerosols tendency
+ units = kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_in_tracer_concentration_array)]
+ standard_name = tendency_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols
+ long_name = number concentration of ice-friendly aerosols tendency
+ units = kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_cloud_area_fraction_in_atmosphere_layer_in_tracer_concentration_array)]
+ standard_name = tendency_of_cloud_area_fraction_in_atmosphere_layer
+ long_name = cloud fraction tendency
+ units = frac s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_cloud_area_fraction_in_atmosphere_layer_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_mass_weighted_rime_factor_in_tracer_concentration_array)]
+ standard_name = tendency_of_mass_weighted_rime_factor
+ long_name = mass weighted rime factor tendency
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = (index_of_mass_weighted_rime_factor_in_tracer_concentration_array > 0)
+[ten_q(:,:,index_of_reflectivity_of_rain_in_tracer_concentration_array)]
+ standard_name = tendency_of_reflectivity_of_rain
+ long_name = reflectivity of rain tendency
+ units = m6 kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = ( index_of_reflectivity_of_rain_in_tracer_concentration_array > 0 )
+[ten_q(:,:,index_of_reflectivity_of_graupel_in_tracer_concentration_array)]
+ standard_name = tendency_of_reflectivity_of_graupel
+ long_name = reflectivity of graupel tendency
+ units = m6 kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = ( index_of_reflectivity_of_graupel_in_tracer_concentration_array > 0 )
+[ten_q(:,:,index_of_reflectivity_of_hail_in_tracer_concentration_array)]
+ standard_name = tendency_of_reflectivity_of_hail
+ long_name = reflectivity of hail tendency
+ units = m6 kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = ( index_of_reflectivity_of_hail_in_tracer_concentration_array > 0 )
+[ten_q(:,:,index_of_ozone_mixing_ratio_in_tracer_concentration_array)]
+ standard_name = tendency_of_ozone_concentration
+ long_name = ozone concentration tendency
+ units = kg kg-1 s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = ( index_of_ozone_mixing_ratio_in_tracer_concentration_array > 0 )
+[ten_t]
+ standard_name = tendency_of_air_temperature
+ long_name = tendency of air temperature calculated by one physics scheme
+ units = K s-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+[ten_u]
+ standard_name = tendency_of_x_wind
+ long_name = tendency of x wind calculated by one physics scheme
+ units = m s-2
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+[ten_v]
+ standard_name = tendency_of_y_wind
+ long_name = tendency of y wind calculated by one physics scheme
+ units = m s-2
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
[theta]
standard_name = angle_from_east_of_maximum_subgrid_orographic_variations
long_name = angle with_respect to east of maximum subgrid orographic variations
diff --git a/scm/src/GFS_typedefs.F90 b/scm/src/GFS_typedefs.F90
index 641e87621..66ca3e6d5 100644
--- a/scm/src/GFS_typedefs.F90
+++ b/scm/src/GFS_typedefs.F90
@@ -827,6 +827,19 @@ module GFS_typedefs
!< (yr, mon, day, t-zone, hr, min, sec, mil-sec)
integer :: idate(4) !< initial date with different size and ordering
!< (hr, mon, day, yr)
+!--- tendency control
+ integer :: tend_opt_swrad
+ integer :: tend_opt_lwrad
+ integer :: tend_opt_rad_scaler
+ integer :: tend_opt_surface
+ integer :: tend_opt_pbl
+ integer :: tend_opt_gwd
+ integer :: tend_opt_photochem
+ integer :: tend_opt_deep_conv
+ integer :: tend_opt_shal_conv
+ integer :: tend_opt_mp
+ integer :: tend_opt_stoch
+
logical :: gfs_phys_time_vary_is_init=.false. !< GFS_phys_time_vary interstitial initialization flag
!--- radiation control parameters
@@ -3516,6 +3529,23 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
integer :: thermodyn_id = 1 !< valid for GFS only for get_prs/phi
integer :: sfcpress_id = 1 !< valid for GFS only for get_prs/phi
+ !--- time-coupling options after a scheme completes
+ ! 1 = immediately apply tendencies
+ ! 2 = add tendencies to a sum to be applied later
+ ! 3 = add tendencies to a sum and apply the accumulated sum to the state
+ ! 4 = ignore output tendencies (e.g. some other scheme may use/apply them)
+ integer :: tend_opt_swrad = 4
+ integer :: tend_opt_lwrad = 4
+ integer :: tend_opt_rad_scaler = 2
+ integer :: tend_opt_surface = 2
+ integer :: tend_opt_pbl = 2
+ integer :: tend_opt_gwd = 3
+ integer :: tend_opt_photochem = 1
+ integer :: tend_opt_deep_conv = 1
+ integer :: tend_opt_shal_conv = 1
+ integer :: tend_opt_mp = 1
+ integer :: tend_opt_stoch = 1
+
!--- coupling parameters
logical :: cplflx = .false. !< default no cplflx collection
logical :: cplice = .false. !< default no cplice collection (used together with cplflx)
@@ -4228,6 +4258,11 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
fhzero, fhzero_array, fhzero_fhour, ldiag3d, qdiag3d, lssav, &
naux2d, dtend_select, naux3d, aux2d_time_avg, &
aux3d_time_avg, fhcyc, thermodyn_id, sfcpress_id, &
+ !--- tendency application controls
+ tend_opt_swrad, tend_opt_lwrad, tend_opt_rad_scaler, &
+ tend_opt_surface, tend_opt_pbl, tend_opt_gwd, &
+ tend_opt_photochem, tend_opt_deep_conv, tend_opt_shal_conv, &
+ tend_opt_mp, tend_opt_stoch, &
!--- coupling parameters
cplflx, cplice, cplocn2atm, cplwav, cplwav2atm, cplaqm, &
cplchm, cpllnd, cpllnd2atm, cpl_imp_mrg, cpl_imp_dbg, &
@@ -4702,8 +4737,20 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
Model%chunk_begin(i) = Model%chunk_end(i-1) + 1
Model%chunk_end(i) = Model%chunk_begin(i) + blksz(i) - 1
end do
+!--- tendency controls
+ Model%tend_opt_swrad = tend_opt_swrad
+ Model%tend_opt_lwrad = tend_opt_lwrad
+ Model%tend_opt_rad_scaler = tend_opt_rad_scaler
+ Model%tend_opt_surface = tend_opt_surface
+ Model%tend_opt_pbl = tend_opt_pbl
+ Model%tend_opt_gwd = tend_opt_gwd
+ Model%tend_opt_photochem = tend_opt_photochem
+ Model%tend_opt_deep_conv = tend_opt_deep_conv
+ Model%tend_opt_shal_conv = tend_opt_shal_conv
+ Model%tend_opt_mp = tend_opt_mp
+ Model%tend_opt_stoch = tend_opt_stoch
+
Model%ipr = min(minval(Model%blksz), 10)
-
!--- coupling parameters
Model%cplflx = cplflx
Model%cplice = cplice
@@ -6883,9 +6930,11 @@ subroutine control_scavenging_initialize(Model, fscav)
if (j > 1) then
read(fscav(i)(j+1:), *, iostat=ios) tem
if (ios /= 0) cycle
- n = get_tracer_index(Model%tracer_names, adjustl(fscav(i)(:j-1))) &
- - Model%ntchs + 1
- if (n > 0) Model%fscav(n) = tem
+ n = get_tracer_index(Model%tracer_names, adjustl(fscav(i)(:j-1)))
+ if (n /= no_tracer) then
+ n = n - Model%ntchs + 1
+ if (n > 0) Model%fscav(n) = tem
+ endif
endif
enddo
endif
diff --git a/scm/src/GFS_typedefs.meta b/scm/src/GFS_typedefs.meta
index 9fca98c1f..3bc33084c 100644
--- a/scm/src/GFS_typedefs.meta
+++ b/scm/src/GFS_typedefs.meta
@@ -84,29 +84,29 @@
type = real
kind = kind_phys
[ugrs]
- standard_name = x_wind
- long_name = zonal wind
+ standard_name = physics_timestep_initial_x_wind
+ long_name = zonal wind at the beginning of the physics timestep
units = m s-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[ugrs(:,1)]
- standard_name = x_wind_at_surface_adjacent_layer
- long_name = zonal wind at lowest model layer
+ standard_name = physics_timestep_initial_x_wind_at_surface_adjacent_layer
+ long_name = zonal wind at lowest model layer at the beginning of the physics timestep
units = m s-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
[vgrs]
- standard_name = y_wind
- long_name = meridional wind
+ standard_name = physics_timestep_initial_y_wind
+ long_name = meridional wind at the beginning of the physics timestep
units = m s-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[vgrs(:,1)]
- standard_name = y_wind_at_surface_adjacent_layer
- long_name = meridional wind at lowest model layer
+ standard_name = physics_timestep_initial_y_wind_at_surface_adjacent_layer
+ long_name = meridional wind at lowest model layer at the beginning of the physics timestep
units = m s-1
dimensions = (horizontal_dimension)
type = real
@@ -169,230 +169,230 @@
type = real
kind = kind_phys
[tgrs]
- standard_name = air_temperature
- long_name = model layer mean temperature
+ standard_name = physics_timestep_initial_air_temperature
+ long_name = model layer mean temperature at the beginning of the physics timestep
units = K
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[tgrs(:,1)]
- standard_name = air_temperature_at_surface_adjacent_layer
- long_name = mean temperature at lowest model layer
+ standard_name = physics_timestep_initial_air_temperature_at_surface_adjacent_layer
+ long_name = mean temperature at lowest model layer at the beginning of the physics timestep
units = K
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
[qgrs]
- standard_name = tracer_concentration
- long_name = model layer mean tracer concentration
+ standard_name = physics_timestep_initial_tracer_concentration
+ long_name = model layer mean tracer concentration at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_tracers)
type = real
kind = kind_phys
[qgrs(:,:,index_of_specific_humidity_in_tracer_concentration_array)]
- standard_name = specific_humidity
- long_name = water vapor specific humidity
+ standard_name = physics_timestep_initial_specific_humidity
+ long_name = water vapor specific humidity at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,1,index_of_specific_humidity_in_tracer_concentration_array)]
- standard_name = specific_humidity_at_surface_adjacent_layer
- long_name = water vapor specific humidity at lowest model layer
+ standard_name = physics_timestep_initial_specific_humidity_at_surface_adjacent_layer
+ long_name = water vapor specific humidity at lowest model layer at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_cloud_liquid_water_mixing_ratio_in_tracer_concentration_array)]
- standard_name = cloud_liquid_water_mixing_ratio
- long_name = ratio of mass of cloud water to mass of dry air plus vapor (without condensates)
+ standard_name = physics_timestep_initial_cloud_liquid_water_mixing_ratio
+ long_name = ratio of mass of cloud water to mass of dry air plus vapor (without condensates) at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,1,index_of_cloud_liquid_water_mixing_ratio_in_tracer_concentration_array)]
- standard_name = cloud_liquid_water_mixing_ratio_at_surface_adjacent_layer
- long_name = ratio of mass of cloud water to mass of dry air plus vapor (without condensates) at lowest model layer
+ standard_name = physics_timestep_initial_cloud_liquid_water_mixing_ratio_at_surface_adjacent_layer
+ long_name = ratio of mass of cloud water to mass of dry air plus vapor (without condensates) at lowest model layer at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_cloud_ice_mixing_ratio_in_tracer_concentration_array)]
- standard_name = cloud_ice_mixing_ratio
- long_name = ratio of mass of ice water to mass of dry air plus vapor (without condensates)
+ standard_name = physics_timestep_initial_cloud_ice_mixing_ratio
+ long_name = ratio of mass of ice water to mass of dry air plus vapor (without condensates) at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_rain_mixing_ratio_in_tracer_concentration_array)]
- standard_name = rain_mixing_ratio
- long_name = ratio of mass of rain water to mass of dry air plus vapor (without condensates)
+ standard_name = physics_timestep_initial_rain_mixing_ratio
+ long_name = ratio of mass of rain water to mass of dry air plus vapor (without condensates) at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_snow_mixing_ratio_in_tracer_concentration_array)]
- standard_name = snow_mixing_ratio
- long_name = ratio of mass of snow water to mass of dry air plus vapor (without condensates)
+ standard_name = physics_timestep_initial_snow_mixing_ratio
+ long_name = ratio of mass of snow water to mass of dry air plus vapor (without condensates) at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_graupel_mixing_ratio_in_tracer_concentration_array)]
- standard_name = graupel_mixing_ratio
- long_name = ratio of mass of graupel to mass of dry air plus vapor (without condensates)
+ standard_name = physics_timestep_initial_graupel_mixing_ratio
+ long_name = ratio of mass of graupel to mass of dry air plus vapor (without condensates) at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_hail_mixing_ratio_in_tracer_concentration_array)]
- standard_name = hail_mixing_ratio
- long_name = ratio of mass of hail to mass of dry air plus vapor (without condensates)
+ standard_name = physics_timestep_initial_hail_mixing_ratio
+ long_name = ratio of mass of hail to mass of dry air plus vapor (without condensates) at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = (index_of_hail_mixing_ratio_in_tracer_concentration_array > 0)
[qgrs(:,:,index_of_ozone_mixing_ratio_in_tracer_concentration_array)]
- standard_name = ozone_mixing_ratio
- long_name = ozone mixing ratio
+ standard_name = physics_timestep_initial_ozone_mixing_ratio
+ long_name = ozone mixing ratio at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_hygroscopic_aerosols
- long_name = number concentration of water-friendly aerosols
+ standard_name = physics_timestep_initial_mass_number_concentration_of_hygroscopic_aerosols
+ long_name = number concentration of water-friendly aerosols at the beginning of the physics timestep
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
active = (index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array > 0)
type = real
kind = kind_phys
[qgrs(:,:,index_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols
- long_name = number concentration of ice-friendly aerosols
+ standard_name = physics_timestep_initial_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols
+ long_name = number concentration of ice-friendly aerosols at the beginning of the physics timestep
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
active = (index_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_in_tracer_concentration_array > 0)
type = real
kind = kind_phys
[qgrs(:,:,index_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_cloud_liquid_water_particles_in_air
- long_name = number concentration of cloud droplets (liquid)
+ standard_name = physics_timestep_initial_mass_number_concentration_of_cloud_liquid_water_particles_in_air
+ long_name = number concentration of cloud droplets (liquid) at the beginning of the physics timestep
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = (index_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_array > 0)
[qgrs(:,:,index_of_mass_number_concentration_of_cloud_ice_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_cloud_ice_water_crystals_in_air
- long_name = number concentration of ice
+ standard_name = physics_timestep_initial_mass_number_concentration_of_cloud_ice_water_crystals_in_air
+ long_name = number concentration of ice at the beginning of the physics timestep
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_mass_number_concentration_of_rain_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_rain_water_in_air
- long_name = number concentration of rain
+ standard_name = physics_timestep_initial_mass_number_concentration_of_rain_water_in_air
+ long_name = number concentration of rain at the beginning of the physics timestep
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_mass_number_concentration_of_snow_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_snow_in_air
- long_name = number concentration of snow
+ standard_name = physics_timestep_initial_mass_number_concentration_of_snow_in_air
+ long_name = number concentration of snow at the beginning of the physics timestep
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_mass_number_concentration_of_graupel_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_graupel_in_air
- long_name = number concentration of graupel
+ standard_name = physics_timestep_initial_mass_number_concentration_of_graupel_in_air
+ long_name = number concentration of graupel at the beginning of the physics timestep
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_mass_number_concentration_of_hail_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_hail_in_air
- long_name = number concentration of hail
+ standard_name = physics_timestep_initial_mass_number_concentration_of_hail_in_air
+ long_name = number concentration of hail at the beginning of the physics timestep
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = (index_of_mass_number_concentration_of_hail_in_tracer_concentration_array > 0)
[qgrs(:,:,index_of_reflectivity_of_rain_in_tracer_concentration_array)]
- standard_name = reflectivity_of_rain_in_air
- long_name = reflectivity of rain
+ standard_name = physics_timestep_initial_reflectivity_of_rain_in_air
+ long_name = reflectivity of rain at the beginning of the physics timestep
units = m6 kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = (index_of_reflectivity_of_rain_in_tracer_concentration_array > 0)
[qgrs(:,:,index_of_reflectivity_of_graupel_in_tracer_concentration_array)]
- standard_name = reflectivity_of_graupel_in_air
- long_name = reflectivity of graupel
+ standard_name = physics_timestep_initial_reflectivity_of_graupel_in_air
+ long_name = reflectivity of graupel at the beginning of the physics timestep
units = m6 kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = (index_of_reflectivity_of_graupel_in_tracer_concentration_array > 0)
[qgrs(:,:,index_of_reflectivity_of_hail_in_tracer_concentration_array)]
- standard_name = reflectivity_of_hail_in_air
- long_name = reflectivity of hail
+ standard_name = physics_timestep_initial_reflectivity_of_hail_in_air
+ long_name = reflectivity of hail at the beginning of the physics timestep
units = m6 kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = (index_of_reflectivity_of_hail_in_tracer_concentration_array > 0)
[qgrs(:,:,index_of_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array)]
- standard_name = cloud_condensation_nuclei_number_concentration
- long_name = number concentration of cloud condensation nuclei
+ standard_name = physics_timestep_initial_cloud_condensation_nuclei_number_concentration
+ long_name = number concentration of cloud condensation nuclei at the beginning of the physics timestep
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array > 0 )
[qgrs(:,:,index_of_activated_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array)]
- standard_name = activated_cloud_condensation_nuclei_number_concentration
- long_name = number concentration of activated cloud condensation nuclei
+ standard_name = physics_timestep_initial_activated_cloud_condensation_nuclei_number_concentration
+ long_name = number concentration of activated cloud condensation nuclei at the beginning of the physics timestep
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_activated_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array > 0 )
[qgrs(:,:,index_of_graupel_volume_in_tracer_concentration_array)]
- standard_name = graupel_volume
- long_name = graupel particle volume
+ standard_name = physics_timestep_initial_graupel_volume
+ long_name = graupel particle volume at the beginning of the physics timestep
units = m3 kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_graupel_volume_in_tracer_concentration_array > 0 )
[qgrs(:,:,index_of_hail_volume_in_tracer_concentration_array)]
- standard_name = hail_volume
- long_name = hail particle volume
+ standard_name = physics_timestep_initial_hail_volume
+ long_name = hail particle volume at the beginning of the physics timestep
units = m3 kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_hail_volume_in_tracer_concentration_array > 0 )
[qgrs(:,:,index_of_turbulent_kinetic_energy_in_tracer_concentration_array)]
- standard_name = turbulent_kinetic_energy
- long_name = turbulent kinetic energy
- units = J
+ standard_name = physics_timestep_initial_turbulent_kinetic_energy
+ long_name = physics_timestep_initial_turbulent kinetic energy at the beginning of the physics timestep
+ units = J kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_of_updraft_area_fraction_in_tracer_concentration_array)]
- standard_name = prognostic_updraft_area_fraction_in_convection
- long_name = convective updraft area fraction
+ standard_name = physics_timestep_initial_updraft_area_fraction
+ long_name = convective updraft area fraction at the beginning of the physics timestep
units = frac
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = (index_of_updraft_area_fraction_in_tracer_concentration_array > 0 )
[qgrs(:,:,index_of_updraft_velocity_in_tracer_concentration_array)]
- standard_name = prognostic_updraft_velocity_in_convection
+ standard_name = physics_timestep_initial_updraft_velocity
long_name = convective updraft velocity
units = Pa s-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
@@ -400,15 +400,15 @@
kind = kind_phys
active = (index_of_updraft_velocity_in_tracer_concentration_array > 0 )
[qgrs(:,:,index_for_smoke_in_tracer_concentration_array)]
- standard_name = smoke_tracer_concentration
- long_name = concentration of smoke
+ standard_name = physics_timestep_initial_smoke_tracer_concentration
+ long_name = concentration of smoke at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[qgrs(:,:,index_for_dust_in_tracer_concentration_array)]
- standard_name = dust_tracer_concentration
- long_name = concentration of dust
+ standard_name = physics_timestep_initial_dust_tracer_concentration
+ long_name = concentration of dust at the beginning of the physics timestep
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
@@ -431,264 +431,272 @@
name = GFS_stateout_type
type = ddt
[gu0]
- standard_name = x_wind_of_new_state
- long_name = zonal wind updated by physics
+ standard_name = x_wind
+ long_name = zonal wind
units = m s-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gu0(:,1)]
- standard_name = x_wind_of_new_state_at_surface_adjacent_layer
- long_name = zonal wind at lowest model layer updated by physics
+ standard_name = x_wind_at_surface_adjacent_layer
+ long_name = zonal wind at lowest model layer
units = m s-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
[gv0]
- standard_name = y_wind_of_new_state
- long_name = meridional wind updated by physics
+ standard_name = y_wind
+ long_name = meridional wind
units = m s-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gv0(:,1)]
- standard_name = y_wind_of_new_state_at_surface_adjacent_layer
- long_name = meridional wind at lowest model layer updated by physics
+ standard_name = y_wind_at_surface_adjacent_layer
+ long_name = meridional wind at lowest model layer
units = m s-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
[gt0]
- standard_name = air_temperature_of_new_state
- long_name = temperature updated by physics
+ standard_name = air_temperature
+ long_name = air temperature
units = K
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gt0(:,1)]
- standard_name = air_temperature_of_new_state_at_surface_adjacent_layer
- long_name = temperature at lowest model layer updated by physics
+ standard_name = air_temperature_at_surface_adjacent_layer
+ long_name = temperature at lowest model layer
units = K
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
[gq0]
- standard_name = tracer_concentration_of_new_state
- long_name = tracer concentration updated by physics
+ standard_name = tracer_concentration
+ long_name = tracer concentration
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_tracers)
type = real
kind = kind_phys
[gq0(:,:,index_of_specific_humidity_in_tracer_concentration_array)]
- standard_name = specific_humidity_of_new_state
- long_name = water vapor specific humidity updated by physics
+ standard_name = specific_humidity
+ long_name = water vapor specific humidity
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,1,index_of_specific_humidity_in_tracer_concentration_array)]
- standard_name = specific_humidity_of_new_state_at_surface_adjacent_layer
- long_name = water vapor specific humidity at lowest model layer updated by physics
+ standard_name = specific_humidity_at_surface_adjacent_layer
+ long_name = water vapor specific humidity at lowest model layer
units = kg kg-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_ozone_mixing_ratio_in_tracer_concentration_array)]
- standard_name = ozone_concentration_of_new_state
- long_name = ozone concentration updated by physics
+ standard_name = ozone_concentration
+ long_name = ozone concentration
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_cloud_liquid_water_mixing_ratio_in_tracer_concentration_array)]
- standard_name = cloud_liquid_water_mixing_ratio_of_new_state
- long_name = ratio of mass of cloud water to mass of dry air plus vapor (without condensates) updated by physics
+ standard_name = cloud_liquid_water_mixing_ratio
+ long_name = ratio of mass of cloud water to mass of dry air plus vapor (without condensates)
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_cloud_ice_mixing_ratio_in_tracer_concentration_array)]
- standard_name = cloud_ice_mixing_ratio_of_new_state
- long_name = ratio of mass of ice water to mass of dry air plus vapor (without condensates) updated by physics
+ standard_name = cloud_ice_mixing_ratio
+ long_name = ratio of mass of ice water to mass of dry air plus vapor (without condensates)
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_rain_mixing_ratio_in_tracer_concentration_array)]
- standard_name = rain_mixing_ratio_of_new_state
- long_name = ratio of mass of rain water to mass of dry air plus vapor (without condensates) updated by physics
+ standard_name = rain_mixing_ratio
+ long_name = ratio of mass of rain water to mass of dry air plus vapor (without condensates)
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_snow_mixing_ratio_in_tracer_concentration_array)]
- standard_name = snow_mixing_ratio_of_new_state
- long_name = ratio of mass of snow water to mass of dry air plus vapor (without condensates) updated by physics
+ standard_name = snow_mixing_ratio
+ long_name = ratio of mass of snow water to mass of dry air plus vapor (without condensates)
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_graupel_mixing_ratio_in_tracer_concentration_array)]
- standard_name = graupel_mixing_ratio_of_new_state
- long_name = ratio of mass of graupel to mass of dry air plus vapor (without condensates) updated by physics
+ standard_name = graupel_mixing_ratio
+ long_name = ratio of mass of graupel to mass of dry air plus vapor (without condensates)
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_hail_mixing_ratio_in_tracer_concentration_array)]
- standard_name = hail_mixing_ratio_of_new_state
- long_name = ratio of mass of hail to mass of dry air plus vapor (without condensates) updated by physics
+ standard_name = hail_mixing_ratio
+ long_name = ratio of mass of hail to mass of dry air plus vapor (without condensates)
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_hail_mixing_ratio_in_tracer_concentration_array > 0 )
[gq0(:,:,index_of_mass_weighted_rime_factor_in_tracer_concentration_array)]
- standard_name = mass_weighted_rime_factor_of_new_state
- long_name = mass weighted rime factor updated by physics
+ standard_name = mass_weighted_rime_factor
+ long_name = mass weighted rime factor
units = kg kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_hygroscopic_aerosols_of_new_state
- long_name = number concentration of water-friendly aerosols updated by physics
+ standard_name = mass_number_concentration_of_hygroscopic_aerosols
+ long_name = number concentration of water-friendly aerosols
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = (index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array > 0)
[gq0(:,:,index_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_of_new_state
- long_name = number concentration of ice-friendly aerosols updated by physics
+ standard_name = mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols
+ long_name = number concentration of ice-friendly aerosols
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = (index_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_in_tracer_concentration_array > 0)
[gq0(:,:,index_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_cloud_liquid_water_particles_in_air_of_new_state
- long_name = number concentration of cloud droplets updated by physics
+ standard_name = mass_number_concentration_of_cloud_liquid_water_particles_in_air
+ long_name = number concentration of cloud droplets
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = (index_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_array > 0)
[gq0(:,:,index_of_mass_number_concentration_of_cloud_ice_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_cloud_ice_water_crystals_in_air_of_new_state
- long_name = number concentration of ice updated by physics
+ standard_name = mass_number_concentration_of_cloud_ice_water_crystals_in_air
+ long_name = number concentration of ice
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_mass_number_concentration_of_rain_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_rain_of_new_state
- long_name = number concentration of rain updated by physics
+ standard_name = mass_number_concentration_of_rain
+ long_name = number concentration of rain
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_mass_number_concentration_of_snow_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_snow_of_new_state
- long_name = number concentration of snow updated by physics
+ standard_name = mass_number_concentration_of_snow
+ long_name = number concentration of snow
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_mass_number_concentration_of_graupel_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_graupel_of_new_state
- long_name = number concentration of graupel updated by physics
+ standard_name = mass_number_concentration_of_graupel
+ long_name = number concentration of graupel
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_mass_number_concentration_of_hail_in_tracer_concentration_array)]
- standard_name = mass_number_concentration_of_hail_of_new_state
- long_name = number concentration of hail updated by physics
+ standard_name = mass_number_concentration_of_hail
+ long_name = number concentration of hail
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_mass_number_concentration_of_hail_in_tracer_concentration_array > 0 )
[gq0(:,:,index_of_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array)]
- standard_name = cloud_condensation_nuclei_number_concentration_of_new_state
- long_name = number concentration of cloud condensation nuclei updated by physics
+ standard_name = cloud_condensation_nuclei_number_concentration
+ long_name = number concentration of cloud condensation nuclei
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array > 0 )
[gq0(:,:,index_of_activated_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array)]
- standard_name = activated_cloud_condensation_nuclei_number_concentration_of_new_state
- long_name = number concentration of cloud condensation nuclei updated by physics
+ standard_name = activated_cloud_condensation_nuclei_number_concentration
+ long_name = number concentration of cloud condensation nuclei
units = kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_activated_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array > 0 )
[gq0(:,:,index_of_graupel_volume_in_tracer_concentration_array)]
- standard_name = graupel_volume_of_new_state
- long_name = graupel volume updated by physics
+ standard_name = graupel_volume
+ long_name = graupel volume
units = m3 kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_graupel_volume_in_tracer_concentration_array > 0 )
[gq0(:,:,index_of_hail_volume_in_tracer_concentration_array)]
- standard_name = hail_volume_of_new_state
- long_name = hail volume updated by physics
+ standard_name = hail_volume
+ long_name = hail volume
units = m3 kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_hail_volume_in_tracer_concentration_array > 0 )
[gq0(:,:,index_of_reflectivity_of_rain_in_tracer_concentration_array)]
- standard_name = reflectivity_of_rain_of_new_state
- long_name = reflectivity of rain updated by physics
+ standard_name = reflectivity_of_rain
+ long_name = reflectivity of rain
units = m6 kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_reflectivity_of_rain_in_tracer_concentration_array > 0 )
[gq0(:,:,index_of_reflectivity_of_graupel_in_tracer_concentration_array)]
- standard_name = reflectivity_of_graupel_of_new_state
- long_name = reflectivity of graupel updated by physics
+ standard_name = reflectivity_of_graupel
+ long_name = reflectivity of graupel
units = m6 kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_reflectivity_of_graupel_in_tracer_concentration_array > 0 )
[gq0(:,:,index_of_reflectivity_of_hail_in_tracer_concentration_array)]
- standard_name = reflectivity_of_hail_of_new_state
- long_name = reflectivity of hail updated by physics
+ standard_name = reflectivity_of_hail
+ long_name = reflectivity of hail
units = m6 kg-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_reflectivity_of_hail_in_tracer_concentration_array > 0 )
[gq0(:,:,index_of_cloud_area_fraction_in_atmosphere_layer_in_tracer_concentration_array)]
- standard_name = cloud_area_fraction_in_atmosphere_layer_of_new_state
- long_name = cloud fraction updated by physics
+ standard_name = cloud_area_fraction_in_atmosphere_layer
+ long_name = cloud fraction
units = frac
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
[gq0(:,:,index_of_updraft_area_fraction_in_tracer_concentration_array)]
- standard_name = updraft_area_fraction_updated_by_physics
- long_name = convective updraft area fraction updated by physics
+ standard_name = updraft_area_fraction
+ long_name = convective updraft area fraction
units = frac
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_updraft_area_fraction_in_tracer_concentration_array > 0 )
[gq0(:,:,index_of_updraft_velocity_in_tracer_concentration_array)]
- standard_name = updraft_velocity_updated_by_physics
- long_name = convective updraft area fraction updated by physics
+ standard_name = updraft_velocity
+ long_name = convective updraft velocity
units = Pa s-1
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = ( index_of_updraft_velocity_in_tracer_concentration_array > 0 )
+[gq0(:,:,index_of_turbulent_kinetic_energy_in_tracer_concentration_array)]
+ standard_name = turbulent_kinetic_energy
+ long_name = turbulent kinetic energy
+ units = J kg-1
+ dimensions = (horizontal_dimension,vertical_layer_dimension)
+ type = real
+ kind = kind_phys
+ active = ( index_of_turbulent_kinetic_energy_in_tracer_concentration_array > 0 )
########################################################################
[ccpp-table-properties]
name = GFS_sfcprop_type
@@ -3934,6 +3942,72 @@
long_name = initial date with different size and ordering
units = none
dimensions = (4)
+ type = integer
+[tend_opt_swrad]
+ standard_name = control_for_application_method_of_shortwave_radiation_tendencies
+ long_name = control for application method of shortwave radiation tendencies
+ units = 1
+ dimensions = ()
+ type = integer
+[tend_opt_lwrad]
+ standard_name = control_for_application_method_of_longwave_radiation_tendencies
+ long_name = control for application method of longwave radiation tendencies
+ units = 1
+ dimensions = ()
+ type = integer
+[tend_opt_rad_scaler]
+ standard_name = control_for_application_method_of_radiation_timescaler_tendencies
+ long_name = control for application method of radiation timescaler tendencies
+ units = 1
+ dimensions = ()
+ type = integer
+[tend_opt_surface]
+ standard_name = control_for_application_method_of_surface_scheme_tendencies
+ long_name = control for application method of surface scheme tendencies
+ units = 1
+ dimensions = ()
+ type = integer
+[tend_opt_pbl]
+ standard_name = control_for_application_method_of_planetary_boundary_layer_tendencies
+ long_name = control for application method of planetary boundary layer tendencies
+ units = 1
+ dimensions = ()
+ type = integer
+[tend_opt_gwd]
+ standard_name = control_for_application_method_of_gravity_wave_drag_tendencies
+ long_name = control for application method of gravity wave drag tendencies
+ units = 1
+ dimensions = ()
+ type = integer
+[tend_opt_photochem]
+ standard_name = control_for_application_method_of_photochemistry_tendencies
+ long_name = control for application method of photochemistry tendencies
+ units = 1
+ dimensions = ()
+ type = integer
+[tend_opt_deep_conv]
+ standard_name = control_for_application_method_of_deep_convection_tendencies
+ long_name = control for application method of deep convection tendencies
+ units = 1
+ dimensions = ()
+ type = integer
+[tend_opt_shal_conv]
+ standard_name = control_for_application_method_of_shallow_convection_tendencies
+ long_name = control for application method of shallow convection tendencies
+ units = 1
+ dimensions = ()
+ type = integer
+[tend_opt_mp]
+ standard_name = control_for_application_method_of_microphysics_tendencies
+ long_name = control for application method of microphysics tendencies
+ units = 1
+ dimensions = ()
+ type = integer
+[tend_opt_stoch]
+ standard_name = control_for_application_method_of_stochastic_physics_tendencies
+ long_name = control for application method of stochastic physics tendencies
+ units = 1
+ dimensions = ()
type = integer
[nsswr]
standard_name = number_of_timesteps_between_shortwave_radiation_calls