Skip to content

Conversation

hsoh-u
Copy link
Collaborator

@hsoh-u hsoh-u commented Jun 16, 2025

The main change is including upper bound for the range of indexes (0:10 ==> include 11 levels instead of 10 levels) to make the same behavior with GRIB.

  • Support two @ notations at time and vlevel
  • Other bug fixes with @Notation and range of offsets
  • Allow vertical level range for the plot_data_plane. It will give a log message which level was selected

Expected Differences

  • Do these changes introduce new tools, command line arguments, or configuration file options? [No]

    If yes, please describe:

  • Do these changes modify the structure of existing or add new output data types (e.g. statistic line types or NetCDF variables)? [No]

    If yes, please describe:

Pull Request Testing

  • Describe testing already performed for these changes:

The same test at #3183 except the unittest.

  • Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:

  • Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [No]

  • Do these changes include sufficient testing updates? [No]

  • Will this PR result in changes to the MET test suite? [No]

    If yes, describe the new output and/or changes to the existing output:

  • Will this PR result in changes to existing METplus Use Cases? [No]

    If yes, create a new Update Truth METplus issue to describe them.

  • Do these changes introduce new SonarQube findings? [No]

    If yes, please describe:

  • Please complete this pull request review by [Fill in date].

Pull Request Checklist

See the METplus Workflow for details.

  • Review the source issue metadata (required labels, projects, and milestone).
  • Complete the PR definition above.
  • Ensure the PR title matches the feature or bugfix branch name.
  • Define the PR metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the version that will include these changes
    Select: METplus-X.Y Support project for bugfix releases or MET-X.Y Development project for the next coordinated release
  • After submitting the PR, select the ⚙️ icon in the Development section of the right hand sidebar. Search for the issue that this PR will close and select it, if it is not already selected.
  • After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
  • Close the linked issue and delete your feature or bugfix branch from GitHub.

@hsoh-u hsoh-u requested a review from JohnHalleyGotway June 16, 2025 16:51
@JohnHalleyGotway JohnHalleyGotway changed the title Bugfix 3164 slice range to main_v12.1 Bugfix #3164 main_v12.1 slice range Jun 18, 2025
@JohnHalleyGotway JohnHalleyGotway added this to the MET-12.1.0 milestone Jun 18, 2025
@github-project-automation github-project-automation bot moved this to 🩺 Needs Triage in METplus-6.1 Development Jun 18, 2025
@JohnHalleyGotway JohnHalleyGotway moved this from 🩺 Needs Triage to 🔎 In review in METplus-6.1 Development Jun 18, 2025
Copy link
Collaborator

@JohnHalleyGotway JohnHalleyGotway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hsoh-u I notice that these changes in data2d_nc_cf.h/.cc are identical to those in PR #3183. However, this PR does not include the unit_plot_data_plane.xml (which is totally fine) or var_info_nc_cf.cc.

Are the changes in var_info_nc_cf.cc needed for the MET-12.1 release? Or can they safely be excluded?

@hsoh-u
Copy link
Collaborator Author

hsoh-u commented Jun 24, 2025

@hsoh-u I notice that these changes in data2d_nc_cf.h/.cc are identical to those in PR #3183. However, this PR does not include the unit_plot_data_plane.xml (which is totally fine) or var_info_nc_cf.cc.

Are the changes in var_info_nc_cf.cc needed for the MET-12.1 release? Or can they safely be excluded?

unit_plot_data_plane.xml was updated.

Copy link
Collaborator

@JohnHalleyGotway JohnHalleyGotway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I approve of this PR.

I confirmed that these are the same code changes which were already reviewed, tested, and merged into develop for PR #3183.

@hsoh-u hsoh-u merged commit 66939ad into main_v12.1 Jun 25, 2025
39 of 40 checks passed
@github-project-automation github-project-automation bot moved this from 🔎 In review to 🏁 Done in METplus-6.1 Development Jun 25, 2025
@hsoh-u hsoh-u deleted the bugfix_3164_slice_range_main_v12.1 branch June 25, 2025 16:52
JohnHalleyGotway added a commit that referenced this pull request Jul 24, 2025
* Bugfix #3165 main v12.1 intel compilation (#3167)

* Per #3165, correct two poorly formed OpenMP pragma statements.

* Per #3165, add missing array include to ensemble_stat, point_stat, and plot_point_obs that's appearently needed when compiling with the Intel OneAPI compilers and with the --disable-opemp configuration option.

* Per #3165, move 'using namespace std' after the includes in the all the test code and enum_parser.yy to avoid Intel OneAPI compilation warnings about it being implicitly defined.

* Per #3165, only compile the kdtree test programs when ENABLE_UGRID is true.

* Per #3165, only compile the kdtree test programs when ENABLE_UGRID is true.

* Per #3165, move 'using namespace std' after the includes in the all the test code.

* Per #3165, add DISABLE_OPENMP option to compilation script

* Per #3165, updating beta2 reference to rc1

* Per #3165, fix typo in internal/test_util/libcode/vx_grid/Makefile.am

* Per #3165, removing typo in acorn config file

* Per #3165, Test whether disabling custom reductions from the vx_series_data library enables MET to compile on WCOSS2 with Intel classic compilers.

---------

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

* Hotfix to main_v12.1 to update the rc1 release note contents and date.

* Updating versions for atlas and eckit

* per #3175, replace bits/stdc++.h include that is GCC-specific with regex which works with other compilers (#3177)

* Per #3179, update the logic to not search the parent when parsing file_type from climatology dictionaries. (#3180)

* Bugfix #3179 main_v12.1 climo_file_type TAKE 2 (#3182)

* Per #3179, update the logic to not search the parent when parsing file_type from climatology dictionaries.

* Per #3179, modify the climo_name file_type logic to parse it from the top-level climo dictionary rather than parsing it separately for each field array entry.

---------

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

* Update install_met_env.wcoss2

Removing "-rc1"

* Bugfix #3164 main_v12.1 slice range (#3184)

* #3164 The range selection is inclusive like GRIB (the upper offset was not included before)

* #3164 CHnaged warning to error for bad offset for Z

* #3164 Changed index offsets to value notations

* #3164 Support @level1-@lavel2

---------

Co-authored-by: Howard Soh <hsoh@seneca.rap.ucar.edu>

* Per dtcenter/METbaseimage#32, hotfix to the MET main_v12.1 branch to make the docker build enviornment more portable.

* Adding modulefile for new machine ursa

* Adding config file for new machine ursa

* Feature dtcenter/METbaseimage#32 main_v12.1 release docker (#3195)

* Per dtcenter/METbaseimage#32, port over changes from main_v12.0 to main_v12.1, but update the schedule to rebuild images weekly rather than daily.

* Better comment

* Feature #3198 main_v12.1 scan_for_CVEs (#3201)

* Per #3198, port over CVE scanning logic from METbaseimage to MET.

* Per #3198, use SOURCE_BRANCH instead of GITHUB_NAME for the scan_docker_image.sh script.

* Fix typo

* Update CVE log message

* Per #3198, update the versions listed in the release-docker-images.yml workflow for the develop branch.

* Bugfix #3206 main_v12.1 AW_MEAN (#3207)

* Unrelated to #3206, increase the METbaseimage version number from v3.4 to v3.4.1 so that the resulting Docker images contain 0 critical vulnerabilities.

* Per #3206, update met_regrid_area_weighted() function to fix bug when OMP_NUM_THREADS is set very large. Need to use a reduction for vectors of doubles to prevent two threads from updating the same to_data value at the same time.

* Per #3206, add comment.

* Bugfix #3210 main_v12.1 WDIR (#3211)

* Fix jobstring to write -out_wind_logic correctly instead of reporting the value for cnt_logic instead.

* Restore logic in aggr_mpr_wind_lines() removed for #2395 when STAT-Analysis aggregates MPR lines to compute WDIR output. In main_v11.0, that job automatically removes 0 vectors when computing ROW_MEAN_WDIR output.

* Per #3210, update the revision history

* Per #3210, update the WDIR documentation

* Per #3210, add one more WDIR job to STAT-Analysis using all inputs, not just the non-zero MPR vectors.

* Unrelated to #3210, but noted by @CPKalb, note that MET can read raw WRF output.

* Per #3210, solve one additional bug in the MPR -> VCNT aggregation. Since the local v_info object was declared outside the loop, when d_diff is bad data, the values from the previous iteration were being using. This cause the TOTAL_DIR value to be reported as the TOTAL value and not properly skip over the zero length vectors as it should... and as Point-Stat does.

---------

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

---------

Co-authored-by: John Halley Gotway <johnhg@ucar.edu>
Co-authored-by: Julie Prestopnik <jpresto@ucar.edu>
Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
Co-authored-by: MET Tools Test Account <met_test@seneca.rap.ucar.edu>
Co-authored-by: Howard Soh <hsoh@ucar.edu>
Co-authored-by: Howard Soh <hsoh@seneca.rap.ucar.edu>
JohnHalleyGotway added a commit that referenced this pull request Aug 12, 2025
* Bugfix #3165 main v12.1 intel compilation (#3167)

* Per #3165, correct two poorly formed OpenMP pragma statements.

* Per #3165, add missing array include to ensemble_stat, point_stat, and plot_point_obs that's appearently needed when compiling with the Intel OneAPI compilers and with the --disable-opemp configuration option.

* Per #3165, move 'using namespace std' after the includes in the all the test code and enum_parser.yy to avoid Intel OneAPI compilation warnings about it being implicitly defined.

* Per #3165, only compile the kdtree test programs when ENABLE_UGRID is true.

* Per #3165, only compile the kdtree test programs when ENABLE_UGRID is true.

* Per #3165, move 'using namespace std' after the includes in the all the test code.

* Per #3165, add DISABLE_OPENMP option to compilation script

* Per #3165, updating beta2 reference to rc1

* Per #3165, fix typo in internal/test_util/libcode/vx_grid/Makefile.am

* Per #3165, removing typo in acorn config file

* Per #3165, Test whether disabling custom reductions from the vx_series_data library enables MET to compile on WCOSS2 with Intel classic compilers.

---------

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

* Hotfix to main_v12.1 to update the rc1 release note contents and date.

* Updating versions for atlas and eckit

* per #3175, replace bits/stdc++.h include that is GCC-specific with regex which works with other compilers (#3177)

* Per #3179, update the logic to not search the parent when parsing file_type from climatology dictionaries. (#3180)

* Bugfix #3179 main_v12.1 climo_file_type TAKE 2 (#3182)

* Per #3179, update the logic to not search the parent when parsing file_type from climatology dictionaries.

* Per #3179, modify the climo_name file_type logic to parse it from the top-level climo dictionary rather than parsing it separately for each field array entry.

---------

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

* Update install_met_env.wcoss2

Removing "-rc1"

* Bugfix #3164 main_v12.1 slice range (#3184)

* #3164 The range selection is inclusive like GRIB (the upper offset was not included before)

* #3164 CHnaged warning to error for bad offset for Z

* #3164 Changed index offsets to value notations

* #3164 Support @level1-@lavel2

---------

Co-authored-by: Howard Soh <hsoh@seneca.rap.ucar.edu>

* Per dtcenter/METbaseimage#32, hotfix to the MET main_v12.1 branch to make the docker build enviornment more portable.

* Adding modulefile for new machine ursa

* Adding config file for new machine ursa

* Feature dtcenter/METbaseimage#32 main_v12.1 release docker (#3195)

* Per dtcenter/METbaseimage#32, port over changes from main_v12.0 to main_v12.1, but update the schedule to rebuild images weekly rather than daily.

* Better comment

* Feature #3198 main_v12.1 scan_for_CVEs (#3201)

* Per #3198, port over CVE scanning logic from METbaseimage to MET.

* Per #3198, use SOURCE_BRANCH instead of GITHUB_NAME for the scan_docker_image.sh script.

* Fix typo

* Update CVE log message

* Per #3198, update the versions listed in the release-docker-images.yml workflow for the develop branch.

* Bugfix #3206 main_v12.1 AW_MEAN (#3207)

* Unrelated to #3206, increase the METbaseimage version number from v3.4 to v3.4.1 so that the resulting Docker images contain 0 critical vulnerabilities.

* Per #3206, update met_regrid_area_weighted() function to fix bug when OMP_NUM_THREADS is set very large. Need to use a reduction for vectors of doubles to prevent two threads from updating the same to_data value at the same time.

* Per #3206, add comment.

* Bugfix #3210 main_v12.1 WDIR (#3211)

* Fix jobstring to write -out_wind_logic correctly instead of reporting the value for cnt_logic instead.

* Restore logic in aggr_mpr_wind_lines() removed for #2395 when STAT-Analysis aggregates MPR lines to compute WDIR output. In main_v11.0, that job automatically removes 0 vectors when computing ROW_MEAN_WDIR output.

* Per #3210, update the revision history

* Per #3210, update the WDIR documentation

* Per #3210, add one more WDIR job to STAT-Analysis using all inputs, not just the non-zero MPR vectors.

* Unrelated to #3210, but noted by @CPKalb, note that MET can read raw WRF output.

* Per #3210, solve one additional bug in the MPR -> VCNT aggregation. Since the local v_info object was declared outside the loop, when d_diff is bad data, the values from the previous iteration were being using. This cause the TOTAL_DIR value to be reported as the TOTAL value and not properly skip over the zero length vectors as it should... and as Point-Stat does.

---------

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

* Feature #3191 v12.1.0 (#3217)

* Per #3191, update GitHub actions logic prior to the MET-12.1.0 release to use consistent indentation, switch to using , update scan_docker_image.sh to fail on critical CVEs, update the cve scanning function to print a summary, and update the versions of MET to be rebuilt on schedule.

* Per #3191, update the METbaseimage version from 'v3.4.1' to '3.4-latest' to enable security updates in METbaseimage to be incorparated into future rebuilds of the MET image.

* Per #3191, consolidate MET-12.1.0 release notes.

* Per #3191, more updates to docs for the 12.1.0 release.

* Per #3191, add back in the MET-12.0.Z release notes since we only remove old release notes when we increase the major version number.

* Per #3191, refine GHA job logic and log formatting.

* Per #3191, switch to using ENV a=b instead of deprecated ENV a b

* In installation.rst change python 3.10 to 3.12

* change release date

---------

Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>

---------

Co-authored-by: John Halley Gotway <johnhg@ucar.edu>
Co-authored-by: Julie Prestopnik <jpresto@ucar.edu>
Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
Co-authored-by: MET Tools Test Account <met_test@seneca.rap.ucar.edu>
Co-authored-by: Howard Soh <hsoh@ucar.edu>
Co-authored-by: Howard Soh <hsoh@seneca.rap.ucar.edu>
Co-authored-by: metplus-bot <97135045+metplus-bot@users.noreply.github.com>
JohnHalleyGotway added a commit that referenced this pull request Aug 28, 2025
* Bugfix #3165 main v12.1 intel compilation (#3167)

* Per #3165, correct two poorly formed OpenMP pragma statements.

* Per #3165, add missing array include to ensemble_stat, point_stat, and plot_point_obs that's appearently needed when compiling with the Intel OneAPI compilers and with the --disable-opemp configuration option.

* Per #3165, move 'using namespace std' after the includes in the all the test code and enum_parser.yy to avoid Intel OneAPI compilation warnings about it being implicitly defined.

* Per #3165, only compile the kdtree test programs when ENABLE_UGRID is true.

* Per #3165, only compile the kdtree test programs when ENABLE_UGRID is true.

* Per #3165, move 'using namespace std' after the includes in the all the test code.

* Per #3165, add DISABLE_OPENMP option to compilation script

* Per #3165, updating beta2 reference to rc1

* Per #3165, fix typo in internal/test_util/libcode/vx_grid/Makefile.am

* Per #3165, removing typo in acorn config file

* Per #3165, Test whether disabling custom reductions from the vx_series_data library enables MET to compile on WCOSS2 with Intel classic compilers.

---------

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

* Hotfix to main_v12.1 to update the rc1 release note contents and date.

* Updating versions for atlas and eckit

* per #3175, replace bits/stdc++.h include that is GCC-specific with regex which works with other compilers (#3177)

* Per #3179, update the logic to not search the parent when parsing file_type from climatology dictionaries. (#3180)

* Bugfix #3179 main_v12.1 climo_file_type TAKE 2 (#3182)

* Per #3179, update the logic to not search the parent when parsing file_type from climatology dictionaries.

* Per #3179, modify the climo_name file_type logic to parse it from the top-level climo dictionary rather than parsing it separately for each field array entry.

---------

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

* Update install_met_env.wcoss2

Removing "-rc1"

* Bugfix #3164 main_v12.1 slice range (#3184)

* #3164 The range selection is inclusive like GRIB (the upper offset was not included before)

* #3164 CHnaged warning to error for bad offset for Z

* #3164 Changed index offsets to value notations

* #3164 Support @level1-@lavel2

---------

Co-authored-by: Howard Soh <hsoh@seneca.rap.ucar.edu>

* Per dtcenter/METbaseimage#32, hotfix to the MET main_v12.1 branch to make the docker build enviornment more portable.

* Adding modulefile for new machine ursa

* Adding config file for new machine ursa

* Feature dtcenter/METbaseimage#32 main_v12.1 release docker (#3195)

* Per dtcenter/METbaseimage#32, port over changes from main_v12.0 to main_v12.1, but update the schedule to rebuild images weekly rather than daily.

* Better comment

* Feature #3198 main_v12.1 scan_for_CVEs (#3201)

* Per #3198, port over CVE scanning logic from METbaseimage to MET.

* Per #3198, use SOURCE_BRANCH instead of GITHUB_NAME for the scan_docker_image.sh script.

* Fix typo

* Update CVE log message

* Per #3198, update the versions listed in the release-docker-images.yml workflow for the develop branch.

* Bugfix #3206 main_v12.1 AW_MEAN (#3207)

* Unrelated to #3206, increase the METbaseimage version number from v3.4 to v3.4.1 so that the resulting Docker images contain 0 critical vulnerabilities.

* Per #3206, update met_regrid_area_weighted() function to fix bug when OMP_NUM_THREADS is set very large. Need to use a reduction for vectors of doubles to prevent two threads from updating the same to_data value at the same time.

* Per #3206, add comment.

* Bugfix #3210 main_v12.1 WDIR (#3211)

* Fix jobstring to write -out_wind_logic correctly instead of reporting the value for cnt_logic instead.

* Restore logic in aggr_mpr_wind_lines() removed for #2395 when STAT-Analysis aggregates MPR lines to compute WDIR output. In main_v11.0, that job automatically removes 0 vectors when computing ROW_MEAN_WDIR output.

* Per #3210, update the revision history

* Per #3210, update the WDIR documentation

* Per #3210, add one more WDIR job to STAT-Analysis using all inputs, not just the non-zero MPR vectors.

* Unrelated to #3210, but noted by @CPKalb, note that MET can read raw WRF output.

* Per #3210, solve one additional bug in the MPR -> VCNT aggregation. Since the local v_info object was declared outside the loop, when d_diff is bad data, the values from the previous iteration were being using. This cause the TOTAL_DIR value to be reported as the TOTAL value and not properly skip over the zero length vectors as it should... and as Point-Stat does.

---------

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

* Feature #3191 v12.1.0 (#3217)

* Per #3191, update GitHub actions logic prior to the MET-12.1.0 release to use consistent indentation, switch to using , update scan_docker_image.sh to fail on critical CVEs, update the cve scanning function to print a summary, and update the versions of MET to be rebuilt on schedule.

* Per #3191, update the METbaseimage version from 'v3.4.1' to '3.4-latest' to enable security updates in METbaseimage to be incorparated into future rebuilds of the MET image.

* Per #3191, consolidate MET-12.1.0 release notes.

* Per #3191, more updates to docs for the 12.1.0 release.

* Per #3191, add back in the MET-12.0.Z release notes since we only remove old release notes when we increase the major version number.

* Per #3191, refine GHA job logic and log formatting.

* Per #3191, switch to using ENV a=b instead of deprecated ENV a b

* In installation.rst change python 3.10 to 3.12

* change release date

---------

Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>

* Bugfix #3219 main_v12.1 python (#3220)

* Per #3219, add GlobalPython:set_args() function to store the Python path prior to calling Py_InitializeFromConfig() and then restore the Python path afterwards. For Python 3.10, the call to Py_InitializeFromConfig() resets the Python path while in Python 3.12 it does not.

* Per #3219, update logic to eliminate duplicated log messages.

* Hotfix to `release-docker-images.yml` to disable fail-fast.

* Per #3228, updates for the METv12.1.1 bugfix release, including release notes, doc version, code version, and the release docker images workflow. (#3229)

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

---------

Co-authored-by: John Halley Gotway <johnhg@ucar.edu>
Co-authored-by: Julie Prestopnik <jpresto@ucar.edu>
Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
Co-authored-by: MET Tools Test Account <met_test@seneca.rap.ucar.edu>
Co-authored-by: Howard Soh <hsoh@ucar.edu>
Co-authored-by: Howard Soh <hsoh@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
None yet
Projects
No open projects
Status: 🏁 Done
Development

Successfully merging this pull request may close these issues.

Bugfix: Correct NetCDF dimension range checking to use inclusive inequalities
2 participants