Pratemax broken? #888
Replies: 3 comments
-
@ericaligo-NOAA I believe the precipitation in mp_thompson.F90 should be instantaneous precipitation, e.g., for one time step. |
Beta Was this translation helpful? Give feedback.
-
Thanks. I didn't check to see why it was changed.
…On 3/22/2022 2:21 PM, ChunxiZhang-NOAA wrote:
@ericaligo-NOAA <https://github.com/ericaligo-NOAA> I believe the
precipitation in mp_thompson.F90 should be instantaneous
precipitation, e.g., for one time step.
It needs to change back to:
!> - Convert rainfall deltas from mm to m (on physics timestep); add
to inout variables
! "rain" in Thompson MP refers to precipitation (total of liquid
rainfall+snow+graupel+ice)
prcp = max(0.0, delta_rain_mp/1000.0_kind_phys)
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)
—
Reply to this email directly, view it on GitHub
<#888 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALQ75MKTNUVMA76PN6EKWKTVBIFTRANCNFSM5RLSR5VQ>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
@ericaligo-NOAA If the following code is because of the sub-cycles of the Thompson scheme, I think the variable prcp need to be set to zero in GFS_MP_generic_pre_run. |
Beta Was this translation helpful? Give feedback.
-
I noticed a change in mp_thompson.F90 at some point from instantaneous precip variables shown first below to accumulated ones listed below. I believe, and correct me if I'm wrong, this ends up creating a bug in the calculation of pratemax. Initially, pratemax was designed to use the precip (graupel+snow+rain+cloud ice+convective precip) amount over 1 physics time step and find the max over the specified period in the namelist (1 hour, for example). From what I can tell, this change in mp_thompson.F90 results in the 'accumulated' precip being used in the pratemax calculation and not the timestep value. I would suggest we go back to what what is the code previously, where prcp, graupel, ice, snow and rain are the time step values and not the accumulated ones, unless there was a specific reason this was done only for the Thompson mp scheme.
Below, rain1, is prcp above.
GFS_MP_generic.F90
do i = 1, im
rain(i) = rainc(i) + frain * rain1(i) ! time-step convective plus explicit
enddo
Below, pratemax uses rain from GFS_MP_generic.F90 above, which 'used to' represent the time step total (graupel+cloud ice+rain+snow+convective precip) amount.
maximum_hourly_diagnostics.F90
pratemax(i) = max(pratemax(i),(3.6E6/dtp)*rain(i))
Beta Was this translation helpful? Give feedback.
All reactions