Skip to content

Commit

Permalink
Merge pull request #16 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 e9621ef + 2edeead commit d1ef650
Show file tree
Hide file tree
Showing 13 changed files with 1,307 additions and 521 deletions.
36 changes: 22 additions & 14 deletions physics/GFS_PBL_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,13 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac,
vdftra(i,k,3) = qgrs(i,k,ntiw)
vdftra(i,k,4) = qgrs(i,k,ntrw)
vdftra(i,k,5) = qgrs(i,k,ntsw)
vdftra(i,k,6) = qgrs(i,k,ntlnc)
vdftra(i,k,7) = qgrs(i,k,ntinc)
vdftra(i,k,8) = qgrs(i,k,ntoz)
vdftra(i,k,9) = qgrs(i,k,ntwa)
vdftra(i,k,10) = qgrs(i,k,ntia)
vdftra(i,k,6) = qgrs(i,k,ntgl)
vdftra(i,k,7) = qgrs(i,k,ntlnc)
vdftra(i,k,8) = qgrs(i,k,ntinc)
vdftra(i,k,9) = qgrs(i,k,ntrnc)
vdftra(i,k,10) = qgrs(i,k,ntoz)
vdftra(i,k,11) = qgrs(i,k,ntwa)
vdftra(i,k,12) = qgrs(i,k,ntia)
enddo
enddo
else
Expand All @@ -165,8 +167,10 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac,
vdftra(i,k,3) = qgrs(i,k,ntiw)
vdftra(i,k,4) = qgrs(i,k,ntrw)
vdftra(i,k,5) = qgrs(i,k,ntsw)
vdftra(i,k,6) = qgrs(i,k,ntinc)
vdftra(i,k,7) = qgrs(i,k,ntoz)
vdftra(i,k,6) = qgrs(i,k,ntgl)
vdftra(i,k,7) = qgrs(i,k,ntinc)
vdftra(i,k,8) = qgrs(i,k,ntrnc)
vdftra(i,k,9) = qgrs(i,k,ntoz)
enddo
enddo
endif
Expand Down Expand Up @@ -404,11 +408,13 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
dqdt(i,k,ntiw) = dvdftra(i,k,3)
dqdt(i,k,ntrw) = dvdftra(i,k,4)
dqdt(i,k,ntsw) = dvdftra(i,k,5)
dqdt(i,k,ntlnc) = dvdftra(i,k,6)
dqdt(i,k,ntinc) = dvdftra(i,k,7)
dqdt(i,k,ntoz) = dvdftra(i,k,8)
dqdt(i,k,ntwa) = dvdftra(i,k,9)
dqdt(i,k,ntia) = dvdftra(i,k,10)
dqdt(i,k,ntgl) = dvdftra(i,k,6)
dqdt(i,k,ntlnc) = dvdftra(i,k,7)
dqdt(i,k,ntinc) = dvdftra(i,k,8)
dqdt(i,k,ntrnc) = dvdftra(i,k,9)
dqdt(i,k,ntoz) = dvdftra(i,k,10)
dqdt(i,k,ntwa) = dvdftra(i,k,11)
dqdt(i,k,ntia) = dvdftra(i,k,12)
enddo
enddo
else
Expand All @@ -419,8 +425,10 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
dqdt(i,k,ntiw) = dvdftra(i,k,3)
dqdt(i,k,ntrw) = dvdftra(i,k,4)
dqdt(i,k,ntsw) = dvdftra(i,k,5)
dqdt(i,k,ntinc) = dvdftra(i,k,6)
dqdt(i,k,ntoz) = dvdftra(i,k,7)
dqdt(i,k,ntgl) = dvdftra(i,k,6)
dqdt(i,k,ntinc) = dvdftra(i,k,7)
dqdt(i,k,ntrnc) = dvdftra(i,k,8)
dqdt(i,k,ntoz) = dvdftra(i,k,9)
enddo
enddo
endif
Expand Down
284 changes: 269 additions & 15 deletions physics/GFS_rrtmg_pre.F90

Large diffs are not rendered by default.

26 changes: 21 additions & 5 deletions physics/GFS_rrtmg_pre.meta
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,22 @@
kind = kind_phys
intent = out
optional = F
[imfdeepcnv]
standard_name = flag_for_mass_flux_deep_convection_scheme
long_name = flag for mass-flux deep convection scheme
units = flag
dimensions = ()
type = integer
intent = in
optional = F
[imfdeepcnv_gf]
standard_name = flag_for_gf_deep_convection_scheme
long_name = flag for Grell-Freitas deep convection scheme
units = flag
dimensions = ()
type = integer
intent = in
optional = F
[gasvmr_co2]
standard_name = volume_mixing_ratio_co2
long_name = CO2 volume mixing ratio
Expand Down Expand Up @@ -430,7 +446,7 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = out
intent = inout
optional = F
[clouds2]
standard_name = cloud_liquid_water_path
Expand All @@ -439,7 +455,7 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = out
intent = inout
optional = F
[clouds3]
standard_name = mean_effective_radius_for_liquid_cloud
Expand All @@ -448,7 +464,7 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = out
intent = inout
optional = F
[clouds4]
standard_name = cloud_ice_water_path
Expand All @@ -457,7 +473,7 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = out
intent = inout
optional = F
[clouds5]
standard_name = mean_effective_radius_for_ice_cloud
Expand All @@ -466,7 +482,7 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = out
intent = inout
optional = F
[clouds6]
standard_name = cloud_rain_water_path
Expand Down
8 changes: 5 additions & 3 deletions physics/cu_gf_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ subroutine cu_gf_driver_run(ntracer,garea,im,ix,km,dt,cactiv, &
us,vs,t2di,w,qv2di_spechum,p2di,psuri, &
hbot,htop,kcnv,xland,hfx2,qfx2,cliw,clcw, &
pbl,ud_mf,dd_mf,dt_mf,cnvw_moist,cnvc,imfshalcnv, &
errmsg,errflg)
qci_conv,errmsg,errflg)
!-------------------------------------------------------------
implicit none
integer, parameter :: maxiens=1
Expand All @@ -96,8 +96,9 @@ subroutine cu_gf_driver_run(ntracer,garea,im,ix,km,dt,cactiv, &
integer :: its,ite, jts,jte, kts,kte
integer, intent(in ) :: im,ix,km,ntracer

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(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 @@ -743,6 +744,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
9 changes: 9 additions & 0 deletions physics/cu_gf_driver.meta
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,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
75 changes: 0 additions & 75 deletions physics/module_MYNNrad_post.F90

This file was deleted.

131 changes: 0 additions & 131 deletions physics/module_MYNNrad_pre.F90

This file was deleted.

Loading

0 comments on commit d1ef650

Please sign in to comment.