Fixing Cubed Sphere Scalar Tracer #577
Workflow file for this run
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
name: Linux-Build | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
types: [opened, synchronize, reopened, ready_for_review] | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
BUILD_FLAG: "\"-fprofile-arcs -ftest-coverage\"" | |
ACCOUNT: chengcli | |
jobs: | |
style-checker: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
steps: | |
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." | |
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by ${{runner.name}}" | |
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." | |
- run: echo "🖥️ The workspace, ${{ github.workspace }}, is now ready to test your code on the runner." | |
- name: Install cpplint | |
run: pip install cpplint | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: Run cpplint | |
run: ./tools/check_style.sh | |
build-cubed-sphere-2d: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
needs: style-checker | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y lcov libnetcdf-dev libpnetcdf-dev libeigen3-dev libmpich-dev | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: install python modules | |
run: pip install -r requirements.txt | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DTASK=exo2 -DCMAKE_CXX_FLAGS=${{ env.BUILD_FLAG }} -DCMAKE_C_FLAGS=${{ env.BUILD_FLAG }} | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config Debug -- -j2 | |
build-cubed-sphere-3d: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
needs: style-checker | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y lcov libnetcdf-dev libpnetcdf-dev libeigen3-dev libmpich-dev | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: install python modules | |
run: pip install -r requirements.txt | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DTASK=exo3 -DCMAKE_CXX_FLAGS=${{ env.BUILD_FLAG }} -DCMAKE_C_FLAGS=${{ env.BUILD_FLAG }} | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config Debug -- -j2 | |
build-non-hydrostatic: | |
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. | |
# You can convert this to a matrix build if you need cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
needs: style-checker | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y lcov libeigen3-dev | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: install python modules | |
run: pip install -r requirements.txt | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS=${{ env.BUILD_FLAG }} -DCMAKE_C_FLAGS=${{ env.BUILD_FLAG }} | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config Debug -- -j2 | |
- name: Test | |
working-directory: ${{github.workspace}}/build/tests | |
# Execute tests defined by the CMake configuration. | |
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | |
run: ctest -C ${{env.BUILD_TYPE}} | |
- name: Generate coverage report | |
working-directory: ${{github.workspace}}/build/tests | |
run: | | |
lcov --capture --directory . --output-file coverage.info | |
lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter out system files | |
lcov --remove coverage.info '*/_deps/*' --output-file coverage.info # filter out dependent library files | |
lcov --list coverage.info | |
- uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
files: ${{github.workspace}}/build/tests/coverage.info | |
fail_ci_if_error: true | |
functionalities: fix | |
build-hydrostatic: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
needs: style-checker | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y lcov libeigen3-dev | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: install python modules | |
run: pip install -r requirements.txt | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS=${{ env.BUILD_FLAG }} -DCMAKE_C_FLAGS=${{ env.BUILD_FLAG }} -DHYDROSTATIC=ON | |
- name: build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j2 | |
- name: Test | |
working-directory: ${{github.workspace}}/build/tests | |
# Execute tests defined by the CMake configuration. | |
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | |
run: ctest -C ${{env.BUILD_TYPE}} | |
- name: Generate coverage report | |
working-directory: ${{github.workspace}}/build/tests | |
run: | | |
lcov --capture --directory . --output-file coverage.info | |
lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter out system files | |
lcov --remove coverage.info '*/_deps/*' --output-file coverage.info # filter out dependent library files | |
lcov --list coverage.info | |
- uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
files: ${{github.workspace}}/build/tests/coverage.info | |
fail_ci_if_error: true | |
functionalities: fix | |
build-vapor2-cloud4: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
needs: style-checker | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y lcov libeigen3-dev | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: install python modules | |
run: pip install -r requirements.txt | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Debug -DNVAPOR=2 -DNCLOUD=4 | |
-DCMAKE_CXX_FLAGS=${{ env.BUILD_FLAG }} -DCMAKE_C_FLAGS=${{ env.BUILD_FLAG }} | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j2 | |
- name: Test | |
working-directory: ${{github.workspace}}/build/tests | |
# Execute tests defined by the CMake configuration. | |
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | |
run: ctest -C ${{env.BUILD_TYPE}} | |
- name: Generate coverage report | |
working-directory: ${{github.workspace}}/build/tests | |
run: | | |
lcov --capture --directory . --output-file coverage.info | |
lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter out system files | |
lcov --remove coverage.info '*/_deps/*' --output-file coverage.info # filter out dependent library files | |
lcov --list coverage.info | |
- uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
files: ${{github.workspace}}/build/tests/coverage.info | |
fail_ci_if_error: true | |
functionalities: fix | |
build-vapor2-cloud5: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
needs: style-checker | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y lcov libeigen3-dev | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: install python modules | |
run: pip install -r requirements.txt | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Debug -DNVAPOR=2 -DNCLOUD=5 | |
-DCMAKE_CXX_FLAGS=${{ env.BUILD_FLAG }} -DCMAKE_C_FLAGS=${{ env.BUILD_FLAG }} | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j2 | |
- name: Test | |
working-directory: ${{github.workspace}}/build/tests | |
# Execute tests defined by the CMake configuration. | |
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | |
run: ctest -C ${{env.BUILD_TYPE}} | |
- name: Generate coverage report | |
working-directory: ${{github.workspace}}/build/tests | |
run: | | |
lcov --capture --directory . --output-file coverage.info | |
lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter out system files | |
lcov --remove coverage.info '*/_deps/*' --output-file coverage.info # filter out dependent library files | |
lcov --list coverage.info | |
- uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
files: ${{github.workspace}}/build/tests/coverage.info | |
fail_ci_if_error: true | |
functionalities: fix | |
build-vapor1-cloud1-legacy: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
needs: style-checker | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y lcov libeigen3-dev | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: install python modules | |
run: pip install -r requirements.txt | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Debug -DNVAPOR=1 -DNCLOUD=1 -DNPHASE_LEGACY=2 | |
-DCMAKE_CXX_FLAGS=${{ env.BUILD_FLAG }} -DCMAKE_C_FLAGS=${{ env.BUILD_FLAG }} | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j2 | |
- name: Test | |
working-directory: ${{github.workspace}}/build/tests | |
# Execute tests defined by the CMake configuration. | |
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | |
run: ctest -C ${{env.BUILD_TYPE}} | |
- name: Generate coverage report | |
working-directory: ${{github.workspace}}/build/tests | |
run: | | |
lcov --capture --directory . --output-file coverage.info | |
lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter out system files | |
lcov --remove coverage.info '*/_deps/*' --output-file coverage.info # filter out dependent library files | |
lcov --list coverage.info | |
- uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
files: ${{github.workspace}}/build/tests/coverage.info | |
fail_ci_if_error: true | |
functionalities: fix | |
generate-ktable-with-netcdf: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
needs: style-checker | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libnetcdf-dev libeigen3-dev | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: install python modules | |
run: pip install -r requirements.txt | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -DTASK=ktable_earth -DACCOUNT=${{env.ACCOUNT}} -DTOKEN=${{secrets.ACCESS_TOKEN}} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -B ${{github.workspace}}/build-netcdf | |
- name: build | |
# Build your program with the given configuration | |
run: | | |
cmake --build ${{github.workspace}}/build-netcdf --config ${{env.BUILD_TYPE}} -- -j2 | |
- name: test generating ktable | |
working-directory: ${{github.workspace}}/build-netcdf/bin | |
# Execute tests defined by the CMake configuration. | |
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | |
run: python ./run_ktable_earth.py | |
straka-2d: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
needs: build-non-hydrostatic | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y lcov libnetcdf-dev libeigen3-dev nco | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: install python modules | |
run: pip install -r requirements.txt | |
- name: check if artifact exists | |
run: echo "ARTIFACT_EXISTS=$(./tools/check_artifact.sh robert_output.nc)" >> $GITHUB_ENV | |
- uses: actions/download-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'true' | |
with: | |
name: straka_output.nc | |
path: ${{github.workspace}}/examples/2019-Li-snap/ | |
- name: fetch the needed lfs file if the artifact does not exist | |
if: env.ARTIFACT_EXISTS == 'false' | |
run: git lfs pull -I examples/2019-Li-snap/straka_output.nc | |
- name: create build directory | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DTASK=straka | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j4 | |
- name: run simulation | |
working-directory: ${{github.workspace}}/build/bin | |
run: ./straka.release -i straka.inp | |
- name: combile outputs | |
working-directory: ${{github.workspace}}/build/bin | |
run: python3 combine.py -o test | |
- name: compare result | |
run: > | |
python3 ${{github.workspace}}/examples/2019-Li-snap/test_straka.py | |
${{github.workspace}}/build/bin/straka-test-main.nc | |
${{github.workspace}}/examples/2019-Li-snap/straka_output.nc | |
- uses: actions/upload-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'false' | |
with: | |
name: straka_output.nc | |
path: ${{github.workspace}}/examples/2019-Li-snap/straka_output.nc | |
robert-2d: | |
if: github.event.pull_request.draft == false | |
runs-on: [self-hosted, Linux, 8core] | |
needs: build-non-hydrostatic | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: check if artifact exists | |
run: echo "ARTIFACT_EXISTS=$(./tools/check_artifact.sh robert_output.nc)" >> $GITHUB_ENV | |
- uses: actions/download-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'true' | |
with: | |
name: robert_output.nc | |
path: ${{github.workspace}}/examples/2019-Li-snap/ | |
- name: fetch the needed lfs file | |
if: env.ARTIFACT_EXISTS == 'false' | |
run: git lfs pull -I examples/2019-Li-snap/robert_output.nc | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DTASK=robert | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j8 | |
- name: run simulation | |
env: | |
PATH: $PATH:/usr/lib64/mpich/bin | |
working-directory: ${{github.workspace}}/build/bin | |
run: mpiexec -n 8 ./robert.release -i robert2d.inp | |
- name: combile outputs | |
working-directory: ${{github.workspace}}/build/bin | |
run: python3 combine.py -o test | |
- name: compare result | |
run: > | |
python3 ${{github.workspace}}/examples/2019-Li-snap/test_robert.py | |
${{github.workspace}}/build/bin/robert-test-main.nc | |
${{github.workspace}}/examples/2019-Li-snap/robert_output.nc | |
- uses: actions/upload-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'false' | |
with: | |
name: robert_output.nc | |
path: ${{github.workspace}}/examples/2019-Li-snap/robert_output.nc | |
robert-3d: | |
if: github.event.pull_request.draft == false | |
runs-on: [self-hosted, Linux, 16core] | |
needs: build-non-hydrostatic | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: check if artifact exists | |
run: echo "ARTIFACT_EXISTS=$(./tools/check_artifact.sh robert3d_output.nc)" >> $GITHUB_ENV | |
- uses: actions/download-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'true' | |
with: | |
name: robert3d_output.nc | |
path: ${{github.workspace}}/examples/2019-Li-snap/ | |
- name: fetch the needed lfs file | |
if: env.ARTIFACT_EXISTS == 'false' | |
run: git lfs pull -I examples/2019-Li-snap/robert3d_output.nc | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DTASK=robert | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j8 | |
- name: run simulation | |
env: | |
PATH: $PATH:/usr/lib64/mpich/bin | |
working-directory: ${{github.workspace}}/build/bin | |
run: mpiexec -n 8 ./robert.release -i robert3d.inp | |
- name: combile outputs | |
working-directory: ${{github.workspace}}/build/bin | |
run: python3 combine.py -o test | |
- name: compare result | |
run: > | |
python3 ${{github.workspace}}/examples/2019-Li-snap/test_robert.py | |
${{github.workspace}}/build/bin/robert-test-main.nc | |
${{github.workspace}}/examples/2019-Li-snap/robert3d_output.nc | |
- uses: actions/upload-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'false' | |
with: | |
name: robert3d_output.nc | |
path: ${{github.workspace}}/examples/2019-Li-snap/robert3d_output.nc | |
bryan-2d: | |
if: github.event.pull_request.draft == false | |
runs-on: [self-hosted, Linux, 4core] | |
needs: [straka-2d] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: check if artifact exists | |
run: echo "ARTIFACT_EXISTS=$(./tools/check_artifact.sh bryan_output.nc)" >> $GITHUB_ENV | |
- uses: actions/download-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'true' | |
with: | |
name: bryan_output.nc | |
path: ${{github.workspace}}/examples/2019-Li-snap/ | |
- name: fetch the needed lfs file | |
if: env.ARTIFACT_EXISTS == 'false' | |
run: git lfs pull -I examples/2019-Li-snap/bryan_output.nc | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DTASK=bryan | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j4 | |
- name: run simulation | |
working-directory: ${{github.workspace}}/build/bin | |
run: mpiexec -n 4 ./bryan.release -i bryan.inp | |
- name: combile outputs | |
working-directory: ${{github.workspace}}/build/bin | |
run: python3 combine.py -o test | |
- name: compare result | |
run: > | |
${{github.workspace}}/examples/2019-Li-snap/test_bryan.py | |
${{github.workspace}}/build/bin/bryan-test-main.nc | |
${{github.workspace}}/examples/2019-Li-snap/bryan_output.nc | |
- uses: actions/upload-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'false' | |
with: | |
name: bryan_output.nc | |
path: ${{github.workspace}}/examples/2019-Li-snap/bryan_output.nc | |
shallow-xy: | |
if: github.event.pull_request.draft == false | |
runs-on: [self-hosted, Linux, 4core] | |
needs: build-non-hydrostatic | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: check if artifact exists | |
run: echo "ARTIFACT_EXISTS=$(./tools/check_artifact.sh swxy_output.nc)" >> $GITHUB_ENV | |
- uses: actions/download-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'true' | |
with: | |
name: swxy_output.nc | |
path: ${{github.workspace}}/examples/2020-Li-polar-vortex/ | |
- name: fetch the needed lfs file | |
if: env.ARTIFACT_EXISTS == 'false' | |
run: git lfs pull -I examples/2020-Li-polar-vortex/swxy_output.nc | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DNETCDF=ON -DTASK=vortex | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j4 | |
- name: run simulation | |
working-directory: ${{github.workspace}}/build/bin | |
run: mpiexec -n 4 ./shallow_xy.release -i shallow_water.inp | |
- name: combile outputs | |
working-directory: ${{github.workspace}}/build/bin | |
run: python3 combine.py -o test | |
- name: compare result | |
run: > | |
python3 ${{github.workspace}}/examples/2020-Li-polar-vortex/test_shallow_xy.py | |
${{github.workspace}}/build/bin/sw-test-main.nc | |
${{github.workspace}}/examples/2020-Li-polar-vortex/swxy_output.nc | |
- uses: actions/upload-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'false' | |
with: | |
name: swxy_output.nc | |
path: ${{github.workspace}}/examples/2020-Li-polar-vortex/swxy_output.nc | |
polar-vortex: | |
if: github.event.pull_request.draft == false | |
runs-on: [self-hosted, Linux, 16core] | |
needs: build-non-hydrostatic | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: check if artifact exists | |
run: echo "ARTIFACT_EXISTS=$(./tools/check_artifact.sh intruder_output.nc)" >> $GITHUB_ENV | |
- uses: actions/download-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'true' | |
with: | |
name: intruder_output.nc | |
path: ${{github.workspace}}/examples/2020-Li-polar-vortex/ | |
- name: fetch the needed lfs file | |
if: env.ARTIFACT_EXISTS == 'false' | |
run: git lfs pull -I examples/2020-Li-polar-vortex/intruder_output.nc | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DTASK=vortex | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j8 | |
- name: run simulation | |
env: | |
PATH: $PATH:/usr/lib64/mpich/bin | |
working-directory: ${{github.workspace}}/build/bin | |
run: mpiexec -n 12 ./polar_vortex.release -i fig_g_intruder.inp | |
- name: combile outputs | |
working-directory: ${{github.workspace}}/build/bin | |
run: python3 combine.py -o test | |
- name: compare result | |
run: > | |
python3 ${{github.workspace}}/examples/2020-Li-polar-vortex/test_polar_vortex.py | |
${{github.workspace}}/build/bin/intruder-test-main.nc | |
${{github.workspace}}/examples/2020-Li-polar-vortex/intruder_output.nc | |
- uses: actions/upload-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'false' | |
with: | |
name: intruder_output.nc | |
path: ${{github.workspace}}/examples/2020-Li-polar-vortex/intruder_output.nc | |
juno-mwr: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
needs: build-hydrostatic | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libnetcdf-dev libeigen3-dev libcfitsio-dev nco | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: install python modules | |
run: pip3 install -r requirements.txt | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DTASK=juno | |
- name: build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j2 | |
- name: run simulation | |
working-directory: ${{github.workspace}}/build/bin | |
run: ./juno_mwr.release -i juno_mwr.inp | |
- name: combile outputs | |
working-directory: ${{github.workspace}}/build/bin | |
run: python3 combine.py -o test | |
- name: Test | |
working-directory: ${{github.workspace}}/examples/2024-JHu-juno-mwr | |
run: echo "cheers" | |
cubed-blast: | |
if: github.event.pull_request.draft == false | |
runs-on: [self-hosted, Linux, 8core] | |
needs: build-cubed-sphere-2d | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
lfs: false | |
- name: install python modules | |
run: pip3 install -r requirements.txt | |
- name: check if artifact exists | |
run: echo "ARTIFACT_EXISTS=$(./tools/check_artifact.sh test_blast_output.nc)" >> $GITHUB_ENV | |
- uses: actions/download-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'true' | |
with: | |
name: test_blast_output.nc | |
path: ${{github.workspace}}/examples/2023-Chen-exo3/ | |
- name: fetch the needed lfs file | |
if: env.ARTIFACT_EXISTS == 'false' | |
run: git lfs pull -I examples/2023-Chen-exo3/test_blast_output.nc | |
- name: create build directory | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DNETCDF=ON -DTASK=exo2 | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j4 | |
- name: run simulation | |
working-directory: ${{github.workspace}}/build/bin | |
run: mpiexec -n 6 ./test_blast.release -i test_blast.inp | |
- name: combile outputs | |
working-directory: ${{github.workspace}}/build/bin | |
run: python3 combine.py -o test | |
- name: compare result | |
run: > | |
python3 ${{github.workspace}}/examples/2023-Chen-exo3/test_blast.py | |
${{github.workspace}}/build/bin/blast_48_cubed-test-main.nc | |
${{github.workspace}}/examples/2023-Chen-exo3/test_blast_output.nc | |
- uses: actions/upload-artifact@v3 | |
if: env.ARTIFACT_EXISTS == 'false' | |
with: | |
name: swxy_output.nc | |
path: ${{github.workspace}}/examples/2020-Li-polar-vortex/test_blast_output.nc |