diff --git a/examples/suite_FV3_test.xml b/examples/suite_FV3_test.xml
index 3a1f7345..c5ba02f5 100644
--- a/examples/suite_FV3_test.xml
+++ b/examples/suite_FV3_test.xml
@@ -7,10 +7,33 @@
FV3_test
+
+
+ GFS_rrtmg_setup
+
+
+
+
+ GFS_suite_interstitial_rad_reset
+ GFS_rrtmg_pre
+ rrtmg_sw_pre
+ rrtmg_sw
+ rrtmg_sw_post
+ rrtmg_lw_pre
+ rrtmg_lw
+ rrtmg_lw_post
+ GFS_rrtmg_post
+
+
+
+
+
+ GFS_suite_interstitial_phys_reset
+ hedmf
+ samfdeepcnv
cnvc90
- mp_thompson_hrrr
diff --git a/examples/suite_FV3_test_thompson.xml b/examples/suite_FV3_test_thompson.xml
new file mode 100644
index 00000000..f1ee3333
--- /dev/null
+++ b/examples/suite_FV3_test_thompson.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+ FV3_test
+
+
+
+
+ GFS_rrtmg_setup
+
+
+
+
+ GFS_suite_interstitial_rad_reset
+ GFS_rrtmg_pre
+ rrtmg_sw_pre
+ rrtmg_sw
+ rrtmg_sw_post
+ rrtmg_lw_pre
+ rrtmg_lw
+ rrtmg_lw_post
+ GFS_rrtmg_post
+
+
+
+
+
+
+
+ GFS_suite_interstitial_phys_reset
+ hedmf
+ samfdeepcnv
+ cnvc90
+ mp_thompson_hrrr
+
+
+
+
diff --git a/scripts/ccpp_prebuild_config_FV3.py b/scripts/ccpp_prebuild_config_FV3.py
index a91fbe25..3bc5326a 100755
--- a/scripts/ccpp_prebuild_config_FV3.py
+++ b/scripts/ccpp_prebuild_config_FV3.py
@@ -16,41 +16,42 @@
# Add all physics scheme dependencies relative to basedir - note that these are all violations
# of the CCPP requirement to not use any external modules except Fortran standard modules!
SCHEME_FILES_DEPENDENCIES = [
-# 'ccpp/physics/physics/GFDL_parse_tracers.F90',
+ 'ccpp/physics/physics/GFDL_parse_tracers.F90',
# 'ccpp/physics/physics/date_def.f',
'ccpp/physics/physics/funcphys.f90',
-# 'ccpp/physics/physics/gfs_phy_tracer_config.f',
-# 'ccpp/physics/physics/gocart_tracer_config_stub.f',
-# 'ccpp/physics/physics/h2o_def.f',
-# 'ccpp/physics/physics/iounitdef.f',
+ 'ccpp/physics/physics/gfs_phy_tracer_config.f',
+ 'ccpp/physics/physics/gocart_tracer_config_stub.f',
+ 'ccpp/physics/physics/h2o_def.f',
+ 'ccpp/physics/physics/iounitdef.f',
'ccpp/physics/physics/machine.F', # DH should this be in FV3/gfsphysics/physics/physparam.f ?
-# 'ccpp/physics/physics/mersenne_twister.f',
+ 'ccpp/physics/physics/mersenne_twister.f',
'ccpp/physics/physics/mfpbl.f',
-# 'ccpp/physics/physics/module_bfmicrophysics.f',
+ 'ccpp/physics/physics/module_bfmicrophysics.f',
# 'ccpp/physics/physics/module_nst_model.f90',
# 'ccpp/physics/physics/module_nst_parameters.f90',
# 'ccpp/physics/physics/module_nst_water_prop.f90',
'ccpp/physics/physics/module_mp_thompson_hrrr_radar.F90',
'ccpp/physics/physics/module_mp_thompson_hrrr.F90',
# 'ccpp/physics/physics/namelist_soilveg.f',
-# 'ccpp/physics/physics/ozne_def.f',
+ 'ccpp/physics/physics/ozne_def.f',
'ccpp/physics/physics/physcons.f90',
'ccpp/physics/physics/physparam.f', # DH should this be in FV3/gfsphysics/physics/physparam.f ?
-# 'ccpp/physics/physics/radcons.f90',
-# 'ccpp/physics/physics/radiation_aerosols.f',
-# 'ccpp/physics/physics/radiation_astronomy.f',
-# 'ccpp/physics/physics/radiation_clouds.f',
-# 'ccpp/physics/physics/radiation_gases.f',
-# 'ccpp/physics/physics/radiation_surface.f',
-# 'ccpp/physics/physics/radlw_datatb.f',
- 'ccpp/physics/physics/radlw_param.f', # DH should this be in FV3/gfsphysics/physics/radlw_param.f
-# 'ccpp/physics/physics/radsw_datatb.f',
- 'ccpp/physics/physics/radsw_param.f', # DH should this be in FV3/gfsphysics/physics/radsw_param.f
-# 'ccpp/physics/physics/rascnvv2.f',
+ 'ccpp/physics/physics/radcons.f90',
+ 'ccpp/physics/physics/radiation_aerosols.f',
+ 'ccpp/physics/physics/radiation_astronomy.f',
+ 'ccpp/physics/physics/radiation_clouds.f',
+ 'ccpp/physics/physics/radiation_gases.f',
+ 'ccpp/physics/physics/radiation_surface.f',
+ 'ccpp/physics/physics/radlw_datatb.f',
+ 'ccpp/physics/physics/radlw_param.f',
+ 'ccpp/physics/physics/radsw_datatb.f',
+ 'ccpp/physics/physics/radsw_param.f',
+ 'ccpp/physics/physics/rascnvv2.f',
# 'ccpp/physics/physics/sflx.f',
+ 'ccpp/physics/physics/surface_perturbation.F90',
'ccpp/physics/physics/tridi.f',
-# 'ccpp/physics/physics/wam_f107_kp_mod.f90',
-# 'FV3/gfsphysics/GFS_layer/GFS_typedefs.F90',
+ 'ccpp/physics/physics/wam_f107_kp_mod.f90',
+ 'FV3/gfsphysics/GFS_layer/GFS_typedefs.F90',
]
# Add all physics scheme files relative to basedir
@@ -62,11 +63,12 @@
# 'ccpp/physics/physics/GFS_PBL_generic.f90',
# 'ccpp/physics/physics/GFS_SCNV_generic.f90',
# 'ccpp/physics/physics/GFS_calpreciptype.f90',
-# 'ccpp/physics/physics/GFS_debug.F90',
-# 'ccpp/physics/physics/GFS_rrtmg_post.F90',
-# 'ccpp/physics/physics/GFS_rrtmg_pre.F90',
+ 'ccpp/physics/physics/GFS_debug.F90',
+ 'ccpp/physics/physics/GFS_rrtmg_post.F90',
+ 'ccpp/physics/physics/GFS_rrtmg_pre.F90',
+ 'ccpp/physics/physics/GFS_rrtmg_setup.F90',
# 'ccpp/physics/physics/GFS_stochastics.f90',
-# 'ccpp/physics/physics/GFS_suite_interstitial.ccpp.F90',
+ 'ccpp/physics/physics/GFS_suite_interstitial.F90',
# 'ccpp/physics/physics/GFS_surface_generic.f90',
# 'ccpp/physics/physics/GFS_surface_loop_control.f',
# 'ccpp/physics/physics/GFS_zhao_carr_pre.f90',
@@ -82,13 +84,13 @@
'ccpp/physics/physics/mp_thompson_hrrr.F90',
# 'ccpp/physics/physics/ozphys.f',
# 'ccpp/physics/physics/precpd.f',
-# 'ccpp/physics/physics/radlw_main.f',
-# 'ccpp/physics/physics/radsw_main.f',
+ 'ccpp/physics/physics/radlw_main.f',
+ 'ccpp/physics/physics/radsw_main.f',
# 'ccpp/physics/physics/rayleigh_damp.f',
-# 'ccpp/physics/physics/rrtmg_lw_post.F90',
-# 'ccpp/physics/physics/rrtmg_lw_pre.F90',
-# 'ccpp/physics/physics/rrtmg_sw_post.F90',
-# 'ccpp/physics/physics/rrtmg_sw_pre.F90',
+ 'ccpp/physics/physics/rrtmg_lw_post.F90',
+ 'ccpp/physics/physics/rrtmg_lw_pre.F90',
+ 'ccpp/physics/physics/rrtmg_sw_post.F90',
+ 'ccpp/physics/physics/rrtmg_sw_pre.F90',
# 'ccpp/physics/physics/sfc_diag.f',
# 'ccpp/physics/physics/sfc_diff.f',
# 'ccpp/physics/physics/sfc_drv.f',
@@ -156,6 +158,8 @@
'mean_effective_radius_for_rain_drop',
'cloud_snow_water_path',
'mean_effective_radius_for_snow_flake',
+ 'cloud_optical_depth_weighted',
+ 'cloud_optical_depth_layers_678',
],
},
'rrtmg_lw' : {
@@ -169,6 +173,8 @@
'mean_effective_radius_for_rain_drop',
'cloud_snow_water_path',
'mean_effective_radius_for_snow_flake',
+ 'cloud_optical_depth_weighted',
+ 'cloud_optical_depth_layers_678',
],
},
'mp_thompson_hrrr' : {
@@ -222,24 +228,18 @@
use ccpp_api, only: ccpp_error
'''
-## Modules to load for auto-generated ccpp_field_get code
-## in the physics scheme cap (e.g. derived data types)
-#MODULE_USE_TEMPLATE_SCHEME_CAP = \
-#'''
-# use machine, only: kind_phys
-# use module_radlw_parameters, only: sfcflw_type, topflw_type
-# use module_radsw_parameters, only: cmpfsw_type, sfcfsw_type, topfsw_type
-# use GFS_typedefs, only: GFS_statein_type, GFS_stateout_type, &
-# GFS_sfcprop_type, GFS_coupling_type, &
-# GFS_control_type, GFS_grid_type, &
-# GFS_tbd_type, GFS_cldprop_type, &
-# GFS_radtend_type, GFS_diag_type, &
-# GFS_interstitial_type
-#'''
-
# Modules to load for auto-generated ccpp_field_get code
# in the physics scheme cap (e.g. derived data types)
MODULE_USE_TEMPLATE_SCHEME_CAP = \
'''
use machine, only: kind_phys
+ use machine, only: kind_phys
+ use module_radlw_parameters, only: sfcflw_type, topflw_type
+ use module_radsw_parameters, only: cmpfsw_type, sfcfsw_type, topfsw_type
+ use GFS_typedefs, only: GFS_statein_type, GFS_stateout_type, &
+ GFS_sfcprop_type, GFS_coupling_type, &
+ GFS_control_type, GFS_grid_type, &
+ GFS_tbd_type, GFS_cldprop_type, &
+ GFS_radtend_type, GFS_diag_type, &
+ GFS_interstitial_type
'''
diff --git a/scripts/ccpp_prebuild_config_SCM.py b/scripts/ccpp_prebuild_config_SCM.py
index fd5ffaaf..b4933da0 100755
--- a/scripts/ccpp_prebuild_config_SCM.py
+++ b/scripts/ccpp_prebuild_config_SCM.py
@@ -32,7 +32,7 @@
'ccpp-physics/physics/GFS_rad_time_vary.scm.f90',
'ccpp-physics/physics/GFS_rrtmg_post.F90',
'ccpp-physics/physics/GFS_rrtmg_pre.F90',
- 'ccpp-physics/physics/GFS_suite_interstitial.ccpp.F90',
+ 'ccpp-physics/physics/GFS_suite_interstitial.F90',
'ccpp-physics/physics/GFS_surface_generic.f90',
'ccpp-physics/physics/GFS_surface_loop_control.f',
'ccpp-physics/physics/GFS_zhao_carr_pre.f90',
@@ -97,6 +97,8 @@
'mean_effective_radius_for_rain_drop',
'cloud_snow_water_path',
'mean_effective_radius_for_snow_flake',
+ 'cloud_optical_depth_weighted',
+ 'cloud_optical_depth_layers_678',
],
},
'rrtmg_lw' : {
@@ -110,6 +112,8 @@
'mean_effective_radius_for_rain_drop',
'cloud_snow_water_path',
'mean_effective_radius_for_snow_flake',
+ 'cloud_optical_depth_weighted',
+ 'cloud_optical_depth_layers_678',
],
},
#'subroutine_name_1' : 'all',
diff --git a/src/ccpp_fcall.F90 b/src/ccpp_fcall.F90
index 2600e65e..964a92c4 100644
--- a/src/ccpp_fcall.F90
+++ b/src/ccpp_fcall.F90
@@ -178,7 +178,7 @@ subroutine ccpp_run_suite(suite, cdata, stage, ierr)
ierr = 0
- call ccpp_debug('Called ccpp_run_suite')
+ call ccpp_debug('Called ccpp_run_suite for stage ' // trim(stage))
do i=1,suite%groups_max
call ccpp_run_group(suite%groups(i), cdata, stage=stage, ierr=ierr)
@@ -243,7 +243,7 @@ subroutine ccpp_run_group(group, cdata, stage, ierr)
ierr = 0
- call ccpp_debug('Called ccpp_run_group')
+ call ccpp_debug('Called ccpp_run_group for stage ' // trim(stage))
do i=1,group%subcycles_max
call ccpp_run_subcycle(group%subcycles(i), cdata, stage=stage, ierr=ierr)
@@ -307,7 +307,7 @@ subroutine ccpp_run_subcycle(subcycle, cdata, stage, ierr)
ierr = 0
- call ccpp_debug('Called ccpp_run_subcycle')
+ call ccpp_debug('Called ccpp_run_subcycle for stage ' // trim(stage))
do i=1,subcycle%loop
do j=1,subcycle%schemes_max