Skip to content

Support percentile thresholds for frequency bias not equal to 1 (e.g. ==FBIAS0.9) #1761

@JohnHalleyGotway

Description

@JohnHalleyGotway

Describe the Enhancement

MET currently supports the FBIAS1 percentile threshold option. For example, you can set "obs.cat_thresh = >20;" and set "fcst.cat_thresh = ==FBIAS1;". MET will replace ==FBIAS1 with the actual threshold value that will result in a frequency bias of 1.0. This is essentially de-biasing the forecast. However, we did find one case where setting the FBIAS to value different from 1.0 would actually be useful, and then is in setting the MODE merge_thresh option.

This tasks is to enable MET to support ==FBIAS{N} where N is a floating point value. Make sure to test this in MODE:

conv_thresh  = ==FBIAS1;
merge_thresh = ==FBIAS0.9;

As discussed via @sethlinden and @JohnHalleyGotway, enhance unit_perc_thresh.xml to exercise all possible permutations of threshold types:

  • Using ==FBIAS{n} thresholds in the fcst and obs dictionaries (x 2)
  • Setting n = 1.0, <1.0, and >1.0 (x 3)
  • Exercise by inequality types for the other threshold: < and > (x 2)
    Recommend doing this in Grid-Stat and including all 12 permutations described above.

We should also manually test this in MODE, setting fcst.conv_thresh = ==FBIAS1.0 and fcst.merge_thresh ==FBIAS0.9. We should make sure that this actually works and we may, or may not, actually use that for an additional unit test.

Time Estimate

Many 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

2712221 - managed by @michelleharrold

Define the Metadata

Assignee

  • Select engineer(s) or no engineer required: @sethlinden
  • Select scientist(s) or no scientist required: Michelle, or could be reassigned to another scientist on AF projects.

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.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions