-
Notifications
You must be signed in to change notification settings - Fork 276
Expectations for Developers
Gillian Petro edited this page Oct 23, 2025
·
6 revisions
- Run the full RT suite, preferably on Ursa, Hercules, or Derecho (unless changes are specific to a different machine).
Developers often choose to add the
-eor-roptions, too, to expedite testing:./rt.sh -a <account> -e - Commit and push the updated
test_changes.listfile. - Commit and push the log file (
RegressionTest_<machine>.log). In the case of baseline changes, this log file will show failures, but this is fine as long as the failures are reasonable (e.g., a comparison failure because a test has baseline updates). - Exceptions: Regression testing is not required for text-only changes, such as documentation updates, or for updates to the CI, which do not touch the model code.
Important
Do NOT run with the -c option when producing the log and test_changes.list file that you plan to upload.
Code managers need to see which tests (if any) will fail using the current baselines. Using the -c option will produce passes for baseline-changing tests, and the tests will not be added to test_changes.list.
Code managers will recreate baselines when necessary as part of the PR merge process. Developers are welcome to test with -c and run against their newly created baselines using -m as part of their own testing process to ensure reproducibility, but the logs produced from these steps should not be the ones uploaded to the PR.
- Before we can schedule a PR for testing, all subcomponent PRs need to be approved.
- Commit Queue
- Expectations for Developers
- WCOSS2/Acorn Library Install Status
- Making code changes in the UFS weather model using the GitHub repository
- UFS weather model code commit tutorial recordings
- Building the model
- Running regression tests
- Regression Test Policy for Weather Model Platforms and Compilers
- Running operational requirements tests
- Porting to a new machine
-
spack-stack - builds prerequisite software stack for the UFS WM, including NCEPLIBS and NCEPLIBS-external
- NCEPLIBS - builds bundled library dependencies
- NCEPLIBS-external - builds external library dependencies