diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py
index ea5557f0f..f28751f75 100755
--- a/ccpp/config/ccpp_prebuild_config.py
+++ b/ccpp/config/ccpp_prebuild_config.py
@@ -207,8 +207,8 @@
'FV3/ccpp/physics/physics/ysuvdif.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/module_MYNNPBL_wrapper.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/module_MYNNSFC_wrapper.F90' : [ 'slow_physics' ],
- 'FV3/ccpp/physics/physics/module_MYNNrad_pre.F90' : [ 'slow_physics' ],
- 'FV3/ccpp/physics/physics/module_MYNNrad_post.F90' : [ 'slow_physics' ],
+ 'FV3/ccpp/physics/physics/module_SGSCloud_RadPre.F90' : [ 'slow_physics' ],
+ 'FV3/ccpp/physics/physics/module_SGSCloud_RadPost.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/module_MYJSFC_wrapper.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/module_MYJPBL_wrapper.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/mp_thompson_pre.F90' : [ 'slow_physics' ],
diff --git a/ccpp/physics b/ccpp/physics
index 32e245a44..7289051e6 160000
--- a/ccpp/physics
+++ b/ccpp/physics
@@ -1 +1 @@
-Subproject commit 32e245a44f372f3f17517548c7604cb57443783f
+Subproject commit 7289051e62c748399972531a43d25cafa8189de3
diff --git a/ccpp/suites/suite_FV3_GFS_v15_mynn.xml b/ccpp/suites/suite_FV3_GFS_v15_mynn.xml
index 8fffa33e8..49d98cea4 100644
--- a/ccpp/suites/suite_FV3_GFS_v15_mynn.xml
+++ b/ccpp/suites/suite_FV3_GFS_v15_mynn.xml
@@ -20,12 +20,12 @@
GFS_suite_interstitial_rad_reset
GFS_rrtmg_pre
rrtmg_sw_pre
- mynnrad_pre
+ sgscloud_radpre
rrtmg_sw
rrtmg_sw_post
rrtmg_lw_pre
rrtmg_lw
- mynnrad_post
+ sgscloud_radpost
rrtmg_lw_post
GFS_rrtmg_post
diff --git a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml
index 3de52fa45..7dd46088f 100644
--- a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml
+++ b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml
@@ -15,12 +15,12 @@
GFS_suite_interstitial_rad_reset
GFS_rrtmg_pre
rrtmg_sw_pre
- mynnrad_pre
+ sgscloud_radpre
rrtmg_sw
rrtmg_sw_post
rrtmg_lw_pre
rrtmg_lw
- mynnrad_post
+ sgscloud_radpost
rrtmg_lw_post
GFS_rrtmg_post
diff --git a/ccpp/suites/suite_FV3_GSD_SAR.xml b/ccpp/suites/suite_FV3_GSD_SAR.xml
index e563301c4..58bba03a6 100644
--- a/ccpp/suites/suite_FV3_GSD_SAR.xml
+++ b/ccpp/suites/suite_FV3_GSD_SAR.xml
@@ -15,12 +15,12 @@
GFS_suite_interstitial_rad_reset
GFS_rrtmg_pre
rrtmg_sw_pre
- mynnrad_pre
+ sgscloud_radpre
rrtmg_sw
rrtmg_sw_post
rrtmg_lw_pre
rrtmg_lw
- mynnrad_post
+ sgscloud_radpost
rrtmg_lw_post
GFS_rrtmg_post
diff --git a/ccpp/suites/suite_FV3_GSD_noah.xml b/ccpp/suites/suite_FV3_GSD_noah.xml
index e9795b6ef..450b9d389 100644
--- a/ccpp/suites/suite_FV3_GSD_noah.xml
+++ b/ccpp/suites/suite_FV3_GSD_noah.xml
@@ -15,12 +15,12 @@
GFS_suite_interstitial_rad_reset
GFS_rrtmg_pre
rrtmg_sw_pre
- mynnrad_pre
+ sgscloud_radpre
rrtmg_sw
rrtmg_sw_post
rrtmg_lw_pre
rrtmg_lw
- mynnrad_post
+ sgscloud_radpost
rrtmg_lw_post
GFS_rrtmg_post
diff --git a/ccpp/suites/suite_FV3_GSD_v0.xml b/ccpp/suites/suite_FV3_GSD_v0.xml
index 3f83b5dc5..fe2db9508 100644
--- a/ccpp/suites/suite_FV3_GSD_v0.xml
+++ b/ccpp/suites/suite_FV3_GSD_v0.xml
@@ -15,12 +15,12 @@
GFS_suite_interstitial_rad_reset
GFS_rrtmg_pre
rrtmg_sw_pre
- mynnrad_pre
+ sgscloud_radpre
rrtmg_sw
rrtmg_sw_post
rrtmg_lw_pre
rrtmg_lw
- mynnrad_post
+ sgscloud_radpost
rrtmg_lw_post
GFS_rrtmg_post
diff --git a/ccpp/suites/suite_FV3_GSD_v0_drag_suite.xml b/ccpp/suites/suite_FV3_GSD_v0_drag_suite.xml
index 8c56c07e5..c67249133 100644
--- a/ccpp/suites/suite_FV3_GSD_v0_drag_suite.xml
+++ b/ccpp/suites/suite_FV3_GSD_v0_drag_suite.xml
@@ -15,12 +15,12 @@
GFS_suite_interstitial_rad_reset
GFS_rrtmg_pre
rrtmg_sw_pre
- mynnrad_pre
+ sgscloud_radpre
rrtmg_sw
rrtmg_sw_post
rrtmg_lw_pre
rrtmg_lw
- mynnrad_post
+ sgscloud_radpost
rrtmg_lw_post
GFS_rrtmg_post
diff --git a/gfsphysics/GFS_layer/GFS_restart.F90 b/gfsphysics/GFS_layer/GFS_restart.F90
index a24cc0fc6..b6e6a8b86 100644
--- a/gfsphysics/GFS_layer/GFS_restart.F90
+++ b/gfsphysics/GFS_layer/GFS_restart.F90
@@ -123,7 +123,7 @@ subroutine GFS_restart_populate (Restart, Model, Statein, Stateout, Sfcprop, &
#ifdef CCPP
! GF
if (Model%imfdeepcnv == 3) then
- Restart%num3d = Restart%num3d + 2
+ Restart%num3d = Restart%num3d + 3
endif
! MYNN PBL
if (Model%do_mynnedmf) then
@@ -278,6 +278,11 @@ subroutine GFS_restart_populate (Restart, Model, Statein, Stateout, Sfcprop, &
do nb = 1,nblks
Restart%data(nb,num)%var3p => Tbd(nb)%prevsq(:,:)
enddo
+ num = num + 1
+ Restart%name3d(num) = 'gf_3d_qci_conv'
+ do nb = 1,nblks
+ Restart%data(nb,num)%var3p => Coupling(nb)%qci_conv(:,:)
+ enddo
endif
! MYNN PBL
if (Model%do_mynnedmf) then
diff --git a/gfsphysics/GFS_layer/GFS_typedefs.F90 b/gfsphysics/GFS_layer/GFS_typedefs.F90
index ff1d0184e..baf85e2ae 100644
--- a/gfsphysics/GFS_layer/GFS_typedefs.F90
+++ b/gfsphysics/GFS_layer/GFS_typedefs.F90
@@ -497,6 +497,7 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: dqdti (:,:) => null() !< instantaneous total moisture tendency (kg/kg/s)
real (kind=kind_phys), pointer :: ushfsfci(:) => null() !< instantaneous upward sensible heat flux (w/m**2)
real (kind=kind_phys), pointer :: dkt (:,:) => null() !< instantaneous dkt diffusion coefficient for temperature (m**2/s)
+ real (kind=kind_phys), pointer :: qci_conv(:,:) => null() !< convective cloud condesate after rainout
contains
procedure :: create => coupling_create !< allocate array data
@@ -2607,6 +2608,13 @@ subroutine coupling_create (Coupling, IM, Model)
Coupling%nifa2d = clear_val
endif
+#ifdef CCPP
+ if (Model%imfdeepcnv == Model%imfdeepcnv_gf) then
+ allocate (Coupling%qci_conv (IM,Model%levs))
+ Coupling%qci_conv = clear_val
+ endif
+#endif
+
end subroutine coupling_create
diff --git a/gfsphysics/GFS_layer/GFS_typedefs.meta b/gfsphysics/GFS_layer/GFS_typedefs.meta
index 872cb56ca..cfb48288b 100644
--- a/gfsphysics/GFS_layer/GFS_typedefs.meta
+++ b/gfsphysics/GFS_layer/GFS_typedefs.meta
@@ -1792,6 +1792,13 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
+[qci_conv]
+ standard_name = convective_cloud_condesate_after_rainout
+ long_name = convective cloud condesate after rainout
+ units = kg kg-1
+ dimensions = (horizontal_dimension,vertical_dimension)
+ type = real
+ kind = kind_phys
########################################################################
[ccpp-arg-table]