Skip to content
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

Enhance Series-Analysis to compute statistics from the GRAD line type #3030

Closed
10 of 22 tasks
JohnHalleyGotway opened this issue Dec 4, 2024 · 1 comment · Fixed by #3036 or #3055
Closed
10 of 22 tasks

Enhance Series-Analysis to compute statistics from the GRAD line type #3030

JohnHalleyGotway opened this issue Dec 4, 2024 · 1 comment · Fixed by #3036 or #3055
Assignees
Labels
MET: AI/ML Verification Verification of Artificial Intelligence/Machine Learning models MET: Statistics priority: high High Priority reporting: NRL METplus Naval Research Laboratory METplus Project requestor: Navy/NRL Naval Research Laboratory type: enhancement Improve something that it is currently doing
Milestone

Comments

@JohnHalleyGotway
Copy link
Collaborator

JohnHalleyGotway commented Dec 4, 2024

Describe the Enhancement

MET #3024 adds 4 new columns to the GRAD line type written by Grid-Stat to quantify sharpness. This issue is to enhance Series-Analysis to compute the statistics from the GRAD line type to enable sharpness to be assessed spatially.

Recommend reconfiguring an existing unit test for Series-Analysis to also compute GRAD statistics.

Time Estimate

2 days?

Sub-Issues

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

Relevant Deadlines

To be completed by 12/30 and charged to the METplus NRL project.

Funding Source

METplus NRL project (7730022)

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.Z 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.Z Development project for development toward the next official release
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Close this issue.
@JohnHalleyGotway JohnHalleyGotway added type: enhancement Improve something that it is currently doing requestor: Navy/NRL Naval Research Laboratory priority: high High Priority MET: Statistics reporting: NRL METplus Naval Research Laboratory METplus Project MET: AI/ML Verification Verification of Artificial Intelligence/Machine Learning models labels Dec 4, 2024
@JohnHalleyGotway JohnHalleyGotway added this to the MET-12.1.0 milestone Dec 4, 2024
JohnHalleyGotway added a commit that referenced this issue Dec 9, 2024
…Stat to the common area and then referencing it in both Grid-Stat and Series-Analysis.
JohnHalleyGotway added a commit that referenced this issue Dec 9, 2024
…dictionary and an entry for output_stats.gradient. Update the conf_info source code to parse them. Still need to update OTHER Series-Analysis config files and also update the logic in series_analysis.cc to compute GRAD statistics.
@JohnHalleyGotway
Copy link
Collaborator Author

JohnHalleyGotway commented Dec 10, 2024

@KathrynNewman question for you.

I'm adding the gradient configuration entry from Grid-Stat to the Series-Analysis configuration file to make this configurable:

//
// Gradient statistics
// May be set separately in each "obs.field" entry
//
gradient = {
   dx = [ 1 ];
   dy = [ 1 ];
}

Grid-Stat supports an arbitrary number of gradients being computed. Wondering whether Series-Analysis should do the same or only support a single dx and dy value? The former would require storing more data in memory since the matched pairs for each gradient choice would need to be buffered up. This is doable. I just don't know if multiple gradient choices would actually be used in practice. If so, I can add it. If not, I'd rather not complicate the logic with an extra dimension of information if we don't need to.


As we discussed in person, I'll proceed with supporting a list of dx and dy gradient definitions since that option is most consistent with the handling in Grid-Stat and could of scientific use. Recommend sticking with the default setting of dx=[1]; dy=[1];.

JohnHalleyGotway added a commit that referenced this issue Dec 12, 2024
…ong_name attribute of the Series-Analysis output files.
JohnHalleyGotway added a commit that referenced this issue Dec 12, 2024
…crementally across multiple runs. However, this can only be done when requesting that 'ALL' GRAD columns be written.
@JohnHalleyGotway JohnHalleyGotway linked a pull request Dec 12, 2024 that will close this issue
17 tasks
JohnHalleyGotway added a commit that referenced this issue Dec 18, 2024
…lumns to met_header_columns_v12.0.txt to make it easier to parse the output from MET.
JohnHalleyGotway added a commit that referenced this issue Dec 19, 2024
* Per #3033, update version info, consolidate release notes, and add upgrade instructions.

* Per #3033, remove all instances of 'Bugfix: ' from the release notes since it's redundant with the dropdown name

* Per #3030, based on request from Randy Pierce, also add MTD header columns to met_header_columns_v12.0.txt to make it easier to parse the output from MET.

* Per #3033, fix typo and correct alignment in table
JohnHalleyGotway added a commit that referenced this issue Jan 16, 2025
* Per #3024, roll the version number from 12.0 to 12.1 prior to adding new columns to the existing GRAD line type.

* Per #3024, return bad data for the square root of a negative number

* Per #3024, update Grid-Stat to write 4 new columns to the GRAD line type.

* Per #3024, tweak laplace MSE computation

* Per #3024, add appendixC.rst equations for the new statistics

* Per #3024, escape embedded underscores in equations only for latex formatting, not html

* Per #3024, add reference to paper and summary of the new gradient stats

* Per #3030, update docs by moving the gradient config entry from Grid-Stat to the common area and then referencing it in both Grid-Stat and Series-Analysis.

* Per #3030, update Series-Analysis config file by adding the gradient dictionary and an entry for output_stats.gradient. Update the conf_info source code to parse them. Still need to update OTHER Series-Analysis config files and also update the logic in series_analysis.cc to compute GRAD statistics.

* Per #3030, add descriptions of GRAD statistics for inclusion in the long_name attribute of the Series-Analysis output files.

* Per #3030, add the GRADInfo::get_stat() member function to be called by Series-Analysis

* Per #3030, fix parsing logic for the gradient dictionary.

* Per #3030, add gradient entries to existing Series-Analysis config files

* Per #3030, add GRADInfo::set_stat() member function

* Per #3030, enhance Series-Analysis to aggregate the GRAD line type incrementally across multiple runs. However, this can only be done when requesting that 'ALL' GRAD columns be written.

* Per #3030, reduce the volume of SonarQube code smells.

* Updated syntax

* Updated syntax

* Updated syntax

---------

Co-authored-by: MET Tools Test Account <met_test@seneca.rap.ucar.edu>
Co-authored-by: j-opatz <59586397+j-opatz@users.noreply.github.com>
@JohnHalleyGotway JohnHalleyGotway linked a pull request Jan 16, 2025 that will close this issue
@github-project-automation github-project-automation bot moved this to 🩺 Needs Triage in METplus-6.1.0 Development Jan 28, 2025
@JohnHalleyGotway JohnHalleyGotway moved this from 🩺 Needs Triage to 🏁 Done in METplus-6.1.0 Development Jan 28, 2025
JohnHalleyGotway added a commit that referenced this issue Feb 1, 2025
* use custom GitHub Action to trigger METplus use cases

* Updating values

* Bugfix #3020 main_v12.0 grid_stat_seeps (#3022)

* Per #3020, add missing GridStatNcOutInfo::do_seeps flag and use it to determine if SEEPS information should be written to the Grid-Stat NetCDF matched pairs output file.

* Unrelated to #3020, fix broken NetCDF cf-conventions links in the User's Guide.

* Per #3020, no real changes. Just whitespace

* Update to reflect usage of oneAPI compilers

* Updating file to reflect usage of oneAPI compilers

* Hotfix to the main_v12.0 branch after PR #3022 fixed a SEEPS bug. The GridStatConfig_SEEPS config file needs to be updated with nc_pairs_flag.seeps = TRUE in order for the same output to be produced by the unit tests.

* Adding In Memoriam

* Feature #3032 main_v12.0 docs data type (#3040)

* Per #3032, add data type column to all of the output tables

* Per #3032, remove the first row from each output table since its info is repeated from the table name. Additional changes for consistency and accuracy in column names.

* Update docs/Users_Guide/gsi-tools.rst

Co-authored-by: Julie Prestopnik <jpresto@ucar.edu>

---------

Co-authored-by: Julie Prestopnik <jpresto@ucar.edu>

* Making a superficial change in the main_v12.0 branch to trigger GHA to create and push an updated test output image.

* Feature #3033 v12.0.0 (#3042)

* Per #3033, update version info, consolidate release notes, and add upgrade instructions.

* Per #3033, remove all instances of 'Bugfix: ' from the release notes since it's redundant with the dropdown name

* Per #3030, based on request from Randy Pierce, also add MTD header columns to met_header_columns_v12.0.txt to make it easier to parse the output from MET.

* Per #3033, fix typo and correct alignment in table

* Update install_met_env.acorn

Removing reference to beta version

* Update install_met_env.cactus

Remove references to beta version

* Update install_met_env.cactus

Update paths for eckit and atlas

* Update install_met_env.wcoss2

Remove beta references

* Fix typo, missing one * to make SciPy bold in appendixF.rst

* Per #3051, update unit tests so that installed files are found relative to MET_BASE (<install_loc>/share/met) and other files that are only in the MET repo are found relative to MET_TEST_BASE (MET/internal/test_unit). Also remove MET_BUILD_BASE env var (#3052)

* Bugfix #3054 main_v12.0 parusr (#3068)

* Per #3054, fix PARUSR BUFRLIB error by solving the upstream reference to temporary memory returned by c_str(). Store a copy of the temporary variable name in a string rather than a pointer to temporary memory. Note that I checked all other calls to c_str() in pb2nc.cc and found these 2 instances to be only problematic ones. All others are used as arguments to functions for which a copy is made.

* Unrelated to #3054, but discovered while investigating the dtcenter/METplus#2875 discussion, the PairBase::calc_obs_summary() function loops over map entries and attempts to update the mapped 'summary_val' value. However, the current version only updates it in a copy and not what's actually in the map. This changes how we loop over the map to actually udpate its contents. Note that the only impact is fixing a log file to accurately report the 'summary_val'. So this is really a logging bug.

* Per #3054, revert emplace_back() to its original push_back() to make the bugfix diffs as limited as possible.

* Per #3054, correct bugfix in PairBase::calc_obs_summary() in pair_base.cc

---------

Co-authored-by: MET Tools Test Account <met_test@seneca.rap.ucar.edu>

* Per #3070, updates for the 12.0.1 bugfix release. (#3071)

---------

Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
Co-authored-by: Julie Prestopnik <jpresto@ucar.edu>
Co-authored-by: John Halley Gotway <johnhg@ucar.edu>
Co-authored-by: MET Tools Test Account <met_test@seneca.rap.ucar.edu>
Co-authored-by: metplus-bot <97135045+metplus-bot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MET: AI/ML Verification Verification of Artificial Intelligence/Machine Learning models MET: Statistics priority: high High Priority reporting: NRL METplus Naval Research Laboratory METplus Project requestor: Navy/NRL Naval Research Laboratory type: enhancement Improve something that it is currently doing
Projects
Status: 🏁 Done
2 participants