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
@github-project-automation github-project-automation bot moved this to 🩺 Needs Triage in MET-12.1.0 Development Dec 4, 2024
@JohnHalleyGotway JohnHalleyGotway moved this from 🩺 Needs Triage to 🟢 Ready in MET-12.1.0 Development 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 JohnHalleyGotway moved this from 🟢 Ready to 🏗 In progress in MET-12.1.0 Development Dec 11, 2024
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 JohnHalleyGotway moved this from 🏗 In progress to 🔎 In review in MET-12.1.0 Development Dec 12, 2024
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 <[email protected]>
Co-authored-by: j-opatz <[email protected]>
@JohnHalleyGotway JohnHalleyGotway linked a pull request Jan 16, 2025 that will close this issue
@github-project-automation github-project-automation bot moved this from 🔎 In review to 🏁 Done in MET-12.1.0 Development Jan 16, 2025
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