From 4bf6d9263dc5799da454bd92cc7b220c80c11603 Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Thu, 20 Jun 2024 16:38:07 -0400 Subject: [PATCH 01/16] Create pw_am5_intel.yaml --- .github/workflows/pw_am5_intel.yaml | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/pw_am5_intel.yaml diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml new file mode 100644 index 000000000..375e2d39d --- /dev/null +++ b/.github/workflows/pw_am5_intel.yaml @@ -0,0 +1,53 @@ +name: AM5 test +on: + push: + tags: + - '*alpha*' + - '*beta*' + workflow_dispatch: +jobs: + compile_AM5: + runs-on: [self-hosted, pw-platform] + strategy: + fail-fast: false + steps: + - name: Setup source and build directories + run: | + mkdir am5_src + mkdir am5_build + ln -s /contrib/am5/ci/src_am5f7b12r1/am5_phys am5_src/am5_phys + ln -s /contrib/am5/ci/src_am5f7b12r1/atmos_drivers am5_src/atmos_drivers + ln -s /contrib/am5/ci/src_am5f7b12r1/GFDL_atmos_cubed_sphere am5_src/GFDL_atmos_cubed_sphere + ln -s /contrib/am5/ci/src_am5f7b12r1/GRTCODE am5_src/GRTCODE + ln -s /contrib/am5/ci/src_am5f7b12r1/ice_param am5_src/ice_param + ln -s /contrib/am5/ci/src_am5f7b12r1/land_lad2 am5_src/land_lad2 + ln -s /contrib/am5/ci/src_am5f7b12r1/mom6 am5_src/mom6 + ln -s /contrib/am5/ci/src_am5f7b12r1/ocean_BGC am5_src/ocean_BGC + ln -s /contrib/am5/ci/src_am5f7b12r1/rte-ecckd am5_src/rte-ecckd + ln -s /contrib/am5/ci/src_am5f7b12r1/rte-rrtmgp am5_src/rte-rrtmgp + - name: Checkout FMS + uses: actions/checkout@v4 + with: + path: am5_src/FMS + - name: Checkout FMScoupler + uses: actions/checkout@v4 + with: + repository: NOAA-GFDL/FMScoupler + path: am5_src/FMScoupler + - name: Build AM5 in Intel container + run: /contrib/am5/ci/build.sh ${GITHUB_WORKSPACE}/am5_build + + run_AM5: + runs-on: [self-hosted, pw-platform] + strategy: + fail-fast: false + needs: [compile_AM5] + steps: + - name: Setup run directory + run: | + mkdir am5_run + cd am5_run + ln -s /contrib/am5/ci/nmls_and_tables_am5f7b12r1/prod-omp-rts/* . + ln -s /contrib/am5/newWork/INPUT/ ./INPUT + - name: Launch runscript + run: srun -n 288 -p n384 /contrib/am5/ci/run.sh From 677570414fd32cfde35ed6d7b9c008cd1cf98317 Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Fri, 21 Jun 2024 13:29:02 -0400 Subject: [PATCH 02/16] remove redundant srun from run command --- .github/workflows/pw_am5_intel.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index 375e2d39d..9fbc9f954 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -50,4 +50,4 @@ jobs: ln -s /contrib/am5/ci/nmls_and_tables_am5f7b12r1/prod-omp-rts/* . ln -s /contrib/am5/newWork/INPUT/ ./INPUT - name: Launch runscript - run: srun -n 288 -p n384 /contrib/am5/ci/run.sh + run: /contrib/am5/ci/run.sh From dafc9fe9483e1f44e405f15806ad1e6716535195 Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Mon, 24 Jun 2024 10:41:41 -0400 Subject: [PATCH 03/16] Update pw_am5_intel.yaml --- .github/workflows/pw_am5_intel.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index 9fbc9f954..3e0175dd0 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -35,7 +35,7 @@ jobs: repository: NOAA-GFDL/FMScoupler path: am5_src/FMScoupler - name: Build AM5 in Intel container - run: /contrib/am5/ci/build.sh ${GITHUB_WORKSPACE}/am5_build + run: /contrib/am5/ci/container_build.sh ${GITHUB_WORKSPACE}/am5_build run_AM5: runs-on: [self-hosted, pw-platform] From a85a3ec88ca7e971e497e2fb5563de6edf576109 Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Tue, 25 Jun 2024 09:57:16 -0400 Subject: [PATCH 04/16] Update pw_am5_intel.yaml --- .github/workflows/pw_am5_intel.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index 3e0175dd0..f3b4eeba9 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -33,7 +33,7 @@ jobs: uses: actions/checkout@v4 with: repository: NOAA-GFDL/FMScoupler - path: am5_src/FMScoupler + path: am5_src/coupler - name: Build AM5 in Intel container run: /contrib/am5/ci/container_build.sh ${GITHUB_WORKSPACE}/am5_build From 5b5fb347acbd0e8fd92df3619cded8937083483b Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Tue, 25 Jun 2024 10:00:37 -0400 Subject: [PATCH 05/16] Update pw_am5_intel.yaml --- .github/workflows/pw_am5_intel.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index f3b4eeba9..26174c458 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -13,6 +13,7 @@ jobs: steps: - name: Setup source and build directories run: | + rm -rf am5_src am5_build mkdir am5_src mkdir am5_build ln -s /contrib/am5/ci/src_am5f7b12r1/am5_phys am5_src/am5_phys From 9f035e1398abd976024a68683eed27fe53874716 Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Tue, 25 Jun 2024 10:06:50 -0400 Subject: [PATCH 06/16] revert checkout actions for centos7 --- .github/workflows/pw_am5_intel.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index 26174c458..648d168ef 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -27,11 +27,11 @@ jobs: ln -s /contrib/am5/ci/src_am5f7b12r1/rte-ecckd am5_src/rte-ecckd ln -s /contrib/am5/ci/src_am5f7b12r1/rte-rrtmgp am5_src/rte-rrtmgp - name: Checkout FMS - uses: actions/checkout@v4 + uses: actions/checkout@v3 with: path: am5_src/FMS - name: Checkout FMScoupler - uses: actions/checkout@v4 + uses: actions/checkout@v3 with: repository: NOAA-GFDL/FMScoupler path: am5_src/coupler @@ -46,6 +46,7 @@ jobs: steps: - name: Setup run directory run: | + rm -rf am5_run mkdir am5_run cd am5_run ln -s /contrib/am5/ci/nmls_and_tables_am5f7b12r1/prod-omp-rts/* . From 8496de357089818ef0d1ab45d62548402a4c090a Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Fri, 28 Jun 2024 11:59:35 -0400 Subject: [PATCH 07/16] update path for nml/tables + copy MOM asciis directly --- .github/workflows/pw_am5_intel.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index 648d168ef..df2ad4068 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -49,7 +49,10 @@ jobs: rm -rf am5_run mkdir am5_run cd am5_run - ln -s /contrib/am5/ci/nmls_and_tables_am5f7b12r1/prod-omp-rts/* . - ln -s /contrib/am5/newWork/INPUT/ ./INPUT + ln -s /contrib/am5/ci/nmls_and_tables_am5f7b12r1_576x1/* . + mkdir INPUT + ln -s /contrib/am5/newWork/INPUT/* ./INPUT + rm -f INPUT/MOM_* + cp /contrib/am5/newWork/INPUT/MOM_* ./INPUT - name: Launch runscript run: /contrib/am5/ci/run.sh From 77866db07a0f15cddb1b1c26553be674ae8389ba Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Fri, 28 Jun 2024 13:10:04 -0400 Subject: [PATCH 08/16] add command to copy over txt files --- .github/workflows/pw_am5_intel.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index df2ad4068..a134437af 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -52,7 +52,8 @@ jobs: ln -s /contrib/am5/ci/nmls_and_tables_am5f7b12r1_576x1/* . mkdir INPUT ln -s /contrib/am5/newWork/INPUT/* ./INPUT - rm -f INPUT/MOM_* + rm -f INPUT/MOM_* INPUT/*.txt cp /contrib/am5/newWork/INPUT/MOM_* ./INPUT + cp /contrib/am5/newWork/INPUT/*.txt ./INPUT - name: Launch runscript run: /contrib/am5/ci/run.sh From d4e7ed8cba4d054a27ff097e5488a80ddb2abf21 Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Mon, 1 Jul 2024 10:32:43 -0400 Subject: [PATCH 09/16] simplify run dir setup; get rid of symlink usage --- .github/workflows/pw_am5_intel.yaml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index a134437af..1d13a016e 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -46,14 +46,7 @@ jobs: steps: - name: Setup run directory run: | - rm -rf am5_run - mkdir am5_run cd am5_run - ln -s /contrib/am5/ci/nmls_and_tables_am5f7b12r1_576x1/* . - mkdir INPUT - ln -s /contrib/am5/newWork/INPUT/* ./INPUT - rm -f INPUT/MOM_* INPUT/*.txt - cp /contrib/am5/newWork/INPUT/MOM_* ./INPUT - cp /contrib/am5/newWork/INPUT/*.txt ./INPUT + cp /contrib/am5/ci/nmls_and_tables_am5f7b12r1_576x1/* . - name: Launch runscript run: /contrib/am5/ci/run.sh From f8ff91baaa8c1c745c83e1f176f01e21e9e13e73 Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Mon, 1 Jul 2024 11:39:17 -0400 Subject: [PATCH 10/16] Update pw_am5_intel.yaml --- .github/workflows/pw_am5_intel.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index 1d13a016e..4c97e8efd 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -37,6 +37,8 @@ jobs: path: am5_src/coupler - name: Build AM5 in Intel container run: /contrib/am5/ci/container_build.sh ${GITHUB_WORKSPACE}/am5_build + - name: Check build succeeded + run: stat ${GITHUB_WORKSPACE}/am5_build/fms_am5f7b12r1_compile.x run_AM5: runs-on: [self-hosted, pw-platform] @@ -47,6 +49,6 @@ jobs: - name: Setup run directory run: | cd am5_run - cp /contrib/am5/ci/nmls_and_tables_am5f7b12r1_576x1/* . + cp -f /contrib/am5/ci/nmls_and_tables_am5f7b12r1_576x1/* . - name: Launch runscript run: /contrib/am5/ci/run.sh From 1cbc45536348fcfd97ccf8068bfdceddc3b34846 Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Tue, 2 Jul 2024 13:02:10 -0400 Subject: [PATCH 11/16] add weekly scheduled trigger and conditional for run --- .github/workflows/pw_am5_intel.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index 4c97e8efd..49fe637b0 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -4,6 +4,8 @@ on: tags: - '*alpha*' - '*beta*' + schedule: + - cron: '0 0 * * 0' workflow_dispatch: jobs: compile_AM5: @@ -41,6 +43,7 @@ jobs: run: stat ${GITHUB_WORKSPACE}/am5_build/fms_am5f7b12r1_compile.x run_AM5: + if: github.event_name == 'workflow_dispatch' runs-on: [self-hosted, pw-platform] strategy: fail-fast: false From dac4681c97f98c56e6bb8568361a0008cda698ed Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Wed, 3 Jul 2024 15:24:59 -0400 Subject: [PATCH 12/16] clean up run directory between runs --- .github/workflows/pw_am5_intel.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index 49fe637b0..b02a60c88 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -52,6 +52,7 @@ jobs: - name: Setup run directory run: | cd am5_run + rm -f *.nc.* RESTART/*.nc.* cp -f /contrib/am5/ci/nmls_and_tables_am5f7b12r1_576x1/* . - name: Launch runscript run: /contrib/am5/ci/run.sh From d9148accd4814a0e29ced42c7feb5158dd16a67d Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Thu, 11 Jul 2024 13:52:12 -0400 Subject: [PATCH 13/16] remove run section for now --- .github/workflows/pw_am5_intel.yaml | 31 +++++++++++++++-------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index b02a60c88..9b4dbbbc0 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -41,18 +41,19 @@ jobs: run: /contrib/am5/ci/container_build.sh ${GITHUB_WORKSPACE}/am5_build - name: Check build succeeded run: stat ${GITHUB_WORKSPACE}/am5_build/fms_am5f7b12r1_compile.x - - run_AM5: - if: github.event_name == 'workflow_dispatch' - runs-on: [self-hosted, pw-platform] - strategy: - fail-fast: false - needs: [compile_AM5] - steps: - - name: Setup run directory - run: | - cd am5_run - rm -f *.nc.* RESTART/*.nc.* - cp -f /contrib/am5/ci/nmls_and_tables_am5f7b12r1_576x1/* . - - name: Launch runscript - run: /contrib/am5/ci/run.sh + +# TODO this can be used to run the model once we get more cloud allocation +# run_AM5: +# if: github.event_name == 'workflow_dispatch' +# runs-on: [self-hosted, pw-platform] +# strategy: +# fail-fast: false +# needs: [compile_AM5] +# steps: +# - name: Setup run directory +# run: | +# cd am5_run +# rm -f *.nc.* RESTART/*.nc.* +# cp -f /contrib/am5/ci/nmls_and_tables_am5f7b12r1_576x1/* . +# - name: Launch runscript +# run: /contrib/am5/ci/run.sh From ee8b74d78d5ca53f204feda957ae4d5ba725d78d Mon Sep 17 00:00:00 2001 From: Ryan Mulhall Date: Mon, 22 Jul 2024 09:43:11 -0400 Subject: [PATCH 14/16] replace cron trigger with pull request --- .github/workflows/pw_am5_intel.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index 9b4dbbbc0..be1bff3bd 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -4,8 +4,7 @@ on: tags: - '*alpha*' - '*beta*' - schedule: - - cron: '0 0 * * 0' + pull_request: workflow_dispatch: jobs: compile_AM5: From fab25d4616a8cfa23ae93f56526cfae26810d2c1 Mon Sep 17 00:00:00 2001 From: Ryan Mulhall Date: Mon, 22 Jul 2024 09:48:32 -0400 Subject: [PATCH 15/16] add concurrency section --- .github/workflows/pw_am5_intel.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index be1bff3bd..9971f8ffb 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -6,6 +6,12 @@ on: - '*beta*' pull_request: workflow_dispatch: + +# cancel running jobs if theres a newer push +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: compile_AM5: runs-on: [self-hosted, pw-platform] From 0c9a2d1f1f9c7a5d48b1b9ce064b55a1ac3b0422 Mon Sep 17 00:00:00 2001 From: Ryan Mulhall <35538242+rem1776@users.noreply.github.com> Date: Thu, 5 Sep 2024 16:04:39 -0400 Subject: [PATCH 16/16] updates to migrate to google cloud --- .github/workflows/pw_am5_intel.yaml | 52 ++++++++++++++--------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/.github/workflows/pw_am5_intel.yaml b/.github/workflows/pw_am5_intel.yaml index 9971f8ffb..11cd951bd 100644 --- a/.github/workflows/pw_am5_intel.yaml +++ b/.github/workflows/pw_am5_intel.yaml @@ -23,22 +23,22 @@ jobs: rm -rf am5_src am5_build mkdir am5_src mkdir am5_build - ln -s /contrib/am5/ci/src_am5f7b12r1/am5_phys am5_src/am5_phys - ln -s /contrib/am5/ci/src_am5f7b12r1/atmos_drivers am5_src/atmos_drivers - ln -s /contrib/am5/ci/src_am5f7b12r1/GFDL_atmos_cubed_sphere am5_src/GFDL_atmos_cubed_sphere - ln -s /contrib/am5/ci/src_am5f7b12r1/GRTCODE am5_src/GRTCODE - ln -s /contrib/am5/ci/src_am5f7b12r1/ice_param am5_src/ice_param - ln -s /contrib/am5/ci/src_am5f7b12r1/land_lad2 am5_src/land_lad2 - ln -s /contrib/am5/ci/src_am5f7b12r1/mom6 am5_src/mom6 - ln -s /contrib/am5/ci/src_am5f7b12r1/ocean_BGC am5_src/ocean_BGC - ln -s /contrib/am5/ci/src_am5f7b12r1/rte-ecckd am5_src/rte-ecckd - ln -s /contrib/am5/ci/src_am5f7b12r1/rte-rrtmgp am5_src/rte-rrtmgp + ln -s /contrib/am5/src_am5f7c1r0/am5_phys am5_src/am5_phys + ln -s /contrib/am5/src_am5f7c1r0/atmos_drivers am5_src/atmos_drivers + ln -s /contrib/am5/src_am5f7c1r0/GFDL_atmos_cubed_sphere am5_src/GFDL_atmos_cubed_sphere + ln -s /contrib/am5/src_am5f7c1r0/GRTCODE am5_src/GRTCODE + ln -s /contrib/am5/src_am5f7c1r0/ice_param am5_src/ice_param + ln -s /contrib/am5/src_am5f7c1r0/land_lad2 am5_src/land_lad2 + ln -s /contrib/am5/src_am5f7c1r0/mom6 am5_src/mom6 + ln -s /contrib/am5/src_am5f7c1r0/ocean_BGC am5_src/ocean_BGC + ln -s /contrib/am5/src_am5f7c1r0/rte-ecckd am5_src/rte-ecckd + ln -s /contrib/am5/src_am5f7c1r0/rte-rrtmgp am5_src/rte-rrtmgp - name: Checkout FMS - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: am5_src/FMS - name: Checkout FMScoupler - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: NOAA-GFDL/FMScoupler path: am5_src/coupler @@ -47,18 +47,16 @@ jobs: - name: Check build succeeded run: stat ${GITHUB_WORKSPACE}/am5_build/fms_am5f7b12r1_compile.x -# TODO this can be used to run the model once we get more cloud allocation -# run_AM5: -# if: github.event_name == 'workflow_dispatch' -# runs-on: [self-hosted, pw-platform] -# strategy: -# fail-fast: false -# needs: [compile_AM5] -# steps: -# - name: Setup run directory -# run: | -# cd am5_run -# rm -f *.nc.* RESTART/*.nc.* -# cp -f /contrib/am5/ci/nmls_and_tables_am5f7b12r1_576x1/* . -# - name: Launch runscript -# run: /contrib/am5/ci/run.sh + run_AM5: + if: github.event_name == 'workflow_dispatch' + runs-on: [self-hosted, pw-platform] + strategy: + fail-fast: false + needs: [compile_AM5] + steps: + - name: Setup run directory + run: | + cd am5_run + rm -f *.nc.* RESTART/*.nc.* + - name: Launch runscript + run: /contrib/am5/ci/run.sh