Skip to content

Commit

Permalink
revert MP_generic to original version to obtain B4B for control/csawm…
Browse files Browse the repository at this point in the history
…g/satmedmf
  • Loading branch information
mzhangw committed Sep 30, 2019
1 parent dfccc5b commit 1656aac
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 30 deletions.
25 changes: 7 additions & 18 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, imp_physics_fer_hires, cal_pre, lssav, ldiag3d, cplflx, cplchm, con_g, dtf, frain, rainc, rain1, &
imp_physics_thompson, imp_physics_mg, 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, imp_physics_fer_hires
integer, intent(in) :: imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_mg
logical, intent(in) :: cal_pre, lssav, ldiag3d, cplflx, cplchm

real(kind=kind_phys), intent(in) :: dtf, frain, con_g
Expand Down Expand Up @@ -179,10 +179,6 @@ 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 @@ -281,7 +277,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 .or. imp_physics_fer_hires) then
if (imp_physics == imp_physics_gfdl .or. imp_physics == imp_physics_thompson) then
! determine convective rain/snow by surface temperature
! determine large-scale rain/snow by rain/snow coming out directly from MP
do i = 1, im
Expand All @@ -299,17 +295,10 @@ 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
total_precip = tprcp(i)
if (total_precip > rainmin) then
srflag(i) = (ice(i)+csnow)/total_precip
endif
else if (imp_physics == imp_physics_gfdl .or. imp_physics == imp_physics_thompson ) then
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
end if
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
enddo
elseif( .not. cal_pre) then
if (imp_physics == imp_physics_mg) then ! MG microphysics
Expand Down
8 changes: 0 additions & 8 deletions physics/GFS_MP_generic.meta
Original file line number Diff line number Diff line change
Expand Up @@ -234,14 +234,6 @@
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
2 changes: 0 additions & 2 deletions physics/GFS_rrtmg_pre.F90
Original file line number Diff line number Diff line change
Expand Up @@ -522,7 +522,6 @@ subroutine GFS_rrtmg_pre_run (Model, Grid, Sfcprop, Statein, & ! input
! --- ... obtain cloud information for radiation calculations

! if (ntcw > 0) then ! prognostic cloud schemes
!MZ if (Model%imp_physics .ne. 15) then
ccnd = 0.0_kind_phys
if (Model%ncnd == 1) then ! Zhao_Carr_Sundqvist
do k=1,LMK
Expand Down Expand Up @@ -563,7 +562,6 @@ subroutine GFS_rrtmg_pre_run (Model, Grid, Sfcprop, Statein, & ! input
enddo
enddo
enddo
!MZ endif !not FA
if (Model%imp_physics == 11 ) then
if (.not. Model%lgfdlmprad) then

Expand Down
4 changes: 2 additions & 2 deletions physics/module_mp_fer_hires_pre.F90
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,10 @@ subroutine mp_fer_hires_pre_run (CWM,F_ICE,F_RAIN,F_RIMEF &

IF (.NOT.SPEC_ADV .OR. CLD_INIT) THEN
!-- Update WATER arrays when advecting only total condensate (spec_adv=F)
! or at the initial time step
!-- and F_* or at the initial time step
DO K=1,LM
DO I=1,IME
CWM(I,K)=QC(I,K)+QR(I,K)+QI(I,K)
!!CWM(I,K)=QC(I,K)+QR(I,K)+QI(I,K)
IF (CWM(I,K)>EPSQ) THEN
LIQW=(1.-F_ice(I,K))*CWM(I,K)
QC(I,K)=(1.-F_rain(I,K))*LIQW
Expand Down

0 comments on commit 1656aac

Please sign in to comment.