Skip to content

Commit

Permalink
Merge pull request NCAR#337 from tanyasmirnova/gsd_develop_ructhomp
Browse files Browse the repository at this point in the history
Fraction of frozen precipitation with RUC LSM
  • Loading branch information
climbfuji authored Oct 10, 2019
2 parents 8af686d + 15de364 commit 543f640
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
12 changes: 11 additions & 1 deletion physics/GFS_MP_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
enddo
enddo

! Conversion factor mm per physics timestep to m per day
! Conversion factor from mm per day to m per physics timestep
tem = dtp * con_p001 / con_day

!> - For GFDL and Thompson MP scheme, determine convective snow by surface temperature;
Expand All @@ -280,6 +280,8 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
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

if (lsm/=lsm_ruc) then
do i = 1, im
!tprcp(i) = max(0.0, rain(i) )! clu: rain -> tprcp ! DH now lines 245-250
srflag(i) = 0. ! clu: default srflag as 'rain' (i.e. 0)
Expand All @@ -300,6 +302,14 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
srflag(i) = (snow0(i)+ice0(i)+graupel0(i)+csnow)/total_precip
endif
enddo
else
! only for RUC LSM
do i=1,im
srflag(i) = sr(i)
!if(sr(i) > 0.) print *,'RUC LSM uses SR from MP - srflag(i)',i,srflag(i)
enddo
endif ! lsm==lsm_ruc

elseif( .not. cal_pre) then
if (imp_physics == imp_physics_mg) then ! MG microphysics
do i=1,im
Expand Down
2 changes: 1 addition & 1 deletion physics/mp_thompson.F90
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,7 @@ subroutine mp_thompson_run(ncol, nlev, con_g, con_rd, &
graupel = max(0.0, delta_graupel_mp/1000.0_kind_phys)
ice = max(0.0, delta_ice_mp/1000.0_kind_phys)
snow = max(0.0, delta_snow_mp/1000.0_kind_phys)
rain = max(0.0, delta_rain_mp - (delta_graupel_mp + delta_ice_mp + delta_snow_mp)/1000.0_kind_phys)
rain = max(0.0, (delta_rain_mp - (delta_graupel_mp + delta_ice_mp + delta_snow_mp))/1000.0_kind_phys)

end subroutine mp_thompson_run
!>@}
Expand Down

0 comments on commit 543f640

Please sign in to comment.