Skip to content

New thermodynamics #409

New thermodynamics

New thermodynamics #409

Workflow file for this run

name: Mac-Build
on:
push:
branches:
- main
pull_request:
branches:
- main
types: [opened, synchronize, reopened, ready_for_review]
schedule: # run build job at 6am UTC every other week on Saturday
- cron: '0 6 */14 * 6'
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
BUILD_FLAG: -fprofile-instr-generate -fcoverage-mapping
ACCOUNT: chengcli
jobs:
straka-2d:
if: github.event.pull_request.draft == false
runs-on: [self-hosted, macOS]
steps:
- uses: actions/checkout@v3
with:
lfs: false
- name: set up python libraries
run: pip3 install -r requirements.txt
- name: check if artifact exists
run: echo "ARTIFACT_EXISTS=$(./tools/check_artifact.sh straka_output.nc)" >> $GITHUB_ENV
- uses: actions/[email protected]
if: env.ARTIFACT_EXISTS == 'true'
with:
name: straka_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/straka_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=straka
- 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: ./straka.release -i straka.inp
- name: combile outputs
working-directory: ${{github.workspace}}/build/bin
run: ./combine.py -o test
- name: compare result
run: >
${{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, macOS, ARM64]
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/[email protected]
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}} -- -j4
- name: run simulation
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: ./combine.py -o test
- name: compare result
run: >
${{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, macOS, ARM64]
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/[email protected]
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}} -- -j4
- name: run simulation
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: ./combine.py -o test
- name: compare result
run: >
${{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: macos-12
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/[email protected]
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: ./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, macOS, ARM64]
steps:
- uses: actions/checkout@v3
with:
lfs: false
- name: set up python libraries
run: pip3 install -r requirements.txt
- name: check if artifact exists
run: echo "ARTIFACT_EXISTS=$(./tools/check_artifact.sh swxy_output.nc)" >> $GITHUB_ENV
- uses: actions/[email protected]
if: env.ARTIFACT_EXISTS == 'true'
with:
name: swxy_output.nc
path: ${{github.workspace}}/examples/2020-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: set up libraries
run: brew bundle
- name: set up python libraries
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}} -DNETCDF=ON -DTASK=vortex
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j3
- 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: ./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: macos-12
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/[email protected]
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: set up libraries
run: brew bundle
- name: set up python libraries
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}} -DCMAKE_Fortran_COMPILER=gfortran-14 -DTASK=vortex
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j3
- name: run simulation
working-directory: ${{github.workspace}}/build/bin
run: mpiexec -n 3 ./polar_vortex.release -i fig_g_intruder.inp
- name: combile outputs
working-directory: ${{github.workspace}}/build/bin
run: ./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: [self-hosted, macOS, ARM64]
steps:
- uses: actions/checkout@v3
with:
lfs: false
- name: set up libraries
run: brew bundle
- 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: ./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, macOS, ARM64]
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/[email protected]
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: set up libraries
run: brew bundle
- 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