-
Notifications
You must be signed in to change notification settings - Fork 26
Description
Describe the Enhancement
NOAA/MDL runs Point-Stat and Stat-Analysis to verify precipitation forecasts over many spatial regions (all WFO's, RFC's, as well as CONUS, EAST, and WEST). They also compute monthly stats for each individual station. The latter is done via Stat-Analysis, by reading MPR lines from Point-Stat and running the following type of job:
-job aggregate_stat -line_type MPR -out_line_type CTS -out_thresh gt12.7 -by OBS_SID
They also request -out_line_type CNT to doing conditional verification after subsetting the data. This is done in Point-Stat using cnt_thresh. However, they run these jobs for 8 different thresholds, which requires Stat-Analysis to do the same I/O 8 times.
cat_thresh = [ >=0.254, >=2.54, >=6.35, >=12.7, >=25.4, >=50.8, >=76.2, >=127 ];
cnt_thresh = [ >=0&&<0.254, >=0.254&&<2.54, >=2.54&&<6.35, >=6.35&&<12.7, >=12.7&&<25.4, >=25.4&&<76.2, >=76.2&&<127, >=127 ];
Ideally they could run a single job and have it produce output for all 8 thresholds. But specifying multiple output thresholds from Stat-Analysis results in the following runtime error message:
ERROR : do_job_aggr_stat() -> when "-out_line_type" is set to FHO, CTC, CTS, or ECLV, the "-out_thresh" option or "-out_fcst_thresh" and "-out_obs_thresh" options must specify exactly one threshold.
This task to enhance that logic. Support multiple settings for "-out_thresh" (or multiple, matching numbers of "-out_fcst_thresh" and "-out_obs_thresh" options) and create output for each threshold specified. This should work when doing categorical verification (i.e. -out_line_type CTC or CTS) and when doing continuous verification (i.e. -out_line_type SL1L2 or CNT).
Could also consider adding an "-out_thresh_logic" job command option to control how the fcst cnt_thresh and obs cnt_thresh thresholds are combined.
Time Estimate
2 days
Sub-Issues
Consider breaking the enhancement down into sub-issues.
No sub-issues required.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
Define the source of funding and account keys here or state NONE.
Define the Metadata
Assignee
- Select engineer(s) or no engineer required
- Select scientist(s) or no scientist required
Labels
- Select component(s)
- Select priority
- Select requestor(s)
Projects and Milestone
- Review projects and select relevant Repository and Organization ones or add "alert:NEED PROJECT ASSIGNMENT" label
- Select milestone to next major version milestone or "Future Versions"
Define Related Issue(s)
Consider the impact to the other METplus components.
Enhancement Checklist
See the METplus Workflow for details.
- Complete the issue definition above, including the Time Estimate and Funding Source.
- Fork this repository or create a branch of develop.
Branch name:feature_<Issue Number>_<Description>
- Complete the development and test your changes.
- Add/update log messages for easier debugging.
- Add/update unit tests.
- Add/update documentation.
- Push local changes to GitHub.
- Submit a pull request to merge into develop.
Pull request:feature <Issue Number> <Description>
- Define the pull request metadata, as permissions allow.
Select: Reviewer(s), Project(s), Milestone, and Linked issues - Iterate until the reviewer(s) accept and merge your changes.
- Delete your fork or branch.
- Close this issue.