diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 88b11c25c..76c662ee4 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,22 +10,20 @@ jobs: # This statement avoids failures in another instance (another compiler) to cancel this run # it also prevents canceling the run using the cancel button on the github website # another form (if: success() || failure()) should allow the cancel button to work but tests with that form didnt act as expected - if: always() + if: ${{ ! cancelled() }} env: CC: mpicc FC: mpifort CXX: mpicxx CIME_MODEL: cesm CIME_DRIVER: nuopc - # Since self runners can only run one step at a time this needs statement is not required - # needs: setup runs-on: hpc-runner defaults: run: shell: bash {0} steps: - name: Run ${{ inputs.compiler }} tests - # Allows the next step to run even if this one fails + # Allows the check status step to run even if this one fails continue-on-error: true run: | pwd @@ -45,4 +43,4 @@ jobs: fi # tests pass, clean up rm -fr *.${GITHUB_RUN_ID}${{ inputs.compiler }} - exit 0 \ No newline at end of file + exit 0 diff --git a/.github/workflows/derecho.yaml b/.github/workflows/derecho.yaml index 287940bd0..2cbbbbf1e 100644 --- a/.github/workflows/derecho.yaml +++ b/.github/workflows/derecho.yaml @@ -25,6 +25,8 @@ jobs: build: strategy: + # run all matrix members even if one fails + fail-fast: false matrix: compiler: [gnu, intel, intel-oneapi, nvhpc] uses: ./.github/workflows/build.yaml diff --git a/.github/workflows/preview_namelist.yaml b/.github/workflows/preview_namelist.yaml new file mode 100644 index 000000000..c29b49fbb --- /dev/null +++ b/.github/workflows/preview_namelist.yaml @@ -0,0 +1,56 @@ +on: + push: + branches: [ master, cesm3.0-alphabranch ] + pull_request: + branches: [ master, cesm3.0-alphabranch ] + +jobs: + preview_namelists: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + # Lots of python versions, pare down if we don't support a version + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + config: + - {"compset": "BLT1850", "res": "ne30pg3_t232"} # fully coupled + - {"compset": "C_JRA", "res": "TL319_t232"} # ocean only + - {"compset": "C1850MARBL_JRA", "res": "TL319_t232"} # ocean only, with BGC + - {"compset": "DTEST", "res": "TL319_t232"} # ice only + - {"compset": "I1850Clm60SpCru", "res": "f10_f10_mg37"} # land only + - {"compset": "QPC6HIST", "res": "f09_f09_mg17"} # atm only + - {"compset": "T1850Gg", "res": "f09_g17_gris4"} # glc only + steps: + - uses: actions/checkout@v4 + + - name: Setup python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Set up non-python environment (need xmllint and a fake ESMF make file) + run: | + git config --global user.email "testing@github.actions" + git config --global user.name "Github Actions Testing" + echo "ESMFMKFILE=$HOME/esmf.mk" >> ${GITHUB_ENV} + echo "ESMF_VERSION_MAJOR=8" > ${HOME}/esmf.mk + echo "ESMF_VERSION_MINOR=8" >> ${HOME}/esmf.mk + sudo apt-get install libxml2-utils + sudo apt-get install subversion + + - name: Checkout CESM + run: | + $GITHUB_WORKSPACE/bin/git-fleximod update + + - name: Get WW3 grid data + # WW3 data needs to be prestaged for buildnml to work correctly + run: | + svn co https://svn-ccsm-inputdata.cgd.ucar.edu/trunk/inputdata/wav/ww3 /home/runner/cesm/inputdata/wav/ww3 + + - name: Create new cases, run case.setup, and then preview namelists + run: | + cd $GITHUB_WORKSPACE/cime/scripts + ./create_newcase --run-unsupported --mach ubuntu-latest --compset ${{ matrix.config.compset }} --res ${{ matrix.config.res }} --case $GITHUB_WORKSPACE/cases/${{ matrix.config.compset }}_${{ matrix.python-version }} + cd $GITHUB_WORKSPACE/cases/${{ matrix.config.compset }}_${{ matrix.python-version }} + ./case.setup + ./preview_namelists diff --git a/.gitmodules b/.gitmodules index 5e3f9108f..03a35cf34 100644 --- a/.gitmodules +++ b/.gitmodules @@ -114,7 +114,7 @@ path = components/ww3 url = https://github.com/ESCOMP/WW3_interface fxDONOTUSEurl = https://github.com/ESCOMP/WW3_interface - fxtag = main_0.0.14 + fxtag = main_0.0.16 fxrequired = ToplevelRequired [submodule "mizuroute"] diff --git a/ChangeLog b/ChangeLog index a9f338995..5dc80431a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,247 @@ +============================================================== +Tag name: cesm3_0_alpha05b +Originator(s): CSEG +Date: 17th December 2024 +One-line Summary: CLM answer changes + +components/cam https://github.com/ESCOMP/CAM/cam6_4_047 ** +components/cice https://github.com/ESCOMP/CESM_CICE/tree/cesm3_cice6_5_0_14 -- +cime https://github.com/ESMCI/cime/tree/cime6.1.46 ** +share https://github.com/ESCOMP/CESM_share/tree/share1.1.5 -- +ccs_config https://github.com/ESMCI/ccs_config_cesm/tree/ccs_config_cesm1.0.12 ** +components/cmeps https://github.com/ESCOMP/CMEPS/tree/cmeps1.0.25 ** +components/cdeps https://github.com/ESCOMP/CDEPS/tree/cdeps1.0.57 -- +components/cism https://github.com/ESCOMP/cism-wrapper/tree/cismwrap_2_2_002 -- +components/clm https://github.com/ESCOMP/ctsm/tree/ctsm5.3.014 ** +components/fms https://github.com/ESCOMP/FMS_interface/tree/fi_240822 -- +components/mizuroute https://github.com/ESCOMP/mizuRoute/tree/cesm-coupling.n02_v2.1.3 -- +components/mom https://github.com/ESCOMP/MOM_interface/mi_241122 ** +components/mosart https://github.com/ESCOMP/mosart/tree/mosart1_1_05 ** +components/rtm https://github.com/ESCOMP/rtm/tree/rtm1_0_83 ** +components/ww3 https://github.com/ESCOMP/WW3-CESM/tree/main_0.0.16 ** +libraries/parallelio https://github.com/NCAR/ParallilIO/tree/pio2_6_3 -- +libraries/mpi-serial https://github.com/ESMCI/mpi-serial/tree/MPIserial_2.5.0 -- +tools/CUPiD https://github.com/NCAR/CUPiD/tree/v0.1.1 -- + +cam + Courtney Peverley 2024-11-19 - cam6_4_047 - components/cam (cesm3_0_alpha05b) + https://github.com/ESCOMP/CAM/tags/cam6_4_047 + + update config component to handle new compset names + + answer-changing for chemistry configurations + + +ccs_config + James Edwards 2024-11-08 - ccs_config_cesm1.0.10 - ccs_config (cesm3_0_alpha05b) + https://github.com/ESMCI/ccs_config_cesm/tags/ccs_config_cesm1.0.10 + + Update inputdata servers removing ftp and replacing with wget https. + Fix issue with nag compiler on izumi + + + Chris Fischer 2024-12-11 - ccs_config_1.0.12 - ccs_config (cesm3_0_alpha05b) + https://github.com/ESMCI/ccs_config_cesm/tags/ccs_config_1.0.12 + + ccs_config_1.0.12: Changes for compsets, grids and compilers on derecho + ccs_config_1.0.11: Add memory usage variables for use on derecho + + +cime + Chris Fischer 2024-12-11 - cime6.1.46 - cime (cesm3_0_alpha05b) + https://github.com/ESMCI/cime/tags/cime6.1.46 + + Fixes compare_xml method for env_batch + + + James Edwards 2024-11-12 - cime6.1.45 - cime (cesm3_0_alpha05b) + https://github.com/ESMCI/cime/tags/cime6.1.44 + + cime6.1.45:Minor change to include timing files in case git repository. + Update cprnc to latest tag. + cime6.1.44: Ignore same file errors. + cime6.1.43: Fix logic for multi driver. + cime6.1.42: Skip three files when staging refcase files to avoid a rmtree error. + cime6.1.41: Remove unused GPU options for CESM. + cime6.1.40: If batch script is already executable, don't chmod it. + cime6.1.39: Updates MVK SystemTest to be configurable via testmod. + cime6.1.38: Correct the message about location of copy. + cime6.1.37: Correct the cmake path for configuring tools like fortran_unit_tests. + cime6.1.36: Add mem variables. + cime6.1.35: Clarify prereq option in case.submit. + + + Chris Fischer 2024-10-10 - cime6.1.34 - cime (cesm3_0_alpha05b) + https://github.com/ESMCI/cime/tags/cime6.1.34 + + cime6.1.34: Do not report memcomp if no baseline exists + cime6.1.33: Remove GPU options from the Python workflow and move them to XML files for CESM + Depends on cmeps1.0.22 and ccs_config_cesm1.0.8 + cime6.1.32: Fixes test status reporting errors during successful baseline comparison + cime6.1.31: Remove distutils + cime6.1.30: Refine the git interface to handle no git and old git + + +clm + Adrianna Foster 2024-11-09 - ctsm5.3.010 - components/clm (cesm3_0_alpha05b) + https://github.com/ESCOMP/ctsm/tags/Merge b4b-dev to main + + Various quality of life improvements, parameter file modifications + + + Adrianna Foster 2024-11-13 - ctsm5.3.012 - components/clm (cesm3_0_alpha05b) + https://github.com/ESCOMP/ctsm/tags/FATE API update to accommodate fire refactor; FATES tag update + + FATE API update to accommodate fire refactor; FATES tag update + + Brings FATES up to latest tag; updates API to accommodate + refactor to FATES-side fire model. Round-off differences in + FATES compsets with fire and NLCOMP diffs for some FATES + configurations. + + + Erik Kluzek 2024-10-08 - ctsm5.3.006 - components/clm (cesm3_0_alpha05b) + https://github.com/ESCOMP/ctsm/tags/ctsm5.3.X5 + + Merge b4b-dev to main-dev + Various fixes and cleanup for failing tests in beta03 + + + Erik Kluzek 2024-11-26 - ctsm5.3.014 - components/clm (cesm3_0_alpha05b) + https://github.com/ESCOMP/ctsm/tags/ctsm5.3.014 + + Brings in a list of changes to get more tests passing. + This is a general cleanup tag from the cesm3_0_beta03/04 + tags from the chill deadline that allowed several fails + to pass through. + + It includes updating the standalone submodules to be based + around cesm3_0_beta04 + + Depends on: + ccs_config_cesm1.0.10 + cime6.1.37 + + + Erik Kluzek 2024-11-15 - ctsm5.3.013 - components/clm (cesm3_0_alpha05b) + https://github.com/ESCOMP/ctsm/tags/ctsm5.3.013 + + Merge b4b-dev to main development + + Update git-fleximod + Add two new default fields to h0 history files + A few other changes + + + Sam Rabin 2024-11-11 - ctsm5.3.011 - components/clm (cesm3_0_alpha05b) + https://github.com/ESCOMP/ctsm/tags/ctsm5.3.011 + + Fix handling of finidat with cold starts + + + Sam Rabin 2024-10-21 - ctsm5.3.009 - components/clm (cesm3_0_alpha05b) + https://github.com/ESCOMP/ctsm/tags/ctsm5.3.009 + + Minor change to testing of Matrix CN capability + + + Erik Kluzek 2024-10-21 - ctsm5.3.008 - components/clm (cesm3_0_alpha05b) + https://github.com/ESCOMP/ctsm/tags/ctsm5.3.008 + + Update needed for PPE work + + Changes answers in a small way, but larger than roundoff + + + Erik Kluzek 2024-10-24 - ctsm5.2.007 - components/clm (cesm3_0_alpha05b) + https://github.com/ESCOMP/ctsm/tags/ctsm5.2.007 + + Clm60 finidat updates for ne30, f09, f19 grids + + +cmeps + Chris Fischer 2024-12-10 - cmeps1.0.25 - src/drivers/nuopc/ (cesm3_0_alpha05b) + https://github.com/ESCOMP/CMEPS/tags/cmeps1.0.25 + + cmeps1.0.25: Add memory usage variables for use on derecho + cmeps1.0.24: Make xgrid the default aoflux_grid when atm and ocn are running on different grids + cmeps1.0.23: Fix logic for adding psfc to aoflux_in + + + Chris Fischer 2024-11-11 - cmeps1.0.22 - src/drivers/nuopc/ (cesm3_0_alpha05b) + https://github.com/ESCOMP/CMEPS/tags/cmeps1.0.22 + + cmeps1.0.22: Update XML variables for GPU configurations + cmeps1.0.21: buildnml was setting variable samegrid_wav_ocn but namelist_definintion_drv.xml was looking for samegrid_ocn_wav + cmeps1.0.20: Update dms exchange + cmeps1.0.19: wav2ocn and ocn2wav maps are still needed in some cases + cmeps1.0.18: Fix xgrid reproducibility + cmeps1.0.17: Fix for exchange grid with add_gusts false + + Depends on: + cime6.1.33 + + +mom + Alper Altuntas 2024-11-22 - mi_241122 - components/mom (cesm3_0_alpha05b) + https://github.com/ESCOMP/MOM_interface/tags/mi_241122 + + - nvhpc fix (atan -> atan2) + - consortium sync + + +mosart + Erik Kluzek 2024-11-19 - mosart1.1.04 - components/mosart (cesm3_0_alpha05b) + https://github.com/ESCOMP/mosart/tags/mosart1.1.04 + + Make time the center of the interval + + + Erik Kluzek 2024-11-18 - mosart1.1.03 - components/mosart (cesm3_0_alpha05b) + https://github.com/ESCOMP/mosart/tags/mosart1.1.03 + + Some b4b changes including testlist changes + + + Erik Kluzek 2024-11-19 - mosart1.1.05 - components/mosart (cesm3_0_alpha05b) + https://github.com/ESCOMP/mosart/tags/mosart1.0.5 + + Stop running 0th time-step for startup/hybrid + + +rtm + Erik Kluzek 2024-12-04 - rtm1_0_83 - components/rtm (cesm3_0_alpha05b) + https://github.com/ESCOMP/rtm/tags/rtm1_0_83 + + Stop running 0th time-step for startup/hybrid + + + Erik Kluzek 2024-11-19 - rtm1_0_82 - components/rtm (cesm3_0_alpha05b) + https://github.com/ESCOMP/rtm/tags/rtm1_0_82 + + Change time to middle of timestep for history + + + Erik Kluzek 2024-11-19 - rtm1_0_81 - components/rtm (cesm3_0_alpha05b) + https://github.com/ESCOMP/rtm/tags/rtm1.0.81 + + Change compsets for testing + + +ww3 + Alper Altuntas 2024-12-17 - main_0.0.16 - components/ww3 (cesm3_0_alpha05b) + https://github.com/ESCOMP/WW3_interface/tags/main_0.0.16 + + Restart filename fix + Restart at eor + + + Alper Altuntas 2024-12-11 - main_0.0.15 - components/ww3 (cesm3_0_alpha05b) + https://github.com/ESCOMP/WW3_interface/tags/main_0.0.15 + + Move file staging + + ============================================================== Tag name: cesm3_0_alpha05a Originator(s): CSEG