Skip to content

Enhance Ensemble-Stat to support the use of Gen-Ens-Prod output in the -ens_mean command line option. #2139

@JohnHalleyGotway

Description

@JohnHalleyGotway

Describe the Enhancement

After the introduction of the Gen-Ens-Prod tool in MET version 10.1.0, #1908 removes the ensemble post-processing logic from Ensemble-Stat. With this change, users will likely run Gen-Ens-Prod to generate products, including the ensemble mean, and also run Ensemble-Stat to evaluate the ensemble. The question of handling the ensemble mean arises, since it can be computed by Gen-Ens-Prod but is also needed for computing statistics in Ensemble-Stat. For this issue, consider the two following scenarios and provide solutions for both.

  1. The user runs Gen-Ens-Prod, creates a NetCDF output file including the ensemble mean, and passes that file to Ensemble-Stat using the -ens_mean command line option. As of MET-10.1.0, if -ens_mean is used, it is assumed to be in the same file format at the members. If running Gen-Ens-Prod, that assumption would no longer be valid. Recommend providing enhanced support for the NetCDF output of Gen-Ens-Prod.
  • If -ens_mean specifies a Gen-Ens-Prod output file (need function to determine this), search the NetCDF variables looking for match. For GRIB1/2 inputs, the logic would be pretty easy but if the ensemble members came from NetCDF files originally, it could get messy. Be sure to test both uses.
  • If -ens_mean does NOT specify a Gen-Ens-Prod output file, continue assuming that it follows the same file format/naming conventions as the members provided.
  1. The user runs Ensemble-Stat but does not provide the -ens_mean command line option. Obviously, the ensemble mean can be derived from the input members. Per Remove ensemble post-processing from the Ensemble-Stat tool. #1908, if the ensemble_flag.mean = TRUE; write the mean to an output NetCDF file. If not, compute it in memory and use it... but DO NOT write it to an output NetCDF file.

Recommend working the @michelleharrold and the DTC UFS/SRW team to test this functionality.

Time Estimate

2 days.

Sub-Issues

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

Relevant Deadlines

List relevant project deadlines here or state NONE.

Funding Source

CPC: 2700044 (up to 20 hours)

Define the Metadata

Assignee

Labels

  • Select component(s)
  • Select priority
  • Select requestor(s)

Projects and Milestone

  • Select Repository and/or Organization level Project(s) or add alert: NEED PROJECT ASSIGNMENT label
  • Select Milestone as the next official version 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) and Linked issues
    Select: Repository level development cycle Project for the next official release
    Select: Milestone as the next official version
  • 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

🛑 Not Ready

Relationships

None yet

Development

No branches or pull requests

Issue actions