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

Implement Ferrier-Aligo MP scheme in CCPP-Physics #352

Closed
wants to merge 58 commits into from
Closed
Show file tree
Hide file tree
Changes from 51 commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
193435b
initialize Ferrier-Aligo MP scheme implementation from HWRF V4.0
mzhangw Jul 1, 2019
e77c0a1
add fer_hires wrapper module
mzhangw Jul 19, 2019
d0d4035
initialize FER_HIRES implementation
mzhangw Jul 31, 2019
63f07c4
Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics i…
mzhangw Jul 31, 2019
d666a3e
pass prebuild
mzhangw Jul 31, 2019
970ae66
change file name
mzhangw Jul 31, 2019
d06f755
minor fix
mzhangw Aug 1, 2019
bbac675
Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics i…
mzhangw Aug 5, 2019
7c481b5
initialize FER_HIRES scheme
mzhangw Aug 15, 2019
dbabee7
update
mzhangw Aug 19, 2019
b78a1a2
Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics i…
mzhangw Aug 19, 2019
8b886b9
delete HWRF F-A scheme
mzhangw Aug 21, 2019
c29c3cd
convert USE ESMF to ccpp mpi method; temporary constant treatment
mzhangw Aug 26, 2019
473ff9e
dimension fixed
mzhangw Aug 26, 2019
80fedc4
further constants fix
mzhangw Aug 26, 2019
fb011da
Aligo-use the dx of the 1st i poit to set an integer value of dx to b…
mzhangw Aug 26, 2019
d5f8a62
minor fix
mzhangw Aug 26, 2019
73f95a6
fortran format fix
mzhangw Aug 27, 2019
6b88864
Fixed bug to allow both Qi and Qc to be updated from CU scheme.
ericaligo-NOAA Aug 27, 2019
9aaa575
minor fix
mzhangw Aug 27, 2019
4e0d9bd
Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics i…
mzhangw Aug 27, 2019
c7faeb7
mp_fer_hires.F90: changed the definitions for f_ice, f_rain and f_rimef.
ChunxiZhang-NOAA Aug 29, 2019
1426c6e
fix omp message and pass F-A scheme
mzhangw Aug 30, 2019
3a26975
Merge branch 'chunxi_physics' of https://github.com/ChunxiZhang-NOAA/…
mzhangw Aug 30, 2019
ec729e8
make consistent standard name as Chunxis implementation
mzhangw Aug 30, 2019
727417c
GFS_MP_generic.F90: recalculate srflag
ChunxiZhang-NOAA Aug 30, 2019
1808226
tracer treatment fix
mzhangw Aug 31, 2019
44137a3
Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics i…
mzhangw Sep 3, 2019
1f8a26a
bug fixed in augument list of FER_HIRES
mzhangw Sep 4, 2019
bed9c0e
Merge branch 'HAFS_fer_hires' of https://github.com/mzhangw/ccpp-phys…
mzhangw Sep 4, 2019
dff5b0f
Merge branch 'chunxi_physics' of https://github.com/ChunxiZhang-NOAA/…
mzhangw Sep 4, 2019
d749a68
Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics i…
mzhangw Sep 10, 2019
9fc5ac1
initialize Doxygen documentation in F-A scheme
mzhangw Sep 11, 2019
08662ae
add vars to meta table
mzhangw Sep 11, 2019
2b8d9e4
Merge branch 'HAFS_fer_hires' of https://github.com/mzhangw/ccpp-phys…
mzhangw Sep 11, 2019
bbbf155
F-A scheme modification related to meta data file update
mzhangw Sep 12, 2019
370d49f
use progcld5 for F-A in GFS_rrtmg_pre
mzhangw Sep 17, 2019
957ff82
turn on/off spec_adv option is working in CCPP F-A scheme.
mzhangw Sep 19, 2019
1a024b7
fix ccpp_control crashed problem
mzhangw Sep 21, 2019
fc744d3
Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics i…
mzhangw Sep 23, 2019
dfccc5b
fix bugs in GFS_PBL_generic
mzhangw Sep 29, 2019
1656aac
revert MP_generic to original version to obtain B4B for control/csawm…
mzhangw Sep 30, 2019
53fba5b
1. recalculate some FAmp tables which depend on physics time step in …
mzhangw Oct 7, 2019
258fceb
Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics i…
mzhangw Oct 7, 2019
1ff46c7
add update_moist() module to F-A suite
mzhangw Oct 9, 2019
a5b5fa9
Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics i…
mzhangw Oct 18, 2019
bfedaab
add meta files for FA scheme and HAFS_update_moist
mzhangw Oct 23, 2019
327b07f
minor fix
mzhangw Oct 24, 2019
6777489
add Chunxi GFS_MP_generic change related to FA scheme
mzhangw Nov 7, 2019
f2c9271
Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics in…
mzhangw Nov 7, 2019
a312444
Chunxi's email 11/07/2019: the srflag is based on sr. so we need to
mzhangw Nov 11, 2019
380229c
1. do some code cleanup
mzhangw Nov 14, 2019
482a43b
Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics in…
mzhangw Nov 18, 2019
db9e3a7
cleanup FA codes
mzhangw Nov 18, 2019
ab52b26
delete update_moist module
mzhangw Nov 22, 2019
db7fc8d
minor change
mzhangw Nov 22, 2019
4c2abd1
Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics in…
mzhangw Nov 22, 2019
bd4a30c
monir format fix
mzhangw Nov 22, 2019
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
17 changes: 14 additions & 3 deletions physics/GFS_MP_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ end subroutine GFS_MP_generic_post_init
!> \section gfs_mp_gen GFS MP Generic Post General Algorithm
!> @{
subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, ntrac, imp_physics, imp_physics_gfdl, &
imp_physics_thompson, imp_physics_mg, cal_pre, lssav, ldiag3d, cplflx, cplchm, con_g, dtf, frain, rainc, rain1, &
imp_physics_thompson, imp_physics_mg, imp_physics_fer_hires, cal_pre, lssav, ldiag3d, cplflx, cplchm, con_g, dtf, frain, rainc, rain1, &
rann, xlat, xlon, gt0, gq0, prsl, prsi, phii, tsfc, ice, snow, graupel, save_t, save_qv, rain0, ice0, snow0, &
graupel0, del, rain, domr_diag, domzr_diag, domip_diag, doms_diag, tprcp, srflag, sr, cnvprcp, totprcp, totice, &
totsnw, totgrp, cnvprcpb, totprcpb, toticeb, totsnwb, totgrpb, dt3dt, dq3dt, rain_cpl, rainc_cpl, snow_cpl, pwat, &
Expand All @@ -93,7 +93,7 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
implicit none

integer, intent(in) :: im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, ntrac
integer, intent(in) :: imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_mg
integer, intent(in) :: imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_mg, imp_physics_fer_hires
logical, intent(in) :: cal_pre, lssav, ldiag3d, cplflx, cplchm

real(kind=kind_phys), intent(in) :: dtf, frain, con_g
Expand Down Expand Up @@ -179,6 +179,10 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
graupel = frain*graupel0 ! time-step graupel
ice = frain*ice0 ! time-step ice
snow = frain*snow0 ! time-step snow

else if (imp_physics == imp_physics_fer_hires) then
tprcp = max (0.,rain) ! time-step convective and explicit precip
ice = frain*rain1*sr ! time-step ice
end if

if (lsm==lsm_ruc) then
Expand Down Expand Up @@ -277,7 +281,7 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
!! and determine explicit rain/snow by snow/ice/graupel coming out directly from MP
!! and convective rainfall from the cumulus scheme if the surface temperature is below
!! \f$0^oC\f$.
if (imp_physics == imp_physics_gfdl .or. imp_physics == imp_physics_thompson) then
if (imp_physics == imp_physics_gfdl .or. imp_physics == imp_physics_thompson ) then
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change shouldn't be in the PR.

! determine convective rain/snow by surface temperature
! determine large-scale rain/snow by rain/snow coming out directly from MP

Expand All @@ -297,10 +301,17 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
! Sfcprop%srflag(i) = 1. ! clu: set srflag to 'snow' (i.e. 1)
! endif
! compute fractional srflag
!if(imp_physics == imp_physics_fer_hires) then
mzhangw marked this conversation as resolved.
Show resolved Hide resolved
! total_precip = tprcp(i)
! if (total_precip > rainmin) then
! srflag(i) = (ice(i)+csnow)/total_precip
! endif
!else
total_precip = snow0(i)+ice0(i)+graupel0(i)+rain0(i)+rainc(i)
if (total_precip > rainmin) then
srflag(i) = (snow0(i)+ice0(i)+graupel0(i)+csnow)/total_precip
endif
!endif
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this comment line 307

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DONE

enddo
else
! only for RUC LSM
Expand Down
8 changes: 8 additions & 0 deletions physics/GFS_MP_generic.meta
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,14 @@
type = integer
intent = in
optional = F
[imp_physics_fer_hires]
standard_name = flag_for_fer_hires_microphysics_scheme
long_name = choice of Ferrier-Aligo microphysics scheme
units = flag
dimensions = ()
type = integer
intent = in
optional = F
[cal_pre]
standard_name = flag_for_precipitation_type_algorithm
long_name = flag controls precip type algorithm
Expand Down
41 changes: 34 additions & 7 deletions physics/GFS_PBL_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@ end subroutine GFS_PBL_generic_pre_finalize
!!
subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac, &
ntqv, ntcw, ntiw, ntrw, ntsw, ntlnc, ntinc, ntrnc, ntsnc, ntgnc, &
ntwa, ntia, ntgl, ntoz, ntke, ntkev, trans_aero, ntchs, ntchm, &
ntwa, ntia, ntgl, ntoz, ntke, ntkev, nqrimef, trans_aero, ntchs, ntchm, &
imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6, &
imp_physics_zhao_carr, imp_physics_mg, cplchm, ltaerosol, hybedmf, do_shoc, &
imp_physics_zhao_carr, imp_physics_mg, imp_physics_fer_hires, cplchm, ltaerosol, hybedmf, do_shoc, &
satmedmf, qgrs, vdftra, errmsg, errflg)

use machine, only : kind_phys
Expand All @@ -93,10 +93,10 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac,

integer, intent(in) :: im, levs, nvdiff, ntrac
integer, intent(in) :: ntqv, ntcw, ntiw, ntrw, ntsw, ntlnc, ntinc, ntrnc, ntsnc, ntgnc
integer, intent(in) :: ntwa, ntia, ntgl, ntoz, ntke, ntkev, ntchs, ntchm
integer, intent(in) :: ntwa, ntia, ntgl, ntoz, ntke, ntkev, nqrimef,ntchs, ntchm
logical, intent(in) :: trans_aero
integer, intent(in) :: imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6
integer, intent(in) :: imp_physics_zhao_carr, imp_physics_mg
integer, intent(in) :: imp_physics_zhao_carr, imp_physics_mg, imp_physics_fer_hires
logical, intent(in) :: cplchm, ltaerosol, hybedmf, do_shoc, satmedmf

real(kind=kind_phys), dimension(im, levs, ntrac), intent(in) :: qgrs
Expand Down Expand Up @@ -126,6 +126,19 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac,
vdftra(i,k,4) = qgrs(i,k,ntoz)
enddo
enddo

! Ferrier-Aligo
elseif (imp_physics == imp_physics_fer_hires) then
do k=1,levs
do i=1,im
vdftra(i,k,1) = qgrs(i,k,ntqv)
vdftra(i,k,2) = qgrs(i,k,ntcw)
vdftra(i,k,3) = qgrs(i,k,ntiw)
vdftra(i,k,4) = qgrs(i,k,ntrw)
vdftra(i,k,5) = qgrs(i,k,ntoz)
enddo
enddo

elseif (imp_physics == imp_physics_thompson) then
! Thompson
if(ltaerosol) then
Expand Down Expand Up @@ -263,9 +276,10 @@ end subroutine GFS_PBL_generic_post_finalize
!! \htmlinclude GFS_PBL_generic_post_run.html
!!
subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac, &
ntqv, ntcw, ntiw, ntrw, ntsw, ntlnc, ntinc, ntrnc, ntsnc, ntgnc, ntwa, ntia, ntgl, ntoz, ntke, ntkev, &
ntqv, ntcw, ntiw, ntrw, ntsw, ntlnc, ntinc, ntrnc, ntsnc, ntgnc, ntwa, ntia, ntgl, ntoz, ntke, ntkev,nqrimef, &
trans_aero, ntchs, ntchm, &
imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6, imp_physics_zhao_carr, imp_physics_mg, &
imp_physics_fer_hires, &
ltaerosol, cplflx, cplchm, lssav, ldiag3d, lsidea, hybedmf, do_shoc, satmedmf, shinhong, do_ysu, &
dvdftra, dusfc1, dvsfc1, dtsfc1, dqsfc1, dtf, dudt, dvdt, dtdt, htrsw, htrlw, xmu, &
dqdt, dusfc_cpl, dvsfc_cpl, dtsfc_cpl, &
Expand All @@ -280,10 +294,10 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
implicit none

integer, intent(in) :: im, levs, nvdiff, ntrac, ntchs, ntchm
integer, intent(in) :: ntqv, ntcw, ntiw, ntrw, ntsw, ntlnc, ntinc, ntrnc, ntsnc, ntgnc, ntwa, ntia, ntgl, ntoz, ntke, ntkev
integer, intent(in) :: ntqv, ntcw, ntiw, ntrw, ntsw, ntlnc, ntinc, ntrnc, ntsnc, ntgnc, ntwa, ntia, ntgl, ntoz, ntke, ntkev, nqrimef
logical, intent(in) :: trans_aero
integer, intent(in) :: imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6
integer, intent(in) :: imp_physics_zhao_carr, imp_physics_mg
integer, intent(in) :: imp_physics_zhao_carr, imp_physics_mg, imp_physics_fer_hires
logical, intent(in) :: ltaerosol, cplflx, cplchm, lssav, ldiag3d, lsidea
logical, intent(in) :: hybedmf, do_shoc, satmedmf, shinhong, do_ysu

Expand Down Expand Up @@ -365,6 +379,19 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
dqdt(i,k,ntoz) = dvdftra(i,k,4)
enddo
enddo

elseif (imp_physics == imp_physics_fer_hires) then
! Ferrier-Aligo
do k=1,levs
do i=1,im
dqdt(i,k,ntqv) = dvdftra(i,k,1)
dqdt(i,k,ntcw) = dvdftra(i,k,2)
dqdt(i,k,ntiw) = dvdftra(i,k,3)
dqdt(i,k,ntrw) = dvdftra(i,k,4)
dqdt(i,k,ntoz) = dvdftra(i,k,5)
enddo
enddo

elseif (imp_physics == imp_physics_thompson) then
! Thompson
if(ltaerosol) then
Expand Down
32 changes: 32 additions & 0 deletions physics/GFS_PBL_generic.meta
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,14 @@
type = integer
intent = in
optional = F
[nqrimef]
standard_name = index_for_mass_weighted_rime_factor
long_name = tracer index for mass weighted rime factor
units = index
dimensions = ()
type = integer
intent = in
optional = F
[trans_aero]
standard_name = flag_for_aerosol_convective_transport_and_PBL_diffusion
long_name = flag for aerosol convective transport and PBL diffusion
Expand Down Expand Up @@ -233,6 +241,14 @@
type = integer
intent = in
optional = F
[imp_physics_fer_hires]
standard_name = flag_for_fer_hires_microphysics_scheme
long_name = choice of Ferrier-Aligo microphysics scheme
units = flag
dimensions = ()
type = integer
intent = in
optional = F
[cplchm]
standard_name = flag_for_chemistry_coupling
long_name = flag controlling cplchm collection (default off)
Expand Down Expand Up @@ -473,6 +489,14 @@
type = integer
intent = in
optional = F
[nqrimef]
standard_name = index_for_mass_weighted_rime_factor
long_name = tracer index for mass weighted rime factor
units = index
dimensions = ()
type = integer
intent = in
optional = F
[trans_aero]
standard_name = flag_for_aerosol_convective_transport_and_PBL_diffusion
long_name = flag for aerosol convective transport and PBL diffusion
Expand Down Expand Up @@ -545,6 +569,14 @@
type = integer
intent = in
optional = F
[imp_physics_fer_hires]
standard_name = flag_for_fer_hires_microphysics_scheme
long_name = choice of Ferrier-Aligo microphysics scheme
units = flag
dimensions = ()
type = integer
intent = in
optional = F
[ltaerosol]
standard_name = flag_for_aerosol_physics
long_name = flag for aerosol physics
Expand Down
73 changes: 70 additions & 3 deletions physics/GFS_rrtmg_pre.F90
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ end subroutine GFS_rrtmg_pre_init
subroutine GFS_rrtmg_pre_run (Model, Grid, Sfcprop, Statein, & ! input
Tbd, Cldprop, Coupling, &
Radtend, & ! input/output
f_ice, f_rain, f_rimef, flgmin, cwm, & ! F-A mp scheme only
lm, im, lmk, lmp, & ! input
kd, kt, kb, raddt, delp, dz, plvl, plyr, & ! output
tlvl, tlyr, tsfg, tsfa, qlyr, olyr, &
Expand Down Expand Up @@ -60,6 +61,7 @@ subroutine GFS_rrtmg_pre_run (Model, Grid, Sfcprop, Statein, & ! input
& NSPC1
use module_radiation_clouds, only: NF_CLDS, & ! cld_init
& progcld1, progcld3, &
& progcld2, &
& progcld4, progcld5, &
& progclduni
use module_radsw_parameters, only: topfsw_type, sfcfsw_type, &
Expand All @@ -81,8 +83,16 @@ subroutine GFS_rrtmg_pre_run (Model, Grid, Sfcprop, Statein, & ! input

integer, intent(in) :: im, lm, lmk, lmp
integer, intent(out) :: kd, kt, kb

! F-A mp scheme only
real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levr+LTP), intent(in) :: f_ice
real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levr+LTP), intent(in) :: f_rain
real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levr+LTP), intent(in) :: f_rimef
real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levr+LTP), intent(out) :: cwm
real(kind=kind_phys), dimension(size(Grid%xlon,1)), intent(in) :: flgmin
real(kind=kind_phys), intent(out) :: raddt


real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levr+LTP), intent(out) :: delp
real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levr+LTP), intent(out) :: dz
real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levr+1+LTP), intent(out) :: plvl
Expand Down Expand Up @@ -519,7 +529,7 @@ subroutine GFS_rrtmg_pre_run (Model, Grid, Sfcprop, Statein, & ! input
ccnd(i,k,1) = tracer1(i,k,ntcw) ! liquid water/ice
enddo
enddo
elseif (Model%ncnd == 2) then ! MG
elseif (Model%ncnd == 2) then ! MG or F-A
do k=1,LMK
do i=1,IM
ccnd(i,k,1) = tracer1(i,k,ntcw) ! liquid water
Expand Down Expand Up @@ -713,6 +723,33 @@ subroutine GFS_rrtmg_pre_run (Model, Grid, Sfcprop, Statein, & ! input
Model%sup, Model%kdt, me, &
clouds, cldsa, mtopa, mbota, de_lgth) ! --- outputs

! elseif (Model%imp_physics == 15) then ! F-A cloud scheme
Copy link
Collaborator

@grantfirl grantfirl Nov 12, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as above and applies to all commented code in this scheme. Consider removing unless you really need to keep this in for later use, like if you're still debugging the scheme.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done



! if(Model%me==0) then
! write(0,*)'F-A: progclduni max(cldcov), min(cldcov) =' &
! ,maxval(cldcov),minval(cldcov)
! write(0,*)'F-A: progclduni max(ccnd_c), min(ccnd_c) =' &
! ,maxval(ccnd(:,:,1)),minval(ccnd(:,:,1))
! write(0,*)'F-A: progclduni max(ccnd_i), min(ccnd_i) =' &
! ,maxval(ccnd(:,:,2)),minval(ccnd(:,:,2))
! write(0,*)'F-A: progclduni max(ccnd_r), min(ccnd_r) =' &
! ,maxval(ccnd(:,:,3)),minval(ccnd(:,:,3))
! write(0,*)'F-A: progclduni max(ccnd_s), min(ccnd_s) =' &
! ,maxval(ccnd(:,:,4)),minval(ccnd(:,:,4))
! write(0,*)'F-A:-----------------------------------'
! endif

! call progclduni (plyr, plvl, tlyr, tvly, ccnd, ncndl, & ! --- inputs
! Grid%xlat, Grid%xlon, Sfcprop%slmsk, dz,delp, &
! IM, LMK, LMP, cldcov, &
! effrl, effri, effrr, effrs, Model%effr_in, &
! clouds, cldsa, mtopa, mbota, de_lgth) ! --- outputs

! if(Model%me==0) write(0,*)'F-A: progclduni max(clouds(:,:,1)),&
! min(clouds(:,:,1)) = ' &
! ,maxval(clouds(:,:,1)),minval(clouds(:,:,1))

elseif (Model%imp_physics == 11) then ! GFDL cloud scheme

if (.not.Model%lgfdlmprad) then
Expand All @@ -737,14 +774,30 @@ subroutine GFS_rrtmg_pre_run (Model, Grid, Sfcprop, Statein, & ! input
! clouds, cldsa, mtopa, mbota, de_lgth) ! --- outputs
endif

elseif(Model%imp_physics == 8 .or. Model%imp_physics == 6) then ! Thompson / WSM6 cloud micrphysics scheme

! elseif(Model%imp_physics == 8 .or. Model%imp_physics == 6) then ! Thompson / WSM6 cloud micrphysics scheme
!MZ
elseif(Model%imp_physics == 8 .or. Model%imp_physics == 6 .or. &
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At some point, we should be using == imp_physics_thompson instead of == 8 here (not this PR).

Model%imp_physics == 15) then
if (Model%kdt == 1) then
Tbd%phy_f3d(:,:,Model%nleffr) = 10.
Tbd%phy_f3d(:,:,Model%nieffr) = 50.
Tbd%phy_f3d(:,:,Model%nseffr) = 250.
endif

! if(Model%me==0) then
! write(0,*)'F-A: progcld5 max(cldcov), min(cldcov) =' &
! ,maxval(cldcov),minval(cldcov)
! write(0,*)'F-A: progcld5 max(ccnd_c), min(ccnd_c) =' &
! ,maxval(ccnd(:,:,1)),minval(ccnd(:,:,1))
! write(0,*)'F-A: progcld5 max(ccnd_i), min(ccnd_i) =' &
! ,maxval(ccnd(:,:,2)),minval(ccnd(:,:,2))
! write(0,*)'F-A: progcld5 max(ccnd_r), min(ccnd_r) =' &
! ,maxval(ccnd(:,:,3)),minval(ccnd(:,:,3))
! write(0,*)'F-A: progcld5 max(ccnd_s), min(ccnd_s) =' &
! ,maxval(ccnd(:,:,4)),minval(ccnd(:,:,4))
! write(0,*)'F-A:-----------------------------------'
! endif

call progcld5 (plyr,plvl,tlyr,qlyr,qstl,rhly,tracer1, & ! --- inputs
Grid%xlat,Grid%xlon,Sfcprop%slmsk,dz,delp, &
ntrac-1, ntcw-1,ntiw-1,ntrw-1, &
Expand All @@ -755,6 +808,20 @@ subroutine GFS_rrtmg_pre_run (Model, Grid, Sfcprop, Statein, & ! input
Tbd%phy_f3d(:,:,2), Tbd%phy_f3d(:,:,3), &
clouds,cldsa,mtopa,mbota, de_lgth) ! --- outputs

! if(Model%me==0) then
! write(0,*)'F-A: progcld5 max(cldsa1), min(cldsa1) =' &
! ,maxval(cldsa(:,1)),minval(cldsa(:,1))
! write(0,*)'F-A: progcld5 max(cldsa2), min(cldsa2) =' &
! ,maxval(cldsa(:,2)),minval(cldsa(:,2))
! write(0,*)'F-A: progcld5 max(cldsa3), min(cldsa3) =' &
! ,maxval(cldsa(:,3)),minval(cldsa(:,3))
! write(0,*)'F-A: progcld5 max(cldsa4), min(cldsa4) =' &
! ,maxval(cldsa(:,4)),minval(cldsa(:,4))
! write(0,*)'F-A: progcld5 max(cldsa5), min(cldsa5) =' &
! ,maxval(cldsa(:,5)),minval(cldsa(:,5))
! write(0,*)'F-A:-----------------------------------'
! endif

endif ! end if_imp_physics

! endif ! end_if_ntcw
Expand Down
Loading