Closed spencerkclark closed 1 year ago
Hi, all. Typically for extrapolating below the surface we assume a lapse rate of 6.5 K/km:
https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/blob/main/tools/fv_diagnostics.F90#L4689
Which lapse rate are you using here?
Thanks for weighing in @lharris4 -- I'm using dry potential temperature, so a dry adiabatic lapse rate (9.8 K/km). I suppose I could switch to using moist potential temperature, which would imply a lapse rate in the 6.5 K/km range.
Hi, Spencer. Thanks. This has the advantage of simplicity (theta-e is much harder to compute) and if it works I would recommend going for it. I would be careful to make sure that the coarsened temperatures are not too warm/cold in areas of very steep terrain, although this could just average out.
Lucas
On Mon, Jun 12, 2023 at 9:59 AM Spencer Clark @.***> wrote:
Thanks for weighing in @lharris4 https://github.com/lharris4 -- I'm using dry potential temperature, so a dry adiabatic lapse rate (9.8 K/km). I suppose I could switch to using moist potential temperature, which would imply a lapse rate in the 6.5 K/km range.
— Reply to this email directly, view it on GitHub https://github.com/ai2cm/fv3net/pull/2239#issuecomment-1587397491, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMUQRVFG4X3Q4ZBONLM4FM3XK4OCFANCNFSM6AAAAAAY74GG4E . You are receiving this because you were mentioned.Message ID: @.***>
Thanks @lharris4. With this "limited" extrapolation approach, we are only extrapolating at most about half a model level, so generally we will not be extrapolating very much even in mountainous terrain. This strategy is mainly targeted at removing biases induced by masking over ocean. According to Chris, the lapse rate in the boundary layer of most ocean regions is approximately dry adiabatic, so he recommends sticking with this simple potential temperature approach. Admittedly it will not make a big difference either way.
Hi, Spencer. Thanks for your explanation. Simpler is better in many if not most cases and if it is just 0.5dz then it shouldn't make much of a difference.
Lucas
On Tue, Jun 13, 2023 at 12:40 PM Spencer Clark @.***> wrote:
Thanks @lharris4 https://github.com/lharris4. With this "limited" extrapolation approach, we are only extrapolating at most about half a model level, so generally we will not be extrapolating very much even in mountainous terrain. This strategy is mainly targeted at removing biases induced by masking over ocean. According to Chris, the lapse rate in the boundary layer of most ocean regions is approximately dry adiabatic, so he recommends sticking with this simple potential temperature approach. Admittedly it will not make a big difference either way.
— Reply to this email directly, view it on GitHub https://github.com/ai2cm/fv3net/pull/2239#issuecomment-1589665345, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMUQRVF4BNVWFRDGQLC3W3LXLCJYDANCNFSM6AAAAAAY74GG4E . You are receiving this because you were mentioned.Message ID: @.***>
After further discussion we have determined that since mappm
is a finite volume vertical remapping algorithm, the potential temperature adjustment approach implemented here is not applicable. Since mappm
will only need to use an extrapolated temperature profile for at most half of a coarse grid vertical level, and can use an interpolation profile for at least the other half, any adjustment would have to be carefully implemented, and would likely be smaller than that implemented here. Therefore I am closing this PR.
This PR is a followup to #2237. It implements an approach to treat temperature specially during extrapolation. Namely we start by using nearest neighbor extrapolation and propagating the lowest-level fine-grid temperature down to the needed pressure levels. We then convert those extrapolated temperatures to potential temperatures of parcels moved adiabatically from the fine-grid lowest-level midpoint pressures to the coarse-level midpoint pressures we are extrapolating to.
In general the effect of this is small even in the lowest model level (global mean difference of 0.01 K), but this type of adjustment is physically motivated and is simple enough to implement so we go forward with it here.
Added public API:
temperature
argument toregrid_to_area_weighted_pressure
for use with temperature variables.z_dim_outer
arguments toregrid_to_area_weighted_pressure
andregrid_to_edge_weighted_pressure
so that we can pass them down to downstream functions if needed.reference_pressure
andpoisson_constant
arguments tovcm.calc.thermo.local.potential_temperature
. These default to the previous hard-coded values in the function.A notebook showing that the implementation in this PR produces matching results with the fortran can be found here.
xref: ai2cm/fv3gfs-fortran#366
Coverage reports (updated automatically):