ai2cm / fv3net

explore the FV3 data for parameterization
MIT License
16 stars 3 forks source link

Coarsening: add adiabatic adjustment of extrapolated temperatures #2239

Closed spencerkclark closed 1 year ago

spencerkclark commented 1 year ago

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:

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):

lharris4 commented 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?

spencerkclark commented 1 year ago

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.

lharris4 commented 1 year ago

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: @.***>

spencerkclark commented 1 year ago

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.

lharris4 commented 1 year ago

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: @.***>

spencerkclark commented 1 year ago

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.