Skip to content

Commit d520ac0

Browse files
committed
Merge branch 'ufs/dev' of https://github.com/ufs-community/ccpp-physics into feature/mpas_in_ufs
2 parents 0eaff25 + ea1ae85 commit d520ac0

26 files changed

Lines changed: 267 additions & 3059 deletions

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_common.F90

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ module GFS_PBL_generic_common
1414
subroutine set_aerosol_tracer_index(imp_physics, imp_physics_wsm6, &
1515
imp_physics_thompson, ltaerosol,mraerosol, &
1616
imp_physics_mg, ntgl, imp_physics_gfdl, &
17-
imp_physics_zhao_carr, imp_physics_nssl,&
17+
imp_physics_nssl, &
1818
nssl_hail_on, nssl_ccn_on, nssl_3moment, kk, &
1919
errmsg, errflg)
2020
implicit none
2121
!
2222
integer, intent(in ) :: imp_physics, imp_physics_wsm6, &
2323
imp_physics_thompson, &
2424
imp_physics_mg, ntgl, imp_physics_gfdl, &
25-
imp_physics_zhao_carr,imp_physics_nssl
25+
imp_physics_nssl
2626
logical, intent(in ) :: ltaerosol, mraerosol, nssl_hail_on, nssl_ccn_on, nssl_3moment
2727
integer, intent(out) :: kk
2828
character(len=*), intent(out) :: errmsg
@@ -53,9 +53,6 @@ subroutine set_aerosol_tracer_index(imp_physics, imp_physics_wsm6, &
5353
elseif (imp_physics == imp_physics_gfdl) then
5454
! GFDL MP
5555
kk = 7
56-
elseif (imp_physics == imp_physics_zhao_carr) then
57-
! Zhao/Carr/Sundqvist
58-
kk = 3
5956
elseif (imp_physics == imp_physics_nssl) then
6057
IF ( nssl_hail_on ) THEN
6158
kk = 16

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_post.F90

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ module GFS_PBL_generic_post
1111
subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac, &
1212
ntqv, ntcw, ntiw, ntrw, ntsw, ntlnc, ntinc, ntrnc, ntsnc, ntgnc, ntwa, ntia, ntgl, ntoz, ntke, ntkev,nqrimef, &
1313
trans_aero, ntchs, ntchm, ntccn, nthl, nthnc, ntgv, nthv, ntrz, ntgz, nthz, &
14-
imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6, imp_physics_zhao_carr, imp_physics_mg, &
14+
imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6, imp_physics_mg, &
1515
imp_physics_fer_hires, imp_physics_nssl, nssl_ccn_on, ltaerosol, mraerosol, nssl_hail_on, nssl_3moment, &
1616
cplflx, cplaqm, cplchm, lssav, flag_for_pbl_generic_tend, ldiag3d, lsidea, hybedmf, do_shoc, satmedmf, &
1717
shinhong, do_ysu, dvdftra, dusfc1, dvsfc1, dtsfc1, dqsfc1, dtf, dudt, dvdt, dtdt, htrsw, htrlw, xmu, &
@@ -33,7 +33,7 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
3333
integer, intent(in) :: ntccn, nthl, nthnc, ntgv, nthv, ntrz, ntgz, nthz
3434
logical, intent(in) :: trans_aero
3535
integer, intent(in) :: imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6
36-
integer, intent(in) :: imp_physics_zhao_carr, imp_physics_mg, imp_physics_fer_hires
36+
integer, intent(in) :: imp_physics_mg, imp_physics_fer_hires
3737
integer, intent(in) :: imp_physics_nssl
3838
logical, intent(in) :: nssl_ccn_on, nssl_hail_on, nssl_3moment
3939
logical, intent(in) :: ltaerosol, cplflx, cplaqm, cplchm, lssav, ldiag3d, lsidea, use_med_flux, mraerosol
@@ -109,7 +109,7 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
109109
call set_aerosol_tracer_index(imp_physics, imp_physics_wsm6, &
110110
imp_physics_thompson, ltaerosol,mraerosol, &
111111
imp_physics_mg, ntgl, imp_physics_gfdl, &
112-
imp_physics_zhao_carr, imp_physics_nssl,&
112+
imp_physics_nssl,&
113113
nssl_hail_on, nssl_ccn_on, nssl_3moment, kk, &
114114
errmsg, errflg)
115115
if (errflg /= 0) return
@@ -244,14 +244,6 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
244244
dqdt(i,k,ntoz) = dvdftra(i,k,7)
245245
enddo
246246
enddo
247-
elseif (imp_physics == imp_physics_zhao_carr) then
248-
do k=1,levs
249-
do i=1,im
250-
dqdt(i,k,1) = dvdftra(i,k,1)
251-
dqdt(i,k,ntcw) = dvdftra(i,k,2)
252-
dqdt(i,k,ntoz) = dvdftra(i,k,3)
253-
enddo
254-
enddo
255247
elseif (imp_physics == imp_physics_nssl ) then
256248
! nssl
257249
IF ( nssl_hail_on ) THEN

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_post.meta

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -260,13 +260,6 @@
260260
dimensions = ()
261261
type = integer
262262
intent = in
263-
[imp_physics_zhao_carr]
264-
standard_name = identifier_for_zhao_carr_microphysics_scheme
265-
long_name = choice of Zhao-Carr microphysics scheme
266-
units = flag
267-
dimensions = ()
268-
type = integer
269-
intent = in
270263
[imp_physics_mg]
271264
standard_name = identifier_for_morrison_gettelman_microphysics_scheme
272265
long_name = choice of Morrison-Gettelman microphysics scheme

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_pre.F90

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac, rtg_ozone_index,
1414
ntwa, ntia, ntgl, ntoz, ntke, ntkev, nqrimef, trans_aero, ntchs, ntchm, &
1515
ntccn, nthl, nthnc, ntgv, nthv, ntrz, ntgz, nthz, &
1616
imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6, &
17-
imp_physics_zhao_carr, imp_physics_mg, imp_physics_fer_hires, imp_physics_nssl, &
17+
imp_physics_mg, imp_physics_fer_hires, imp_physics_nssl, &
1818
ltaerosol, mraerosol, nssl_ccn_on, nssl_hail_on, nssl_3moment, &
1919
hybedmf, do_shoc, satmedmf, qgrs, vdftra, save_u, save_v, save_t, save_q, &
2020
flag_for_pbl_generic_tend, ldiag3d, qdiag3d, lssav, ugrs, vgrs, tgrs, errmsg, errflg)
@@ -32,7 +32,7 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac, rtg_ozone_index,
3232
integer, intent(in) :: ntccn, nthl, nthnc, ntgv, nthv, ntrz, ntgz, nthz
3333
logical, intent(in) :: trans_aero, ldiag3d, qdiag3d, lssav
3434
integer, intent(in) :: imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6
35-
integer, intent(in) :: imp_physics_zhao_carr, imp_physics_mg, imp_physics_fer_hires
35+
integer, intent(in) :: imp_physics_mg, imp_physics_fer_hires
3636
logical, intent(in) :: ltaerosol, hybedmf, do_shoc, satmedmf, flag_for_pbl_generic_tend, mraerosol
3737
integer, intent(in) :: imp_physics_nssl
3838
logical, intent(in) :: nssl_hail_on, nssl_ccn_on, nssl_3moment
@@ -191,16 +191,6 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac, rtg_ozone_index,
191191
enddo
192192
enddo
193193
rtg_ozone_index = 7
194-
elseif (imp_physics == imp_physics_zhao_carr) then
195-
! Zhao/Carr/Sundqvist
196-
do k=1,levs
197-
do i=1,im
198-
vdftra(i,k,1) = qgrs(i,k,ntqv)
199-
vdftra(i,k,2) = qgrs(i,k,ntcw)
200-
vdftra(i,k,3) = qgrs(i,k,ntoz)
201-
enddo
202-
enddo
203-
rtg_ozone_index = 3
204194
elseif (imp_physics == imp_physics_nssl ) then
205195
! nssl
206196
IF ( nssl_hail_on ) THEN
@@ -275,7 +265,7 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac, rtg_ozone_index,
275265
call set_aerosol_tracer_index(imp_physics, imp_physics_wsm6, &
276266
imp_physics_thompson, ltaerosol,mraerosol, &
277267
imp_physics_mg, ntgl, imp_physics_gfdl, &
278-
imp_physics_zhao_carr, imp_physics_nssl,&
268+
imp_physics_nssl, &
279269
nssl_hail_on, nssl_ccn_on, nssl_3moment, kk, &
280270
errmsg, errflg)
281271
if (errflg /= 0) return

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_pre.meta

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -266,13 +266,6 @@
266266
dimensions = ()
267267
type = integer
268268
intent = in
269-
[imp_physics_zhao_carr]
270-
standard_name = identifier_for_zhao_carr_microphysics_scheme
271-
long_name = choice of Zhao-Carr microphysics scheme
272-
units = flag
273-
dimensions = ()
274-
type = integer
275-
intent = in
276269
[imp_physics_mg]
277270
standard_name = identifier_for_morrison_gettelman_microphysics_scheme
278271
long_name = choice of Morrison-Gettelman microphysics scheme

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.fv3.F90

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ module GFS_rad_time_vary
1717
!!
1818
subroutine GFS_rad_time_vary_timestep_init (lrseeds, rseeds, &
1919
lslwr, lsswr, isubc_lw, isubc_sw, icsdsw, icsdlw, cnx, cny, isc, jsc, &
20-
imap, jmap, sec, kdt, imp_physics, imp_physics_zhao_carr, ipsd0, ipsdlim,&
20+
imap, jmap, sec, kdt, imp_physics, ipsd0, ipsdlim, &
2121
ps_2delt, ps_1delt, t_2delt, t_1delt, qv_2delt, qv_1delt, t, qv, ps, &
2222
errmsg, errflg)
2323

@@ -31,7 +31,7 @@ subroutine GFS_rad_time_vary_timestep_init (lrseeds, rseeds,
3131
logical, intent(in) :: lrseeds
3232
integer, intent(in), optional :: rseeds(:,:)
3333
integer, intent(in) :: isubc_lw, isubc_sw, cnx, cny, isc, jsc, kdt
34-
integer, intent(in) :: imp_physics, imp_physics_zhao_carr, ipsd0, ipsdlim
34+
integer, intent(in) :: imp_physics, ipsd0, ipsdlim
3535
logical, intent(in) :: lslwr, lsswr
3636
integer, intent(inout), optional :: icsdsw(:), icsdlw(:)
3737
integer, intent(in) :: imap(:), jmap(:)
@@ -82,17 +82,6 @@ subroutine GFS_rad_time_vary_timestep_init (lrseeds, rseeds,
8282
end if !lrseeds
8383
endif ! isubc_lw and isubc_sw
8484

85-
if (imp_physics == imp_physics_zhao_carr) then
86-
if (kdt == 1) then
87-
t_2delt = t
88-
t_1delt = t
89-
qv_2delt = qv
90-
qv_1delt = qv
91-
ps_2delt = ps
92-
ps_1delt = ps
93-
endif
94-
endif
95-
9685
endif
9786

9887
end subroutine GFS_rad_time_vary_timestep_init

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.fv3.meta

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -131,13 +131,6 @@
131131
dimensions = ()
132132
type = integer
133133
intent = in
134-
[imp_physics_zhao_carr]
135-
standard_name = identifier_for_zhao_carr_microphysics_scheme
136-
long_name = choice of Zhao-Carr microphysics scheme
137-
units = flag
138-
dimensions = ()
139-
type = integer
140-
intent = in
141134
[ipsd0]
142135
standard_name = initial_seed_for_mcica
143136
long_name = initial permutation seed for mcica radiation

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.F90

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ module GFS_rad_time_vary
1717
!!
1818
subroutine GFS_rad_time_vary_timestep_init (lrseeds, rseeds, &
1919
lslwr, lsswr, isubc_lw, isubc_sw, icsdsw, icsdlw, cnx, cny, isc, jsc, &
20-
imap, jmap, sec, kdt, imp_physics, imp_physics_zhao_carr, ipsd0, ipsdlim,&
20+
imap, jmap, sec, kdt, imp_physics, ipsd0, ipsdlim, &
2121
ps_2delt, ps_1delt, t_2delt, t_1delt, qv_2delt, qv_1delt, t, qv, ps, &
2222
errmsg, errflg)
2323

@@ -31,7 +31,7 @@ subroutine GFS_rad_time_vary_timestep_init (lrseeds, rseeds,
3131
logical, intent(in) :: lrseeds
3232
integer, intent(in) :: rseeds(:,:)
3333
integer, intent(in) :: isubc_lw, isubc_sw, cnx, cny, isc, jsc, kdt
34-
integer, intent(in) :: imp_physics, imp_physics_zhao_carr, ipsd0, ipsdlim
34+
integer, intent(in) :: imp_physics, ipsd0, ipsdlim
3535
logical, intent(in) :: lslwr, lsswr
3636
integer, intent(inout) :: icsdsw(:), icsdlw(:)
3737
integer, intent(in) :: imap(:), jmap(:)
@@ -82,17 +82,6 @@ subroutine GFS_rad_time_vary_timestep_init (lrseeds, rseeds,
8282
end if !lrseeds
8383
endif ! isubc_lw and isubc_sw
8484

85-
if (imp_physics == imp_physics_zhao_carr) then
86-
if (kdt == 1) then
87-
t_2delt = t
88-
t_1delt = t
89-
qv_2delt = qv
90-
qv_1delt = qv
91-
ps_2delt = ps
92-
ps_1delt = ps
93-
endif
94-
endif
95-
9685
endif
9786

9887
end subroutine GFS_rad_time_vary_timestep_init

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.meta

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -131,13 +131,6 @@
131131
dimensions = ()
132132
type = integer
133133
intent = in
134-
[imp_physics_zhao_carr]
135-
standard_name = identifier_for_zhao_carr_microphysics_scheme
136-
long_name = choice of Zhao-Carr microphysics scheme
137-
units = flag
138-
dimensions = ()
139-
type = integer
140-
intent = in
141134
[ipsd0]
142135
standard_name = initial_seed_for_mcica
143136
long_name = initial permutation seed for mcica radiation

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_pre.F90

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&
2727
ntss3, ntss4, ntss5, ntsu, ntbcb, ntbcl, ntocb, ntocl, ntchm, &
2828
imp_physics,imp_physics_nssl, nssl_ccn_on, nssl_invertccn, &
2929
imp_physics_thompson, imp_physics_tempo, imp_physics_gfdl, &
30-
imp_physics_zhao_carr, &
31-
imp_physics_zhao_carr_pdf, imp_physics_mg, imp_physics_wsm6, &
30+
imp_physics_mg, imp_physics_wsm6, &
3231
imp_physics_fer_hires, iovr, iovr_rand, iovr_maxrand, iovr_max, &
3332
iovr_dcorr, iovr_exp, iovr_exprand, idcor, idcor_con, idcor_hogan, &
3433
idcor_oreopoulos, dcorr_con, julian, yearlen, lndp_var_list, lsswr, &
@@ -124,8 +123,6 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&
124123
imp_physics_thompson, &
125124
imp_physics_tempo, &
126125
imp_physics_gfdl, &
127-
imp_physics_zhao_carr, &
128-
imp_physics_zhao_carr_pdf, &
129126
imp_physics_mg, imp_physics_wsm6, &
130127
imp_physics_nssl, &
131128
imp_physics_fer_hires, &
@@ -725,7 +722,7 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&
725722

726723
! if (ntcw > 0) then ! prognostic cloud schemes
727724
ccnd = 0.0_kind_phys
728-
if (ncnd == 1) then ! Zhao_Carr_Sundqvist
725+
if (ncnd == 1) then
729726
do k=1,LMK
730727
do i=1,IM
731728
ccnd(i,k,1) = tracer1(i,k,ntcw) ! liquid water/ice
@@ -994,15 +991,13 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&
994991
! --- add suspended convective cloud water to grid-scale cloud water
995992
! only for cloud fraction & radiation computation
996993
! it is to enhance cloudiness due to suspended convec cloud water
997-
! for zhao/moorthi's (imp_phys=99) &
998-
! ferrier's (imp_phys=5) microphysics schemes
994+
! for ferrier's (imp_phys=5) microphysics schemes
999995

1000-
if ((num_p3d == 4) .and. (npdf3d == 3)) then ! same as imp_physics = imp_physics_zhao_carr_pdf
996+
if ((num_p3d == 4) .and. (npdf3d == 3)) then
1001997
do k=1,lm
1002998
k1 = k + kd
1003999
do i=1,im
10041000
!GJF: this is not consistent with GFS_typedefs,
1005-
! but it looks like the Zhao-Carr-PDF scheme is not in the CCPP
10061001
deltaq(i,k1) = 0.0!Tbd%phy_f3d(i,k,5) !GJF: this variable is not in phy_f3d anymore
10071002
cnvw (i,k1) = cnvw_in(i,k)
10081003
cnvc (i,k1) = cnvc_in(i,k)
@@ -1027,10 +1022,6 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&
10271022
enddo
10281023
endif
10291024

1030-
if (imp_physics == imp_physics_zhao_carr) then
1031-
ccnd(1:IM,1:LMK,1) = ccnd(1:IM,1:LMK,1) + cnvw(1:IM,1:LMK)
1032-
endif
1033-
10341025
!> - Call radiation_clouds_prop() to calculate cloud properties.
10351026
call radiation_clouds_prop &
10361027
& ( plyr, plvl, tlyr, tvly, qlyr, qstl, rhly, & ! --- inputs:
@@ -1041,7 +1032,6 @@ subroutine GFS_rrtmg_pre_run (im, levs, lm, lmk, lmp, n_var_lndp, lextop,&
10411032
& imp_physics, imp_physics_nssl, imp_physics_fer_hires, &
10421033
& imp_physics_gfdl, imp_physics_thompson, &
10431034
& imp_physics_wsm6, imp_physics_tempo, &
1044-
& imp_physics_zhao_carr, imp_physics_zhao_carr_pdf, &
10451035
& imp_physics_mg, iovr, iovr_rand, iovr_maxrand, iovr_max, &
10461036
& iovr_dcorr, iovr_exp, iovr_exprand, idcor, idcor_con, &
10471037
& idcor_hogan, idcor_oreopoulos, lcrick, lcnorm, &

0 commit comments

Comments
 (0)