-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance TC-Stat to write the RIRW job CTC/CTS output to a .stat output file #2425
Comments
Seth and John met on 3/30/23 to discuss this issue. Recommend running the following Stat-Analysis job on seneca to demonstrate the desired functionality:
And here's the similar tc_stat job to be enhanced to support the
See the usage statement: https://met.readthedocs.io/en/latest/Users_Guide/tc-stat.html#practical-information Found this unexpected use of
Look in stat_analysis_job.cc at this code. Lines 1328-1330 likely already exist in tc_stat, but you'll need to add logic similar to lines 1323-1326:
Note in tc_stat_job.h, that StatFile is the path of the file to be written while StatOut is the actual output file stream to be written. Note that this is named
|
Psuedo code from our meeting about this on 4/6/23:
Initial goal is to generate a .stat output file with all the header columns left empty. Once that's done, meet to discuss how they should actually be populated.
|
…t_row and prototype for setup_stat_file(). SL ci-skip-all
…_stat_output. In progress. SL ci-skip-all
…W:do_job to produce out file and stat file appropriately. SL ci-skip-all
…the file-stream object. Now getting output in the out.stat file. SL ci-skip-all
…at_output. Modified RIRWMapData struct. SL ci-skip-all
…RIRW process_pair() to get the new vars: Init, Lead, Valid. Worked on filling in StatHeader object in do_stat_output. SL
…d stating the number of header columns as being 24. Always want to avoid those sorts of specifics because if/when that number changes, we'll almost definitely forget to update it here.wq
…ncy and using it in the RIRW job.
@sethlinden, I've finally had a chance to look through this. Overall, this seems reasonable. A few comments/questions, some of which may be naïve:
|
Note that on 5/15/2023, @OliviaOstwald-NOAA asked a question during the NOAA METplus User telecon that resulted in #2542. So she's actively running the TC-Stat Recommend that we tag @OliviaOstwald-NOAA and @mollybsmith-noaa in the MET-11.1.0-rc1 release acceptance testing step for #2425 and #2542. |
…2425 by adding the option. That produces output for both the AHWI and BCLP model names. The BCLP contingency table is empty which triggers this runtime error. Tweaking this newly added tests and confirming that it now runs without error demonstrate the fix.
* Per #2542, in the ContingencyTable class, update gheidke(), gheidke_ec(), gkuiper(), and gerrity() to return bad data for empty contingency tables rather than erroring out. * Per #2542, modify TC-Stat config file job number 8 that was added for #2425 by adding the option. That produces output for both the AHWI and BCLP model names. The BCLP contingency table is empty which triggers this runtime error. Tweaking this newly added tests and confirming that it now runs without error demonstrate the fix.
@jvigh regarding your questions from last week, here are some brief answers:
If you're interested in learning more about TC-Stat, I'd suggest scheduling a working session where we step through some examples. We could demonstrate the existing functionality, and you can decide if those are sufficient to answer the questions you have. But I think working through concrete examples would be the most productive. I'll leave it to you to schedule that if you'd like. |
Hi John, I'm not sure if this also applies to me, but I would be very interested in scheduling a working session to learn more about TC-Stat if possible. Thanks! |
@JohnHalleyGotway Thanks very much for the explanation. It's been a while since I've worked with TC-Stat, so it's helpful to have that context. I'm not sure when I'll have time in the immediate future for a work session, but if you end up having one with Olivia, please invite me. |
@JohnHalleyGotway Hi John, I have been working on producing RIRW stats and have a question: is there a way to produce these stats for the entire basin? Right now, I am only getting stat output files for individual storms. Thanks! |
@OliviaOstwald-NOAA, yes certainly. RIRW stats should be able to be computed over multiple storms in a basin. It really all depends on what data you're passing to the TC-Stat tool. If the input is a single storm then that's all you get in the output. If the input is all storms in the basin for one or more years, then that's what you'll get in the output. Honestly, there's lots of details and options to consider...
Give that some thought and let me know if any of the tools or config options don't work as you'd expect. |
@JohnHalleyGotway Thanks so much! I'll review this and let you know. Enjoy the holiday weekend! |
I've spent most of Saturday trying to test this issue for the upcoming release, and I couldn't get it to work. It's entirely possible that this is user error on my part, but if so then the syntax is not clear. In my TCStat config, I replaced this working line: |
Could this be an equivalent issue to the removal of the LOOP_ORDER parameter in TCPairs? At the time I understood that to be TCPairs specific, but maybe it applies to TCStat as well? |
@mollybsmith-noaa, It looks like the log file with the timestamp you listed is gone and there are newer log files in that directory. I see some successful runs. Were you able to resolve this issue already? |
No, but it’s possible that something ran automatically and purged the logs,
sorry. I’m interviewing a job candidate but will check directly after. Do
you think this might be the same LOOP_ORDER issue, but in TCStat?
…On Mon, Jul 10, 2023 at 10:39 AM George McCabe ***@***.***> wrote:
@mollybsmith-noaa <https://github.com/mollybsmith-noaa>, It looks like
the log file with the timestamp you listed is gone and there are newer log
files in that directory. I see some successful runs. Were you able to
resolve this issue already?
—
Reply to this email directly, view it on GitHub
<#2425 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHBWGZLKFXQRJFUUYXWGELDXPQV4LANCNFSM6AAAAAAUH6VYJE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I don't think it is related to the same issue re: LOOP_ORDER. It looks like the You could test that this is the issue by creating the directory that will contain the -out_stat file before running TCStat to see if that resolves the issue. |
Oh, so the issue is that this is a change in MET that hasn’t necessarily been propagated to METplus? That makes sense. I’ll give the directory creation a try.
… On Jul 10, 2023, at 11:02 AM, George McCabe ***@***.***> wrote:
I don't think it is related to the same issue re: LOOP_ORDER.
It looks like the -out_stat job argument was somewhat recently added to TCStat. I see logic in the TCStat wrapper to check for -dump_row in the job args and create the parent directory if it does not already exist. There is no logic to handle this in the same way for the new -out_stat argument.
You could test that this is the issue by creating the directory that will contain the -out_stat file before running TCStat to see if that resolves the issue.
—
Reply to this email directly, view it on GitHub <#2425 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AHBWGZNK4I6HDPJOD6M75OTXPQYUFANCNFSM6AAAAAAUH6VYJE>.
You are receiving this because you were mentioned.
|
That's my guess but I don't know for sure without seeing if creating the directory fixes the problem or seeing an updated log file. |
This worked perfectly, thank you. The testing is successful. |
Describe the New Feature
The RIRW job in TC-Stat applies a categorical verification approach to verify rapid intensification or weakening events identified in A-Decks and B-Decks. The job can write CTC/CTS/MPR data to the output. However, that output is only written to the terminal or redirected to a log file. And the CTC/CTS line written do NOT contain the full 21 header columns common to all other .stat line types.
This task to add support for the
-out_stat
job command option to the TC-Stat tool. When supplied, reformat the custom header columns for the RIRW job type into the existing 21 .stat header columns. The challenge is finding an intuitive and logical place for each piece of metadata.This is requested by NOAA/GSL for use during the 2023 hurricane season.
Acceptance Testing
List input data types and sources.
Describe tests required for new functionality.
Time Estimate
Estimate the amount of work required here.
Issues should represent approximately 1 to 3 days of work.
Sub-Issues
Consider breaking the new feature down into sub-issues.
No sub-issues required
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
2792542
Define the Metadata
Assignee
Labels
Projects and Milestone
Define Related Issue(s)
Consider the impact to the other METplus components.
No impacts.
New Feature Checklist
See the METplus Workflow for details.
Branch name:
feature_<Issue Number>_<Description>
Pull request:
feature <Issue Number> <Description>
Select: Reviewer(s) and Development issues
Select: Repository level development cycle Project for the next official release
Select: Milestone as the next official version
The text was updated successfully, but these errors were encountered: