Skip to content

Enhance RMW-Analysis to filter individual track points rather than entire tracks #3168

@JohnHalleyGotway

Description

@JohnHalleyGotway

Describe the Enhancement

While testing dtcenter/METplus#2985 for the RMW-Analysis wrapper, I discovered some shortcomings in the RMW-Analysis tool implementation. @KathrynNewman and @mkavulich, just want to make you aware of this situation.

  1. The MET documentation in this section incorrectly indicates that model, basin, storm_name, storm_id, and cyclone are single strings:
model      = "";
basin      = "";
storm_name = "";
storm_id   = "";
cyclone    = "";

RMW-Analysis actually parses them as arrays of strings. The documentation (and config files, if needed) should be updated to indicate this.

  1. The RMW-Analysis config file lists several filtering options and the code does parse them. However, they are not all actually applied in the filtering logic of the tool. Specifically, init_mask, valid_mask, and storm_name are parsed but are not actually applied in the filtering logic.

Recommend testing and enhancing RMW-Analysis to ensure that all filtering options in the configuration file are well-documented, parsed well, and applied well to the input data.

  1. Its confusing that RMW-Analysis logs ALL of the input track lines it reads prior to filtering them. Recommend adjusting the logging to include whether the track point is being retained or discarded.
  2. There's a clear bug in the is_keeper() logic. Rather than checking for the number of elements > 1, it should be > 0.

Recommend referring to the test script in seneca:/d1/projects/METplus/pull_requests/METplus-6.1.0/pr_2985/run_test.sh.

Time Estimate

2 days

Sub-Issues

Consider breaking the enhancement down into sub-issues.
None needed.

Relevant Deadlines

Must be completed during this funding cycle by the end of June 2025 and included in the MET-12.2.0-beta1 development cycle.

Funding Source

2783604 NOAA R2O HAFS

Define the Metadata

Assignee

  • Select engineer(s) or no engineer required
  • Select scientist(s) or no scientist required

Labels

  • Review default alert labels
  • Select component(s)
  • Select priority
  • Select requestor(s)

Milestone and Projects

  • Select Milestone as a MET-X.Y.Z version, Consider for Next Release, or Backlog of Development Ideas
  • For a MET-X.Y.Z version, select the MET-X.Y Development project

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) and Development issue
    Select: Milestone as the next official version
    Select: MET-X.Y Development project for development toward the next coordinated release
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Close this issue.

Metadata

Metadata

Type

No type

Projects

Status

🏁 Done

Relationships

None yet

Development

No branches or pull requests

Issue actions