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

Feature 2709 mvmode multithreshradii #3034

Open
wants to merge 11 commits into
base: develop
Choose a base branch
from

Conversation

davidalbo
Copy link
Contributor

Expected Differences

quilting and non-quilting options are now supported.

Without quilting all inputs (forecast and obs) need to have the same number N of convolution radii and thresholds, with one mvmode run for the first set, one for the second set, etc. for a total of N runs.

With quilting all inputs must have the same number of convolution radii N, and all inputs must have the same number of convolution thresholds M, but N and M can differ. N*M mvmode runs are performed.

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

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

Pull Request Testing

  • Describe testing already performed for these changes:

    I ran several tests on seneca on the same case I've used for other MvMode changes. Tested with and without quilting. The tests can be found here: /d1/personal/dave/mvmode_november_test. The scripts that I ran are: run-multi.bsh run-quilt.bsh check-multi.bsh.
    Comments in these files show what I was testing. I did kind of make up some of the convolution settings (not scientific).

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

    I'd recommend starting with these tests to see if you like the logging and output file names and content. Everything is local to /d1/personal/dave/mvmode_november_test.

  • Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [Yes] I hope no errors or warning happen, my changes were pretty minor to the user document.

  • Do these changes include sufficient testing updates? [Maybe] @hertneky you are wecome to create a better more meaningful scientific test or two.

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

    I'm wondering if the version which gets written to the output files will cause the test suite to fail, because the version has changed to v12.1. We'll find out.
    Also, should we add a test that has mvmode with multiple conv. thresh/radii to the unit tests?

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

    If yes, create a new Update Truth METplus issue to describe them.
    Will this version change to v12.1 which is written to output files cause problems with existing METplus Use Cases?

  • Do these changes introduce new SonarQube findings? [?]
    How do I test for that?

  • Please complete this pull request review by [Dec 31].

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: Coordinated METplus-X.Y Support project for bugfix releases or MET-X.Y.Z Development project for official releases
  • 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.

@davidalbo davidalbo added the type: enhancement Improve something that it is currently doing label Dec 10, 2024
@davidalbo davidalbo added this to the MET-12.1.0 milestone Dec 10, 2024
@davidalbo davidalbo self-assigned this Dec 10, 2024
@davidalbo davidalbo linked an issue Dec 10, 2024 that may be closed by this pull request
22 tasks
@DanielAdriaansen DanielAdriaansen added the reporting: NRL METplus Naval Research Laboratory METplus Project label Dec 11, 2024
@JohnHalleyGotway JohnHalleyGotway removed type: enhancement Improve something that it is currently doing reporting: NRL METplus Naval Research Laboratory METplus Project labels Dec 11, 2024
@JohnHalleyGotway
Copy link
Collaborator

On Dec 11, 2024, I compiled the feature branch for this PR on seneca for @hertneky and @JohnHalleyGotway to test.

@hertneky please test the executables in this directory:
seneca:/d1/projects/MET/MET_pull_requests/met-12.1.0/beta1/MET-feature_2709_mvmode_multithreshradii/bin

I did this using the following commands:

# On seneca
cd /d1/projects/MET/MET_pull_requests/met-12.1.0/beta1
runas met_test # Compile all PR branches as a shared user
git clone https://github.com/dtcenter/MET MET-feature_2709_mvmode_multithreshradii
cd MET-feature_2709_mvmode_multithreshradii
git checkout feature_2709_mvmode_multithreshradii
source internal/scripts/environment/development.seneca
./configure --prefix=`pwd` --enable-all
make install test

@hertneky
Copy link
Contributor

@JohnHalleyGotway Got it, thanks. I will do some testing tomorrow.

hertneky
hertneky previously approved these changes Dec 13, 2024
Copy link
Contributor

@hertneky hertneky left a comment

Choose a reason for hiding this comment

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

The documentation looks good to me - just one small typo.

Testing done:

Quilting=False
equal inputs for conv radii/thresh - passed, produced expected results
unequal inputs for conv radii/thresh - passed, produced informative error when unequal inputs present, which isn't allowed.

Quilting=True
Equal inputs for radii and equal inputs for thresh - Passed, produced expected results
Unequal number of radii - Passed, produced informative error
Unequal number of thresh - Passed, produced informative error
Unequal number of thresh and merge_thresh - Passed, produced informative error

Let me know of any other tests that might be useful, but it looks good so far!

docs/Users_Guide/mode.rst Outdated Show resolved Hide resolved
@JohnHalleyGotway
Copy link
Collaborator

Note that the SonarQube code smells are reduced from 18,277 in develop to 18,072 in this feature branch.

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 multiple convolution radii and thresholds in multivariate mode
4 participants