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

Bugfix: Fix Grid-Stat segfault when SEEPS is the only NetCDF output type requested #3020

Closed
10 of 23 tasks
JohnHalleyGotway opened this issue Nov 15, 2024 · 0 comments · Fixed by #3021 or #3022
Closed
10 of 23 tasks
Assignees
Labels
MET: Grid-to-Grid Verification priority: high High Priority requestor: UK Met Office United Kingdom Met Office type: bug Fix something that is not working
Milestone

Comments

@JohnHalleyGotway
Copy link
Collaborator

JohnHalleyGotway commented Nov 15, 2024

Describe the Problem

As described in discussion dtcenter/METplus#2794, Grid-Stat segfaults when SEEPS is the only NetCDF output type requested. Grid-Stat attempts to write the SEEPS data to the NetCDF output file prior to that file being created.

Remember to fix this in both the develop and main_v12.0 branches.

Expected Behavior

This issue is to update the Grid-Stat logic to create and initialize the NetCDF output file, even if SEEPS is the only type requested.

Environment

Describe your runtime environment:

  • Identified by the MetOffice and replicated on seneca.

To Reproduce

Describe the steps to reproduce the behavior:

Relevant Deadlines

Include fix in the MET-12.0.0 release.

Funding Source

2799991

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 the next bugfix version
  • Select Coordinated METplus-X.Y Support project for support of the current coordinated release
  • Select MET-X.Y.Z Development project for development toward the next official release

Define Related Issue(s)

Consider the impact to the other METplus components.

Bugfix 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 main_<Version>.
    Branch name: bugfix_<Issue Number>_main_<Version>_<Description>
  • Fix the bug 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 main_<Version>.
    Pull request: bugfix <Issue Number> main_<Version> <Description>
  • Define the pull request metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the next bugfix version
    Select: Coordinated METplus-X.Y Support project for support of the current coordinated release
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Complete the steps above to fix the bug on the develop branch.
    Branch name: bugfix_<Issue Number>_develop_<Description>
    Pull request: bugfix <Issue Number> develop <Description>
    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
  • Close this issue.
@JohnHalleyGotway JohnHalleyGotway added type: bug Fix something that is not working requestor: UK Met Office United Kingdom Met Office alert: NEED ACCOUNT KEY Need to assign an account key to this issue MET: Grid-to-Grid Verification priority: high High Priority labels Nov 15, 2024
@JohnHalleyGotway JohnHalleyGotway added this to the MET-12.0.0 milestone Nov 15, 2024
@github-project-automation github-project-automation bot moved this to 🩺 Needs Triage in MET-12.0.0 Development Nov 15, 2024
@JohnHalleyGotway JohnHalleyGotway moved this from 🩺 Needs Triage to 🏗 In progress in MET-12.0.0 Development Nov 15, 2024
@JohnHalleyGotway JohnHalleyGotway removed the alert: NEED ACCOUNT KEY Need to assign an account key to this issue label Nov 15, 2024
JohnHalleyGotway added a commit that referenced this issue Nov 15, 2024
… determine if SEEPS information should be written to the Grid-Stat NetCDF matched pairs output file.
@JohnHalleyGotway JohnHalleyGotway linked a pull request Nov 15, 2024 that will close this issue
17 tasks
JohnHalleyGotway added a commit that referenced this issue Nov 15, 2024
… determine if SEEPS information should be written to the Grid-Stat NetCDF matched pairs output file.
@JohnHalleyGotway JohnHalleyGotway linked a pull request Nov 15, 2024 that will close this issue
@JohnHalleyGotway JohnHalleyGotway moved this from 🏗 In progress to 🔎 In review in MET-12.0.0 Development Nov 15, 2024
JohnHalleyGotway added a commit that referenced this issue Nov 20, 2024
* 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
JohnHalleyGotway added a commit that referenced this issue Nov 20, 2024
* 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
@github-project-automation github-project-automation bot moved this from 🔎 In review to 🏁 Done in MET-12.0.0 Development Nov 20, 2024
JohnHalleyGotway added a commit that referenced this issue Dec 19, 2024
* 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.

---------

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>
@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: Grid-to-Grid Verification priority: high High Priority requestor: UK Met Office United Kingdom Met Office type: bug Fix something that is not working
Projects
Status: 🏁 Done
Status: 🏁 Done
2 participants