NOAA-National-Severe-Storms-Laboratory / frdd-monte-python

Methods for Object-based and Neighborhood Threat Evaluation in Python
8 stars 2 forks source link

Some object modes/labels get completely overwritten #7

Open LarissaReames-NOAA opened 2 years ago

LarissaReames-NOAA commented 2 years ago

The only form of storm mode returned to the user in StormModeClassifier.classify is a 2-dimensional array with storm mode labeled at each valid grid point. However, when entire objects are subsequently reclassified as new embedded objects, the mode information of the original object is lost. For making a lat-lon plot of storm mode this is fine, but for statistical analysis you wouldn't want to lose that over-written object's mode information. I suggest, in additional to the 2-D array, we return a 1-d array of storm modes that matches the scikit properties object one-to-one.

monte-flora commented 2 years ago

Did you address this in your pull request?

LarissaReames-NOAA commented 2 years ago

No just the speed issue. I thought you had an idea for bundling it in to the scikit storm properties object. If you didn't I can work on that.

monte-flora commented 2 years ago

Gotcha. Can you upload the change you made so I can work from that to incorporate the dataframe idea?

LarissaReames-NOAA commented 2 years ago

Gotcha. Can you upload the change you made so I can work from that to incorporate the dataframe idea?

Yep, it's here: https://github.com/LarissaReames-NOAA/MontePython/tree/feature/return_modes_array

monte-flora commented 1 year ago

First of all, thanks for your work on improving the storm mode classification algorithm! I'm sorry I have taken so long to address this issue. With the latest push, I have added the storm mode names to the dbz_props objects and it be retrieved using dbz_props[0].storm_mode. I've updated the tutorial notebooks to demonstrate that new feature. Let me know if run into any other issues! Also, let me know if the change works for you and I'll close this comment.