Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UFS-dev PR#73 #1026

Merged
merged 9 commits into from
Sep 7, 2023
12 changes: 6 additions & 6 deletions physics/GFS_rrtmg_pre.F90
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ module GFS_rrtmg_pre
!!
!>\section rrtmg_pre_gen General Algorithm
subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&
ltp, imfdeepcnv, imfdeepcnv_gf, imfdeepcnv_unified, me, ncnd, ntrac, &
ltp, imfdeepcnv, imfdeepcnv_gf, imfdeepcnv_c3, me, ncnd, ntrac, &
num_p3d, npdf3d, &
ncnvcld3d,ntqv, ntcw,ntiw, ntlnc, ntinc, ntrnc, ntsnc, ntccn, top_at_1,&
ntrw, ntsw, ntgl, nthl, ntwa, ntoz, ntsmoke, ntdust, ntcoarsepm, &
Expand All @@ -44,7 +44,7 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&
gasvmr_o2, gasvmr_co, gasvmr_cfc11, gasvmr_cfc12, gasvmr_cfc22, &
gasvmr_ccl4, gasvmr_cfc113, aerodp,ext550, clouds6, clouds7, clouds8, &
clouds9, cldsa, cldfra, cldfra2d, lwp_ex,iwp_ex, lwp_fc,iwp_fc, &
faersw1, faersw2, faersw3, faerlw1, faerlw2, faerlw3, alpha, &
faersw1, faersw2, faersw3, faerlw1, faerlw2, faerlw3, alpha, rrfs_sd, &
aero_dir_fdb, fdb_coef, spp_wts_rad, spp_rad, ico2, errmsg, errflg)

use machine, only: kind_phys
Expand Down Expand Up @@ -84,7 +84,7 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&

integer, intent(in) :: im, levs, lm, lmk, lmp, ltp, &
n_var_lndp, imfdeepcnv, &
imfdeepcnv_gf, imfdeepcnv_unified, &
imfdeepcnv_gf, imfdeepcnv_c3, &
me, ncnd, ntrac, &
num_p3d, npdf3d, ncnvcld3d, ntqv, &
ntcw, ntiw, ntlnc, ntinc, &
Expand Down Expand Up @@ -126,7 +126,7 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&
uni_cld, effr_in, do_mynnedmf, &
lmfshal, lmfdeep2, pert_clds, lcrick,&
lcnorm, top_at_1, lextop, mraerosol
logical, intent(in) :: aero_dir_fdb
logical, intent(in) :: rrfs_sd, aero_dir_fdb

logical, intent(in) :: nssl_ccn_on, nssl_invertccn
integer, intent(in) :: spp_rad
Expand Down Expand Up @@ -640,7 +640,7 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&
endif

!>--- add smoke and dust ---
if (aero_dir_fdb) then
if (rrfs_sd .and. aero_dir_fdb) then
do k=1,lmk
do i=1,im
aer_nm(i,k,1 )=aer_nm(i,k,1 )+ qgrs(i,k,ntdust)*fdb_coef(1)*1.e-9 ! dust bin1
Expand Down Expand Up @@ -819,7 +819,7 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&
enddo
endif
elseif (imp_physics == imp_physics_gfdl) then ! GFDL MP
if ((imfdeepcnv==imfdeepcnv_gf .or. imfdeepcnv==imfdeepcnv_unified) .and. kdt>1) then
if ((imfdeepcnv==imfdeepcnv_gf .or. imfdeepcnv==imfdeepcnv_c3) .and. kdt>1) then
do k=1,lm
k1 = k + kd
do i=1,im
Expand Down
13 changes: 10 additions & 3 deletions physics/GFS_rrtmg_pre.meta
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,9 @@
dimensions = ()
type = integer
intent = in
[imfdeepcnv_unified]
standard_name = identifier_for_unified_deep_convection
long_name = flag for Unified deep convection scheme
[imfdeepcnv_c3]
standard_name = identifier_for_c3_deep_convection
long_name = flag for C3 deep convection scheme
units = flag
dimensions = ()
type = integer
Expand Down Expand Up @@ -1466,6 +1466,13 @@
dimensions = ()
type = integer
intent = in
[rrfs_sd]
standard_name = do_smoke_coupling
long_name = flag controlling rrfs_sd collection (default off)
units = flag
dimensions = ()
type = logical
intent = in
[aero_dir_fdb]
standard_name = do_smoke_aerosol_direct_feedback
long_name = flag for smoke and dust radiation feedback
Expand Down
8 changes: 4 additions & 4 deletions physics/GFS_suite_interstitial_3.F90
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ module GFS_suite_interstitial_3
!!
subroutine GFS_suite_interstitial_3_run (otsptflag, &
im, levs, nn, cscnv,imfshalcnv, imfdeepcnv, &
imfshalcnv_samf, imfdeepcnv_samf, imfdeepcnv_unified, &
imfshalcnv_unified,progsigma, &
imfshalcnv_samf, imfdeepcnv_samf, imfdeepcnv_c3, &
imfshalcnv_c3,progsigma, &
first_time_step, restart, &
satmedmf, trans_trac, do_shoc, ltaerosol, ntrac, ntcw, &
ntiw, ntclamt, ntrw, ntsw, ntrnc, ntsnc, ntgl, ntgnc, &
Expand Down Expand Up @@ -40,7 +40,7 @@ subroutine GFS_suite_interstitial_3_run (otsptflag, &
logical, intent(in ) :: cscnv, satmedmf, trans_trac, do_shoc, ltaerosol, ras, progsigma
logical, intent(in ) :: first_time_step, restart
integer, intent(in ) :: imfshalcnv, imfdeepcnv, imfshalcnv_samf,imfdeepcnv_samf
integer, intent(in ) :: imfshalcnv_unified,imfdeepcnv_unified
integer, intent(in ) :: imfshalcnv_c3,imfdeepcnv_c3
integer, intent(in) :: ntinc, ntlnc
logical, intent(in) :: ldiag3d, qdiag3d
integer, dimension(:,:), intent(in) :: dtidx
Expand Down Expand Up @@ -84,7 +84,7 @@ subroutine GFS_suite_interstitial_3_run (otsptflag, &
! In case of using prognostic updraf area fraction, initialize area fraction here
! since progsigma_calc is called from both deep and shallow schemes.
if(((imfshalcnv == imfshalcnv_samf) .or. (imfdeepcnv == imfdeepcnv_samf) &
.or. (imfshalcnv == imfshalcnv_unified) .or. (imfdeepcnv == imfdeepcnv_unified)) &
.or. (imfshalcnv == imfshalcnv_c3) .or. (imfdeepcnv == imfdeepcnv_c3)) &
.and. progsigma)then
if(first_time_step .and. .not. restart)then
do k=1,levs
Expand Down
14 changes: 7 additions & 7 deletions physics/GFS_suite_interstitial_3.meta
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@
dimensions = ()
type = integer
intent = in
[imfdeepcnv_unified]
standard_name = identifier_for_unified_deep_convection
long_name = flag for Unified deep convection scheme
[imfdeepcnv_c3]
standard_name = identifier_for_c3_deep_convection
long_name = flag for C3 deep convection scheme
units = flag
dimensions = ()
type = integer
Expand All @@ -78,9 +78,9 @@
dimensions = ()
type = integer
intent = in
[imfshalcnv_unified]
standard_name = identifier_for_unified_shallow_convection
long_name = flag for Unified shallow convection scheme
[imfshalcnv_c3]
standard_name = identifier_for_c3_shallow_convection
long_name = flag for C3 shallow convection scheme
units = flag
dimensions = ()
type = integer
Expand Down Expand Up @@ -542,4 +542,4 @@
units = 1
dimensions = ()
type = integer
intent = out
intent = out
Loading
Loading