-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create the new Gen-Ens-Prod tool for ensemble product generation. #1904
Comments
…f the existing Ensemble-Stat tool, just renamed to Gen-Ens-Prod, including the newly added documentation section.
…S_ to _GEP_ to get rid of RTD documentation warnings.
…d add the default configuration file.
Progress. I have an initial version of gen_ens_prod working in my local feature_1904_gen_ens_prod branch. In Ensemble-Stat, the ensemble_flag dictionary, can only be set once and is applied to all the fields in the "ens" dictionary. So all products are derived for all fields. Recommend that we enable the ensemble_flag to be specified separately for each "ens" field so that users can control the output separately for each field. Here's the usage statement:
|
…omplete. Continue edits in the configuration section.
…data for use in defining climo cdp threshold types.
List of enhancements to make:
Since this tool can read climo data and use them to define climo distribution percentile thresholds (e.g. >CDP50), we should be able to write these fields to the output, as Grid-Stat does.
NOTE Will not make this change as part of this issue. The changes required would be mostly in the common library code and a piecemeal approach isn't a good idea here. Instead make these changes as part of #660. |
…() followed by add_const(double, int). That saves code in gen_ens_prod.
…the unit tests. Still need more work to get climo working in unit tests.
…mean/stdev for CDP type thresholds.
…climo data to the fractional_coverage() function.
…ge() function. Also update the gen_ens_prod unit tests to call it once with/without a control member. I manually confirmed that the spread is the same in the output but the means differ.
…move unused rng and tmp_dir config entries. Simplify variable names.
…emble sum is used to compute both the mean and the standard deviation. Since we include control member in the mean but not the standard deviation, we need to track two different versions of that sum.
…ude support was added to develop. Had to manually resolve some conflicts.
… fractional_coverage() utility functions as their signatures where changed by recent enhancements in develop.
* Per #1904, add gen_ens_prod tool. Note that this is a complete copy of the existing Ensemble-Stat tool, just renamed to Gen-Ens-Prod, including the newly added documentation section. * Per #1904, update the gen-ens-prod documentation labels, switching _ES_ to _GEP_ to get rid of RTD documentation warnings. * Per #1904, more renaming of EnsembleStat to GenEnsProd in the code and add the default configuration file. * Per #1904, add updated version of the MET flowchart for version 10.1.0. * Per #1904, add make directives for running a sample call to gen_ens_prod. * Per #1904, updates to the default Gen-Ens-Prod config file. * Per #1904, strip out the logic from Ensemble-Stat that does not apply to Gen-Ens-Prod. * Per #1904, updates to the Gen-Ens-Prod documentation. These are not complete. Continue edits in the configuration section. * Per #1904, fix command line in example to use -out instead of -outdir. * Per #1904, removing lots of uneeded code. Update to read climatology data for use in defining climo cdp threshold types. * Per #1904, add climo and climo_cdp options to ensemble_flag. * Per #1904, update gen_ens_prod to actually write climo and climo_cdp outputs. * Per #1904, add NumArray::set_const(double, int) to quickly call erase() followed by add_const(double, int). That saves code in gen_ens_prod. * Per #1904, add support for the ensemble control member. Exclude it from the spread. * Per #1904, update call to gen_ens_prod for make test and also update the unit tests. Still need more work to get climo working in unit tests. * Per #1904, update the fractional_coverage() function to handle climo mean/stdev for CDP type thresholds. * Per #1904, update Grid-Stat, Ensemlbe-Stat, and Gen-Ens-Prod to pass climo data to the fractional_coverage() function. * Per #1904, fix logic for handling climo data in the fractional_coverage() function. Also update the gen_ens_prod unit tests to call it once with/without a control member. I manually confirmed that the spread is the same in the output but the means differ. * Per #1904, add the make test script logic to unit_met_test_scripts.xml * Per #1904, complete initial version of docs for gen_ens_prod tool. Remove unused rng and tmp_dir config entries. Simplify variable names. * Per #1904, fix names to get it compiling and remove unneeded gsl include. * Per #1904, simplify variable names. * Per #1904, correct the logic for handling the control member. The ensemble sum is used to compute both the mean and the standard deviation. Since we include control member in the mean but not the standard deviation, we need to track two different versions of that sum. * Per #1904, in gen_ens_prod.cc correct calls to the smooth_field() and fractional_coverage() utility functions as their signatures where changed by recent enhancements in develop.
…cking the length of config_file instead of out_file. This became obvious when running gen_ens_prod without the -out option. That run segfaulted because it tried to create an output file using an empty string.
…cking the length of config_file instead of out_file. This became obvious when running gen_ens_prod without the -out option. That run segfaulted because it tried to create an output file using an empty string. (#2087)
Describe the New Feature
Create a new tool for ensemble product generation named Gen-Ens-Prod. This tool requires a configuration file and should contain the ensemble product generation currently performed for the fields in the "ens" dictionary of Ensemble-Stat. Consider renaming the "ens" dictionary to "data" to be consistent with the conventions of the Grid-Diag tool.
This tool does not process observations, but must support climatology mean and standard deviation data to support the use of climatological distribution percentile thresholds (e.g. >CDP75).
Acceptance Testing
Ensure that other MET tools can read the NetCDF output created by this tool.
Time Estimate
2 weeks.
Sub-Issues
Consider breaking the new feature down into sub-issues.
Sub-issues will likely be required. Not sure what they are yet.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
Split 2793541, 2700041, 2799991
Define the Metadata
Assignee
Can also solicit feedback from @mpm-meto, @jwolff-ncar, and @michelleharrold.
Labels
Projects and Milestone
Define Related Issue(s)
Consider the impact to the other METplus components.
New Feature Checklist
See the METplus Workflow for details.
Branch name:
feature_<Issue Number>_<Description>
Pull request:
feature <Issue Number> <Description>
Select: Reviewer(s) and Linked issues
Select: Repository level development cycle Project for the next official release
Select: Milestone as the next official version
The text was updated successfully, but these errors were encountered: