Skip to content

Commit

Permalink
Merge pull request #13 from climbfuji/gsd-dev-clouds_thompson-no-aero…
Browse files Browse the repository at this point in the history
…_dom

Bug fixes for/update of "Changes in cloud/radiation interaction in GSD physics suite", bug fixes for non-aerosol-aware Thompson MP
  • Loading branch information
DomHeinzeller authored Mar 13, 2020
2 parents 3300660 + 3338fe0 commit 2a05c53
Show file tree
Hide file tree
Showing 11 changed files with 41 additions and 21 deletions.
4 changes: 2 additions & 2 deletions ccpp/config/ccpp_prebuild_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -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' ],
Expand Down
2 changes: 1 addition & 1 deletion ccpp/physics
4 changes: 2 additions & 2 deletions ccpp/suites/suite_FV3_GFS_v15_mynn.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>rrtmg_sw_pre</scheme>
<scheme>mynnrad_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw_pre</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>mynnrad_post</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
Expand Down
4 changes: 2 additions & 2 deletions ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>rrtmg_sw_pre</scheme>
<scheme>mynnrad_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw_pre</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>mynnrad_post</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
Expand Down
4 changes: 2 additions & 2 deletions ccpp/suites/suite_FV3_GSD_SAR.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>rrtmg_sw_pre</scheme>
<scheme>mynnrad_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw_pre</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>mynnrad_post</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
Expand Down
4 changes: 2 additions & 2 deletions ccpp/suites/suite_FV3_GSD_noah.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>rrtmg_sw_pre</scheme>
<scheme>mynnrad_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw_pre</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>mynnrad_post</scheme>
<scheme>sgscloud_radpost</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
Expand Down
4 changes: 2 additions & 2 deletions ccpp/suites/suite_FV3_GSD_v0.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>rrtmg_sw_pre</scheme>
<scheme>mynnrad_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw_pre</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>mynnrad_post</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
Expand Down
4 changes: 2 additions & 2 deletions ccpp/suites/suite_FV3_GSD_v0_drag_suite.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>rrtmg_sw_pre</scheme>
<scheme>mynnrad_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw_pre</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>mynnrad_post</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
Expand Down
11 changes: 8 additions & 3 deletions gfsphysics/GFS_layer/GFS_restart.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -188,7 +188,7 @@ subroutine GFS_restart_populate (Restart, Model, Statein, Stateout, Sfcprop, &
!--- RAP/HRRR-specific variables, 2D
num = offset + ndiag_rst
! GF
if (Model%imfdeepcnv == 3) then
if (Model%imfdeepcnv == Model%imfdeepcnv_gf) then
num = num + 1
Restart%name2d(num) = 'gf_2d_conv_act'
do nb = 1,nblks
Expand Down Expand Up @@ -267,7 +267,7 @@ subroutine GFS_restart_populate (Restart, Model, Statein, Stateout, Sfcprop, &
num = Model%ntot3d

! GF
if (Model%imfdeepcnv == 3) then
if (Model%imfdeepcnv == Model%imfdeepcnv_gf) then
num = num + 1
Restart%name3d(num) = 'gf_3d_prevst'
do nb = 1,nblks
Expand All @@ -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
Expand Down
13 changes: 11 additions & 2 deletions gfsphysics/GFS_layer/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,8 @@ 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
Expand Down Expand Up @@ -2633,6 +2635,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


Expand Down Expand Up @@ -6064,9 +6073,9 @@ subroutine interstitial_setup_tracers(Interstitial, Model)

if (Model%imp_physics == Model%imp_physics_thompson) then
if (Model%ltaerosol) then
Interstitial%nvdiff = 10
Interstitial%nvdiff = 12
else
Interstitial%nvdiff = 7
Interstitial%nvdiff = 9
endif
if (Model%satmedmf) Interstitial%nvdiff = Interstitial%nvdiff + 1
Interstitial%nncl = 5
Expand Down
8 changes: 7 additions & 1 deletion gfsphysics/GFS_layer/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -1862,7 +1862,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]
name = GFS_control_type
Expand Down

0 comments on commit 2a05c53

Please sign in to comment.