There is a nice analysis of using [alpha shapes](https://en.wikipedia.org/wiki/Alpha_shape) to allow for a "concave hull" to define the LMA flash area in [Winn et al. (2021)](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2021JD034938). Alpha shapes prune away the outer edges of the Delaunay triangulation that is used to define the convex hull, with the alpha parameter used to define a scale length beyond which edges should be pruned. There is an [`alphashape`](https://pypi.org/project/alphashape/) library on PyPI, which will directly calculate the shape from a set of points. However, that library is meant to be a high level interface, and `xlma-python` already calculates the triangulation in 2D and 3D, so there is no reason to repeat that calculation a second time. It would be worthwhile to study the low-level implementation details in `alphashape` to see if we can adapt the calculations to use our existing triangulation, perhaps by calling a supporting subroutine instead of the high level interface in the `alphashape` library.