keltonhalbert / SHARPlib

SHARP C++ library for conducting analysis of atmospheric sounding profiles.
Other
16 stars 2 forks source link

Revisit the Parcel Definitions API #21

Open keltonhalbert opened 1 month ago

keltonhalbert commented 1 month ago

Right now, the sharp::Parcel API is a weird amalgamation of NSHARP/SHARPpy, and my desire to find a more generalized approach.

I'm not a fan of the sharp::define_parcel function, because it obfuscates how things like the Mixed Layer and Most Unstable parcels work. Also, this method of computing the Most Unstable parcel is deprecated, and should be used via the Effective Inflow Layer API.

This will likely be related to #19, perhaps suggesting that the Effective Inflow Layer should be wrapped up in a broader Most Unstable Parcel function, rather than the reverse that it currently is.

Perhaps each parcel type gets it's own function (i.e. sharp::surface_parcel, sharp::mixed_parcel, and sharp::most_unstable_parcel)? Then ditch the sharp::define_parcel function and enums, or keep it as a convenience wrapper/legacy function.

keltonhalbert commented 2 weeks ago

Optional idea: define the parcel types as statically overloaded constructors