Skip to content

Correct the CTS output generated by multivariate MODE #3329

@JohnHalleyGotway

Description

@JohnHalleyGotway

Describe the Enhancement

While working on issue #3286, I ran across unexpected output generated by multivariate MODE. I'd originally planned to fix it on the same issue but found it to be rather involved. I'm splitting that work out into this new issue to be addressed for the MET-13.0.0 beta2 development cycle.

There are 2 problems in multivariate MODE which will likely be fixed by the same change to the logic. For multivariate MODE, the super object field is currently filled with bad data at most grid points or 0 for the superobject grid points. This structure of the data leads to issues in the contingency table counts/statistics and the PostScript plots.

  1. Check the TOTAL column of the multivariate MODE CTS output lines. That value should be roughly the number of points in the grid (e.g. Nx*Ny) minus any grid points containing bad data in the input. However, it's currently the number of grid points which are included in both the fcst and obs super objects. This is an artifact of how the data for the super objects is stored.

  2. Similarly, when plot_valid_flag = TRUE and no intensity comparisons are requested, the PostScript output from multivariate MODE is zoomed up to only contain the grid points falling inside the super objects. This is also an artifact of how the data for the super objects is stored.

Recommend revisiting and updating the logic as needed so that the CTS counts/statistics and PostScript plots generated by multivariate MODE are consistent with those generated by traditional MODE.

Consider keeping track of the grid points which contain valid data for ALL the input fields and using that to define how plot_valid_flag = TRUE should be handled when no intensity comparisons are requested.

Time Estimate

Unknown

Sub-Issues

Consider breaking the enhancement down into sub-issues.

  • Add a checkbox for each sub-issue here.

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

  • 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

🩺 Needs Triage

Relationships

None yet

Development

No branches or pull requests

Issue actions