Sea-Ice Extent Verification Using PointStat and python embedding #1996
-
In one of the METplus User Telecons (Oct 3, 2022), I brought up how as a part of EVS we need to do verification for sea-ice extent (area considered ice covered). My initial approach involved using MODE and using the AREA output from the line type to calculate sea-ice extent, but as we touched on in that telecon the AREA is just the number of grid points, and we'd still need to calculate the area and keep track of the grid spacing to do so. The more I think about it this approach seems cumbersome. The current RTOFS verification code uses python to calculate sea-ice extent. My new approach of thinking is that this pre-existing sea-ice extent calculation code can be adapted for the python embedding in METplus. The python embedding code will take the gridded input file and calculate sea-ice extent, which would result in a single value. This will need to be done for both the forecast and the observations. The value will get assigned to a lat,lon (the same one for both) and the PointStat can be used for getting stat file(s). I haven't done python embedding before, but I know python well enough to know I can figure it out. Is there a good script to reference for using python embedding with PointStat? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 2 replies
-
@malloryprow, there are three types of python embedding supported in MET.
Based on the situation you describe, I suspect that the 3rd option would work best. Use python compute the forecast ice area coverage and the verifying observation ice area coverage. Then format and pass the result as an MPR (matched pair) line type to Stat-Analysis. So you'd be calling Stat-Analysis instead of Point-Stat. Honestly though, I don't know what piece of work you'd actually want Stat-Analysis to perform. Usually, you run Stat-Analysis to aggregate data across multiple cases through time. Presumably though your use case would just generate a handful of MPR matched pair lines. I suppose you could have Stat-Analysis convert that to SL1L2 partial sums and/or apply threshold to generated CTC contingency table count output lines. Just want to make sure that Stat-Analysis is actually performing a useful step. |
Beta Was this translation helpful? Give feedback.
-
@JohnHalleyGotway Thanks! StatAnalysis also makes sense. We just need the SL1L2 partial sums, so that would be great. |
Beta Was this translation helpful? Give feedback.
-
Thanks. I have been playing around with a script this morning, and am making some progress. I'll keep you all updated! |
Beta Was this translation helpful? Give feedback.
-
Yes, feel free to mark as answered! |
Beta Was this translation helpful? Give feedback.
@JohnHalleyGotway Thanks! StatAnalysis also makes sense. We just need the SL1L2 partial sums, so that would be great.