-
Notifications
You must be signed in to change notification settings - Fork 131
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
As climate models developed at NOAA and NASA are leveraging DaCe more and more for their performance backend, we have seen multiple occurrence of major/minor version breaking downstream. This optional GitHub action is an attempt to reduce those breakage by allowing the DaCe ecosystem to pull on a vetted version of the Pace climate model and run a subset of the regression tests that should exercise enough DaCe to catch a good amount of errors. NASA takes responsibility to keep this CI clean and working along. All non-DaCe issues should be pinged on @FlorianDeconinck. All data and model are under open source licenses. --------- Co-authored-by: Philipp Schaad <[email protected]>
- Loading branch information
1 parent
c5cc89f
commit b6e1c9d
Showing
1 changed file
with
75 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
name: NASA/NOAA Pace repository build test | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
defaults: | ||
run: | ||
shell: bash | ||
|
||
jobs: | ||
build_pace: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: [3.8.10] | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
repository: '[email protected]:GEOS-ESM/pace.git' | ||
ref: 'ci/DaCe' | ||
submodules: 'recursive' | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install dependencies & pull correct DaCe | ||
run: | | ||
cd pace | ||
python -m pip install --upgrade pip wheel setuptools | ||
cd external/dace | ||
git checkout ${{ github.sha }} | ||
cd ../.. | ||
pip install -e external/gt4py | ||
pip install -e external/dace | ||
pip install -r requirements_dev.txt | ||
- name: Download data | ||
run: | | ||
cd pace | ||
mkdir -p test_data | ||
cd test_data | ||
wget https://portal.nccs.nasa.gov/datashare/astg/smt/pace-regression-data/8.1.3_c12_6_ranks_standard.D_SW.tar.gz | ||
tar -xzvf 8.1.3_c12_6_ranks_standard.D_SW.tar.gz | ||
wget https://portal.nccs.nasa.gov/datashare/astg/smt/pace-regression-data/8.1.3_c12_6_ranks_standard.RiemSolverC.tar.gz | ||
tar -xzvf 8.1.3_c12_6_ranks_standard.RiemSolverC.tar.gz | ||
wget https://portal.nccs.nasa.gov/datashare/astg/smt/pace-regression-data/8.1.3_c12_6_ranks_standard.Remapping.tar.gz | ||
tar -xzvf 8.1.3_c12_6_ranks_standard.Remapping.tar.gz | ||
cd ../.. | ||
- name: "Regression test: Riemman Solver on C-grid" | ||
run: | | ||
export FV3_DACEMODE=BuildAndRun | ||
export PACE_CONSTANTS=GFS | ||
cd pace | ||
pytest -v -s --data_path=./test_data/8.1.3/c12_6ranks_standard/dycore \ | ||
--backend=dace:cpu --which_modules=Riem_Solver_C \ | ||
--threshold_overrides_file=./fv3core/tests/savepoint/translate/overrides/standard.yaml \ | ||
./fv3core/tests/savepoint | ||
- name: "Regression test: D-grid shallow water lagrangian dynamics (D_SW)" | ||
run: | | ||
export FV3_DACEMODE=BuildAndRun | ||
export PACE_CONSTANTS=GFS | ||
cd pace | ||
pytest -v -s --data_path=./test_data/8.1.3/c12_6ranks_standard/dycore \ | ||
--backend=dace:cpu --which_modules=D_SW \ | ||
--threshold_overrides_file=./fv3core/tests/savepoint/translate/overrides/standard.yaml \ | ||
./fv3core/tests/savepoint | ||
- name: "Regression test: Remapping (on rank 0 only)" | ||
run: | | ||
export FV3_DACEMODE=BuildAndRun | ||
export PACE_CONSTANTS=GFS | ||
cd pace | ||
pytest -v -s --data_path=./test_data/8.1.3/c12_6ranks_standard/dycore \ | ||
--backend=dace:cpu --which_modules=Remapping --which_rank=0 \ | ||
--threshold_overrides_file=./fv3core/tests/savepoint/translate/overrides/standard.yaml \ | ||
./fv3core/tests/savepoint |