Skip to content

Feature #3335 point_weight_flag - #3427

Open
JohnHalleyGotway wants to merge 41 commits into
developfrom
feature_3335_point_weight_flag
Open

Feature #3335 point_weight_flag#3427
JohnHalleyGotway wants to merge 41 commits into
developfrom
feature_3335_point_weight_flag

Conversation

@JohnHalleyGotway

@JohnHalleyGotway JohnHalleyGotway commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Expected Differences

This PR adds the point_weight_flag = KDE configuration option for Point-Stat, Ensemble-Stat, and Pair-Stat.

Differences are flagged in 115, which is a whole lot! But most are very minor. I'll describe them below:

  • [68] Minor config file diffs in internal/test_unit, data/config, and scripts/config adding the new options or modifying whitespace.

  • [18] Changes to Makefile.am and Makefile.in to compile the new code or due to -lvx_util now depending on -lvx_nav.

  • [4] Documentation updates in .rst files.

  • [9] Updates to point_stat (3), ensemble_stat (3), and pair_stat (3) source code to parse and apply the new options.

  • [3] Update the vx_config library to parse the new options.

  • [2] Update the vx_nav library to compute the gc_angle() between two lat/lon points.

  • [3] Update the vx_util library to compute KDE point weights.

  • [6] Update the vx_statistics library to apply the KDE point weights.

  • [1] Update unit_point_weight.xml to 3 add new tests.

  • [1] Update the compilation_options.yml workflow to remove unnecessary comments.

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

    If yes, please describe:

    Adds 1 new configuration value to enable this logic:

point_weight_flag = KDE;

Adds 2 new configuration options to configure the KDE point weights:

kde_ref_angle     = 0.75;
write_weights     = FALSE;
  • Do these changes modify the structure of existing or add new output data types (e.g. statistic line types or NetCDF variables)? [Yes]

    If yes, please describe:

    When write_weights = TRUE; a new ASCII output file is written to dump the computed weight values.

Pull Request Testing

  • Describe testing already performed for these changes:

    In unit_point_weight.xml, I added 2 new calls to Point-Stat and one new call to Ensemble-Stat to demonstrate this logic. Also see the testing described in this issue comment for details.

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

  • Briefly review code changes.

  • Carefully review documentation updates on RTD (https://metplus--3427.org.readthedocs.build/projects/met/en/3427/?readthedocs-diff=true&readthedocs-diff-chunk=1)

  • Inspect changes and additions to the unit test output.

  • Please find this code compiled as the met_test user in seneca:/d1/projects/MET/MET_pull_requests/met-13.0.0/rc1/MET-feature_3335_point_weight_flag.

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

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

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

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

Note that the link checker test will fail because issue #3416 has not been completed yet.

  • 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:
    While some existing issues are flagged, the overall number of findings is reduced slightly from 13,426 in develop to 13,381 for this pull request.

  • Please complete this pull request review by [Monday Aug 31, 2026].

    Recommend that we review this PR with @mpm-meto when we meet on Aug 27, 2026.

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.

…Guide and config file for Point-Stat and Ensemble-Stat.
…_weight_flag = KDE option and update unit_point_weight.xml to test out the new option.
… calls compute_kde_weights() if they've not already been computed.
…ncern with exactly how the weights are computed.
…gitude difference no larger than 180 degrees.
…tions.yml since testing the compilation options on released versions has proven sufficient. I don't see a need to also test routinely through cron.
…mpute_kde_weights() to call it when computing the angle from the center of the earth to the two lat/lon points on the surface.
@github-project-automation github-project-automation Bot moved this to 🩺 Needs Triage in METplus-13.0 Development Aug 24, 2026
@JohnHalleyGotway JohnHalleyGotway moved this from 🩺 Needs Triage to 🔎 In review in METplus-13.0 Development Aug 24, 2026
@JohnHalleyGotway JohnHalleyGotway added this to the MET-13.0.0 milestone Aug 24, 2026
@JohnHalleyGotway JohnHalleyGotway linked an issue Aug 24, 2026 that may be closed by this pull request
22 tasks
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🔎 In review

Development

Successfully merging this pull request may close these issues.

Allow support for inverse distance weighting through point_weight_flag

1 participant