Add CI workflows and implement unit tests for MPAS dynamical core #427
+2,863
−29
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Tag name (required for release branches):
None
Originator(s):
kuanchihwang
Descriptions (include the issue title, and the keyword ['closes', 'fixes', 'resolves'] followed by the issue number):
This PR introduces continuous integration (CI) workflows and implements unit tests for MPAS dynamical core. Additionally, pFUnit files (
*.pf
) are now correctly rendered as Fortran source code on GitHub.Beyond verifying correctness and robustness, the unit tests also report the numerical accuracy of each computational procedure in terms of units in the last place (ULP) away from the exact answers. For example, below is the output for equation of state:
Whenever changes are made in the path of MPAS dynamical core (
src/dynamics/mpas/*
), the CI workflows automatically build and run the unit tests with various versions of GCC. Test results are collected as artifacts and retained for 7 days for reference.Describe any changes made to the build system:
None
Describe any changes made to the namelist:
None
List any changes to the defaults for the input datasets (e.g., boundary datasets):
None
List all files eliminated and why:
None
List all files added and what they do:
List all existing files that have been modified, and describe the changes:
Regression tests:
No changes to any existing tests. All tests pass with respect to the last baseline,
sima0_07_000
.