Unidata / MetPy

MetPy is a collection of tools in Python for reading, visualizing and performing calculations with weather data.
https://unidata.github.io/MetPy/
BSD 3-Clause "New" or "Revised" License
1.25k stars 416 forks source link

LFC doesn't work for model domain #395

Open kgoebber opened 7 years ago

kgoebber commented 7 years ago

Calculation of LFC is problematic for gridded datasets. Current implementation essentially requires 1D (vertical profile) data. It will work by cycling through each grid point, but that would be a relatively slow process.

Investigating other ways of doing the calculation, especially the moist adiabatic calculation, is likely the starting point. From SHARPPY, in their SHARTAB module (which does all the calculations), they use something called the Wobus Function, which was in NSHARP. However, doing a quick search to figure out what that is revealed a recent paper that describes a better method Davies-Jones (2007), which claims to more accurate than the Wobus method.

Davies-Jones 2007

There is also a more recent paper that does uses a non-iterative method for psuedo-adiabatic calculations, Bakhshaii and Stull (2013).

Bakhshaii and Stull 2013

dopplershift commented 7 years ago

So Bakshshaii and Stull (2013) is literally the source for our current implementation of the moist adiabat, which is used by the parcel profile, and hence LFC: https://unidata.github.io/MetPy/api/generated/metpy.calc.moist_lapse.html#metpy.calc.moist_lapse