Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions physics/GFS_rrtmg_pre.F90
Original file line number Diff line number Diff line change
Expand Up @@ -751,6 +751,7 @@ subroutine GFS_rrtmg_pre_run (Model, Grid, Sfcprop, Statein, & ! input
ntsw-1,ntgl-1, &
im, lmk, lmp, Model%uni_cld, &
Model%lmfshal,Model%lmfdeep2, &
Coupling%qci_conv, &
cldcov(:,1:LMK),Tbd%phy_f3d(:,:,1), &
Tbd%phy_f3d(:,:,2), Tbd%phy_f3d(:,:,3), &
clouds,cldsa,mtopa,mbota, de_lgth) ! --- outputs
Expand Down
4 changes: 4 additions & 0 deletions physics/cu_gf_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ subroutine cu_gf_driver_run(ntracer,garea,im,ix,km,dt,cactiv, &
hbot,htop,kcnv,xland,hfx2,qfx2,cliw,clcw, &
pbl,ud_mf,dd_mf,dt_mf,cnvw_moist,cnvc,imfshalcnv, &
nwfa,con_rd,gq0,ntinc,ntlnc,imp_physics,imp_physics_thompson, &
qci_conv, &
errmsg,errflg)
!-------------------------------------------------------------
implicit none
Expand All @@ -100,6 +101,7 @@ subroutine cu_gf_driver_run(ntracer,garea,im,ix,km,dt,cactiv, &

real(kind=kind_phys), dimension( ix , km ), intent(in ) :: forcet,forceqv_spechum,w,phil
real(kind=kind_phys), dimension( ix , km ), intent(inout ) :: t,us,vs
real(kind=kind_phys), dimension( ix , km ), intent(inout ) :: qci_conv
real(kind=kind_phys), dimension( ix ) :: rand_mom,rand_vmas
real(kind=kind_phys), dimension( ix,4 ) :: rand_clos
real(kind=kind_phys), dimension( ix , km, 11 ) :: gdc,gdc2
Expand Down Expand Up @@ -751,6 +753,7 @@ subroutine cu_gf_driver_run(ntracer,garea,im,ix,km,dt,cactiv, &

gdc(i,k,1)= max(0.,tun_rad_shall(i)*cupclws(i,k)*cutens(i)) ! my mod
gdc2(i,k,1)=max(0.,tun_rad_deep(i)*(cupclwm(i,k)*cutenm(i)+cupclw(i,k)*cuten(i)))
qci_conv(i,k)=gdc2(i,k,1)
gdc(i,k,2)=(outt(i,k))*86400.
gdc(i,k,3)=(outtm(i,k))*86400.
gdc(i,k,4)=(outts(i,k))*86400.
Expand Down Expand Up @@ -876,6 +879,7 @@ subroutine cu_gf_driver_run(ntracer,garea,im,ix,km,dt,cactiv, &
!
! Scale dry mixing ratios for water wapor and cloud water to specific humidy / moist mixing ratios
!

qv_spechum = qv/(1.0_kind_phys+qv)
cnvw_moist = cnvw/(1.0_kind_phys+qv)
!
Expand Down
9 changes: 9 additions & 0 deletions physics/cu_gf_driver.meta
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,15 @@
type = integer
intent = in
optional = F
[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
intent = inout
optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
Expand Down
125 changes: 0 additions & 125 deletions physics/module_MYNNrad_pre.F90

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
!> \file module_MYNNrad_post.F90
!> \file module_SGSCloud_RadPost.F90
!! Contains the post (interstitial) work after the call to the radiation schemes:
!! 1) Restores the original qc & qi

MODULE mynnrad_post
MODULE sgscloud_radpost

contains

subroutine mynnrad_post_init ()
end subroutine mynnrad_post_init
subroutine sgscloud_radpost_init ()
end subroutine sgscloud_radpost_init

subroutine mynnrad_post_finalize ()
end subroutine mynnrad_post_finalize
subroutine sgscloud_radpost_finalize ()
end subroutine sgscloud_radpost_finalize

!>\defgroup gsd_mynnrad_post GSD mynnrad_post_run Module
!>\defgroup sgscloud_radpost GSD sgscloud_radpost_run Module
!>\ingroup gsd_mynn_edmf
!! This interstitial code restores the original resolved-scale clouds (qc and qi).
#if 0
!! \section arg_table_mynnrad_post_run Argument Table
!! \htmlinclude mynnrad_post_run.html
!! \section arg_table_sgscloud_radpost_run Argument Table
!! \htmlinclude sgscloud_radpost_run.html
!!
#endif
SUBROUTINE mynnrad_post_run( &
SUBROUTINE sgscloud_radpost_run( &
& ix,im,levs, &
& flag_init,flag_restart, &
& qc,qi, &
& qc_save, qi_save, &
& errmsg, errflg )
Expand All @@ -34,6 +35,7 @@ SUBROUTINE mynnrad_post_run( &
!-------------------------------------------------------------------

integer, intent(in) :: ix, im, levs
logical, intent(in) :: flag_init, flag_restart
real(kind=kind_phys), dimension(im,levs), intent(out) :: qc, qi
real(kind=kind_phys), dimension(im,levs), intent(in) :: qc_save, qi_save
character(len=*), intent(out) :: errmsg
Expand All @@ -48,6 +50,11 @@ SUBROUTINE mynnrad_post_run( &
!write(0,*)"=============================================="
!write(0,*)"in mynn rad post"

if (flag_init .and. (.not. flag_restart)) then
!write (0,*) 'Skip MYNNrad_post flag_init = ', flag_init
return
endif

! Add subgrid cloud information:
do k = 1, levs
do i = 1, im
Expand All @@ -61,8 +68,8 @@ SUBROUTINE mynnrad_post_run( &
! print*,"===Finished restoring the resolved-scale clouds"
! print*,"qc_save:",qc_save(1,1)," qc:",qc(1,1)

END SUBROUTINE mynnrad_post_run
END SUBROUTINE sgscloud_radpost_run

!###=================================================================

END MODULE mynnrad_post
END MODULE sgscloud_radpost
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[ccpp-arg-table]
name = mynnrad_post_run
name = sgscloud_radpost_run
type = scheme
[ix]
standard_name = horizontal_dimension
Expand All @@ -25,6 +25,22 @@
type = integer
intent = in
optional = F
[flag_init]
standard_name = flag_for_first_time_step
long_name = flag signaling first time step for time integration loop
units = flag
dimensions = ()
type = logical
intent = in
optional = F
[flag_restart]
standard_name = flag_for_restart
long_name = flag for restart (warmstart) or coldstart
units = flag
dimensions = ()
type = logical
intent = in
optional = F
[qc]
standard_name = cloud_condensed_water_mixing_ratio
long_name = moist (dry+vapor, no condensates) mixing ratio of cloud water (condensate)
Expand Down
Loading