Skip to content

Bugfix: Allow spaces for complex categorical thresholds #2189

@melissaOu

Description

@melissaOu

Request for the Grid Stat category thresholds for forecast and observations to allow spaces between logicals, similar to Series Analysis. The below
BOTH_GRID_STAT_VAR1_THRESH = lt-0.5, gt-0.5 && lt0.5, gt0.5
results in an error of:
ERROR: Could not process OBS_VAR1 variables: Invalid threshold supplied (same for FCST)
metplus (command_builder.py:257) ERROR: (compare_gridded_wrapper.py:153) No input fields were specified. You must set [FCST/OBS]VAR[NAME/LEVELS].
the METPlus documentation has this for FCST_VAR_THRESH Set this to a comma-separated list of threshold values to use in the comparison. Each of these values must begin with a comparison operator (>, >=, =, ==, !=, <, <=, gt, ge, eq, ne, lt, or le).

Removing spaces between the values and '&&' works, though (BOTH_GRID_STAT_VAR1_THRESH = lt-0.5, gt-0.5&&lt0.5, gt0.5).

Series analysis runs properly when spaces are between the logicals and inequalities so the behavior should match. Also, the resulting error of "Set this to a comma-separated list of threshold values to use in the comparison. Each of these values must begin with a comparison operator (>, >=, =, ==, !=, <, <=, gt, ge, eq, ne, lt, or le)." did not reflect this issue but fixing this would make the error make more sense.

Relevant Deadlines

5.1.0 and 5.0.2

Funding Source

2700044

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

  • Select Organization level Project for support of the current coordinated release
  • Select Repository level Project for development toward the next official release or add alert: NEED CYCLE ASSIGNMENT label
  • Select Milestone as the next bugfix version

Define Related Issue(s)

Consider the impact to the other METplus components.

Bugfix 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 main_<Version>.
    Branch name: bugfix_<Issue Number>_main_<Version>_<Description>
  • Fix the bug and test your changes.
  • Add/update log messages for easier debugging.
  • Add/update unit tests.
  • Add/update documentation.
  • Add any new Python packages to the METplus Components Python Requirements table.
  • Push local changes to GitHub.
  • Submit a pull request to merge into main_<Version>.
    Pull request: bugfix <Issue Number> main_<Version> <Description>
  • Define the pull request metadata, as permissions allow.
    Select: Reviewer(s) and Development issues
    Select: Organization level software support Project for the current coordinated release
    Select: Milestone as the next bugfix version
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Complete the steps above to fix the bug on the develop branch.
    Branch name: bugfix_<Issue Number>_develop_<Description>
    Pull request: bugfix <Issue Number> develop <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
  • Close this issue.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

✅ Done

Relationships

None yet

Development

No branches or pull requests

Issue actions