From 70ee85a27a759e3dae2677d11e6186ff0ad96387 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 13:32:21 -0700 Subject: [PATCH 001/341] Add Dockerfiles for components of stack. Add intel oneapi --- .github/workflows/build_images.yaml | 56 +++++++++++++++++++++++++++++ docker/Dockerfile-add-nceplib | 34 ++++++++++++++++++ docker/Dockerfile-add-netcdf | 29 +++++++++++++++ docker/Dockerfile-add-pnetcdf | 36 +++++++++++++++++++ docker/Dockerfile-add-python | 30 ++++++++++++++++ docker/Dockerfile-finalize | 12 +++++++ docker/Dockerfile-nvhpc-minimal | 30 ++++++++++++++++ docker/Dockerfile-oneapi-minimal | 39 ++++++++++++++++++++ 8 files changed, 266 insertions(+) create mode 100644 .github/workflows/build_images.yaml create mode 100644 docker/Dockerfile-add-nceplib create mode 100644 docker/Dockerfile-add-netcdf create mode 100644 docker/Dockerfile-add-pnetcdf create mode 100644 docker/Dockerfile-add-python create mode 100644 docker/Dockerfile-finalize create mode 100644 docker/Dockerfile-nvhpc-minimal create mode 100644 docker/Dockerfile-oneapi-minimal diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml new file mode 100644 index 000000000..8103e19e4 --- /dev/null +++ b/.github/workflows/build_images.yaml @@ -0,0 +1,56 @@ +name: CCPP SCM Base Images Build +run-name: CI Image Build for CCPP SCM + +on: [push] + +jobs: + docker: + strategy: + matrix: + toolchain: [oneapi] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + - name: Build minimal-toolchain:${{ matrix.toolchain }} + uses: docker/build-push-action@v6 + with: + file: Dockerfile-${{ matrix.toolchain }}-minimal + tags: minimal-toolchain:${{ matrix.toolchain }} + + - name: Build add-netcdf:${{ matrix.toolchain }} + uses: docker/build-push-action@v6 + with: + file: Dockerfile-add-netcdf + build-args: TOOLCHAIN=${{ matrix.toolchain }} + tags: add-netcdf:${{ matrix.toolchain }} + + - name: Build add-nceplibs:${{ matrix.toolchain }} + uses: docker/build-push-action@v6 + with: + file: Dockerfile-add-nceplibs + build-args: TOOLCHAIN=${{ matrix.toolchain }} + tags: add-nceplibs:${{ matrix.toolchain }} + + - name: Build add-python:${{ matrix.toolchain }} + uses: docker/build-push-action@v6 + with: + file: Dockerfile-add-python + build-args: TOOLCHAIN=${{ matrix.toolchain }} + tags: add-python:${{ matrix.toolchain }} + + - name: Log in to Docker Hub + if: ${{ github.ref == 'refs/heads/ci_images' }} + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and push ccpp-scm-ci:${{ matrix.toolchain }} + uses: docker/build-push-action@v6 + with: + file: Dockerfile-finalize + build-args: TOOLCHAIN=${{ matrix.toolchain }} + push: ${{ github.ref == 'refs/heads/ci_images' }} + tags: | + dustinswales/ccpp-scm-ci:${{ matrix.toolchain }} diff --git a/docker/Dockerfile-add-nceplib b/docker/Dockerfile-add-nceplib new file mode 100644 index 000000000..0cbd721d8 --- /dev/null +++ b/docker/Dockerfile-add-nceplib @@ -0,0 +1,34 @@ +# +# Install NCEPlibs and its dependencies +# + +ARG TOOLCHAIN +FROM minimal-toolchain:$TOOLCHAIN + +# Install bacio library +ENV BACIO_VERSION=2.4.1 +ENV BACIO_ROOT=/opt/bacio +ENV BACIO_DIR=${BACIO_ROOT}/lib/cmake/bacio +RUN git clone --branch v${BACIO_VERSION} https://github.com/NOAA-EMC/NCEPLIBS-bacio.git bacio \ + && cd bacio && mkdir build && cd build \ + && cmake -DCMAKE_INSTALL_PREFIX=${BACIO_ROOT} .. \ + && make -j2 \ + && make install + +# Install SP-library +ENV SP_VERSION=2.3.3 +ENV SP_ROOT=/opt/NCEPLIBS-sp +RUN git clone --branch v${SP_VERSION} https://github.com/NOAA-EMC/NCEPLIBS-sp.git NCEPLIBS-sp \ + && cd NCEPLIBS-sp && mkdir build && cd build \ + && cmake -DCMAKE_INSTALL_PREFIX=${SP_ROOT} .. \ + && make -j2 \ + && make install + +# Install w3emc library +ENV W3EMC_VERSION=2.9.2 +ENV W3EMC_ROOT=/opt/myw3emc +#RUN git clone --branch v${W3EMC_VERSION} https://github.com/NOAA-EMC/NCEPLIBS-w3emc.git NCEPLIBS-w3emc \ +# && cd NCEPLIBS-w3emc && mkdir build && cd build \ +# && cmake -DCMAKE_INSTALL_PREFIX=${W3EMC_ROOT} .. \ +# && make -j2 \ +# && make install diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf new file mode 100644 index 000000000..f659a8479 --- /dev/null +++ b/docker/Dockerfile-add-netcdf @@ -0,0 +1,29 @@ +# +# Install NetCDF Fortran and its dependencies +# + +ARG TOOLCHAIN +FROM minimal-toolchain:$TOOLCHAIN + +# Install the dependencies +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ + curl \ + libnetcdf-dev \ + && rm -rf /var/lib/apt/lists/* + +# Install NetCDF Fortran +# The version must be compitible with NetCDF C installed above +ARG NFVERSION=4.5.4 +RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ + && cd netcdf-fortran-$NFVERSION \ + && { ./configure \ + CFLAGS='-O2' \ + FCFLAGS='-O2 -fPIC' \ + --disable-static || \ + { cat ./config.log; exit 1; } } \ + && make -j \ + && make install \ + && cd .. \ + && rm -rf netcdf-fortran-$NFVERSION \ + && ldconfig \ No newline at end of file diff --git a/docker/Dockerfile-add-pnetcdf b/docker/Dockerfile-add-pnetcdf new file mode 100644 index 000000000..a75712d4e --- /dev/null +++ b/docker/Dockerfile-add-pnetcdf @@ -0,0 +1,36 @@ +# +# Install Parallel NetCDF Fortran and its dependencies +# + +ARG TOOLCHAIN +FROM minimal-toolchain:$TOOLCHAIN + +# Set environment variables for PnetCDF installation +ENV PNETCDF_VERSION=1.14.1 +ENV PNETCDF_PREFIX=/opt/pnetcdf +ENV PATH="${PNETCDF_PREFIX}/bin:${PATH}" +ENV LD_LIBRARY_PATH="${PNETCDF_PREFIX}/lib:{$LD_LIBRARY_PATH}" +ENV PKG_CONFIG_PATH="${PNETCDF_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}" + +# Update and install necessary build tools +RUN apt-get update && apt-get install -y --no-install-recommends \ + gfortran \ + automake \ + libtool \ + m4 \ + && rm -rf /var/lib/apt/lists/* + +# Download, compile, and install PnetCDF +WORKDIR /tmp +RUN wget https://parallel-netcdf.github.io/Release/pnetcdf-${PNETCDF_VERSION}.tar.gz \ + && tar xzf pnetcdf-${PNETCDF_VERSION}.tar.gz \ + && cd pnetcdf-${PNETCDF_VERSION} \ + && autoreconf -i \ + && ./configure --prefix=${PNETCDF_PREFIX} --enable-shared --disable-static MPICC=mpicc\ + && make -j 8 install \ + && cd /tmp \ + && rm -rf pnetcdf-${PNETCDF_VERSION} pnetcdf-${PNETCDF_VERSION}.tar.gz + +# Add PnetCDF library path to the environment +ENV PATH="${PNETCDF_PREFIX}/bin:${PATH}" +ENV LD_LIBRARY_PATH="${PNETCDF_PREFIX}/lib:${LD_LIBRARY_PATH}" diff --git a/docker/Dockerfile-add-python b/docker/Dockerfile-add-python new file mode 100644 index 000000000..a4d83104a --- /dev/null +++ b/docker/Dockerfile-add-python @@ -0,0 +1,30 @@ +# +# Install Python3 and a small set of packages +# + +ARG TOOLCHAIN +FROM add-netcdf:$TOOLCHAIN + +# Install Python +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ + python-is-python3 \ + python3 \ + python3-pip \ + && rm -rf /var/lib/apt/lists/* + +# Install essential packages +# we install netCDF4 instead of xarray[io] to omit unnecessary packages +RUN pip3 install --break-system-packages \ + dask[array] \ + netCDF4 \ + numpy \ + xarray + +# Install packages for the validation plot generation +# we install scipy instead of xarray[accel] to omit unnecessary packages +RUN pip3 install --break-system-packages \ + colorcet \ + matplotlib \ + scipy \ + seaborn diff --git a/docker/Dockerfile-finalize b/docker/Dockerfile-finalize new file mode 100644 index 000000000..581663cd4 --- /dev/null +++ b/docker/Dockerfile-finalize @@ -0,0 +1,12 @@ +# +# Finalize CI containers +# + +ARG TOOLCHAIN +FROM add-python:$TOOLCHAIN + +# Install additional tools +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ + zstd \ + && rm -rf /var/lib/apt/lists/* diff --git a/docker/Dockerfile-nvhpc-minimal b/docker/Dockerfile-nvhpc-minimal new file mode 100644 index 000000000..46ba8b427 --- /dev/null +++ b/docker/Dockerfile-nvhpc-minimal @@ -0,0 +1,30 @@ +FROM ubuntu:24.04 + +ARG NVHPC_VERSION_MAJOR='25' +ARG NVHPC_VERSION_MINOR='9' + +# Extend and update the package registry +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ + ca-certificates \ + curl \ + gpg \ + make \ + cmake \ + git + RUN curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK \ + | gpg --dearmor > /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg \ + && echo "deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /" > /etc/apt/sources.list.d/nvhpc.list \ + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ + nvhpc-${NVHPC_VERSION_MAJOR}-${NVHPC_VERSION_MINOR} \ + && rm -rf /var/lib/apt/lists/* \ + && for dir in comm_libs examples math_libs profilers; do \ + rm -rf "/opt/nvidia/hpc_sdk/Linux_x86_64/${NVHPC_VERSION_MAJOR}.${NVHPC_VERSION_MINOR}/${dir}"; \ + done + +ENV PATH="/opt/nvidia/hpc_sdk/Linux_x86_64/${NVHPC_VERSION_MAJOR}.${NVHPC_VERSION_MINOR}/compilers/bin:${PATH}" + +# Set default compiler executables +ENV FC=nvfortran CC=nvc CXX=nvc++ +ENV MPICC=mpicc diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal new file mode 100644 index 000000000..88b96648c --- /dev/null +++ b/docker/Dockerfile-oneapi-minimal @@ -0,0 +1,39 @@ +FROM ubuntu:24.04 + +ARG ONEAPI_VERSION='2025.3' + +# Extend and update the package registry +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ + ca-certificates \ + curl \ + wget \ + gpg \ + binutils \ + g++ \ + gcc \ + libc-dev \ + make \ + cmake \ + git + +# See https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2025-2/hpc-apt.html#HPC-APT + +RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ + | gpg --dearmor \ + | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null \ + && echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ + | tee /etc/apt/sources.list.d/oneAPI.list \ + && apt-get update \ + && apt-get install --yes --no-install-recommends \ + intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ + intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ + && rm -rf /var/lib/apt/lists/* + +ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" + +# Set default compiler executables +ENV FC=ifx CC=icx CXX=icpx +ENV MPICC="mpicc -cc=icx" +ENV MPIF90="mpifort -fc=ifx" From 40169f2a096a0291619862077ae54448bd6c469f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 13:39:28 -0700 Subject: [PATCH 002/341] Update CI --- .github/workflows/build_images.yaml | 10 ++++---- docker/Dockerfile-add-nceplib | 38 ++++++++++++++++------------- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 8103e19e4..a6230164d 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -15,27 +15,27 @@ jobs: - name: Build minimal-toolchain:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: - file: Dockerfile-${{ matrix.toolchain }}-minimal + file: docker/Dockerfile-${{ matrix.toolchain }}-minimal tags: minimal-toolchain:${{ matrix.toolchain }} - name: Build add-netcdf:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: - file: Dockerfile-add-netcdf + file: docker/Dockerfile-add-netcdf build-args: TOOLCHAIN=${{ matrix.toolchain }} tags: add-netcdf:${{ matrix.toolchain }} - name: Build add-nceplibs:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: - file: Dockerfile-add-nceplibs + file: docker/Dockerfile-add-nceplibs build-args: TOOLCHAIN=${{ matrix.toolchain }} tags: add-nceplibs:${{ matrix.toolchain }} - name: Build add-python:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: - file: Dockerfile-add-python + file: docker/Dockerfile-add-python build-args: TOOLCHAIN=${{ matrix.toolchain }} tags: add-python:${{ matrix.toolchain }} @@ -49,7 +49,7 @@ jobs: - name: Build and push ccpp-scm-ci:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: - file: Dockerfile-finalize + file: docker/Dockerfile-finalize build-args: TOOLCHAIN=${{ matrix.toolchain }} push: ${{ github.ref == 'refs/heads/ci_images' }} tags: | diff --git a/docker/Dockerfile-add-nceplib b/docker/Dockerfile-add-nceplib index 0cbd721d8..c82b59ce3 100644 --- a/docker/Dockerfile-add-nceplib +++ b/docker/Dockerfile-add-nceplib @@ -5,30 +5,34 @@ ARG TOOLCHAIN FROM minimal-toolchain:$TOOLCHAIN +ENV NCEPLIBS_DIR=/opt/nceplibs + # Install bacio library ENV BACIO_VERSION=2.4.1 -ENV BACIO_ROOT=/opt/bacio -ENV BACIO_DIR=${BACIO_ROOT}/lib/cmake/bacio -RUN git clone --branch v${BACIO_VERSION} https://github.com/NOAA-EMC/NCEPLIBS-bacio.git bacio \ - && cd bacio && mkdir build && cd build \ - && cmake -DCMAKE_INSTALL_PREFIX=${BACIO_ROOT} .. \ - && make -j2 \ +ENV bacio_ROOT=/opt/nceplibs +RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ + && git clone -b v${BACIO_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-bacio \ + && mkdir NCEPLIBS-bacio/build && cd NCEPLIBS-bacio/build \ + && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ + && make VERBOSE=1 -j \ && make install # Install SP-library ENV SP_VERSION=2.3.3 -ENV SP_ROOT=/opt/NCEPLIBS-sp -RUN git clone --branch v${SP_VERSION} https://github.com/NOAA-EMC/NCEPLIBS-sp.git NCEPLIBS-sp \ - && cd NCEPLIBS-sp && mkdir build && cd build \ - && cmake -DCMAKE_INSTALL_PREFIX=${SP_ROOT} .. \ - && make -j2 \ +ENV sp_ROOT=/opt/nceplibs +RUN cd $NCEPLIBS_DIR/src \ + && git clone -b v${SP_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-sp \ + && mkdir NCEPLIBS-sp/build && cd NCEPLIBS-sp/build \ + && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ + && make VERBOSE=1 -j \ && make install # Install w3emc library ENV W3EMC_VERSION=2.9.2 -ENV W3EMC_ROOT=/opt/myw3emc -#RUN git clone --branch v${W3EMC_VERSION} https://github.com/NOAA-EMC/NCEPLIBS-w3emc.git NCEPLIBS-w3emc \ -# && cd NCEPLIBS-w3emc && mkdir build && cd build \ -# && cmake -DCMAKE_INSTALL_PREFIX=${W3EMC_ROOT} .. \ -# && make -j2 \ -# && make install +ENV w3emc_ROOT=/opt/nceplibs +RUN cd $NCEPLIBS_DIR/src \ + && git clone -b v${W3EMC_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-w3emc \ + && mkdir NCEPLIBS-w3emc/build && cd NCEPLIBS-w3emc/build \ + && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ + && make VERBOSE=1 -j \ + && make install From 3b306596405ad437f46560bbdbdbee680e2233e7 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 13:42:41 -0700 Subject: [PATCH 003/341] Update CI --- .github/workflows/build_images.yaml | 2 +- docker/Dockerfile-add-nceplib | 38 ----------------------------- 2 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 docker/Dockerfile-add-nceplib diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index a6230164d..2c93c8c63 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -7,7 +7,7 @@ jobs: docker: strategy: matrix: - toolchain: [oneapi] + toolchain: [oneapi,nvhpc] runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 diff --git a/docker/Dockerfile-add-nceplib b/docker/Dockerfile-add-nceplib deleted file mode 100644 index c82b59ce3..000000000 --- a/docker/Dockerfile-add-nceplib +++ /dev/null @@ -1,38 +0,0 @@ -# -# Install NCEPlibs and its dependencies -# - -ARG TOOLCHAIN -FROM minimal-toolchain:$TOOLCHAIN - -ENV NCEPLIBS_DIR=/opt/nceplibs - -# Install bacio library -ENV BACIO_VERSION=2.4.1 -ENV bacio_ROOT=/opt/nceplibs -RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ - && git clone -b v${BACIO_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-bacio \ - && mkdir NCEPLIBS-bacio/build && cd NCEPLIBS-bacio/build \ - && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ - && make VERBOSE=1 -j \ - && make install - -# Install SP-library -ENV SP_VERSION=2.3.3 -ENV sp_ROOT=/opt/nceplibs -RUN cd $NCEPLIBS_DIR/src \ - && git clone -b v${SP_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-sp \ - && mkdir NCEPLIBS-sp/build && cd NCEPLIBS-sp/build \ - && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ - && make VERBOSE=1 -j \ - && make install - -# Install w3emc library -ENV W3EMC_VERSION=2.9.2 -ENV w3emc_ROOT=/opt/nceplibs -RUN cd $NCEPLIBS_DIR/src \ - && git clone -b v${W3EMC_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-w3emc \ - && mkdir NCEPLIBS-w3emc/build && cd NCEPLIBS-w3emc/build \ - && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ - && make VERBOSE=1 -j \ - && make install From 303e51573c3af6da8ce25be34508fac953cd53a8 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 13:46:14 -0700 Subject: [PATCH 004/341] Update CI --- docker/Dockerfile-add-nceplibs | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 docker/Dockerfile-add-nceplibs diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs new file mode 100644 index 000000000..c82b59ce3 --- /dev/null +++ b/docker/Dockerfile-add-nceplibs @@ -0,0 +1,38 @@ +# +# Install NCEPlibs and its dependencies +# + +ARG TOOLCHAIN +FROM minimal-toolchain:$TOOLCHAIN + +ENV NCEPLIBS_DIR=/opt/nceplibs + +# Install bacio library +ENV BACIO_VERSION=2.4.1 +ENV bacio_ROOT=/opt/nceplibs +RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ + && git clone -b v${BACIO_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-bacio \ + && mkdir NCEPLIBS-bacio/build && cd NCEPLIBS-bacio/build \ + && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ + && make VERBOSE=1 -j \ + && make install + +# Install SP-library +ENV SP_VERSION=2.3.3 +ENV sp_ROOT=/opt/nceplibs +RUN cd $NCEPLIBS_DIR/src \ + && git clone -b v${SP_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-sp \ + && mkdir NCEPLIBS-sp/build && cd NCEPLIBS-sp/build \ + && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ + && make VERBOSE=1 -j \ + && make install + +# Install w3emc library +ENV W3EMC_VERSION=2.9.2 +ENV w3emc_ROOT=/opt/nceplibs +RUN cd $NCEPLIBS_DIR/src \ + && git clone -b v${W3EMC_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-w3emc \ + && mkdir NCEPLIBS-w3emc/build && cd NCEPLIBS-w3emc/build \ + && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ + && make VERBOSE=1 -j \ + && make install From f39021a2b33d893b13ef2c64570b4cbb2e88721c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 13:59:09 -0700 Subject: [PATCH 005/341] Update CI --- docker/Dockerfile-add-nceplibs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index c82b59ce3..b350522c1 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -28,7 +28,7 @@ RUN cd $NCEPLIBS_DIR/src \ && make install # Install w3emc library -ENV W3EMC_VERSION=2.9.2 +ENV W3EMC_VERSION=2.11.0 ENV w3emc_ROOT=/opt/nceplibs RUN cd $NCEPLIBS_DIR/src \ && git clone -b v${W3EMC_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-w3emc \ From 0b85950eaccbb262c7fa3743d218e5ecb5f5946b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 14:08:13 -0700 Subject: [PATCH 006/341] Update CI --- .github/workflows/build_images.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 2c93c8c63..a6230164d 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -7,7 +7,7 @@ jobs: docker: strategy: matrix: - toolchain: [oneapi,nvhpc] + toolchain: [oneapi] runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 From a24dbadd14d5795a1e2aba539b0220798d2ded49 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 14:17:02 -0700 Subject: [PATCH 007/341] Update CI --- .github/workflows/build_images.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index a6230164d..18d27409f 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -7,7 +7,7 @@ jobs: docker: strategy: matrix: - toolchain: [oneapi] + toolchain: [oneapi,gnu] runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 From 54e0b3df1d17932afefdb0e38e3d71142950caa4 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 14:18:22 -0700 Subject: [PATCH 008/341] Update CI --- docker/Dockerfile-gnu-minimal | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 docker/Dockerfile-gnu-minimal diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal new file mode 100644 index 000000000..8b827ed75 --- /dev/null +++ b/docker/Dockerfile-gnu-minimal @@ -0,0 +1,23 @@ +FROM ubuntu:24.04 + +ARG GNU_VERSION='13' + +# Extend and update the package registry +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ + ca-certificates \ + curl \ + wget \ + gpg \ + binutils \ + g++ \ + gcc \ + libc-dev \ + make \ + cmake \ + git + +# Set default compiler executables +ENV FC=gfortran CC=gcc CXX=g++ +ENV MPICC="mpicc -cc=gcc" +ENV MPIF90="mpif90 -fc=gfortran" From 7b01a5f9d15a1e4fecdbede00d63a81eebeea62b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 14:26:44 -0700 Subject: [PATCH 009/341] Update CI --- .github/workflows/build_images.yaml | 1 + docker/Dockerfile-add-python | 9 ++++----- docker/Dockerfile-gnu-minimal | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 18d27409f..e0565684a 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -6,6 +6,7 @@ on: [push] jobs: docker: strategy: + fail-fast: false # Disable fail-fast matrix: toolchain: [oneapi,gnu] runs-on: ubuntu-latest diff --git a/docker/Dockerfile-add-python b/docker/Dockerfile-add-python index a4d83104a..2521fe8bc 100644 --- a/docker/Dockerfile-add-python +++ b/docker/Dockerfile-add-python @@ -16,7 +16,8 @@ RUN apt-get update \ # Install essential packages # we install netCDF4 instead of xarray[io] to omit unnecessary packages RUN pip3 install --break-system-packages \ - dask[array] \ + f90nml \ + h5py \ netCDF4 \ numpy \ xarray @@ -24,7 +25,5 @@ RUN pip3 install --break-system-packages \ # Install packages for the validation plot generation # we install scipy instead of xarray[accel] to omit unnecessary packages RUN pip3 install --break-system-packages \ - colorcet \ - matplotlib \ - scipy \ - seaborn + matplotlib + diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index 8b827ed75..c9ee16aba 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -1,6 +1,6 @@ FROM ubuntu:24.04 -ARG GNU_VERSION='13' +ARG GNU_VERSION=12 # Extend and update the package registry RUN apt-get update \ @@ -10,6 +10,7 @@ RUN apt-get update \ wget \ gpg \ binutils \ + gfortran-$GNU_VERSION \ g++ \ gcc \ libc-dev \ From 8b6e0ef4f5d4bb056c385f7cd2ca9ceb1cc5fbeb Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 14:39:34 -0700 Subject: [PATCH 010/341] Update CI --- .github/workflows/build_images.yaml | 4 ++-- docker/Dockerfile-add-python | 2 -- docker/Dockerfile-gnu-minimal | 4 ++++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index e0565684a..cd91d486e 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -41,7 +41,7 @@ jobs: tags: add-python:${{ matrix.toolchain }} - name: Log in to Docker Hub - if: ${{ github.ref == 'refs/heads/ci_images' }} + if: ${{ github.ref == 'refs/heads/feature/containerized_ci' }} uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} @@ -52,6 +52,6 @@ jobs: with: file: docker/Dockerfile-finalize build-args: TOOLCHAIN=${{ matrix.toolchain }} - push: ${{ github.ref == 'refs/heads/ci_images' }} + push: ${{ github.ref == 'refs/heads/feature/containerized_ci' }} tags: | dustinswales/ccpp-scm-ci:${{ matrix.toolchain }} diff --git a/docker/Dockerfile-add-python b/docker/Dockerfile-add-python index 2521fe8bc..771c1b731 100644 --- a/docker/Dockerfile-add-python +++ b/docker/Dockerfile-add-python @@ -14,7 +14,6 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* # Install essential packages -# we install netCDF4 instead of xarray[io] to omit unnecessary packages RUN pip3 install --break-system-packages \ f90nml \ h5py \ @@ -23,7 +22,6 @@ RUN pip3 install --break-system-packages \ xarray # Install packages for the validation plot generation -# we install scipy instead of xarray[accel] to omit unnecessary packages RUN pip3 install --break-system-packages \ matplotlib diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index c9ee16aba..357a7b9cb 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -22,3 +22,7 @@ RUN apt-get update \ ENV FC=gfortran CC=gcc CXX=g++ ENV MPICC="mpicc -cc=gcc" ENV MPIF90="mpif90 -fc=gfortran" + +# GNU fortran +ENV NETCDF_FORTRAN_DIR=/usr +ENV LD_LIBRARY_PATH=${NETCDF_FORTRAN_DIR}/lib:$LD_LIBRARY_PATH From 18e53590961697755fcf5c4d76de495f845e87c5 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 14:49:58 -0700 Subject: [PATCH 011/341] Update CI --- .github/workflows/build_images.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index cd91d486e..529c5612f 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -44,8 +44,8 @@ jobs: if: ${{ github.ref == 'refs/heads/feature/containerized_ci' }} uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} - name: Build and push ccpp-scm-ci:${{ matrix.toolchain }} uses: docker/build-push-action@v6 From 683ecc640fef319dd3021450ee8bf1c38a2c16e6 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 14:56:15 -0700 Subject: [PATCH 012/341] Update CI --- .github/workflows/build_images.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 529c5612f..579bec2c0 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false # Disable fail-fast matrix: - toolchain: [oneapi,gnu] + toolchain: [oneapi] runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 From 9e7ec2d978e0f784d456317768863e6b2d263b0f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:13:18 -0700 Subject: [PATCH 013/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 54 ++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/ci_build_scm_image.yml diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml new file mode 100644 index 000000000..b1ee66810 --- /dev/null +++ b/.github/workflows/ci_build_scm_image.yml @@ -0,0 +1,54 @@ +name: Build the CCPP-SCM in a container + +on: + push: + branches: + - feature/containerized_ci + pull_request: + workflow_dispatch: + +jobs: + build_scm_container: + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + fortran-compiler: [ifx] + build-type: [Release, Debug] + include: + # Set container images + - fortran-compiler: ifx + image: dustinswales/ccpp-scm-ci:oneapi + container: + image: ${{ matrix.image }} + # Environmental variables + env: + FC: ${{ matrix.fortran-compiler }} + NFHOME: /home/runner/netcdf-fortran + NFVERSION: v4.5.3 + bacio_ROOT: /home/runner/bacio + sp_ROOT: /home/runner/NCEPLIBS-sp + w3emc_ROOT: /home/runner/myw3emc + SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps + + # Workflow steps + steps: + + # Initialize and Build SCM + - name: Checkout SCM code (into /home/runner/work/ccpp-scm/) + uses: actions/checkout@v6 + + - name: Initialize Submodules + run: git submodule update --init --recursive + + - name: Configure Build with CMake + run: | + cd ${SCM_ROOT}/scm + mkdir bin && cd bin + cmake -DCCPP_SUITES=${suites} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + + - name: Build SCM + run: | + cd ${SCM_ROOT}/scm/bin + make -j4 From fd498196e5d0e3e44302bfbe109497a45e4d2370 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:17:46 -0700 Subject: [PATCH 014/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index b1ee66810..e00d1a565 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -23,14 +23,8 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: - FC: ${{ matrix.fortran-compiler }} - NFHOME: /home/runner/netcdf-fortran - NFVERSION: v4.5.3 - bacio_ROOT: /home/runner/bacio - sp_ROOT: /home/runner/NCEPLIBS-sp - w3emc_ROOT: /home/runner/myw3emc - SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps + SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps # Workflow steps steps: @@ -40,7 +34,9 @@ jobs: uses: actions/checkout@v6 - name: Initialize Submodules - run: git submodule update --init --recursive + run: | + cd ${SCM_ROOT} + git submodule update --init --recursive - name: Configure Build with CMake run: | From 1679c90ac938c82c3a803a03622292de0428f3bc Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:22:00 -0700 Subject: [PATCH 015/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index e00d1a565..758d29ac9 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -35,7 +35,9 @@ jobs: - name: Initialize Submodules run: | + pwd cd ${SCM_ROOT} + pwd git submodule update --init --recursive - name: Configure Build with CMake From b7df61f0b6ec3785e920583b01d57940f16c0e6c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:25:36 -0700 Subject: [PATCH 016/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 758d29ac9..ec37c5365 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -23,7 +23,7 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: - SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm + SCM_ROOT: /__w/ccpp-scm/ccpp-scm suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps # Workflow steps From 70de4e623dcf607e6e6cd2f18b73ad16aa49b2e4 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:30:02 -0700 Subject: [PATCH 017/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index ec37c5365..2303c1b1f 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -35,9 +35,8 @@ jobs: - name: Initialize Submodules run: | - pwd + git config --global --add safe.directory ${SCM_ROOT} cd ${SCM_ROOT} - pwd git submodule update --init --recursive - name: Configure Build with CMake From 0ca61541e3f7da35920a5bd101c0f5e24ff8aa33 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:34:38 -0700 Subject: [PATCH 018/341] Update CI --- docker/Dockerfile-add-nceplibs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index b350522c1..e5de76d86 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -9,7 +9,7 @@ ENV NCEPLIBS_DIR=/opt/nceplibs # Install bacio library ENV BACIO_VERSION=2.4.1 -ENV bacio_ROOT=/opt/nceplibs +ENV bacio_DIR=/opt/nceplibs RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ && git clone -b v${BACIO_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-bacio \ && mkdir NCEPLIBS-bacio/build && cd NCEPLIBS-bacio/build \ @@ -19,7 +19,7 @@ RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ # Install SP-library ENV SP_VERSION=2.3.3 -ENV sp_ROOT=/opt/nceplibs +ENV sp_DIR=/opt/nceplibs RUN cd $NCEPLIBS_DIR/src \ && git clone -b v${SP_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-sp \ && mkdir NCEPLIBS-sp/build && cd NCEPLIBS-sp/build \ @@ -29,7 +29,7 @@ RUN cd $NCEPLIBS_DIR/src \ # Install w3emc library ENV W3EMC_VERSION=2.11.0 -ENV w3emc_ROOT=/opt/nceplibs +ENV w3emc_DIR=/opt/nceplibs RUN cd $NCEPLIBS_DIR/src \ && git clone -b v${W3EMC_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-w3emc \ && mkdir NCEPLIBS-w3emc/build && cd NCEPLIBS-w3emc/build \ From 267306f58eb5d57fae47953b00fc104f6ce72ecb Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:46:43 -0700 Subject: [PATCH 019/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 2303c1b1f..47ef72a03 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -23,7 +23,8 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: - SCM_ROOT: /__w/ccpp-scm/ccpp-scm + SCM_ROOT: /__w/ccpp-scm/ccpp-scm + bacio_ROOT: /opt/nceplibs suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps # Workflow steps @@ -38,6 +39,7 @@ jobs: git config --global --add safe.directory ${SCM_ROOT} cd ${SCM_ROOT} git submodule update --init --recursive + ls /opt/nceplibs - name: Configure Build with CMake run: | From 6b093dcab1011f6ca67b557c8a9409b074517d7e Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:49:28 -0700 Subject: [PATCH 020/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 47ef72a03..632997f34 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -24,7 +24,7 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - bacio_ROOT: /opt/nceplibs + bacio_ROOT: /usr/bin/docker/opt/nceplibs suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps # Workflow steps From 158e87dc3ee1317571c01967f64488b5622bd208 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:51:36 -0700 Subject: [PATCH 021/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 632997f34..1c8ac6c0e 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -39,7 +39,9 @@ jobs: git config --global --add safe.directory ${SCM_ROOT} cd ${SCM_ROOT} git submodule update --init --recursive - ls /opt/nceplibs + pwd + ls + ls ../ - name: Configure Build with CMake run: | From f4fab00c247931f33625aed75c9a23f99683b93c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:52:23 -0700 Subject: [PATCH 022/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 1c8ac6c0e..fa4764e48 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -41,7 +41,7 @@ jobs: git submodule update --init --recursive pwd ls - ls ../ + ls ../ - name: Configure Build with CMake run: | From ea9fe1dd8ecc1e60b876062223f51b38bda09e2b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:55:01 -0700 Subject: [PATCH 023/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index fa4764e48..d57dbe1cd 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -30,8 +30,7 @@ jobs: # Workflow steps steps: - # Initialize and Build SCM - - name: Checkout SCM code (into /home/runner/work/ccpp-scm/) + - name: Checkout SCM code uses: actions/checkout@v6 - name: Initialize Submodules @@ -41,7 +40,7 @@ jobs: git submodule update --init --recursive pwd ls - ls ../ + ls ../../ - name: Configure Build with CMake run: | From 08ff58c243fd78423abc79cf7be54c647281351e Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 15:57:29 -0700 Subject: [PATCH 024/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index d57dbe1cd..c6ad73d84 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -40,7 +40,7 @@ jobs: git submodule update --init --recursive pwd ls - ls ../../ + ls ../../../ - name: Configure Build with CMake run: | From 8222af4cdbee702e603ec58c9bdac054367b3146 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 16:04:03 -0700 Subject: [PATCH 025/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index c6ad73d84..7ef30d441 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -24,7 +24,7 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - bacio_ROOT: /usr/bin/docker/opt/nceplibs + bacio_ROOT: /opt/nceplibs suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps # Workflow steps @@ -39,8 +39,7 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - ls - ls ../../../ + ls /opt/ - name: Configure Build with CMake run: | From 4d1a8fbd5c490ee690122f63191faac558def3b2 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 16:07:41 -0700 Subject: [PATCH 026/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 7ef30d441..f2fd6852c 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -39,7 +39,7 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - ls /opt/ + ls /github/home - name: Configure Build with CMake run: | From 931cc374e9f884b60d1bd685afd4b0a77da1ffb6 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 16:10:03 -0700 Subject: [PATCH 027/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index f2fd6852c..b735606af 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -39,7 +39,7 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - ls /github/home + ls ../../../ - name: Configure Build with CMake run: | From 9509c19e5ca90f20371aa0f993b6b05e88544184 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 16:14:07 -0700 Subject: [PATCH 028/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index b735606af..85af7031e 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -39,7 +39,10 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - ls ../../../ + echo "-----/opt/" + ls /opt/ + echo "-----/home/" + ls /home/ - name: Configure Build with CMake run: | From b62b1f766b66afde51c20f71c72e5567ee82fea9 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 16:16:17 -0700 Subject: [PATCH 029/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 85af7031e..0e8c09505 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -39,8 +39,8 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - echo "-----/opt/" - ls /opt/ + echo "-----/opt/intel/oneapi/" + ls /opt/intel/oneapi/ echo "-----/home/" ls /home/ From 01ed007bd9cc6f07f8b74f3f8a9af5be9b499c29 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 16:23:23 -0700 Subject: [PATCH 030/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 0e8c09505..df820fa18 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -24,7 +24,6 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - bacio_ROOT: /opt/nceplibs suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps # Workflow steps @@ -39,10 +38,10 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - echo "-----/opt/intel/oneapi/" - ls /opt/intel/oneapi/ - echo "-----/home/" - ls /home/ + echo "-----/" + ls / + echo "-----bacho_ROOT" + echo ${bacio_ROOT} - name: Configure Build with CMake run: | From 00a7c987cdb1df5d5be6d25e15fc21cfac1b2d64 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 16:25:57 -0700 Subject: [PATCH 031/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index df820fa18..6151d5143 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -38,10 +38,10 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - echo "-----/" - ls / + echo "-----/lib" + ls /lib/ echo "-----bacho_ROOT" - echo ${bacio_ROOT} + echo ${FC} - name: Configure Build with CMake run: | From 4829c53f58f1bcdad9f512af96a8104c424b0fcd Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 16:28:36 -0700 Subject: [PATCH 032/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 6151d5143..8b88fdddb 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -38,10 +38,10 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - echo "-----/lib" - ls /lib/ - echo "-----bacho_ROOT" - echo ${FC} + echo "-----/home/runner" + ls /home/runner/ + echo "-----bacio_ROOT" + echo ${bacio_ROOT} - name: Configure Build with CMake run: | From 8a9a2bd8d063bee168e625d17f278614390566cf Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 16:31:29 -0700 Subject: [PATCH 033/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 -- docker/Dockerfile-add-nceplibs | 3 --- docker/Dockerfile-oneapi-minimal | 4 ++++ 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 8b88fdddb..7b19470f3 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -38,8 +38,6 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - echo "-----/home/runner" - ls /home/runner/ echo "-----bacio_ROOT" echo ${bacio_ROOT} diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index e5de76d86..fdf4b1aaf 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -9,7 +9,6 @@ ENV NCEPLIBS_DIR=/opt/nceplibs # Install bacio library ENV BACIO_VERSION=2.4.1 -ENV bacio_DIR=/opt/nceplibs RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ && git clone -b v${BACIO_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-bacio \ && mkdir NCEPLIBS-bacio/build && cd NCEPLIBS-bacio/build \ @@ -19,7 +18,6 @@ RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ # Install SP-library ENV SP_VERSION=2.3.3 -ENV sp_DIR=/opt/nceplibs RUN cd $NCEPLIBS_DIR/src \ && git clone -b v${SP_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-sp \ && mkdir NCEPLIBS-sp/build && cd NCEPLIBS-sp/build \ @@ -29,7 +27,6 @@ RUN cd $NCEPLIBS_DIR/src \ # Install w3emc library ENV W3EMC_VERSION=2.11.0 -ENV w3emc_DIR=/opt/nceplibs RUN cd $NCEPLIBS_DIR/src \ && git clone -b v${W3EMC_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-w3emc \ && mkdir NCEPLIBS-w3emc/build && cd NCEPLIBS-w3emc/build \ diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 88b96648c..fa11330b0 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -37,3 +37,7 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRA ENV FC=ifx CC=icx CXX=icpx ENV MPICC="mpicc -cc=icx" ENV MPIF90="mpifort -fc=ifx" + +ENV bacio_DIR=/opt/nceplibs +ENV sp_DIR=/opt/nceplibs +ENV w3emc_DIR=/opt/nceplibs \ No newline at end of file From cafc0469c57e6ccd5e53ad668bb9f8e3f5370d23 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 18:23:39 -0700 Subject: [PATCH 034/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 7b19470f3..50e828810 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -30,7 +30,7 @@ jobs: steps: - name: Checkout SCM code - uses: actions/checkout@v6 + uses: actions/checkout@v4 - name: Initialize Submodules run: | From 786daea77ceaf266f8dd05b05ea5e7a8648c0c03 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 18:34:54 -0700 Subject: [PATCH 035/341] Update CI --- docker/Dockerfile-add-nceplibs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index fdf4b1aaf..87ef826d1 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -15,6 +15,8 @@ RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ && make VERBOSE=1 -j \ && make install +ENV PATH="/opt/nceplibs/NCEPLIBS-bacio/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-bacio/lib:${LD_LIBRARY_PATH} # Install SP-library ENV SP_VERSION=2.3.3 @@ -24,6 +26,8 @@ RUN cd $NCEPLIBS_DIR/src \ && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ && make VERBOSE=1 -j \ && make install +ENV PATH="/opt/nceplibs/NCEPLIBS-sp/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-sp/lib:${LD_LIBRARY_PATH} # Install w3emc library ENV W3EMC_VERSION=2.11.0 @@ -33,3 +37,5 @@ RUN cd $NCEPLIBS_DIR/src \ && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ && make VERBOSE=1 -j \ && make install +ENV PATH="/opt/nceplibs/NCEPLIBS-w3emc/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-w3emc/lib:${LD_LIBRARY_PATH} \ No newline at end of file From 0083add0774cacbfcb1e7ea475a4a31c22e9ef5c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 18:42:49 -0700 Subject: [PATCH 036/341] Update CI --- docker/Dockerfile-add-nceplibs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index 87ef826d1..fc0467384 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -16,7 +16,7 @@ RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ && make VERBOSE=1 -j \ && make install ENV PATH="/opt/nceplibs/NCEPLIBS-bacio/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-bacio/lib:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-bacio/lib:${LD_LIBRARY_PATH}" # Install SP-library ENV SP_VERSION=2.3.3 @@ -27,7 +27,7 @@ RUN cd $NCEPLIBS_DIR/src \ && make VERBOSE=1 -j \ && make install ENV PATH="/opt/nceplibs/NCEPLIBS-sp/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-sp/lib:${LD_LIBRARY_PATH} +ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-sp/lib:${LD_LIBRARY_PATH}" # Install w3emc library ENV W3EMC_VERSION=2.11.0 @@ -38,4 +38,4 @@ RUN cd $NCEPLIBS_DIR/src \ && make VERBOSE=1 -j \ && make install ENV PATH="/opt/nceplibs/NCEPLIBS-w3emc/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-w3emc/lib:${LD_LIBRARY_PATH} \ No newline at end of file +ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-w3emc/lib:${LD_LIBRARY_PATH}" \ No newline at end of file From 95d908e88751e08fb1b61e29174fe95c5136f80e Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 19:04:02 -0700 Subject: [PATCH 037/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- docker/Dockerfile-oneapi-minimal | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 50e828810..dfaf642a1 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -38,8 +38,8 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - echo "-----bacio_ROOT" - echo ${bacio_ROOT} + echo "-----bacio_DIR" + echo ${{ env.bacio_DIR }} - name: Configure Build with CMake run: | diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index fa11330b0..3571c6311 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -38,6 +38,6 @@ ENV FC=ifx CC=icx CXX=icpx ENV MPICC="mpicc -cc=icx" ENV MPIF90="mpifort -fc=ifx" -ENV bacio_DIR=/opt/nceplibs -ENV sp_DIR=/opt/nceplibs -ENV w3emc_DIR=/opt/nceplibs \ No newline at end of file +ENV bacio_DIR=/opt/nceplibs/NCEPLIBS-bacio/lib/cmake/bacio +ENV sp_DIR=/opt/nceplibs/NCEPLIBS-sp/lib/cmake/sp +ENV w3emc_DIR=/opt/nceplibs/NCEPLIBS-w3emc/lib/cmake/w3emc \ No newline at end of file From b8b3e4e9e338406520e0128d80abe3d4f867fa75 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 19:16:39 -0700 Subject: [PATCH 038/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index dfaf642a1..cd7eee478 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -39,7 +39,7 @@ jobs: git submodule update --init --recursive pwd echo "-----bacio_DIR" - echo ${{ env.bacio_DIR }} + echo ls /opt/nceplibs/NCEPLIBS-bacio/lib/cmake/bacio - name: Configure Build with CMake run: | From 75fcb9ac756ceaa51bb80536fd7e33284b364463 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 19:19:56 -0700 Subject: [PATCH 039/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index cd7eee478..aeed7107d 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -38,8 +38,10 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - echo "-----bacio_DIR" - echo ls /opt/nceplibs/NCEPLIBS-bacio/lib/cmake/bacio + echo "-----1" + ls /opt/nceplibs/lib/cmake/bacio + echo "-----2" + ls /opt/nceplibs/NCEPLIBS-bacio/lib/cmake/bacio - name: Configure Build with CMake run: | From 9aa86d4da76167ab743d66d3a89dbaa108d46b88 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 19:21:52 -0700 Subject: [PATCH 040/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index aeed7107d..eb34dabb5 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -38,8 +38,6 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd - echo "-----1" - ls /opt/nceplibs/lib/cmake/bacio echo "-----2" ls /opt/nceplibs/NCEPLIBS-bacio/lib/cmake/bacio From 229d978623b06dd0c9883c785076f67426a5334c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 19:24:08 -0700 Subject: [PATCH 041/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index eb34dabb5..96fdc2711 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -38,8 +38,12 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive pwd + echo "-----0" + ls /opt + echo "-----1" + ls /opt/nceplibs/ echo "-----2" - ls /opt/nceplibs/NCEPLIBS-bacio/lib/cmake/bacio + ls /opt/nceplibs/NCEPLIBS-bacio/ - name: Configure Build with CMake run: | From 24f3c9bce52c82ba114a2c00afa76800ceb4433f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 19:33:58 -0700 Subject: [PATCH 042/341] Update CI --- docker/Dockerfile-add-nceplibs | 10 ++++------ docker/Dockerfile-oneapi-minimal | 4 ---- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index fc0467384..cd7520006 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -15,8 +15,6 @@ RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ && make VERBOSE=1 -j \ && make install -ENV PATH="/opt/nceplibs/NCEPLIBS-bacio/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-bacio/lib:${LD_LIBRARY_PATH}" # Install SP-library ENV SP_VERSION=2.3.3 @@ -26,8 +24,6 @@ RUN cd $NCEPLIBS_DIR/src \ && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ && make VERBOSE=1 -j \ && make install -ENV PATH="/opt/nceplibs/NCEPLIBS-sp/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-sp/lib:${LD_LIBRARY_PATH}" # Install w3emc library ENV W3EMC_VERSION=2.11.0 @@ -37,5 +33,7 @@ RUN cd $NCEPLIBS_DIR/src \ && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ && make VERBOSE=1 -j \ && make install -ENV PATH="/opt/nceplibs/NCEPLIBS-w3emc/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/nceplibs/NCEPLIBS-w3emc/lib:${LD_LIBRARY_PATH}" \ No newline at end of file + +ENV bacio_DIR=/opt/nceplibs/lib/cmake/bacio +ENV sp_DIR=/opt/nceplibs/lib/cmake/sp +ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc \ No newline at end of file diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 3571c6311..88b96648c 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -37,7 +37,3 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRA ENV FC=ifx CC=icx CXX=icpx ENV MPICC="mpicc -cc=icx" ENV MPIF90="mpifort -fc=ifx" - -ENV bacio_DIR=/opt/nceplibs/NCEPLIBS-bacio/lib/cmake/bacio -ENV sp_DIR=/opt/nceplibs/NCEPLIBS-sp/lib/cmake/sp -ENV w3emc_DIR=/opt/nceplibs/NCEPLIBS-w3emc/lib/cmake/w3emc \ No newline at end of file From 06a25fadcf222a7325550bbcc4796e054336c11c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 19:36:42 -0700 Subject: [PATCH 043/341] Update CI --- docker/Dockerfile-add-nceplibs | 8 ++++---- docker/Dockerfile-oneapi-minimal | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index cd7520006..7de589b37 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -5,7 +5,7 @@ ARG TOOLCHAIN FROM minimal-toolchain:$TOOLCHAIN -ENV NCEPLIBS_DIR=/opt/nceplibs +ENV NCEPLIBS_DIR=/opt/intel/nceplibs # Install bacio library ENV BACIO_VERSION=2.4.1 @@ -34,6 +34,6 @@ RUN cd $NCEPLIBS_DIR/src \ && make VERBOSE=1 -j \ && make install -ENV bacio_DIR=/opt/nceplibs/lib/cmake/bacio -ENV sp_DIR=/opt/nceplibs/lib/cmake/sp -ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc \ No newline at end of file +ENV bacio_DIR=/opt/intel/nceplibs/lib/cmake/bacio +ENV sp_DIR=/opt/intel/nceplibs/lib/cmake/sp +ENV w3emc_DIR=/opt/intel/nceplibs/lib/cmake/w3emc \ No newline at end of file diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 88b96648c..9113a404c 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -37,3 +37,7 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRA ENV FC=ifx CC=icx CXX=icpx ENV MPICC="mpicc -cc=icx" ENV MPIF90="mpifort -fc=ifx" + +ENV bacio_DIR=/opt/intel/nceplibs/lib/cmake/bacio +ENV sp_DIR=/opt/intel/nceplibs/lib/cmake/sp +ENV w3emc_DIR=/opt/intel/nceplibs/lib/cmake/w3emc \ No newline at end of file From 916e853a5c9a5aebcfa1f4022b4e30b0ea63f655 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 20:28:57 -0700 Subject: [PATCH 044/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 ++++-- docker/Dockerfile-add-nceplibs | 8 ++++---- docker/Dockerfile-oneapi-minimal | 6 +++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 96fdc2711..297ac9b11 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -23,7 +23,9 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: - SCM_ROOT: /__w/ccpp-scm/ccpp-scm + FC: ${{ matrix.fortran-compiler }} + NetCDF_Fortran_ROOT: /opt/netcdf-fortran + SCM_ROOT: /__w/ccpp-scm/ccpp-scm suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps # Workflow steps @@ -41,7 +43,7 @@ jobs: echo "-----0" ls /opt echo "-----1" - ls /opt/nceplibs/ + ls /__w/ echo "-----2" ls /opt/nceplibs/NCEPLIBS-bacio/ diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index 7de589b37..cd7520006 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -5,7 +5,7 @@ ARG TOOLCHAIN FROM minimal-toolchain:$TOOLCHAIN -ENV NCEPLIBS_DIR=/opt/intel/nceplibs +ENV NCEPLIBS_DIR=/opt/nceplibs # Install bacio library ENV BACIO_VERSION=2.4.1 @@ -34,6 +34,6 @@ RUN cd $NCEPLIBS_DIR/src \ && make VERBOSE=1 -j \ && make install -ENV bacio_DIR=/opt/intel/nceplibs/lib/cmake/bacio -ENV sp_DIR=/opt/intel/nceplibs/lib/cmake/sp -ENV w3emc_DIR=/opt/intel/nceplibs/lib/cmake/w3emc \ No newline at end of file +ENV bacio_DIR=/opt/nceplibs/lib/cmake/bacio +ENV sp_DIR=/opt/nceplibs/lib/cmake/sp +ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc \ No newline at end of file diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 9113a404c..97dd8613c 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -38,6 +38,6 @@ ENV FC=ifx CC=icx CXX=icpx ENV MPICC="mpicc -cc=icx" ENV MPIF90="mpifort -fc=ifx" -ENV bacio_DIR=/opt/intel/nceplibs/lib/cmake/bacio -ENV sp_DIR=/opt/intel/nceplibs/lib/cmake/sp -ENV w3emc_DIR=/opt/intel/nceplibs/lib/cmake/w3emc \ No newline at end of file +ENV bacio_DIR=/opt/nceplibs/lib/cmake/bacio +ENV sp_DIR=/opt/nceplibs/lib/cmake/sp +ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc \ No newline at end of file From ce34cbfe3535f385df08c040068a01de9d31263a Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 20:33:54 -0700 Subject: [PATCH 045/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 297ac9b11..4df48b2a5 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -30,8 +30,13 @@ jobs: # Workflow steps steps: - - - name: Checkout SCM code + ############################################################# + # $ echo ${{ github.workspace }} + # /home/runner/work// + # $ echo $GITHUB_WORKSPACE + # /__w// + ############################################################# + - name: Checkout SCM code (/__w/ccpp-scm/ccpp-scm) uses: actions/checkout@v4 - name: Initialize Submodules @@ -45,7 +50,7 @@ jobs: echo "-----1" ls /__w/ echo "-----2" - ls /opt/nceplibs/NCEPLIBS-bacio/ + ls /__w/_actions - name: Configure Build with CMake run: | From c9eab6649712f5f46f9b470305dcbe10e0f1c4f1 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 20:36:12 -0700 Subject: [PATCH 046/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 4df48b2a5..5cead610f 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -50,7 +50,7 @@ jobs: echo "-----1" ls /__w/ echo "-----2" - ls /__w/_actions + ls /__w/_actions/actions/ - name: Configure Build with CMake run: | From f6da66b37010c91d753855216171e32b6689c119 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 20:37:55 -0700 Subject: [PATCH 047/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 5cead610f..6b413a304 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -48,9 +48,9 @@ jobs: echo "-----0" ls /opt echo "-----1" - ls /__w/ - echo "-----2" - ls /__w/_actions/actions/ + ls -ltr /__w/* + #echo "-----2" + #ls /__w/_actions/actions/ - name: Configure Build with CMake run: | From 2bc79128b51b6f59fa41a83080f5575a683da426 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 20:51:54 -0700 Subject: [PATCH 048/341] Update CI --- .github/workflows/build_images.yaml | 14 ------ .github/workflows/ci_build_scm_image.yml | 2 - docker/Dockerfile-oneapi-minimal | 60 +++++++++++++++++++++++- 3 files changed, 59 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 579bec2c0..44c87260f 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -19,20 +19,6 @@ jobs: file: docker/Dockerfile-${{ matrix.toolchain }}-minimal tags: minimal-toolchain:${{ matrix.toolchain }} - - name: Build add-netcdf:${{ matrix.toolchain }} - uses: docker/build-push-action@v6 - with: - file: docker/Dockerfile-add-netcdf - build-args: TOOLCHAIN=${{ matrix.toolchain }} - tags: add-netcdf:${{ matrix.toolchain }} - - - name: Build add-nceplibs:${{ matrix.toolchain }} - uses: docker/build-push-action@v6 - with: - file: docker/Dockerfile-add-nceplibs - build-args: TOOLCHAIN=${{ matrix.toolchain }} - tags: add-nceplibs:${{ matrix.toolchain }} - - name: Build add-python:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 6b413a304..085579c9a 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -46,9 +46,7 @@ jobs: git submodule update --init --recursive pwd echo "-----0" - ls /opt echo "-----1" - ls -ltr /__w/* #echo "-----2" #ls /__w/_actions/actions/ diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 97dd8613c..229dcbd32 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -38,6 +38,64 @@ ENV FC=ifx CC=icx CXX=icpx ENV MPICC="mpicc -cc=icx" ENV MPIF90="mpifort -fc=ifx" +############################################################################################ +# Netcdf +############################################################################################ +# Install the dependencies +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ + curl \ + libnetcdf-dev \ + && rm -rf /var/lib/apt/lists/* + +# Install NetCDF Fortran +# The version must be compitible with NetCDF C installed above +ARG NFVERSION=4.5.4 +RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ + && cd netcdf-fortran-$NFVERSION \ + && { ./configure \ + CFLAGS='-O2' \ + FCFLAGS='-O2 -fPIC' \ + --disable-static || \ + { cat ./config.log; exit 1; } } \ + && make -j \ + && make install \ + && cd .. \ + && rm -rf netcdf-fortran-$NFVERSION \ + && ldconfig + +############################################################################################ +# NCEPlibs +############################################################################################ +ENV NCEPLIBS_DIR=/opt/nceplibs + +# Install bacio library +ENV BACIO_VERSION=2.4.1 +RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ + && git clone -b v${BACIO_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-bacio \ + && mkdir NCEPLIBS-bacio/build && cd NCEPLIBS-bacio/build \ + && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ + && make VERBOSE=1 -j \ + && make install + +# Install SP-library +ENV SP_VERSION=2.3.3 +RUN cd $NCEPLIBS_DIR/src \ + && git clone -b v${SP_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-sp \ + && mkdir NCEPLIBS-sp/build && cd NCEPLIBS-sp/build \ + && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ + && make VERBOSE=1 -j \ + && make install + +# Install w3emc library +ENV W3EMC_VERSION=2.11.0 +RUN cd $NCEPLIBS_DIR/src \ + && git clone -b v${W3EMC_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-w3emc \ + && mkdir NCEPLIBS-w3emc/build && cd NCEPLIBS-w3emc/build \ + && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ + && make VERBOSE=1 -j \ + && make install + ENV bacio_DIR=/opt/nceplibs/lib/cmake/bacio ENV sp_DIR=/opt/nceplibs/lib/cmake/sp -ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc \ No newline at end of file +ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc From 9fd5b73e497788f95b7cfcf042a24342c15607b0 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 20:59:30 -0700 Subject: [PATCH 049/341] Update CI --- docker/Dockerfile-add-nceplibs | 2 +- docker/Dockerfile-add-python | 2 +- docker/Dockerfile-oneapi-minimal | 60 +------------------------------- 3 files changed, 3 insertions(+), 61 deletions(-) diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index cd7520006..decbbdc06 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -3,7 +3,7 @@ # ARG TOOLCHAIN -FROM minimal-toolchain:$TOOLCHAIN +FROM add-netcdf:$TOOLCHAIN ENV NCEPLIBS_DIR=/opt/nceplibs diff --git a/docker/Dockerfile-add-python b/docker/Dockerfile-add-python index 771c1b731..eee9082f4 100644 --- a/docker/Dockerfile-add-python +++ b/docker/Dockerfile-add-python @@ -3,7 +3,7 @@ # ARG TOOLCHAIN -FROM add-netcdf:$TOOLCHAIN +FROM add-nceplibs:$TOOLCHAIN # Install Python RUN apt-get update \ diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 229dcbd32..97dd8613c 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -38,64 +38,6 @@ ENV FC=ifx CC=icx CXX=icpx ENV MPICC="mpicc -cc=icx" ENV MPIF90="mpifort -fc=ifx" -############################################################################################ -# Netcdf -############################################################################################ -# Install the dependencies -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ - curl \ - libnetcdf-dev \ - && rm -rf /var/lib/apt/lists/* - -# Install NetCDF Fortran -# The version must be compitible with NetCDF C installed above -ARG NFVERSION=4.5.4 -RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ - && cd netcdf-fortran-$NFVERSION \ - && { ./configure \ - CFLAGS='-O2' \ - FCFLAGS='-O2 -fPIC' \ - --disable-static || \ - { cat ./config.log; exit 1; } } \ - && make -j \ - && make install \ - && cd .. \ - && rm -rf netcdf-fortran-$NFVERSION \ - && ldconfig - -############################################################################################ -# NCEPlibs -############################################################################################ -ENV NCEPLIBS_DIR=/opt/nceplibs - -# Install bacio library -ENV BACIO_VERSION=2.4.1 -RUN mkdir -p $NCEPLIBS_DIR/src && cd $NCEPLIBS_DIR/src \ - && git clone -b v${BACIO_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-bacio \ - && mkdir NCEPLIBS-bacio/build && cd NCEPLIBS-bacio/build \ - && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ - && make VERBOSE=1 -j \ - && make install - -# Install SP-library -ENV SP_VERSION=2.3.3 -RUN cd $NCEPLIBS_DIR/src \ - && git clone -b v${SP_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-sp \ - && mkdir NCEPLIBS-sp/build && cd NCEPLIBS-sp/build \ - && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ - && make VERBOSE=1 -j \ - && make install - -# Install w3emc library -ENV W3EMC_VERSION=2.11.0 -RUN cd $NCEPLIBS_DIR/src \ - && git clone -b v${W3EMC_VERSION} --recursive https://github.com/NOAA-EMC/NCEPLIBS-w3emc \ - && mkdir NCEPLIBS-w3emc/build && cd NCEPLIBS-w3emc/build \ - && cmake -DCMAKE_INSTALL_PREFIX=$NCEPLIBS_DIR .. \ - && make VERBOSE=1 -j \ - && make install - ENV bacio_DIR=/opt/nceplibs/lib/cmake/bacio ENV sp_DIR=/opt/nceplibs/lib/cmake/sp -ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc +ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc \ No newline at end of file From c8a7ffd35424126e382bbaae9da8489e5866e44f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 21:03:41 -0700 Subject: [PATCH 050/341] Update CI --- .github/workflows/build_images.yaml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 44c87260f..0faf26ff4 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -19,6 +19,20 @@ jobs: file: docker/Dockerfile-${{ matrix.toolchain }}-minimal tags: minimal-toolchain:${{ matrix.toolchain }} + - name: Build add-netcdf:${{ matrix.toolchain }} + uses: docker/build-push-action@v6 + with: + file: docker/Dockerfile-add-netcdf + build-args: TOOLCHAIN=${{ matrix.toolchain }} + tags: add-netcdf:${{ matrix.toolchain }} + + - name: Build add-nceplibs:${{ matrix.toolchain }} + uses: docker/build-push-action@v6 + with: + file: docker/Dockerfile-add-nceplibs + build-args: TOOLCHAIN=${{ matrix.toolchain }} + tags: add-nceplibs:${{ matrix.toolchain }} + - name: Build add-python:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: @@ -26,7 +40,7 @@ jobs: build-args: TOOLCHAIN=${{ matrix.toolchain }} tags: add-python:${{ matrix.toolchain }} - - name: Log in to Docker Hub + - name: Log in to DockerHub if: ${{ github.ref == 'refs/heads/feature/containerized_ci' }} uses: docker/login-action@v3 with: From 174dfc9e3a049981671d2c528d11c979eabf08b5 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 21:26:29 -0700 Subject: [PATCH 051/341] Update CI --- docker/Dockerfile-oneapi-minimal | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 97dd8613c..024842e54 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -35,8 +35,9 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRA # Set default compiler executables ENV FC=ifx CC=icx CXX=icpx -ENV MPICC="mpicc -cc=icx" -ENV MPIF90="mpifort -fc=ifx" +#ENV MPICC="mpicc -cc=icx" +#ENV MPIF90="mpifort -fc=ifx" +ENV MPI_C=mpicc MPI_FORTRAN=mpifort ENV bacio_DIR=/opt/nceplibs/lib/cmake/bacio ENV sp_DIR=/opt/nceplibs/lib/cmake/sp From ff354cdab47610eeff32e28e589a3615096b95d0 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 21:33:35 -0700 Subject: [PATCH 052/341] Update CI --- docker/Dockerfile-oneapi-minimal | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 024842e54..28d798ac7 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -17,7 +17,7 @@ RUN apt-get update \ cmake \ git -# See https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2025-2/hpc-apt.html#HPC-APT +# See https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2025-2/hpc-apt.html RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ | gpg --dearmor \ @@ -34,10 +34,8 @@ ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" # Set default compiler executables -ENV FC=ifx CC=icx CXX=icpx -#ENV MPICC="mpicc -cc=icx" -#ENV MPIF90="mpifort -fc=ifx" -ENV MPI_C=mpicc MPI_FORTRAN=mpifort +ENV FC=mpifort CC=mpicc CXX=mpic++ +#ENV FC=ifx CC=icx CXX=icpx ENV bacio_DIR=/opt/nceplibs/lib/cmake/bacio ENV sp_DIR=/opt/nceplibs/lib/cmake/sp From e95a13992431e372a20b0125aee23ed2f0a3f21f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 21:40:54 -0700 Subject: [PATCH 053/341] Update CI --- docker/Dockerfile-add-nceplibs | 5 ++++- docker/Dockerfile-oneapi-minimal | 10 ++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index decbbdc06..d57a46b66 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -36,4 +36,7 @@ RUN cd $NCEPLIBS_DIR/src \ ENV bacio_DIR=/opt/nceplibs/lib/cmake/bacio ENV sp_DIR=/opt/nceplibs/lib/cmake/sp -ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc \ No newline at end of file +ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc + +# +ENV FC=mpifort CC=mpicc CXX=mpic++ \ No newline at end of file diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 28d798ac7..af06ecdf7 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -33,10 +33,8 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" -# Set default compiler executables -ENV FC=mpifort CC=mpicc CXX=mpic++ -#ENV FC=ifx CC=icx CXX=icpx +# Set default compiler executables (MPI) +#ENV FC=mpifort CC=mpicc CXX=mpic++ -ENV bacio_DIR=/opt/nceplibs/lib/cmake/bacio -ENV sp_DIR=/opt/nceplibs/lib/cmake/sp -ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc \ No newline at end of file +# Set default compiler executables (Serial) +ENV FC=ifx CC=icx CXX=icpx From 8ad16d6cecf0be978546ae572e7b7bc85292f28b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 21:53:48 -0700 Subject: [PATCH 054/341] Update CI --- docker/Dockerfile-add-nceplibs | 3 --- docker/Dockerfile-add-pnetcdf | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index d57a46b66..6445833bf 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -37,6 +37,3 @@ RUN cd $NCEPLIBS_DIR/src \ ENV bacio_DIR=/opt/nceplibs/lib/cmake/bacio ENV sp_DIR=/opt/nceplibs/lib/cmake/sp ENV w3emc_DIR=/opt/nceplibs/lib/cmake/w3emc - -# -ENV FC=mpifort CC=mpicc CXX=mpic++ \ No newline at end of file diff --git a/docker/Dockerfile-add-pnetcdf b/docker/Dockerfile-add-pnetcdf index a75712d4e..b1ccb2895 100644 --- a/docker/Dockerfile-add-pnetcdf +++ b/docker/Dockerfile-add-pnetcdf @@ -3,7 +3,7 @@ # ARG TOOLCHAIN -FROM minimal-toolchain:$TOOLCHAIN +FROM add-netcdf:$TOOLCHAIN # Set environment variables for PnetCDF installation ENV PNETCDF_VERSION=1.14.1 From be14f10d82bea8f0dd19732a42331f964b32cbc5 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 9 Dec 2025 22:14:14 -0700 Subject: [PATCH 055/341] Update CI --- docker/Dockerfile-gnu-minimal | 2 -- docker/Dockerfile-oneapi-minimal | 6 +++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index 357a7b9cb..c3c3b6926 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -20,8 +20,6 @@ RUN apt-get update \ # Set default compiler executables ENV FC=gfortran CC=gcc CXX=g++ -ENV MPICC="mpicc -cc=gcc" -ENV MPIF90="mpif90 -fc=gfortran" # GNU fortran ENV NETCDF_FORTRAN_DIR=/usr diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index af06ecdf7..c787c88c1 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -33,8 +33,8 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" -# Set default compiler executables (MPI) -#ENV FC=mpifort CC=mpicc CXX=mpic++ - # Set default compiler executables (Serial) ENV FC=ifx CC=icx CXX=icpx + +# Set default compiler executables (MPI) +ENV MPI_C=mpicc MPI_FORTRAN=mpifort \ No newline at end of file From 4991d410ad23d7b5d1295d465a0baa9c543f0115 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 11 Dec 2025 11:07:22 -0700 Subject: [PATCH 056/341] Update CI --- docker/Dockerfile-oneapi-minimal | 1 - 1 file changed, 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index c787c88c1..4212d7aac 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -37,4 +37,3 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRA ENV FC=ifx CC=icx CXX=icpx # Set default compiler executables (MPI) -ENV MPI_C=mpicc MPI_FORTRAN=mpifort \ No newline at end of file From d53e629dbce425877d286a0a1d0dae093268480e Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 11 Dec 2025 11:20:01 -0700 Subject: [PATCH 057/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 085579c9a..b12efb8aa 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -50,6 +50,16 @@ jobs: #echo "-----2" #ls /__w/_actions/actions/ + - name: Environment for openmpi compiler + run: | + echo -e "CC=mpiicx" >> $GITHUB_ENV + echo -e "CXX=mpiicpx" >> $GITHUB_ENV + echo -e "FC=mpiifx" >> $GITHUB_ENV + echo -e "I_MPI_CC=icx" >> $GITHUB_ENV + echo -e "I_MPI_CXX=icpx" >> $GITHUB_ENV + echo -e "I_MPI_FC=ifx" >> $GITHUB_ENV + echo -e "I_MPI_F77=ifx" >> $GITHUB_ENV + - name: Configure Build with CMake run: | cd ${SCM_ROOT}/scm From 20e3ec6ff7fdc1d022d6cb7dca3463e1f84a59c0 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 11 Dec 2025 11:29:22 -0700 Subject: [PATCH 058/341] Update CI --- docker/Dockerfile-oneapi-minimal | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 4212d7aac..7efcbf2ad 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -33,7 +33,12 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" +RUN . /opt/intel/oneapi/setvars.sh + + + + # Set default compiler executables (Serial) -ENV FC=ifx CC=icx CXX=icpx +#ENV FC=ifx CC=icx CXX=icpx # Set default compiler executables (MPI) From 9b0ca3b5230b5421c08f39a91b044eb2276ba289 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 11 Dec 2025 11:34:48 -0700 Subject: [PATCH 059/341] Update CI --- docker/Dockerfile-oneapi-minimal | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 7efcbf2ad..ea3c3c00b 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -35,10 +35,5 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRA RUN . /opt/intel/oneapi/setvars.sh - - - # Set default compiler executables (Serial) -#ENV FC=ifx CC=icx CXX=icpx - -# Set default compiler executables (MPI) +ENV FC=ifx CC=icx CXX=icpx From 3e0c17467e10afc52401da104bcb6344b52efbbe Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 11 Dec 2025 11:48:31 -0700 Subject: [PATCH 060/341] Update CI --- docker/Dockerfile-oneapi-minimal | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index ea3c3c00b..2a6614816 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -28,6 +28,9 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR && apt-get install --yes --no-install-recommends \ intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ + intel-oneapi-common-vars \ + intel-oneapi-mpi \ + intel-oneapi-mpi-devel \ && rm -rf /var/lib/apt/lists/* ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" From 177ee5f44a7aeea73490eee5e6cea863d319a96e Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 11 Dec 2025 12:00:41 -0700 Subject: [PATCH 061/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index b12efb8aa..92a9f3fb6 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -50,15 +50,14 @@ jobs: #echo "-----2" #ls /__w/_actions/actions/ - - name: Environment for openmpi compiler + - name: Set up the oneAPI environment variables + # Source setvars.sh to make compilers and MPI wrappers (mpiicc, mpiifort) available run: | - echo -e "CC=mpiicx" >> $GITHUB_ENV - echo -e "CXX=mpiicpx" >> $GITHUB_ENV - echo -e "FC=mpiifx" >> $GITHUB_ENV - echo -e "I_MPI_CC=icx" >> $GITHUB_ENV - echo -e "I_MPI_CXX=icpx" >> $GITHUB_ENV - echo -e "I_MPI_FC=ifx" >> $GITHUB_ENV - echo -e "I_MPI_F77=ifx" >> $GITHUB_ENV + source /opt/intel/oneapi/setvars.sh + # Make environment variables available to subsequent steps in the workflow + echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV + echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH + shell: bash - name: Configure Build with CMake run: | From acadd2c9f3b5fec0a07154b9ec3702ca9d6aa9fc Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 11 Dec 2025 12:08:54 -0700 Subject: [PATCH 062/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 92a9f3fb6..2690b5977 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -55,8 +55,8 @@ jobs: run: | source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow - echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV - echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH + #echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV + #echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH shell: bash - name: Configure Build with CMake From 4efd03d8b0868d83949931869dfda87488e309d3 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 11 Dec 2025 12:47:45 -0700 Subject: [PATCH 063/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 2690b5977..ae687d961 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -56,7 +56,7 @@ jobs: source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow #echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV - #echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH + echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH shell: bash - name: Configure Build with CMake From 7c57d2927ade05a8d57bbd9b6665f7a3b74d1926 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 11 Dec 2025 12:57:10 -0700 Subject: [PATCH 064/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index ae687d961..ba1e21191 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -55,8 +55,8 @@ jobs: run: | source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow - #echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV - echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH + echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV + #echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH shell: bash - name: Configure Build with CMake From 35cc15a58205dbed5c20a3ee1fdec46a0517cde9 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 17:28:44 +0000 Subject: [PATCH 065/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index ba1e21191..e7bf0011f 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -26,7 +26,10 @@ jobs: FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR, | + SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps, | + SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf, ! + SCM_HRRR_gf_ps # Workflow steps steps: From 3b8d80f1a6832b423a08ef1a616c81fccc56113e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 17:32:52 +0000 Subject: [PATCH 066/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index e7bf0011f..9f65c6f55 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -26,9 +26,9 @@ jobs: FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR, | - SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps, | - SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf, ! + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR, \ + SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps, \ + SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf, \ SCM_HRRR_gf_ps # Workflow steps From 37de548498275e641d4c6fad63f70ab101762365 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 17:34:19 +0000 Subject: [PATCH 067/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 9f65c6f55..9df6aae06 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -26,10 +26,10 @@ jobs: FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR, \ - SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps, \ - SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf, \ - SCM_HRRR_gf_ps + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR, \ + SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps, \ + SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf, \ + SCM_HRRR_gf_ps # Workflow steps steps: From 3c2b82af892fbadeaa9e3be20115e31408bc7c1f Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 17:37:13 +0000 Subject: [PATCH 068/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 9df6aae06..521a6fb02 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -26,10 +26,10 @@ jobs: FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR, \ - SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps, \ - SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf, \ - SCM_HRRR_gf_ps + suites: SCM_GFS_v15p2, SCM_GFS_v16, SCM_GFS_v16_RRTMGP, SCM_GFS_v17_p8, SCM_HRRR, | + SCM_RRFS_v1beta, SCM_RAP,SCM_WoFS_v0, SCM_GFS_v15p2_ps, SCM_GFS_v16_ps, | + SCM_GFS_v16_RRTMGP_ps, SCM_GFS_v17_p8_ps, SCM_HRRR_ps, SCM_RRFS_v1beta_ps,| + SCM_RAP_ps, SCM_WoFS_v0_ps, SCM_HRRR_gf, SCM_HRRR_gf_ps # Workflow steps steps: From 00e07da107b7a063612bee4388602386f707fd5a Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 17:40:20 +0000 Subject: [PATCH 069/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 521a6fb02..da37a1d31 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -26,14 +26,15 @@ jobs: FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2, SCM_GFS_v16, SCM_GFS_v16_RRTMGP, SCM_GFS_v17_p8, SCM_HRRR, | - SCM_RRFS_v1beta, SCM_RAP,SCM_WoFS_v0, SCM_GFS_v15p2_ps, SCM_GFS_v16_ps, | - SCM_GFS_v16_RRTMGP_ps, SCM_GFS_v17_p8_ps, SCM_HRRR_ps, SCM_RRFS_v1beta_ps,| - SCM_RAP_ps, SCM_WoFS_v0_ps, SCM_HRRR_gf, SCM_HRRR_gf_ps + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,| + SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,| + SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,| + SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps # Workflow steps steps: ############################################################# + # NOTE # $ echo ${{ github.workspace }} # /home/runner/work// # $ echo $GITHUB_WORKSPACE From bd8f293d5904b8924f8c848a0ec7891752848e0e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 17:48:08 +0000 Subject: [PATCH 070/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index da37a1d31..2aa46d944 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -26,10 +26,11 @@ jobs: FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,| - SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,| - SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,| - SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps + suites_v16: SCM_GFS_v16, SCM_GFS_v16_ps, SCM_GFS_v16_RRTMGP, SCM_GFS_v16_RRTMGP_ps + suites_v17: SCM_GFS_v17_p8, SCM_GFS_v17_p8_ps + suites_wofs: SCM_WoFS_v0, SCM_WoFS_v0_ps, + suites_rrfs: SCM_HRRR_gf, SCM_HRRR_gf_ps, SCM_RRFS_v1beta, SCM_RRFS_v1beta_ps + suites_old: SCM_GFS_v15p2, SCM_GFS_v15p2_ps, SCM_HRRR, SCM_HRRR_ps, SCM_RAP, SCM_RAP_ps # Workflow steps steps: @@ -67,7 +68,7 @@ jobs: run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + cmake -DCCPP_SUITES=${suites_v16},${suites_v17},${suites_wofs},${suites_rrfs},${suites_old} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Build SCM run: | From 9a76e03929aa8f8c7835d5500dcefdc0372ee099 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 17:51:35 +0000 Subject: [PATCH 071/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 2aa46d944..c88e3fee1 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -26,11 +26,11 @@ jobs: FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites_v16: SCM_GFS_v16, SCM_GFS_v16_ps, SCM_GFS_v16_RRTMGP, SCM_GFS_v16_RRTMGP_ps - suites_v17: SCM_GFS_v17_p8, SCM_GFS_v17_p8_ps - suites_wofs: SCM_WoFS_v0, SCM_WoFS_v0_ps, - suites_rrfs: SCM_HRRR_gf, SCM_HRRR_gf_ps, SCM_RRFS_v1beta, SCM_RRFS_v1beta_ps - suites_old: SCM_GFS_v15p2, SCM_GFS_v15p2_ps, SCM_HRRR, SCM_HRRR_ps, SCM_RAP, SCM_RAP_ps + suites_v16: SCM_GFS_v16,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_RRTMGP_ps + suites_v17: SCM_GFS_v17_p8,SCM_GFS_v17_p8_ps + suites_wofs: SCM_WoFS_v0,SCM_WoFS_v0_ps, + suites_rrfs: SCM_HRRR_gf,SCM_HRRR_gf_ps,SCM_RRFS_v1beta,SCM_RRFS_v1beta_ps + suites_old: SCM_GFS_v15p2,SCM_GFS_v15p2_ps,SCM_HRRR,SCM_HRRR_ps,SCM_RAP,SCM_RAP_ps # Workflow steps steps: From f5942302b67563e7a336728d1f1b1feae45d1118 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 17:54:53 +0000 Subject: [PATCH 072/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index c88e3fee1..1fb98c0b7 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -31,6 +31,7 @@ jobs: suites_wofs: SCM_WoFS_v0,SCM_WoFS_v0_ps, suites_rrfs: SCM_HRRR_gf,SCM_HRRR_gf_ps,SCM_RRFS_v1beta,SCM_RRFS_v1beta_ps suites_old: SCM_GFS_v15p2,SCM_GFS_v15p2_ps,SCM_HRRR,SCM_HRRR_ps,SCM_RAP,SCM_RAP_ps + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps # Workflow steps steps: @@ -68,7 +69,7 @@ jobs: run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites_v16},${suites_v17},${suites_wofs},${suites_rrfs},${suites_old} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + cmake -DCCPP_SUITES=${suites} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Build SCM run: | From 559dd75f104b759ffa2e467597cfaed365e62b58 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:00:11 +0000 Subject: [PATCH 073/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 1fb98c0b7..a79b45aee 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -26,11 +26,6 @@ jobs: FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites_v16: SCM_GFS_v16,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_RRTMGP_ps - suites_v17: SCM_GFS_v17_p8,SCM_GFS_v17_p8_ps - suites_wofs: SCM_WoFS_v0,SCM_WoFS_v0_ps, - suites_rrfs: SCM_HRRR_gf,SCM_HRRR_gf_ps,SCM_RRFS_v1beta,SCM_RRFS_v1beta_ps - suites_old: SCM_GFS_v15p2,SCM_GFS_v15p2_ps,SCM_HRRR,SCM_HRRR_ps,SCM_RAP,SCM_RAP_ps suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps # Workflow steps @@ -62,7 +57,7 @@ jobs: source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV - #echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH + echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH shell: bash - name: Configure Build with CMake From 68b0810228a66231b161c347fa28c7043baa3d40 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:08:28 +0000 Subject: [PATCH 074/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index a79b45aee..4fb07cd60 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -57,9 +57,16 @@ jobs: source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV - echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH + echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH + #ENV PATH="/opt/intel/oneapi/compiler/2025.3/bin:${PATH}" + #ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/2025.3/lib:${LD_LIBRARY_PATH}" shell: bash + - name: Setup MPI Paths + run: | + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "PATH=/opt/intel/oneapi/mpi/latest/bin:$PATH" >> $GITHUB_ENV + - name: Configure Build with CMake run: | cd ${SCM_ROOT}/scm From 82474a72aef167ba43fcf4a7383eeb0cac68336f Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:11:32 +0000 Subject: [PATCH 075/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 4fb07cd60..9b96cbbb0 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -56,16 +56,16 @@ jobs: run: | source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow - echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV - echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH - #ENV PATH="/opt/intel/oneapi/compiler/2025.3/bin:${PATH}" - #ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/2025.3/lib:${LD_LIBRARY_PATH}" + #echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV + #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH shell: bash - name: Setup MPI Paths run: | - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV echo "PATH=/opt/intel/oneapi/mpi/latest/bin:$PATH" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:$PATH" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV - name: Configure Build with CMake run: | From 128559d5d3b4e3705102af72f74b1a4a7b360349 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:15:57 +0000 Subject: [PATCH 076/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 9b96cbbb0..61c745a1e 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -45,11 +45,6 @@ jobs: git config --global --add safe.directory ${SCM_ROOT} cd ${SCM_ROOT} git submodule update --init --recursive - pwd - echo "-----0" - echo "-----1" - #echo "-----2" - #ls /__w/_actions/actions/ - name: Set up the oneAPI environment variables # Source setvars.sh to make compilers and MPI wrappers (mpiicc, mpiifort) available @@ -62,10 +57,14 @@ jobs: - name: Setup MPI Paths run: | + echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:$PATH" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV echo "PATH=/opt/intel/oneapi/mpi/latest/bin:$PATH" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV - echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:$PATH" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "-----LD_LIBRARY_PATH-----" + echo ${LD_LIBRARY_PATH} + echo "----------PATH-----------" + echo ${PATH} - name: Configure Build with CMake run: | From d3c9ce1a9482497ec226ea0d07198f2f7bd6f982 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:18:38 +0000 Subject: [PATCH 077/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 61c745a1e..4f421a367 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -58,7 +58,7 @@ jobs: - name: Setup MPI Paths run: | echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:$PATH" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV echo "PATH=/opt/intel/oneapi/mpi/latest/bin:$PATH" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV echo "-----LD_LIBRARY_PATH-----" From d30a828f577a5b34026c2e07c415ec0652dae600 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:26:10 +0000 Subject: [PATCH 078/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 4f421a367..ec67b6c71 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -51,16 +51,22 @@ jobs: run: | source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow - #echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV + echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH shell: bash + - name: Setup Intel oneAPI. + echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + echo "-----LD_LIBRARY_PATH-----" + echo ${LD_LIBRARY_PATH} + echo "----------PATH-----------" + echo ${PATH} + - name: Setup MPI Paths run: | - echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:$PATH" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV - echo "PATH=/opt/intel/oneapi/mpi/latest/bin:$PATH" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:${PATH}" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "-----LD_LIBRARY_PATH-----" echo ${LD_LIBRARY_PATH} echo "----------PATH-----------" From ac8b7606e346acd5e18f2a1dd7b14c9c9e45e5d1 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:27:13 +0000 Subject: [PATCH 079/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index ec67b6c71..8e90ac0d7 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -56,6 +56,7 @@ jobs: shell: bash - name: Setup Intel oneAPI. + run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "-----LD_LIBRARY_PATH-----" From 47a37851478891a9523a82900b7e65dafd3ee0b5 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:34:20 +0000 Subject: [PATCH 080/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 8e90ac0d7..41ce88460 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -73,6 +73,17 @@ jobs: echo "----------PATH-----------" echo ${PATH} + - name: Dispaly stuff + run: | + echo "----- /opt/intel/oneapi/mpi/latest/lib ----------" + ls /opt/intel/oneapi/mpi/latest/lib + echo "----- /opt/intel/oneapi/mpi/latest/lib ----------" + ls /opt/intel/oneapi/mpi/latest/lib + echo "----- /opt/intel/oneapi/compiler/2025.3/bin -----" + ls /opt/intel/oneapi/compiler/2025.3/bin + echo "----- /opt/intel/oneapi/compiler/2025.3/lib -----" + ls /opt/intel/oneapi/compiler/2025.3/lib + - name: Configure Build with CMake run: | cd ${SCM_ROOT}/scm From de61f92ac2c2aeae6b9ff27d5cfc4529c50d2ca1 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:36:07 +0000 Subject: [PATCH 081/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 41ce88460..8177d0d77 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -75,14 +75,14 @@ jobs: - name: Dispaly stuff run: | - echo "----- /opt/intel/oneapi/mpi/latest/lib ----------" - ls /opt/intel/oneapi/mpi/latest/lib - echo "----- /opt/intel/oneapi/mpi/latest/lib ----------" - ls /opt/intel/oneapi/mpi/latest/lib - echo "----- /opt/intel/oneapi/compiler/2025.3/bin -----" - ls /opt/intel/oneapi/compiler/2025.3/bin - echo "----- /opt/intel/oneapi/compiler/2025.3/lib -----" - ls /opt/intel/oneapi/compiler/2025.3/lib + echo "----- /opt/intel/oneapi/mpi/latest/lib ----------" + ls /opt/intel/oneapi/mpi/latest/lib + echo "----- /opt/intel/oneapi/mpi/latest/lib ----------" + ls /opt/intel/oneapi/mpi/latest/lib + echo "----- /opt/intel/oneapi/compiler/2025.3/bin -----" + ls /opt/intel/oneapi/compiler/2025.3/bin + echo "----- /opt/intel/oneapi/compiler/2025.3/lib -----" + ls /opt/intel/oneapi/compiler/2025.3/lib - name: Configure Build with CMake run: | From b4a3cec378156f6294570c90cc3d740e32c2a02e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:44:44 +0000 Subject: [PATCH 082/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 8177d0d77..f4480a554 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -53,6 +53,8 @@ jobs: # Make environment variables available to subsequent steps in the workflow echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH + echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpiifx" >> $GITHUB_ENV + echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=ifx\nI_MPI_F77=ifx" >> $GITHUB_ENV shell: bash - name: Setup Intel oneAPI. @@ -75,8 +77,8 @@ jobs: - name: Dispaly stuff run: | - echo "----- /opt/intel/oneapi/mpi/latest/lib ----------" - ls /opt/intel/oneapi/mpi/latest/lib + echo "----- /opt/intel/oneapi/mpi/latest/bin ----------" + ls /opt/intel/oneapi/mpi/latest/bin echo "----- /opt/intel/oneapi/mpi/latest/lib ----------" ls /opt/intel/oneapi/mpi/latest/lib echo "----- /opt/intel/oneapi/compiler/2025.3/bin -----" From c974ecfcc41c8d9ac91f0f3128465387a4cc076a Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:49:38 +0000 Subject: [PATCH 083/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index f4480a554..ce2bab7c4 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -51,7 +51,7 @@ jobs: run: | source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow - echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV + #echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpiifx" >> $GITHUB_ENV echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=ifx\nI_MPI_F77=ifx" >> $GITHUB_ENV From ac37ea6c20e531fca8b7d6dd0b755841ad3d168e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 18:58:17 +0000 Subject: [PATCH 084/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index ce2bab7c4..1716bbde5 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -59,8 +59,8 @@ jobs: - name: Setup Intel oneAPI. run: | - echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + #echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV + #echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "-----LD_LIBRARY_PATH-----" echo ${LD_LIBRARY_PATH} echo "----------PATH-----------" @@ -68,8 +68,8 @@ jobs: - name: Setup MPI Paths run: | - echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:${PATH}" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + #echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:${PATH}" >> $GITHUB_ENV + #echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "-----LD_LIBRARY_PATH-----" echo ${LD_LIBRARY_PATH} echo "----------PATH-----------" From 5209ec55a9d59527a0b387078dfcb672b59a599d Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 20:50:44 +0000 Subject: [PATCH 085/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 1716bbde5..43b0fa00c 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -51,10 +51,10 @@ jobs: run: | source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow - #echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV + echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH - echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpiifx" >> $GITHUB_ENV - echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=ifx\nI_MPI_F77=ifx" >> $GITHUB_ENV + ##echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpiifx" >> $GITHUB_ENV + ##echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=ifx\nI_MPI_F77=ifx" >> $GITHUB_ENV shell: bash - name: Setup Intel oneAPI. From 4a2e54dca0215118c8beaeac310df654f9b1634e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 20:53:28 +0000 Subject: [PATCH 086/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 43b0fa00c..bc4349f6a 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -46,16 +46,21 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive - - name: Set up the oneAPI environment variables - # Source setvars.sh to make compilers and MPI wrappers (mpiicc, mpiifort) available +# - name: Set up the oneAPI environment variables +# # Source setvars.sh to make compilers and MPI wrappers (mpiicc, mpiifort) available +# run: | +# source /opt/intel/oneapi/setvars.sh +# # Make environment variables available to subsequent steps in the workflow +# echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV +# #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH +# ##echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpiifx" >> $GITHUB_ENV +# ##echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=ifx\nI_MPI_F77=ifx" >> $GITHUB_ENV +# shell: bash + + - name: Setup Intel oneAPI environment run: | - source /opt/intel/oneapi/setvars.sh - # Make environment variables available to subsequent steps in the workflow - echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV - #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH - ##echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpiifx" >> $GITHUB_ENV - ##echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=ifx\nI_MPI_F77=ifx" >> $GITHUB_ENV - shell: bash + source /opt/intel/oneapi/2025.3/oneapi-vars.sh + printenv >> $GITHUB_ENV - name: Setup Intel oneAPI. run: | From 887727d35318cbcde63ee5a4c6ca27a3701ca328 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 20:55:00 +0000 Subject: [PATCH 087/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index bc4349f6a..a6d8925fc 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -59,6 +59,9 @@ jobs: - name: Setup Intel oneAPI environment run: | + echo "------ /opt/intel/oneapi/2025.3/ ------" + ls /opt/intel/oneapi/2025.3/ + echo "---------------------------------------" source /opt/intel/oneapi/2025.3/oneapi-vars.sh printenv >> $GITHUB_ENV From 07a9afbd70d9b92f434a9cc6744270d482d68a4d Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 20:57:36 +0000 Subject: [PATCH 088/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index a6d8925fc..1ffe29056 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -59,8 +59,10 @@ jobs: - name: Setup Intel oneAPI environment run: | - echo "------ /opt/intel/oneapi/2025.3/ ------" - ls /opt/intel/oneapi/2025.3/ + echo "---------- /opt/intel/oneapi/ ---------" + ls /opt/intel/oneapi/ + echo "------ /opt/intel/oneapi/2025.3/compiler" + ls /opt/intel/oneapi/compiler/2025.3/ echo "---------------------------------------" source /opt/intel/oneapi/2025.3/oneapi-vars.sh printenv >> $GITHUB_ENV From 86d820bccf55cf2ad49ff295bf93861ea05f2586 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:04:28 +0000 Subject: [PATCH 089/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 1ffe29056..4fb2132d8 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -46,12 +46,12 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive -# - name: Set up the oneAPI environment variables -# # Source setvars.sh to make compilers and MPI wrappers (mpiicc, mpiifort) available -# run: | -# source /opt/intel/oneapi/setvars.sh -# # Make environment variables available to subsequent steps in the workflow -# echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV + - name: Set up the oneAPI environment variables + # Source setvars.sh to make compilers and MPI wrappers (mpiicc, mpiifort) available + run: | + source /opt/intel/oneapi/setvars.sh + # Make environment variables available to subsequent steps in the workflow + echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV # #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH # ##echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpiifx" >> $GITHUB_ENV # ##echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=ifx\nI_MPI_F77=ifx" >> $GITHUB_ENV @@ -64,8 +64,10 @@ jobs: echo "------ /opt/intel/oneapi/2025.3/compiler" ls /opt/intel/oneapi/compiler/2025.3/ echo "---------------------------------------" - source /opt/intel/oneapi/2025.3/oneapi-vars.sh - printenv >> $GITHUB_ENV + echo "----- /opt/intel/oneapi/mpi ----------" + ls /opt/intel/oneapi/mpi/ + #source /opt/intel/oneapi/2025.3/oneapi-vars.sh + #printenv >> $GITHUB_ENV - name: Setup Intel oneAPI. run: | From 0497825cd7edd259dd0eaca72e51c1297a80b91b Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:07:39 +0000 Subject: [PATCH 090/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 4fb2132d8..bf6f0c0e0 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -55,7 +55,7 @@ jobs: # #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH # ##echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpiifx" >> $GITHUB_ENV # ##echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=ifx\nI_MPI_F77=ifx" >> $GITHUB_ENV -# shell: bash + shell: bash - name: Setup Intel oneAPI environment run: | From 69f3c167c2c9fe1f1a470e5c250657c339489379 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:11:36 +0000 Subject: [PATCH 091/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index bf6f0c0e0..f60171d88 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -66,8 +66,8 @@ jobs: echo "---------------------------------------" echo "----- /opt/intel/oneapi/mpi ----------" ls /opt/intel/oneapi/mpi/ - #source /opt/intel/oneapi/2025.3/oneapi-vars.sh - #printenv >> $GITHUB_ENV + echo "----- /opt/intel/oneapi/mpi/latest ----------" + ls /opt/intel/oneapi/mpi/latest - name: Setup Intel oneAPI. run: | From 69027a2dcde6d9b2cd7e350584ad88b0ef749207 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:15:21 +0000 Subject: [PATCH 092/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index f60171d88..33572caa1 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -52,9 +52,7 @@ jobs: source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV -# #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH -# ##echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpiifx" >> $GITHUB_ENV -# ##echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=ifx\nI_MPI_F77=ifx" >> $GITHUB_ENV + echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH shell: bash - name: Setup Intel oneAPI environment From ad3f526d7af0d8acfc74f0a72301596dd478b3fd Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:18:13 +0000 Subject: [PATCH 093/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 33572caa1..c8d05eb62 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -51,8 +51,8 @@ jobs: run: | source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow - echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV - echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH + #echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV + #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH shell: bash - name: Setup Intel oneAPI environment From fa34e957aa15a0bef3a5bc827760859ef7f1bbab Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:24:46 +0000 Subject: [PATCH 094/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index c8d05eb62..ec406803f 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -51,8 +51,8 @@ jobs: run: | source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow - #echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV - #echo "/opt/intel/oneapi/mpi/2025.3/bin" >> $GITHUB_PATH + echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV + echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH shell: bash - name: Setup Intel oneAPI environment From 9f956456019f51d30fb40cda5e5ddc9311bfd244 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:27:02 +0000 Subject: [PATCH 095/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index ec406803f..f6278c7b7 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -52,7 +52,7 @@ jobs: source /opt/intel/oneapi/setvars.sh # Make environment variables available to subsequent steps in the workflow echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV - echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH + #echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH shell: bash - name: Setup Intel oneAPI environment From 7e168ddbde45eef2972b975c60f74b965f285e50 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:38:06 +0000 Subject: [PATCH 096/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 55 ++++++++++-------------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index f6278c7b7..f80ecf628 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -46,47 +46,38 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive - - name: Set up the oneAPI environment variables - # Source setvars.sh to make compilers and MPI wrappers (mpiicc, mpiifort) available - run: | - source /opt/intel/oneapi/setvars.sh - # Make environment variables available to subsequent steps in the workflow - echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV - #echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH - shell: bash +# - name: Set up the oneAPI environment variables +# # Source setvars.sh to make compilers and MPI wrappers (mpiicc, mpiifort) available +# run: | +# source /opt/intel/oneapi/setvars.sh +# # Make environment variables available to subsequent steps in the workflow +# echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV +# #echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH +# shell: bash +# - name: Setup Intel oneAPI. +# run: | +# #echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV +# #echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV +# +# - name: Setup MPI Paths +# run: | +# #echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:${PATH}" >> $GITHUB_ENV +# #echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - - name: Setup Intel oneAPI environment + - name: Dispaly stuff run: | + echo "-----LD_LIBRARY_PATH-----" + echo ${LD_LIBRARY_PATH} + echo "----------PATH-----------" + echo ${PATH} echo "---------- /opt/intel/oneapi/ ---------" ls /opt/intel/oneapi/ echo "------ /opt/intel/oneapi/2025.3/compiler" ls /opt/intel/oneapi/compiler/2025.3/ - echo "---------------------------------------" echo "----- /opt/intel/oneapi/mpi ----------" ls /opt/intel/oneapi/mpi/ echo "----- /opt/intel/oneapi/mpi/latest ----------" - ls /opt/intel/oneapi/mpi/latest - - - name: Setup Intel oneAPI. - run: | - #echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV - #echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo "-----LD_LIBRARY_PATH-----" - echo ${LD_LIBRARY_PATH} - echo "----------PATH-----------" - echo ${PATH} - - - name: Setup MPI Paths - run: | - #echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:${PATH}" >> $GITHUB_ENV - #echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo "-----LD_LIBRARY_PATH-----" - echo ${LD_LIBRARY_PATH} - echo "----------PATH-----------" - echo ${PATH} - - - name: Dispaly stuff - run: | + ls /opt/intel/oneapi/mpi/latest echo "----- /opt/intel/oneapi/mpi/latest/bin ----------" ls /opt/intel/oneapi/mpi/latest/bin echo "----- /opt/intel/oneapi/mpi/latest/lib ----------" From 116861d72de56419fe87e2b29e68f7ff20d165ce Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:40:22 +0000 Subject: [PATCH 097/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index f80ecf628..b97d9240e 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -40,6 +40,10 @@ jobs: - name: Checkout SCM code (/__w/ccpp-scm/ccpp-scm) uses: actions/checkout@v4 + - name: Install Required Tools + run: | + apt-get update#openmpi-bin libopenmpi-dev + - name: Initialize Submodules run: | git config --global --add safe.directory ${SCM_ROOT} From 717e8c65c795c916903a81e1e46df5817f963504 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:41:35 +0000 Subject: [PATCH 098/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index b97d9240e..132429c9b 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -42,8 +42,8 @@ jobs: - name: Install Required Tools run: | - apt-get update#openmpi-bin libopenmpi-dev - + apt-get update #openmpi-bin libopenmpi-dev + - name: Initialize Submodules run: | git config --global --add safe.directory ${SCM_ROOT} From 09a80d6d98b34f89f60151bfcc96bda51ff62c18 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:43:37 +0000 Subject: [PATCH 099/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 132429c9b..f574cd020 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -42,7 +42,7 @@ jobs: - name: Install Required Tools run: | - apt-get update #openmpi-bin libopenmpi-dev + apt-get update openmpi-bin libopenmpi-dev - name: Initialize Submodules run: | From eaa1626cbd9c89c328da161ae2b2e6e220e3a202 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:46:14 +0000 Subject: [PATCH 100/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index f574cd020..54e5091c1 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -42,7 +42,8 @@ jobs: - name: Install Required Tools run: | - apt-get update openmpi-bin libopenmpi-dev + apt-get update + apt-get install -y openmpi-bin libopenmpi-dev - name: Initialize Submodules run: | From 743ba89c0490b9540e3e12ec809958b2d34f4992 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:54:35 +0000 Subject: [PATCH 101/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- docker/Dockerfile-oneapi-minimal | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 54e5091c1..1f484ab64 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -43,7 +43,7 @@ jobs: - name: Install Required Tools run: | apt-get update - apt-get install -y openmpi-bin libopenmpi-dev +# apt-get install -y openmpi-bin libopenmpi-dev - name: Initialize Submodules run: | diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 2a6614816..1b25e7b0d 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -15,7 +15,9 @@ RUN apt-get update \ libc-dev \ make \ cmake \ - git + git \ + openmpi-bin \ + libopenmpi-dev # See https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2025-2/hpc-apt.html @@ -31,6 +33,8 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-common-vars \ intel-oneapi-mpi \ intel-oneapi-mpi-devel \ + intel-oneapi-mkl-${ONEAPI_VERSION} \ + intel-oneapi-mkl-devel-${ONEAPI_VERSION} && rm -rf /var/lib/apt/lists/* ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" @@ -39,4 +43,4 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRA RUN . /opt/intel/oneapi/setvars.sh # Set default compiler executables (Serial) -ENV FC=ifx CC=icx CXX=icpx +#ENV FC=ifx CC=icx CXX=icpx From c85381d42a4580e3bc35f2400c166ac369d8176e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 21:59:16 +0000 Subject: [PATCH 102/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 1b25e7b0d..c60e40907 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -34,7 +34,7 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-mpi \ intel-oneapi-mpi-devel \ intel-oneapi-mkl-${ONEAPI_VERSION} \ - intel-oneapi-mkl-devel-${ONEAPI_VERSION} + intel-oneapi-mkl-devel-${ONEAPI_VERSION} \ && rm -rf /var/lib/apt/lists/* ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" From e5358b4100bc0a4d5c66059c42ecd205d5bf468c Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 22:04:35 +0000 Subject: [PATCH 103/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index c60e40907..f4c78c832 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -33,8 +33,6 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-common-vars \ intel-oneapi-mpi \ intel-oneapi-mpi-devel \ - intel-oneapi-mkl-${ONEAPI_VERSION} \ - intel-oneapi-mkl-devel-${ONEAPI_VERSION} \ && rm -rf /var/lib/apt/lists/* ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" From 621609e26c6823892f43f5da508146b53057c2d0 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 22:08:57 +0000 Subject: [PATCH 104/341] Update CI --- docker/Dockerfile-oneapi-minimal | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index f4c78c832..d00cb259a 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -15,9 +15,7 @@ RUN apt-get update \ libc-dev \ make \ cmake \ - git \ - openmpi-bin \ - libopenmpi-dev + git # See https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2025-2/hpc-apt.html From 904b198efee5a15cd2577ffb5b8914615704fa46 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 22:13:31 +0000 Subject: [PATCH 105/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index d00cb259a..74a705201 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -39,4 +39,4 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRA RUN . /opt/intel/oneapi/setvars.sh # Set default compiler executables (Serial) -#ENV FC=ifx CC=icx CXX=icpx +ENV FC=ifx CC=icx CXX=icpx From 4d344d8cf74c59f988b5c2fa7a64ab434a26e186 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 22:22:23 +0000 Subject: [PATCH 106/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 1f484ab64..54e5091c1 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -43,7 +43,7 @@ jobs: - name: Install Required Tools run: | apt-get update -# apt-get install -y openmpi-bin libopenmpi-dev + apt-get install -y openmpi-bin libopenmpi-dev - name: Initialize Submodules run: | From 104d62403493867d67bd0223ee521904e394ea37 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 23:09:26 +0000 Subject: [PATCH 107/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 12 +++++++----- docker/Dockerfile-oneapi-minimal | 7 +++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 54e5091c1..d6353d435 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -59,11 +59,13 @@ jobs: # echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV # #echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH # shell: bash -# - name: Setup Intel oneAPI. -# run: | -# #echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV -# #echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV -# + - name: Setup Intel oneAPI. + run: | + echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + source /opt/intel/oneapi/setvars.sh + shell: bash + # - name: Setup MPI Paths # run: | # #echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:${PATH}" >> $GITHUB_ENV diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 74a705201..cb84e036d 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -33,8 +33,11 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-mpi-devel \ && rm -rf /var/lib/apt/lists/* -ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" +#ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" +#ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" + +ENV PATH="/opt/intel/oneapi/mpi/latest/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" RUN . /opt/intel/oneapi/setvars.sh From 8570c2b7c4a0b47a5f76e471021c60bab0d11fff Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 23:13:57 +0000 Subject: [PATCH 108/341] Update CI --- docker/Dockerfile-oneapi-minimal | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index cb84e036d..f45d7cca7 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -33,13 +33,10 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-mpi-devel \ && rm -rf /var/lib/apt/lists/* -#ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" -#ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" +ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" -ENV PATH="/opt/intel/oneapi/mpi/latest/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" - -RUN . /opt/intel/oneapi/setvars.sh +#RUN . /opt/intel/oneapi/setvars.sh # Set default compiler executables (Serial) ENV FC=ifx CC=icx CXX=icpx From 7d41291aa267c5acc412587b18ee3e62d7498064 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 23:23:53 +0000 Subject: [PATCH 109/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 14 +++++++------- docker/Dockerfile-oneapi-minimal | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index d6353d435..4ffa94784 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -59,13 +59,13 @@ jobs: # echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV # #echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH # shell: bash - - name: Setup Intel oneAPI. - run: | - echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - source /opt/intel/oneapi/setvars.sh - shell: bash - +# - name: Setup Intel oneAPI. +# run: | +# echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV +# echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV +# source /opt/intel/oneapi/setvars.sh +# shell: bash +# # - name: Setup MPI Paths # run: | # #echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:${PATH}" >> $GITHUB_ENV diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index f45d7cca7..74a705201 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -36,7 +36,7 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" -#RUN . /opt/intel/oneapi/setvars.sh +RUN . /opt/intel/oneapi/setvars.sh # Set default compiler executables (Serial) ENV FC=ifx CC=icx CXX=icpx From 200075e3e7eda4a88d5e17aeaeb4ba0a72be2a3b Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 23:27:17 +0000 Subject: [PATCH 110/341] Update CI --- scm/src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index b0c68574d..5d1e02b34 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -73,7 +73,7 @@ find_package(sp REQUIRED) find_package(w3emc REQUIRED) find_package(MPI REQUIRED) if(NOT MPI_Fortran_HAVE_F08_MODULE) - message(FATAL_ERROR "MPI_F08 Required") + #message(FATAL_ERROR "MPI_F08 Required") endif() find_package(MPI REQUIRED Fortran) From 3edb440d45b14c7fd43c2bdd5bdf8df66c3428bb Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 23:31:36 +0000 Subject: [PATCH 111/341] Update CI --- docker/Dockerfile-oneapi-minimal | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 74a705201..ef2c1f52c 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -26,11 +26,15 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR | tee /etc/apt/sources.list.d/oneAPI.list \ && apt-get update \ && apt-get install --yes --no-install-recommends \ - intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ - intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ intel-oneapi-common-vars \ + intel-oneapi-compilers-rt \ intel-oneapi-mpi \ - intel-oneapi-mpi-devel \ + intel-oneapi-mpi-devel\ + ##intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ + ##intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ + ##intel-oneapi-common-vars \ + ##intel-oneapi-mpi \ + ##intel-oneapi-mpi-devel \ && rm -rf /var/lib/apt/lists/* ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" From 0b2387fd07b7682174aa4d01f607f68c70e84bae Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 23:35:25 +0000 Subject: [PATCH 112/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- docker/Dockerfile-oneapi-minimal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 4ffa94784..883003a46 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -43,7 +43,7 @@ jobs: - name: Install Required Tools run: | apt-get update - apt-get install -y openmpi-bin libopenmpi-dev + #apt-get install -y openmpi-bin libopenmpi-dev - name: Initialize Submodules run: | diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index ef2c1f52c..27a3dbffd 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -27,7 +27,7 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR && apt-get update \ && apt-get install --yes --no-install-recommends \ intel-oneapi-common-vars \ - intel-oneapi-compilers-rt \ + intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ intel-oneapi-mpi \ intel-oneapi-mpi-devel\ ##intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ From 1f57f6292c3b448b6de630654bd639a921b0aca6 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 16 Dec 2025 23:38:09 +0000 Subject: [PATCH 113/341] Update CI --- docker/Dockerfile-oneapi-minimal | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 27a3dbffd..6594ea499 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -30,11 +30,7 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ intel-oneapi-mpi \ intel-oneapi-mpi-devel\ - ##intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ - ##intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ - ##intel-oneapi-common-vars \ - ##intel-oneapi-mpi \ - ##intel-oneapi-mpi-devel \ + intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ && rm -rf /var/lib/apt/lists/* ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" From 46539b83321c0f71b57450941eb98a1e923602a6 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 29 Dec 2025 19:22:41 -0700 Subject: [PATCH 114/341] Update CI --- docker/Dockerfile-oneapi-minimal | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 2a6614816..87535084c 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -33,8 +33,10 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-mpi-devel \ && rm -rf /var/lib/apt/lists/* -ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" +ENV PATH="/opt/intel/oneapi/${ONEAPI_VERSION}/compiler/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/intel/oneapi/${ONEAPI_VERSION}/compiler/lib:${LD_LIBRARY_PATH}" +ENV PATH="/opt/intel/oneapi/mpi/latest/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" RUN . /opt/intel/oneapi/setvars.sh From 2b581d10831b8f0691b2ee3e33894135d75e866d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 29 Dec 2025 19:32:35 -0700 Subject: [PATCH 115/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 62e87e3a8..8f6773906 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -33,6 +33,8 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ && rm -rf /var/lib/apt/lists/* +ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" ENV PATH="/opt/intel/oneapi/${ONEAPI_VERSION}/compiler/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/${ONEAPI_VERSION}/compiler/lib:${LD_LIBRARY_PATH}" ENV PATH="/opt/intel/oneapi/mpi/latest/bin:${PATH}" From 9e33f5c6e92a91217530fb44489b173e5c395b43 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 29 Dec 2025 19:59:16 -0700 Subject: [PATCH 116/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 8f6773906..d3c9eee2d 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -35,8 +35,6 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" -ENV PATH="/opt/intel/oneapi/${ONEAPI_VERSION}/compiler/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/intel/oneapi/${ONEAPI_VERSION}/compiler/lib:${LD_LIBRARY_PATH}" ENV PATH="/opt/intel/oneapi/mpi/latest/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" From 8761e915641cb2bb7948efcdbe704393e58cdf3b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 29 Dec 2025 20:09:04 -0700 Subject: [PATCH 117/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 ++ docker/Dockerfile-oneapi-minimal | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 883003a46..731b9f0f0 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -79,6 +79,8 @@ jobs: echo ${PATH} echo "---------- /opt/intel/oneapi/ ---------" ls /opt/intel/oneapi/ + echo "---------- /opt/intel/oneapi/compiler ---------" + ls /opt/intel/oneapi/compiler echo "------ /opt/intel/oneapi/2025.3/compiler" ls /opt/intel/oneapi/compiler/2025.3/ echo "----- /opt/intel/oneapi/mpi ----------" diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index d3c9eee2d..efda3f63c 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -35,10 +35,6 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" -ENV PATH="/opt/intel/oneapi/mpi/latest/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" - -RUN . /opt/intel/oneapi/setvars.sh # Set default compiler executables (Serial) ENV FC=ifx CC=icx CXX=icpx From 9320e8b10467a1402be10909cdae16eacce7d132 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 29 Dec 2025 20:53:20 -0700 Subject: [PATCH 118/341] Update CI --- docker/Dockerfile-oneapi-minimal | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index efda3f63c..9687f99d5 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -26,15 +26,19 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR | tee /etc/apt/sources.list.d/oneAPI.list \ && apt-get update \ && apt-get install --yes --no-install-recommends \ - intel-oneapi-common-vars \ - intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ - intel-oneapi-mpi \ - intel-oneapi-mpi-devel\ intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ + intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ + intel-oneapi-mki-devel \ + intel-oneapi-mpi-devel \ + intel-oneapi-common-vars \ && rm -rf /var/lib/apt/lists/* +ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest + ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" +RUN . /opt/intel/oneapi/setvars.sh + # Set default compiler executables (Serial) ENV FC=ifx CC=icx CXX=icpx From 2b681f023b5251b77011c1b1f1efecc0fd0c14bc Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 29 Dec 2025 21:02:21 -0700 Subject: [PATCH 119/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 10 ++++------ docker/Dockerfile-oneapi-minimal | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 731b9f0f0..2269a5d6d 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -59,12 +59,10 @@ jobs: # echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV # #echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH # shell: bash -# - name: Setup Intel oneAPI. -# run: | -# echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV -# echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV -# source /opt/intel/oneapi/setvars.sh -# shell: bash + - name: Setup Intel oneAPI. + run: | + source /opt/intel/oneapi/setvars.sh + shell: bash # # - name: Setup MPI Paths # run: | diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 9687f99d5..6594ea499 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -26,15 +26,13 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR | tee /etc/apt/sources.list.d/oneAPI.list \ && apt-get update \ && apt-get install --yes --no-install-recommends \ - intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ - intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ - intel-oneapi-mki-devel \ - intel-oneapi-mpi-devel \ intel-oneapi-common-vars \ + intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ + intel-oneapi-mpi \ + intel-oneapi-mpi-devel\ + intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ && rm -rf /var/lib/apt/lists/* -ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest - ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" From 1ca1172f2ff98fbb8ca5d9ae5314671da906ab66 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 29 Dec 2025 21:16:36 -0700 Subject: [PATCH 120/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 2269a5d6d..14473f96e 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -63,11 +63,11 @@ jobs: run: | source /opt/intel/oneapi/setvars.sh shell: bash -# -# - name: Setup MPI Paths -# run: | -# #echo "PATH=/opt/intel/oneapi/compiler/2025.3/bin:${PATH}" >> $GITHUB_ENV -# #echo "LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2025.3/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + + - name: Setup MPI Paths + run: | + echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - name: Dispaly stuff run: | From fec87be8f73e5cfcc0f65512a9a5536d306152a5 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 29 Dec 2025 21:22:42 -0700 Subject: [PATCH 121/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 14473f96e..815bf0e6f 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -66,8 +66,8 @@ jobs: - name: Setup MPI Paths run: | - echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + echo "PATH=/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib" >> $GITHUB_ENV - name: Dispaly stuff run: | From 86777af2f604084c2e8e15042b182c8911b162a4 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 29 Dec 2025 21:32:21 -0700 Subject: [PATCH 122/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 12 ++---------- docker/Dockerfile-oneapi-minimal | 4 ++-- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 815bf0e6f..7d5efc933 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -51,14 +51,6 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive -# - name: Set up the oneAPI environment variables -# # Source setvars.sh to make compilers and MPI wrappers (mpiicc, mpiifort) available -# run: | -# source /opt/intel/oneapi/setvars.sh -# # Make environment variables available to subsequent steps in the workflow -# echo "ONEAPI_ROOT=/opt/intel/oneapi" >> $GITHUB_ENV -# #echo "/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_PATH -# shell: bash - name: Setup Intel oneAPI. run: | source /opt/intel/oneapi/setvars.sh @@ -66,8 +58,8 @@ jobs: - name: Setup MPI Paths run: | - echo "PATH=/opt/intel/oneapi/mpi/latest/bin" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib" >> $GITHUB_ENV + echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - name: Dispaly stuff run: | diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 6594ea499..3db310b00 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -33,8 +33,8 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ && rm -rf /var/lib/apt/lists/* -ENV PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/${ONEAPI_VERSION}/lib:${LD_LIBRARY_PATH}" +ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" RUN . /opt/intel/oneapi/setvars.sh From 0ad6333c651622a3cc100bfc2cc0061b9821e06a Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 29 Dec 2025 21:44:57 -0700 Subject: [PATCH 123/341] Update CI --- docker/Dockerfile-oneapi-minimal | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 3db310b00..0fe425420 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -36,7 +36,10 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" +ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest + RUN . /opt/intel/oneapi/setvars.sh + # Set default compiler executables (Serial) ENV FC=ifx CC=icx CXX=icpx From 4ae560701253eeb82dee17b713d6813b9da59143 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 18:11:27 +0000 Subject: [PATCH 124/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 ++ docker/Dockerfile-oneapi-minimal | 23 ++++++----- docker/configure-intel-gcc.sh | 49 ++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 12 deletions(-) create mode 100644 docker/configure-intel-gcc.sh diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 7d5efc933..190dab788 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -23,6 +23,7 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: + oneapi_version: 2025.3 FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran SCM_ROOT: /__w/ccpp-scm/ccpp-scm @@ -54,6 +55,8 @@ jobs: - name: Setup Intel oneAPI. run: | source /opt/intel/oneapi/setvars.sh + ${{ github.action_path }}/configure-intel-gcc.sh \ + "${{ env.oneapi_version }}" shell: bash - name: Setup MPI Paths diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 0fe425420..d72cb4dc0 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -1,6 +1,7 @@ FROM ubuntu:24.04 ARG ONEAPI_VERSION='2025.3' +ARG MPI_VERSION='2021.10.0' # Extend and update the package registry RUN apt-get update \ @@ -23,23 +24,21 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR | gpg --dearmor \ | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null \ && echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ - | tee /etc/apt/sources.list.d/oneAPI.list \ - && apt-get update \ - && apt-get install --yes --no-install-recommends \ - intel-oneapi-common-vars \ - intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ - intel-oneapi-mpi \ - intel-oneapi-mpi-devel\ + | tee /etc/apt/sources.list.d/oneAPI.list + +RUN apt-get update apt-get install --no-install-recommends --no-install-suggests \ intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ + intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ + intel-oneapi-mpi-devel-${MPI_VERSION}\ && rm -rf /var/lib/apt/lists/* -ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" +#ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" +#ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" -ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest +#ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest -RUN . /opt/intel/oneapi/setvars.sh +#RUN . /opt/intel/oneapi/setvars.sh # Set default compiler executables (Serial) -ENV FC=ifx CC=icx CXX=icpx +#ENV FC=ifx CC=icx CXX=icpx diff --git a/docker/configure-intel-gcc.sh b/docker/configure-intel-gcc.sh new file mode 100644 index 000000000..c31a83b22 --- /dev/null +++ b/docker/configure-intel-gcc.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# Configure Intel compilers to use appropriate GCC version +# This script populates the .cfg files for Intel compilers to ensure they use +# a compatible GCC version based on the Intel compiler version requested. + +set -e + +ONEAPI_VERSION=${1:?} + +# Determine appropriate GCC version based on Intel compiler version +# Intel 2024.x series (oneAPI only) supports GCC 13.x+ +determine_gcc_version() { + local intel_version=$1 + local major=$(echo $intel_version | cut -d. -f1) + local minor=$(echo $intel_version | cut -d. -f2) + + if [ "$major" = "2023" ]; then + echo "12" + elif [ "$major" -ge "2024" ]; then + echo "13" + else + # Default to GCC 13 for unknown versions + echo "13" + fi +} + +GCC_VERSION_ONEAPI=$(determine_gcc_version $ONEAPI_VERSION) + +# Check if the GCC version is available, install if needed +echo "Installing GCC ..." +sudo apt-get update +sudo apt-get install -y gcc-${GCC_VERSION_ONEAPI} g++-${GCC_VERSION_ONEAPI} gfortran-${GCC_VERSION_ONEAPI} + + +# Create/update icx.cfg +icx_cfg_path=$(which icx).cfg +echo " Modifying icx.cfg to use GCC ${GCC_VERSION_ONEAPI}:" +echo "--gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/${GCC_VERSION_ONEAPI}" | sudo tee $icx_cfg_path + +# Create/update icpx.cfg +icpx_cfg_path=$(which icpx).cfg +echo " Modifying icpx.cfg to use GCC ${GCC_VERSION_ONEAPI}:" +echo "--gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/${GCC_VERSION_ONEAPI}" | sudo tee $icpx_cfg_path + +# Create/update ifx.cfg +ifx_config_path=$(which ifx).cfg +echo " Modifying ifx.cfg to use GCC ${GCC_VERSION_ONEAPI}:" +echo "-gcc-name=gcc-${GCC_VERSION_ONEAPI}" | sudo tee $ifx_config_path + From 96b00f705e53e84a92a53a2f1dfb4476594d17ae Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 18:17:11 +0000 Subject: [PATCH 125/341] Update CI --- docker/Dockerfile-oneapi-minimal | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index d72cb4dc0..a87e45e72 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -26,10 +26,11 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR && echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ | tee /etc/apt/sources.list.d/oneAPI.list -RUN apt-get update apt-get install --no-install-recommends --no-install-suggests \ +RUN apt-get update apt-get install --yes --no-install-recommends \ intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ - intel-oneapi-mpi-devel-${MPI_VERSION}\ + intel-oneapi-mpi-devel-${MPI_VERSION} \ + intel-oneapi-common-vars \ && rm -rf /var/lib/apt/lists/* #ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" From 8d53be4c958eae2d26a633cf6fd98671b07e1df5 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 18:21:17 +0000 Subject: [PATCH 126/341] Update CI --- docker/Dockerfile-oneapi-minimal | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index a87e45e72..0e8c6f0fc 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -24,9 +24,8 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR | gpg --dearmor \ | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null \ && echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ - | tee /etc/apt/sources.list.d/oneAPI.list - -RUN apt-get update apt-get install --yes --no-install-recommends \ + | tee /etc/apt/sources.list.d/oneAPI.list \ + && apt-get update apt-get install --yes --no-install-recommends \ intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ intel-oneapi-mpi-devel-${MPI_VERSION} \ From 1c342fe0d94a6bf29923858d5bf8ae0906042f69 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 18:25:42 +0000 Subject: [PATCH 127/341] Update CI --- docker/Dockerfile-oneapi-minimal | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 0e8c6f0fc..9cca53ec7 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -25,7 +25,8 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null \ && echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ | tee /etc/apt/sources.list.d/oneAPI.list \ - && apt-get update apt-get install --yes --no-install-recommends \ + && apt-get update \ + && apt-get install --yes --no-install-recommends \ intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ intel-oneapi-mpi-devel-${MPI_VERSION} \ From a0c7e5b4dc37c46c3d51c81f5854090431defcdc Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 18:30:43 +0000 Subject: [PATCH 128/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 9cca53ec7..fef933b92 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -38,7 +38,7 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR #ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest -#RUN . /opt/intel/oneapi/setvars.sh +RUN . /opt/intel/oneapi/setvars.sh # Set default compiler executables (Serial) From b87e29e5845cad06bfd6512875b9f4681acfdd46 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 18:35:50 +0000 Subject: [PATCH 129/341] Update CI --- docker/Dockerfile-oneapi-minimal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index fef933b92..550627a4f 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -38,8 +38,8 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR #ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest -RUN . /opt/intel/oneapi/setvars.sh +#RUN . /opt/intel/oneapi/setvars.sh # Set default compiler executables (Serial) -#ENV FC=ifx CC=icx CXX=icpx +ENV FC=ifx CC=icx CXX=icpx From 69f9559b7fd7dd4b8ea97afe4aae4745f4199fa6 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 18:39:18 +0000 Subject: [PATCH 130/341] Update CI --- docker/Dockerfile-oneapi-minimal | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 550627a4f..d129c801f 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -33,8 +33,8 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-common-vars \ && rm -rf /var/lib/apt/lists/* -#ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" -#ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" +ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" #ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest @@ -42,4 +42,4 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR # Set default compiler executables (Serial) -ENV FC=ifx CC=icx CXX=icpx +#ENV FC=ifx CC=icx CXX=icpx From 6e4be3dc9797f4104a9b04b25427f308c458e0ac Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 18:44:52 +0000 Subject: [PATCH 131/341] Update CI --- docker/Dockerfile-oneapi-minimal | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index d129c801f..54ed9d681 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -33,10 +33,10 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-common-vars \ && rm -rf /var/lib/apt/lists/* -ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" +#ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" +#ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" -#ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest +ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest #RUN . /opt/intel/oneapi/setvars.sh From ce8ef85415855d33a6959fe85eca20b5db5d2cd5 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 18:49:12 +0000 Subject: [PATCH 132/341] Update CI --- docker/Dockerfile-oneapi-minimal | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 54ed9d681..38381d3d7 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -1,7 +1,6 @@ FROM ubuntu:24.04 ARG ONEAPI_VERSION='2025.3' -ARG MPI_VERSION='2021.10.0' # Extend and update the package registry RUN apt-get update \ @@ -26,20 +25,21 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR && echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ | tee /etc/apt/sources.list.d/oneAPI.list \ && apt-get update \ - && apt-get install --yes --no-install-recommends \ - intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ - intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ - intel-oneapi-mpi-devel-${MPI_VERSION} \ + && apt-get install --yes --no-install-recommends \ intel-oneapi-common-vars \ + intel-oneapi-compiler-fortran-${ONEAPI_VERSION} \ + intel-oneapi-mpi \ + intel-oneapi-mpi-devel\ + intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ && rm -rf /var/lib/apt/lists/* -#ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" -#ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" +ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest -#RUN . /opt/intel/oneapi/setvars.sh +RUN . /opt/intel/oneapi/setvars.sh # Set default compiler executables (Serial) -#ENV FC=ifx CC=icx CXX=icpx +ENV FC=ifx CC=icx CXX=icpx \ No newline at end of file From e51a6df956ac6f12e26a3588de2c11b6e743e760 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 18:57:19 +0000 Subject: [PATCH 133/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 190dab788..94ca008e9 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -55,7 +55,7 @@ jobs: - name: Setup Intel oneAPI. run: | source /opt/intel/oneapi/setvars.sh - ${{ github.action_path }}/configure-intel-gcc.sh \ + ${SCM_ROOT}/configure-intel-gcc.sh \ "${{ env.oneapi_version }}" shell: bash From 0d80f7494d5fc6a1c2b2ae6bb0140e9eddb61605 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 18:59:15 +0000 Subject: [PATCH 134/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 94ca008e9..9acba1693 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -55,7 +55,7 @@ jobs: - name: Setup Intel oneAPI. run: | source /opt/intel/oneapi/setvars.sh - ${SCM_ROOT}/configure-intel-gcc.sh \ + ${SCM_ROOT}/docker/configure-intel-gcc.sh \ "${{ env.oneapi_version }}" shell: bash From 2b0996e2fed6ea08de78fcf308537c5fa35bc2ff Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 19:01:16 +0000 Subject: [PATCH 135/341] Update CI --- docker/configure-intel-gcc.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 docker/configure-intel-gcc.sh diff --git a/docker/configure-intel-gcc.sh b/docker/configure-intel-gcc.sh old mode 100644 new mode 100755 From 9dad370f4e93459e1a91b1cf52ade10772790781 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 19:06:47 +0000 Subject: [PATCH 136/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 -- docker/Dockerfile-oneapi-minimal | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 9acba1693..becd4c07b 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -55,8 +55,6 @@ jobs: - name: Setup Intel oneAPI. run: | source /opt/intel/oneapi/setvars.sh - ${SCM_ROOT}/docker/configure-intel-gcc.sh \ - "${{ env.oneapi_version }}" shell: bash - name: Setup MPI Paths diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 38381d3d7..13cc99e6a 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -12,6 +12,7 @@ RUN apt-get update \ binutils \ g++ \ gcc \ + gfortran \ libc-dev \ make \ cmake \ @@ -40,6 +41,5 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest RUN . /opt/intel/oneapi/setvars.sh - # Set default compiler executables (Serial) ENV FC=ifx CC=icx CXX=icpx \ No newline at end of file From 748a24cef23f646a08077e0866661938fc54b49b Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 20:13:21 +0000 Subject: [PATCH 137/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index becd4c07b..8d2cc3013 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -27,7 +27,8 @@ jobs: FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps + suites: SCM_GFS_v15p2,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug,SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v17_p8_ugwpv1_tempo + suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps # Workflow steps steps: @@ -91,7 +92,7 @@ jobs: run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Build SCM run: | From e3fb2bad314170febb8276c8bd266174be59357a Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 20:20:55 +0000 Subject: [PATCH 138/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 8d2cc3013..cd55f3afe 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -27,8 +27,8 @@ jobs: FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug,SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v17_p8_ugwpv1_tempo - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps + suites: SCM_GFS_v15p2,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug,SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3 + suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps # Workflow steps steps: From 4c7c6505096c5b139491e1c0487c5a4536e134a0 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 20:30:15 +0000 Subject: [PATCH 139/341] Update SCM CMakeLists --- scm/src/CMakeLists.txt | 50 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 5d1e02b34..d8cebaf8b 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -150,6 +150,9 @@ if (32BIT) add_definitions(-DRTE_USE_SP) endif() +#------------------------------------------------------------------------------ +# GNU +#------------------------------------------------------------------------------ if (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ggdb -fbacktrace -cpp -fcray-pointer -ffree-line-length-none -fno-range-check") @@ -173,7 +176,49 @@ if (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -fPIC" CACHE STRING "" FORCE) set(CMAKE_C_FLAGS_BITFORBIT "-O2 -fPIC" CACHE STRING "" FORCE) set(CMAKE_Fortran_FLAGS_BITFORBIT "-O2 -fPIC" CACHE STRING "" FORCE) -elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "Intel") +#------------------------------------------------------------------------------ +# Intel oneAPI +#------------------------------------------------------------------------------ + elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "IntelLLVM") + message(STATUS "Compile using Intel OneAPI") + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -traceback -fpp -fno-alias -auto -safe-cray-ptr -ftz -assume byterecl -nowarn -align array64byte -qno-opt-dynamic-align") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qno-opt-dynamic-align -sox -fp-model source") + + if(NOT 32BIT) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -real-size 64") + endif() + + if (${CMAKE_BUILD_TYPE} MATCHES "Debug") + set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fstack-protector-all -fpe0 -debug -ftrapuv -init=snan,arrays") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -ftrapuv") + else() + if(32BIT) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -O2 -debug minimal -fp-model source -qoverride-limits -qopt-prefetch=3") + else() + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -O2 -debug minimal -fp-model source -qoverride-limits -qopt-prefetch=3 -no-prec-div") + endif() + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -debug minimal") + set(FAST "-fast-transcendentals") + if(AVX2) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -march=core-avx2") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=core-avx2") + elseif(SIMDMULTIARCH) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -axSSE4.2,CORE-AVX2") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -axSSE4.2,CORE-AVX2") + elseif(AVX) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -march=core-avx-i") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=core-avx-i") + endif() + endif() + set(CMAKE_C_FLAGS_RELEASE "-O2 -fPIC" CACHE STRING "" FORCE) + set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -fPIC" CACHE STRING "" FORCE) + set(CMAKE_C_FLAGS_BITFORBIT "-O2 -fPIC" CACHE STRING "" FORCE) + set(CMAKE_Fortran_FLAGS_BITFORBIT "-O2 -fPIC" CACHE STRING "" FORCE) +#------------------------------------------------------------------------------ +# Intel Classic +#------------------------------------------------------------------------------ + elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "Intel") + message(STATUS "Compile using Intel Classic") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -traceback -fpp -fno-alias -auto -safe-cray-ptr -ftz -assume byterecl -nowarn -sox -align array64byte -qno-opt-dynamic-align") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qno-opt-dynamic-align -sox -fp-model source") @@ -209,6 +254,9 @@ elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "Intel") set(CMAKE_C_FLAGS_BITFORBIT "-O2 -fPIC" CACHE STRING "" FORCE) set(CMAKE_Fortran_FLAGS_BITFORBIT "-O2 -fPIC" CACHE STRING "" FORCE) +#------------------------------------------------------------------------------ +# Nvidia HPC stack +#------------------------------------------------------------------------------ elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "NVHPC") if(ENABLE_NVIDIA_OPENACC MATCHES "true") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -acc -Minfo=accel") From 57dcc73bbc3c5e2eebb152a453e987f46148a25d Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 20:36:09 +0000 Subject: [PATCH 140/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 8 ++++---- scm/src/CMakeLists.txt | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index cd55f3afe..7ec1e287f 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -49,8 +49,8 @@ jobs: - name: Initialize Submodules run: | - git config --global --add safe.directory ${SCM_ROOT} - cd ${SCM_ROOT} + git config --global --add safe.directory $GITHUB_WORKSPACE + cd $GITHUB_WORKSPACE git submodule update --init --recursive - name: Setup Intel oneAPI. @@ -90,11 +90,11 @@ jobs: - name: Configure Build with CMake run: | - cd ${SCM_ROOT}/scm + cd $GITHUB_WORKSPACE/scm mkdir bin && cd bin cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Build SCM run: | - cd ${SCM_ROOT}/scm/bin + cd $GITHUB_WORKSPACE/scm/bin make -j4 diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index d8cebaf8b..202244b5c 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -154,6 +154,7 @@ endif() # GNU #------------------------------------------------------------------------------ if (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") + message(STATUS "Compile using GNU") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ggdb -fbacktrace -cpp -fcray-pointer -ffree-line-length-none -fno-range-check") if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10) @@ -258,6 +259,7 @@ if (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") # Nvidia HPC stack #------------------------------------------------------------------------------ elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "NVHPC") + message(STATUS "Compile using Nvidia HPC Stack") if(ENABLE_NVIDIA_OPENACC MATCHES "true") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -acc -Minfo=accel") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -acc -Minfo=accel") From 876d4a798d7e33d1efb35ea01e91bf7439ca370f Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 20:39:33 +0000 Subject: [PATCH 141/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 31 +----------------------- 1 file changed, 1 insertion(+), 30 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 7ec1e287f..265a7f2ae 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -23,10 +23,7 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: - oneapi_version: 2025.3 - FC: ${{ matrix.fortran-compiler }} NetCDF_Fortran_ROOT: /opt/netcdf-fortran - SCM_ROOT: /__w/ccpp-scm/ccpp-scm suites: SCM_GFS_v15p2,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug,SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3 suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps @@ -45,7 +42,6 @@ jobs: - name: Install Required Tools run: | apt-get update - #apt-get install -y openmpi-bin libopenmpi-dev - name: Initialize Submodules run: | @@ -63,36 +59,11 @@ jobs: echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - - name: Dispaly stuff - run: | - echo "-----LD_LIBRARY_PATH-----" - echo ${LD_LIBRARY_PATH} - echo "----------PATH-----------" - echo ${PATH} - echo "---------- /opt/intel/oneapi/ ---------" - ls /opt/intel/oneapi/ - echo "---------- /opt/intel/oneapi/compiler ---------" - ls /opt/intel/oneapi/compiler - echo "------ /opt/intel/oneapi/2025.3/compiler" - ls /opt/intel/oneapi/compiler/2025.3/ - echo "----- /opt/intel/oneapi/mpi ----------" - ls /opt/intel/oneapi/mpi/ - echo "----- /opt/intel/oneapi/mpi/latest ----------" - ls /opt/intel/oneapi/mpi/latest - echo "----- /opt/intel/oneapi/mpi/latest/bin ----------" - ls /opt/intel/oneapi/mpi/latest/bin - echo "----- /opt/intel/oneapi/mpi/latest/lib ----------" - ls /opt/intel/oneapi/mpi/latest/lib - echo "----- /opt/intel/oneapi/compiler/2025.3/bin -----" - ls /opt/intel/oneapi/compiler/2025.3/bin - echo "----- /opt/intel/oneapi/compiler/2025.3/lib -----" - ls /opt/intel/oneapi/compiler/2025.3/lib - - name: Configure Build with CMake run: | cd $GITHUB_WORKSPACE/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + cmake -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Build SCM run: | From 4cd078e229cdf0f59018f464042e72a54bf08be1 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 20:47:00 +0000 Subject: [PATCH 142/341] Update CI --- .github/workflows/build_images.yaml | 2 +- .github/workflows/ci_build_scm_image.yml | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 0faf26ff4..f6c6d482e 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false # Disable fail-fast matrix: - toolchain: [oneapi] + toolchain: [oneapi,gnu] runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 265a7f2ae..44ccef548 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -20,12 +20,10 @@ jobs: - fortran-compiler: ifx image: dustinswales/ccpp-scm-ci:oneapi container: - image: ${{ matrix.image }} + image: ${{ matrix.image }} # Environmental variables env: NetCDF_Fortran_ROOT: /opt/netcdf-fortran - suites: SCM_GFS_v15p2,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug,SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3 - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps # Workflow steps steps: From 680123585ce7c73d92473b84efda9deab9856db5 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 20:54:00 +0000 Subject: [PATCH 143/341] Update CI --- docker/Dockerfile-add-netcdf | 2 +- docker/Dockerfile-oneapi-minimal | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index f659a8479..411274018 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -14,7 +14,7 @@ RUN apt-get update \ # Install NetCDF Fortran # The version must be compitible with NetCDF C installed above -ARG NFVERSION=4.5.4 +#ARG NFVERSION=4.5.4 RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ && cd netcdf-fortran-$NFVERSION \ && { ./configure \ diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 13cc99e6a..7b04e979b 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -1,6 +1,7 @@ FROM ubuntu:24.04 ARG ONEAPI_VERSION='2025.3' +ARG NFVERSION=4.5.4 # Extend and update the package registry RUN apt-get update \ From 15cef8c9e2f69c1af8e3b3b3dd2162f39c9544ab Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 20:54:55 +0000 Subject: [PATCH 144/341] Revert "Update CI" This reverts commit 680123585ce7c73d92473b84efda9deab9856db5. --- docker/Dockerfile-add-netcdf | 2 +- docker/Dockerfile-oneapi-minimal | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 411274018..f659a8479 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -14,7 +14,7 @@ RUN apt-get update \ # Install NetCDF Fortran # The version must be compitible with NetCDF C installed above -#ARG NFVERSION=4.5.4 +ARG NFVERSION=4.5.4 RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ && cd netcdf-fortran-$NFVERSION \ && { ./configure \ diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 7b04e979b..13cc99e6a 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -1,7 +1,6 @@ FROM ubuntu:24.04 ARG ONEAPI_VERSION='2025.3' -ARG NFVERSION=4.5.4 # Extend and update the package registry RUN apt-get update \ From 966cf09fc55fa797fb60fde4dc14f5ec59ec062c Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 21:03:56 +0000 Subject: [PATCH 145/341] Update CI --- .github/workflows/build_images.yaml | 8 +++++++- docker/Dockerfile-add-netcdf | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index f6c6d482e..26c693a30 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -9,6 +9,12 @@ jobs: fail-fast: false # Disable fail-fast matrix: toolchain: [oneapi,gnu] + include: + # Set toolchain configuration(s) + - toolchain: oneapi + nfversion: 4.5.4 + - toolchain: gnu + nfversion: 4.5.4 runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 @@ -23,7 +29,7 @@ jobs: uses: docker/build-push-action@v6 with: file: docker/Dockerfile-add-netcdf - build-args: TOOLCHAIN=${{ matrix.toolchain }} + build-args: TOOLCHAIN=${{ matrix.toolchain }} NFVERSION=${{ matrix.nfversion }} tags: add-netcdf:${{ matrix.toolchain }} - name: Build add-nceplibs:${{ matrix.toolchain }} diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index f659a8479..c2da457bd 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -14,7 +14,8 @@ RUN apt-get update \ # Install NetCDF Fortran # The version must be compitible with NetCDF C installed above -ARG NFVERSION=4.5.4 +ARG NFVERSION + RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ && cd netcdf-fortran-$NFVERSION \ && { ./configure \ From c5171f4cd4ebee9843fa91b1b22317405f166287 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 21:05:43 +0000 Subject: [PATCH 146/341] Update CI --- .github/workflows/build_images.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 26c693a30..bbc06f436 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -9,12 +9,12 @@ jobs: fail-fast: false # Disable fail-fast matrix: toolchain: [oneapi,gnu] - include: - # Set toolchain configuration(s) - - toolchain: oneapi - nfversion: 4.5.4 - - toolchain: gnu - nfversion: 4.5.4 + include: + # Set toolchain configuration(s) + - toolchain: oneapi + nfversion: 4.5.4 + - toolchain: gnu + nfversion: 4.5.4 runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 From 88ffc22a454d8affd2e5d15ddd9afa17ecab06ac Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 21:12:38 +0000 Subject: [PATCH 147/341] Update CI --- .github/workflows/build_images.yaml | 4 +++- docker/Dockerfile-add-netcdf | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index bbc06f436..2f604c1e2 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -29,8 +29,10 @@ jobs: uses: docker/build-push-action@v6 with: file: docker/Dockerfile-add-netcdf - build-args: TOOLCHAIN=${{ matrix.toolchain }} NFVERSION=${{ matrix.nfversion }} tags: add-netcdf:${{ matrix.toolchain }} + build-args: | + TOOLCHAIN=${{ matrix.toolchain }} + NFVERSION=${{ matrix.nfversion }} - name: Build add-nceplibs:${{ matrix.toolchain }} uses: docker/build-push-action@v6 diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index c2da457bd..645348ef8 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -15,6 +15,7 @@ RUN apt-get update \ # Install NetCDF Fortran # The version must be compitible with NetCDF C installed above ARG NFVERSION +ENV NFVERSION=$NFVERSION RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ && cd netcdf-fortran-$NFVERSION \ From 93b9137b64de84692b1889afb901fcc02851d579 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 21:17:16 +0000 Subject: [PATCH 148/341] Update CI --- .github/workflows/build_images.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 2f604c1e2..2f4cff402 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -14,7 +14,7 @@ jobs: - toolchain: oneapi nfversion: 4.5.4 - toolchain: gnu - nfversion: 4.5.4 + nfversion: 4.6.2 runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 From 8bad6c6135feef030be434e078c9ac8a3d4ba5ff Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 21:17:35 +0000 Subject: [PATCH 149/341] Update CI --- docker/Dockerfile-gnu-minimal | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index c3c3b6926..f3289bfc1 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -1,6 +1,6 @@ FROM ubuntu:24.04 -ARG GNU_VERSION=12 +ARG GNU_VERSION=14 # Extend and update the package registry RUN apt-get update \ @@ -20,7 +20,3 @@ RUN apt-get update \ # Set default compiler executables ENV FC=gfortran CC=gcc CXX=g++ - -# GNU fortran -ENV NETCDF_FORTRAN_DIR=/usr -ENV LD_LIBRARY_PATH=${NETCDF_FORTRAN_DIR}/lib:$LD_LIBRARY_PATH From 5a6c095411e093cdf9effb94dcdaed4b98d1accc Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 21:26:23 +0000 Subject: [PATCH 150/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 1 + docker/Dockerfile-add-netcdf | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 44ccef548..a079bac56 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -24,6 +24,7 @@ jobs: # Environmental variables env: NetCDF_Fortran_ROOT: /opt/netcdf-fortran + NFHOME: /usr # Workflow steps steps: diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 645348ef8..f28b4dbbc 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -22,8 +22,10 @@ RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-for && { ./configure \ CFLAGS='-O2' \ FCFLAGS='-O2 -fPIC' \ - --disable-static || \ - { cat ./config.log; exit 1; } } \ + --disable-static \ + --prefix=/usr || \ + { cat ./config.log; exit 1; } } +RUN cd netcdf-fortran-$NFVERSION \ && make -j \ && make install \ && cd .. \ From 49cf7e0203cdc797a18e4a23aa4d71db30a66c49 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 21:31:00 +0000 Subject: [PATCH 151/341] Update CI --- docker/Dockerfile-gnu-minimal | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index f3289bfc1..fa676dbe9 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -1,7 +1,5 @@ FROM ubuntu:24.04 -ARG GNU_VERSION=14 - # Extend and update the package registry RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ @@ -10,13 +8,11 @@ RUN apt-get update \ wget \ gpg \ binutils \ - gfortran-$GNU_VERSION \ g++ \ gcc \ libc-dev \ make \ - cmake \ - git + git \ + gfortran>=14 -# Set default compiler executables -ENV FC=gfortran CC=gcc CXX=g++ +ENV FC=gfortran CC=gcc F77=gfortran From 421c3a242a9efd7c21448f8e4ba39f0975edceea Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 21:42:49 +0000 Subject: [PATCH 152/341] Update CI --- docker/Dockerfile-gnu-minimal | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index fa676dbe9..abe4ba157 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -13,6 +13,7 @@ RUN apt-get update \ libc-dev \ make \ git \ - gfortran>=14 + gfortran>=14 \ + cmake ENV FC=gfortran CC=gcc F77=gfortran From 4fc5a5042e8643639cbfebf28608afe2e1f8a941 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 21:56:21 +0000 Subject: [PATCH 153/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index a079bac56..d41fbe181 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -13,12 +13,14 @@ jobs: strategy: fail-fast: false matrix: - fortran-compiler: [ifx] + fortran-compiler: [ifx, gfortran] build-type: [Release, Debug] include: - # Set container images + # Set container images for each compiler - fortran-compiler: ifx image: dustinswales/ccpp-scm-ci:oneapi + - fortran-compiler: gfortran + image: dustinswales/ccpp-scm-ci:gnu container: image: ${{ matrix.image }} # Environmental variables @@ -48,10 +50,10 @@ jobs: cd $GITHUB_WORKSPACE git submodule update --init --recursive - - name: Setup Intel oneAPI. - run: | - source /opt/intel/oneapi/setvars.sh - shell: bash + #- name: Setup Intel oneAPI. + # run: | + # source /opt/intel/oneapi/setvars.sh + # shell: bash - name: Setup MPI Paths run: | From 233e8170aaf1bafda12df7e12eaa69ffaa448158 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 21:59:28 +0000 Subject: [PATCH 154/341] Update CI --- docker/Dockerfile-gnu-minimal | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index abe4ba157..aed13aea5 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -14,6 +14,8 @@ RUN apt-get update \ make \ git \ gfortran>=14 \ - cmake + cmake \ + libopenmpi-dev \ + openmpi-bin ENV FC=gfortran CC=gcc F77=gfortran From 3aa14208957ad0603e88eed49515bc93982eb8ae Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 22:23:59 +0000 Subject: [PATCH 155/341] Update CI --- .github/workflows/build_images.yaml | 4 +++- .github/workflows/ci_build_scm_image.yml | 17 +++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 2f4cff402..afc1b4eb9 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -8,13 +8,15 @@ jobs: strategy: fail-fast: false # Disable fail-fast matrix: - toolchain: [oneapi,gnu] + toolchain: [oneapi,gnu,nvidia] include: # Set toolchain configuration(s) - toolchain: oneapi nfversion: 4.5.4 - toolchain: gnu nfversion: 4.6.2 + - toolchain: nvidia + nfversion: 4.5.4 runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index d41fbe181..bea2c4b26 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - fortran-compiler: [ifx, gfortran] + fortran-compiler: [ifx, gfortran, nvfortran] build-type: [Release, Debug] include: # Set container images for each compiler @@ -21,11 +21,13 @@ jobs: image: dustinswales/ccpp-scm-ci:oneapi - fortran-compiler: gfortran image: dustinswales/ccpp-scm-ci:gnu + - fortran-compiler: nvfortran + image: dustinswales/ccpp-scm-ci:nvhpc container: image: ${{ matrix.image }} # Environmental variables env: - NetCDF_Fortran_ROOT: /opt/netcdf-fortran + #NetCDF_Fortran_ROOT: /opt/netcdf-fortran NFHOME: /usr # Workflow steps @@ -50,15 +52,10 @@ jobs: cd $GITHUB_WORKSPACE git submodule update --init --recursive - #- name: Setup Intel oneAPI. + #- name: Setup MPI Paths # run: | - # source /opt/intel/oneapi/setvars.sh - # shell: bash - - - name: Setup MPI Paths - run: | - echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + # echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV + # echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - name: Configure Build with CMake run: | From e6ab4c6706f8627a8f402f2a8381aa4f9cc25fa7 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 22:31:47 +0000 Subject: [PATCH 156/341] Update CI --- .github/workflows/build_images.yaml | 4 ++-- .github/workflows/ci_build_scm_image.yml | 13 ++++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index afc1b4eb9..316e9a459 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -8,14 +8,14 @@ jobs: strategy: fail-fast: false # Disable fail-fast matrix: - toolchain: [oneapi,gnu,nvidia] + toolchain: [oneapi,gnu,nvhpc] include: # Set toolchain configuration(s) - toolchain: oneapi nfversion: 4.5.4 - toolchain: gnu nfversion: 4.6.2 - - toolchain: nvidia + - toolchain: nvhpc nfversion: 4.5.4 runs-on: ubuntu-latest steps: diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index bea2c4b26..bcde28807 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -29,6 +29,8 @@ jobs: env: #NetCDF_Fortran_ROOT: /opt/netcdf-fortran NFHOME: /usr + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf + suites_ps:SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps # Workflow steps steps: @@ -52,16 +54,17 @@ jobs: cd $GITHUB_WORKSPACE git submodule update --init --recursive - #- name: Setup MPI Paths - # run: | - # echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV - # echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + - name: Setup MPI Paths + if: contains(matrix.compiler, 'ifx') + run: | + echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - name: Configure Build with CMake run: | cd $GITHUB_WORKSPACE/scm mkdir bin && cd bin - cmake -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + cmake -DCCPP_SUITES=${suites},${suites_ps }-DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Build SCM run: | From 82a4c8c79bb875305b2f6070cd79e292e054d01b Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 22:32:41 +0000 Subject: [PATCH 157/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index bcde28807..46c7998da 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -29,8 +29,8 @@ jobs: env: #NetCDF_Fortran_ROOT: /opt/netcdf-fortran NFHOME: /usr - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf - suites_ps:SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf + suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps # Workflow steps steps: From 1777f6e0a18ba12097f34da5908e033dc0087771 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 22:35:56 +0000 Subject: [PATCH 158/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 46c7998da..6d0baa50e 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -55,7 +55,6 @@ jobs: git submodule update --init --recursive - name: Setup MPI Paths - if: contains(matrix.compiler, 'ifx') run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV From 9bf06a85cff2f5dee3b0365242d5468c23074985 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 22:43:55 +0000 Subject: [PATCH 159/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 6d0baa50e..f6c1cdb52 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -27,8 +27,7 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: - #NetCDF_Fortran_ROOT: /opt/netcdf-fortran - NFHOME: /usr + NFHOME: /usr suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps @@ -63,7 +62,7 @@ jobs: run: | cd $GITHUB_WORKSPACE/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites},${suites_ps }-DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Build SCM run: | From 4d812def154aa6870e77690d21496e1f57b45efc Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 22:49:31 +0000 Subject: [PATCH 160/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index f6c1cdb52..14f51c408 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -57,7 +57,9 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - + echo "PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/latest/comm_libs/mpi/bin:${PATH}" + echo "LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/latest/comm_libs/mpi/lib:${LD_LIBRARY_PATH}" + - name: Configure Build with CMake run: | cd $GITHUB_WORKSPACE/scm From e05c244025e99d859ba5e6a105f6625369130798 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 22:56:14 +0000 Subject: [PATCH 161/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 14f51c408..accfda8c6 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -57,8 +57,8 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo "PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/latest/comm_libs/mpi/bin:${PATH}" - echo "LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/latest/comm_libs/mpi/lib:${LD_LIBRARY_PATH}" + echo "PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/latest/comm_libs/mpi/bin:${PATH}" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/latest/comm_libs/mpi/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - name: Configure Build with CMake run: | From da5fb8852eeffaa58e6cdfdcf3730c3663b029c5 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 23:00:15 +0000 Subject: [PATCH 162/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index accfda8c6..864a925f6 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -8,12 +8,12 @@ on: workflow_dispatch: jobs: - build_scm_container: + build_in_container: runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: - fortran-compiler: [ifx, gfortran, nvfortran] + fortran-compiler: [ifx, gfortran] build-type: [Release, Debug] include: # Set container images for each compiler @@ -21,8 +21,6 @@ jobs: image: dustinswales/ccpp-scm-ci:oneapi - fortran-compiler: gfortran image: dustinswales/ccpp-scm-ci:gnu - - fortran-compiler: nvfortran - image: dustinswales/ccpp-scm-ci:nvhpc container: image: ${{ matrix.image }} # Environmental variables @@ -33,13 +31,6 @@ jobs: # Workflow steps steps: - ############################################################# - # NOTE - # $ echo ${{ github.workspace }} - # /home/runner/work// - # $ echo $GITHUB_WORKSPACE - # /__w// - ############################################################# - name: Checkout SCM code (/__w/ccpp-scm/ccpp-scm) uses: actions/checkout@v4 @@ -57,8 +48,6 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo "PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/latest/comm_libs/mpi/bin:${PATH}" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/latest/comm_libs/mpi/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - name: Configure Build with CMake run: | From 3b17542a4ebf9a3a37cae17be96e9f5250724721 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 23:08:56 +0000 Subject: [PATCH 163/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 65 ++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 864a925f6..2accef62b 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -26,8 +26,10 @@ jobs: # Environmental variables env: NFHOME: /usr - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps + #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf + #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP + suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps # Workflow steps steps: @@ -48,7 +50,17 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - + + ####################################################################################### + # Build SCM. + ####################################################################################### + - name: Download data for SCM + run: | + cd $GITHUB_WORKSPACE + ./contrib/get_all_static_data.sh + ./contrib/get_thompson_tables.sh + ./contrib/get_aerosol_climo.sh + - name: Configure Build with CMake run: | cd $GITHUB_WORKSPACE/scm @@ -59,3 +71,50 @@ jobs: run: | cd $GITHUB_WORKSPACE/scm/bin make -j4 + + ####################################################################################### + # Run regression tests. + ####################################################################################### + - name: Run SCM RTs + if: matrix.build-type != 'SinglePrecision' + run: | + cd $GITHUB_WORKSPACE/scm/bin + ./run_scm.py --file $GITHUB_WORKSPACE/test/rt_test_cases.py --runtime_mult 0.1 + + - name: Run SCM Single Precision RTs + if: matrix.build-type == 'SinglePrecision' + run: | + cd $GITHUB_WORKSPACE/scm/bin + ./run_scm.py --file $GITHUB_WORKSPACE/test/rt_test_cases_sp.py --runtime_mult 0.1 + + - name: Gather SCM RT output + run: | + cd $GITHUB_WORKSPACE/test + mkdir $GITHUB_WORKSPACE/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} + ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}} + + - name: Create directory for SCM RT baselines + run: mkdir ${dir_bl} + + - name: Download SCM RT baselines + run: | + cd ${dir_bl} + wget https://dtcenter.ucar.edu/ccpp/rt/rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}.zip + unzip rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}.zip + + - name: Compare SCM RT output to baselines + run: | + cd $GITHUB_WORKSPACE/test + ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} + + - name: Upload plots of SCM Baselines/RTs as GitHub Artifact. + uses: actions/upload-artifact@v4 + with: + name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}} + path: $GITHUB_WORKSPACE/test/scm_rt_out + + - name: Upload SCM RTs as GitHub Artifact + uses: actions/upload-artifact@v4 + with: + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}} + path: $GITHUB_WORKSPACE/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} \ No newline at end of file From 8cc285cb9839c69f0a3877e4271a890665e1933c Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 23:27:25 +0000 Subject: [PATCH 164/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 2accef62b..87b51b5f0 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -25,14 +25,18 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: + SCM_ROOT: $GITHUB_WORKSPACE NFHOME: /usr - #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf - #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps + #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP + #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps + suites: SCM_GFS_v17_p8_ugwpv1 + suites_ps: SCM_GFS_v17_p8_ugwpv1_ps # Workflow steps steps: + ####################################################################################### + # Initial + ####################################################################################### - name: Checkout SCM code (/__w/ccpp-scm/ccpp-scm) uses: actions/checkout@v4 @@ -46,7 +50,8 @@ jobs: cd $GITHUB_WORKSPACE git submodule update --init --recursive - - name: Setup MPI Paths + - name: Setup MPI Paths (Intel OneAPI) + if: matrix.fortran-compiler == 'ifx' run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV From 0c893a622b34fd198e41cd07d5db51ea4aa11698 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 23:33:34 +0000 Subject: [PATCH 165/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 87b51b5f0..fcb5051b7 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -25,7 +25,7 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: - SCM_ROOT: $GITHUB_WORKSPACE + SCM_ROOT: /__w/ccpp-scm/ccpp-scm NFHOME: /usr #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps From a63eb0052184dc0cf4ec8cdec3c6e988a7a4bf6a Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 23:46:41 +0000 Subject: [PATCH 166/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index fcb5051b7..9b443e020 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -55,7 +55,9 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - + echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpi${{ matrixfortran-compiler }}" >> $GITHUB_ENV + echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=${{ matrix.fortran-compiler }}\nI_MPI_F77=${{ matrix.fortran-compiler }}" >> $GITHUB_ENV + . /opt/intel/oneapi/mpi/latest/env/vars.sh ####################################################################################### # Build SCM. ####################################################################################### From 8aeaee24b88859a2ec3b63132534175e7d3d4ec2 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 23:47:21 +0000 Subject: [PATCH 167/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 9b443e020..ffb721b88 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -55,7 +55,7 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpi${{ matrixfortran-compiler }}" >> $GITHUB_ENV + echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpi${{ matrix.fortran-compiler }}" >> $GITHUB_ENV echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=${{ matrix.fortran-compiler }}\nI_MPI_F77=${{ matrix.fortran-compiler }}" >> $GITHUB_ENV . /opt/intel/oneapi/mpi/latest/env/vars.sh ####################################################################################### From 9dc8bcc6a93c619b63458e8fb8aff974bf7f50f6 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Tue, 3 Feb 2026 23:54:21 +0000 Subject: [PATCH 168/341] Update CI --- scm/src/run_scm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scm/src/run_scm.py b/scm/src/run_scm.py index ce628eac6..a411418ba 100755 --- a/scm/src/run_scm.py +++ b/scm/src/run_scm.py @@ -736,7 +736,7 @@ def launch_executable(use_gdb, gdb, mpi_command, ignore_error = False): mpi_command = DEFAULT_MPI_COMMAND cmd = '(cd {scm_run} && time {mpi_command} {executable})'.format(scm_run=SCM_RUN, mpi_command=mpi_command, executable=EXECUTABLE) logging.info('Passing control to "{0}"'.format(cmd)) - time.sleep(1) + #time.sleep(1) # This will abort in 'execute' in the event of an error if ignore_error = False (status, stdout, stderr) = execute(cmd, ignore_error = ignore_error) logging.info('Process "{0}" returned with status {1}'.format(cmd, status)) From e5714673febc488f9a8603b69db81579589ca07d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 19:28:01 -0700 Subject: [PATCH 169/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index ffb721b88..331c34b36 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -58,6 +58,7 @@ jobs: echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpi${{ matrix.fortran-compiler }}" >> $GITHUB_ENV echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=${{ matrix.fortran-compiler }}\nI_MPI_F77=${{ matrix.fortran-compiler }}" >> $GITHUB_ENV . /opt/intel/oneapi/mpi/latest/env/vars.sh + ####################################################################################### # Build SCM. ####################################################################################### @@ -92,7 +93,7 @@ jobs: if: matrix.build-type == 'SinglePrecision' run: | cd $GITHUB_WORKSPACE/scm/bin - ./run_scm.py --file $GITHUB_WORKSPACE/test/rt_test_cases_sp.py --runtime_mult 0.1 + ./run_scm.py --file $GITHUB_WORKSPACE/test/rt_test_cases_sp.py --runtime_mult 0.1 -v - name: Gather SCM RT output run: | From 854ad090e606296d348f0b80e8619eb744257bc3 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 19:35:53 -0700 Subject: [PATCH 170/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 331c34b36..eb2f68861 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -44,6 +44,19 @@ jobs: run: | apt-get update + - name: Install System Dependencies + run: | + sudo apt-get update -qq && sudo apt-get install -qq -y --no-install-recommends \ + gfortran-${{matrix.fortran-compiler}} \ + libhdf5-dev \ + libnetcdf-pnetcdf-19 \ + libnetcdff7 \ + libnetcdf-dev \ + libnetcdff-dev \ + libxml2 \ + openmpi-bin \ + libopenmpi-dev + - name: Initialize Submodules run: | git config --global --add safe.directory $GITHUB_WORKSPACE From ce2607d3af25c0bf358d6991caa3806bd8b8e43d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 19:37:49 -0700 Subject: [PATCH 171/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index eb2f68861..7399ede28 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -46,7 +46,7 @@ jobs: - name: Install System Dependencies run: | - sudo apt-get update -qq && sudo apt-get install -qq -y --no-install-recommends \ + apt-get update -qq && sudo apt-get install -qq -y --no-install-recommends \ gfortran-${{matrix.fortran-compiler}} \ libhdf5-dev \ libnetcdf-pnetcdf-19 \ From 959f2bd16bd0040a889d4e1c44576f6ce72bab9f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 19:38:59 -0700 Subject: [PATCH 172/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 7399ede28..119580b58 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -46,7 +46,7 @@ jobs: - name: Install System Dependencies run: | - apt-get update -qq && sudo apt-get install -qq -y --no-install-recommends \ + apt-get update -qq && apt-get install -qq -y --no-install-recommends \ gfortran-${{matrix.fortran-compiler}} \ libhdf5-dev \ libnetcdf-pnetcdf-19 \ From f17f929aae638c9650da4061459223b0fdb263ef Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 19:40:09 -0700 Subject: [PATCH 173/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 119580b58..74e4f55f1 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -47,12 +47,6 @@ jobs: - name: Install System Dependencies run: | apt-get update -qq && apt-get install -qq -y --no-install-recommends \ - gfortran-${{matrix.fortran-compiler}} \ - libhdf5-dev \ - libnetcdf-pnetcdf-19 \ - libnetcdff7 \ - libnetcdf-dev \ - libnetcdff-dev \ libxml2 \ openmpi-bin \ libopenmpi-dev From acdc59ceb8c7dc7bff670b82ee039519935d2abd Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 19:47:24 -0700 Subject: [PATCH 174/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 21 ++---- test/rt_test_cases.py | 96 ++++++++---------------- 2 files changed, 38 insertions(+), 79 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 74e4f55f1..22002b6a7 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -29,8 +29,8 @@ jobs: NFHOME: /usr #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps - suites: SCM_GFS_v17_p8_ugwpv1 - suites_ps: SCM_GFS_v17_p8_ugwpv1_ps + suites: SCM_GFS_v16 + suites_ps: SCM_GFS_v16_ps # Workflow steps steps: @@ -44,13 +44,6 @@ jobs: run: | apt-get update - - name: Install System Dependencies - run: | - apt-get update -qq && apt-get install -qq -y --no-install-recommends \ - libxml2 \ - openmpi-bin \ - libopenmpi-dev - - name: Initialize Submodules run: | git config --global --add safe.directory $GITHUB_WORKSPACE @@ -62,9 +55,9 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpi${{ matrix.fortran-compiler }}" >> $GITHUB_ENV - echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=${{ matrix.fortran-compiler }}\nI_MPI_F77=${{ matrix.fortran-compiler }}" >> $GITHUB_ENV - . /opt/intel/oneapi/mpi/latest/env/vars.sh + #echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpi${{ matrix.fortran-compiler }}" >> $GITHUB_ENV + #echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=${{ matrix.fortran-compiler }}\nI_MPI_F77=${{ matrix.fortran-compiler }}" >> $GITHUB_ENV + #. /opt/intel/oneapi/mpi/latest/env/vars.sh ####################################################################################### # Build SCM. @@ -73,8 +66,8 @@ jobs: run: | cd $GITHUB_WORKSPACE ./contrib/get_all_static_data.sh - ./contrib/get_thompson_tables.sh - ./contrib/get_aerosol_climo.sh +# ./contrib/get_thompson_tables.sh +# ./contrib/get_aerosol_climo.sh - name: Configure Build with CMake run: | diff --git a/test/rt_test_cases.py b/test/rt_test_cases.py index 9d200e832..203cda74b 100644 --- a/test/rt_test_cases.py +++ b/test/rt_test_cases.py @@ -2,74 +2,40 @@ #---------------------------------------------------------------------------------------------------------------------------------------------- # Supported suites for CCPP Version 7 release #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_RRTMGP"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ - {"case": "twpice", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "twpice", "suite": "SCM_GFS_v16_RRTMGP"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ + #{"case": "twpice", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "twpice", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "twpice", "suite": "SCM_GFS_v16"}, \ - {"case": "twpice", "suite": "SCM_WoFS_v0"}, \ - {"case": "twpice", "suite": "SCM_HRRR_gf"}, \ - {"case": "bomex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "bomex", "suite": "SCM_GFS_v16_RRTMGP"}, \ + #{"case": "twpice", "suite": "SCM_WoFS_v0"}, \ + #{"case": "twpice", "suite": "SCM_HRRR_gf"}, \ + #{"case": "bomex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "bomex", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "bomex", "suite": "SCM_GFS_v16"}, \ - {"case": "bomex", "suite": "SCM_WoFS_v0"}, \ - {"case": "bomex", "suite": "SCM_HRRR_gf"}, \ - {"case": "astex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "astex", "suite": "SCM_GFS_v16_RRTMGP"}, \ + #{"case": "bomex", "suite": "SCM_WoFS_v0"}, \ + #{"case": "bomex", "suite": "SCM_HRRR_gf"}, \ + #{"case": "astex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "astex", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "astex", "suite": "SCM_GFS_v16"}, \ - {"case": "astex", "suite": "SCM_WoFS_v0"}, \ - {"case": "astex", "suite": "SCM_HRRR_gf"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16_RRTMGP"}, \ + #{"case": "astex", "suite": "SCM_WoFS_v0"}, \ + #{"case": "astex", "suite": "SCM_HRRR_gf"}, \ + #{"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "LASSO_2016051812", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ - {"case": "COMBLE", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "COMBLE", "suite": "SCM_GFS_v16_RRTMGP"}, \ - {"case": "COMBLE", "suite": "SCM_GFS_v16"}, \ - {"case": "COMBLE", "suite": "SCM_WoFS_v0"}, \ - {"case": "COMBLE", "suite": "SCM_HRRR_gf"}, \ - {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16_RRTMGP"}, \ + #{"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ + #{"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ + #{"case": "COMBLE", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "COMBLE", "suite": "SCM_GFS_v16_RRTMGP"}, \ + #{"case": "COMBLE", "suite": "SCM_GFS_v16"}, \ + #{"case": "COMBLE", "suite": "SCM_WoFS_v0"}, \ + #{"case": "COMBLE", "suite": "SCM_HRRR_gf"}, \ + #{"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16"}, \ - {"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ - {"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ - {"case": "gabls3", "suite": "SCM_GFS_v16"}, \ - #---------------------------------------------------------------------------------------------------------------------------------------------- - # Unsupported suites (w/ supported cases) - #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_RRFS_v1beta_no_nsst"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v15p2"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ - {"case": "twpice", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "twpice", "suite": "SCM_HRRR"}, \ - {"case": "twpice", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "twpice", "suite": "SCM_RAP"}, \ - {"case": "twpice", "suite": "SCM_GFS_v15p2"}, \ - {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ - {"case": "bomex", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "bomex", "suite": "SCM_HRRR"}, \ - {"case": "bomex", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "bomex", "suite": "SCM_RAP"}, \ - {"case": "bomex", "suite": "SCM_GFS_v15p2"}, \ - {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ - {"case": "astex", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "astex", "suite": "SCM_HRRR"}, \ - {"case": "astex", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "astex", "suite": "SCM_RAP"}, \ - {"case": "astex", "suite": "SCM_GFS_v15p2"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_HRRR"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RAP"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v15p2"}] + #{"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ + #{"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ + {"case": "gabls3", "suite": "SCM_GFS_v16"}] + From 43a98144ac276dfd5c4685cefef8dd59729a7a3b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 19:52:35 -0700 Subject: [PATCH 175/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 22002b6a7..4dc8a13a9 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -43,6 +43,17 @@ jobs: - name: Install Required Tools run: | apt-get update + - name: Install System Dependencies + run: | + apt-get update -qq && apt-get install -qq -y --no-install-recommends \ + libhdf5-dev \ + libnetcdf-pnetcdf-19 \ + libnetcdff7 \ + libnetcdf-dev \ + libnetcdff-dev \ + libxml2 \ + openmpi-bin \ + libopenmpi-dev - name: Initialize Submodules run: | @@ -55,9 +66,6 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - #echo -e "CC=mpiicx\nCXX=mpiicpx\nFC=mpi${{ matrix.fortran-compiler }}" >> $GITHUB_ENV - #echo -e "I_MPI_CC=icx\nI_MPI_CXX=icpx\nI_MPI_FC=${{ matrix.fortran-compiler }}\nI_MPI_F77=${{ matrix.fortran-compiler }}" >> $GITHUB_ENV - #. /opt/intel/oneapi/mpi/latest/env/vars.sh ####################################################################################### # Build SCM. From 39d4ba0e7895e68033783670ad7109a68f1b6492 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 19:53:45 -0700 Subject: [PATCH 176/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 4dc8a13a9..71c1c7b42 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -43,6 +43,7 @@ jobs: - name: Install Required Tools run: | apt-get update + - name: Install System Dependencies run: | apt-get update -qq && apt-get install -qq -y --no-install-recommends \ @@ -50,10 +51,10 @@ jobs: libnetcdf-pnetcdf-19 \ libnetcdff7 \ libnetcdf-dev \ - libnetcdff-dev \ + libnetcdff-dev \ libxml2 \ openmpi-bin \ - libopenmpi-dev + libopenmpi-dev - name: Initialize Submodules run: | From b14e9db60edb3d65a725e1bd194d1d3cbe50e9f9 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 20:27:22 -0700 Subject: [PATCH 177/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 71c1c7b42..8b459aaf3 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -44,18 +44,6 @@ jobs: run: | apt-get update - - name: Install System Dependencies - run: | - apt-get update -qq && apt-get install -qq -y --no-install-recommends \ - libhdf5-dev \ - libnetcdf-pnetcdf-19 \ - libnetcdff7 \ - libnetcdf-dev \ - libnetcdff-dev \ - libxml2 \ - openmpi-bin \ - libopenmpi-dev - - name: Initialize Submodules run: | git config --global --add safe.directory $GITHUB_WORKSPACE @@ -68,6 +56,11 @@ jobs: echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + - name: Display mpi + run : | + mpirun -V + which mpirun + ####################################################################################### # Build SCM. ####################################################################################### From 808dcd7960475b112c6da0d108d75076685df641 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 20:31:19 -0700 Subject: [PATCH 178/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 8b459aaf3..05f33f473 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -44,6 +44,15 @@ jobs: run: | apt-get update + - name: Setup Python + uses: actions/setup-python@v6 + with: + python-version: 3.11 + + - name: Install NetCDF Python libraries + run: | + pip install f90nml h5py netCDF4 matplotlib + - name: Initialize Submodules run: | git config --global --add safe.directory $GITHUB_WORKSPACE From f3a1474459730b514a13bc31d9d2550f2fe71c83 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 20:34:24 -0700 Subject: [PATCH 179/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 05f33f473..8f0895ad4 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -44,15 +44,6 @@ jobs: run: | apt-get update - - name: Setup Python - uses: actions/setup-python@v6 - with: - python-version: 3.11 - - - name: Install NetCDF Python libraries - run: | - pip install f90nml h5py netCDF4 matplotlib - - name: Initialize Submodules run: | git config --global --add safe.directory $GITHUB_WORKSPACE @@ -70,6 +61,11 @@ jobs: mpirun -V which mpirun + - name: Display python + run: | + python -V + which python + ####################################################################################### # Build SCM. ####################################################################################### From 913533e7da8a9f6a94611f3aa17a61415ec40624 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 20:40:06 -0700 Subject: [PATCH 180/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 28 ++++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 8f0895ad4..a28a6964b 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -46,8 +46,8 @@ jobs: - name: Initialize Submodules run: | - git config --global --add safe.directory $GITHUB_WORKSPACE - cd $GITHUB_WORKSPACE + git config --global --add safe.directory ${SCM_ROOT} + cd ${SCM_ROOT} git submodule update --init --recursive - name: Setup MPI Paths (Intel OneAPI) @@ -71,20 +71,20 @@ jobs: ####################################################################################### - name: Download data for SCM run: | - cd $GITHUB_WORKSPACE + cd ${SCM_ROOT} ./contrib/get_all_static_data.sh # ./contrib/get_thompson_tables.sh # ./contrib/get_aerosol_climo.sh - name: Configure Build with CMake run: | - cd $GITHUB_WORKSPACE/scm + cd ${SCM_ROOT}/scm mkdir bin && cd bin cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Build SCM run: | - cd $GITHUB_WORKSPACE/scm/bin + cd ${SCM_ROOT}/scm/bin make -j4 ####################################################################################### @@ -93,19 +93,19 @@ jobs: - name: Run SCM RTs if: matrix.build-type != 'SinglePrecision' run: | - cd $GITHUB_WORKSPACE/scm/bin - ./run_scm.py --file $GITHUB_WORKSPACE/test/rt_test_cases.py --runtime_mult 0.1 + cd ${SCM_ROOT}/scm/bin + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 - name: Run SCM Single Precision RTs if: matrix.build-type == 'SinglePrecision' run: | - cd $GITHUB_WORKSPACE/scm/bin - ./run_scm.py --file $GITHUB_WORKSPACE/test/rt_test_cases_sp.py --runtime_mult 0.1 -v + cd ${SCM_ROOT}/scm/bin + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_sp.py --runtime_mult 0.1 -v - name: Gather SCM RT output run: | - cd $GITHUB_WORKSPACE/test - mkdir $GITHUB_WORKSPACE/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} + cd ${SCM_ROOT}/test + mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}} - name: Create directory for SCM RT baselines @@ -119,17 +119,17 @@ jobs: - name: Compare SCM RT output to baselines run: | - cd $GITHUB_WORKSPACE/test + cd ${SCM_ROOT}/test ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} - name: Upload plots of SCM Baselines/RTs as GitHub Artifact. uses: actions/upload-artifact@v4 with: name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}} - path: $GITHUB_WORKSPACE/test/scm_rt_out + path: /__w/ccpp-scm/ccpp-scm/test/scm_rt_out - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v4 with: name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}} - path: $GITHUB_WORKSPACE/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} \ No newline at end of file + path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} \ No newline at end of file From 08ce581ae473a37634b4bdfae56e4728eb0b371b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 20:47:51 -0700 Subject: [PATCH 181/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index a28a6964b..e59ca04a2 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -10,6 +10,9 @@ on: jobs: build_in_container: runs-on: ubuntu-24.04 + defaults: + run: + shell: bash -el {0} strategy: fail-fast: false matrix: From b9687f0b159ae7fdbe712c284d45a53e1d039c62 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 20:54:02 -0700 Subject: [PATCH 182/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 --- docker/Dockerfile-gnu-minimal | 7 ++++++- docker/Dockerfile-oneapi-minimal | 7 ++++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index e59ca04a2..a28a6964b 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -10,9 +10,6 @@ on: jobs: build_in_container: runs-on: ubuntu-24.04 - defaults: - run: - shell: bash -el {0} strategy: fail-fast: false matrix: diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index aed13aea5..77441e499 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -16,6 +16,11 @@ RUN apt-get update \ gfortran>=14 \ cmake \ libopenmpi-dev \ - openmpi-bin + openmpi-bin \ + ksh \ + m4 \ + tcsh \ + time \ + vim ENV FC=gfortran CC=gcc F77=gfortran diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 13cc99e6a..cadd55927 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -16,7 +16,12 @@ RUN apt-get update \ libc-dev \ make \ cmake \ - git + git \ + ksh \ + m4 \ + tcsh \ + time \ + vim # See https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2025-2/hpc-apt.html From 8ef1e87f27c065d53891f9fe07db6f624b1b7382 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 21:07:45 -0700 Subject: [PATCH 183/341] Update CI --- .github/workflows/build_images.yaml | 7 +++++++ docker/Dockerfile-add-nceplibs | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 316e9a459..a88b58298 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -36,6 +36,13 @@ jobs: TOOLCHAIN=${{ matrix.toolchain }} NFVERSION=${{ matrix.nfversion }} + - name: Build add-pnetcdf:${{ matrix.toolchain }} + uses: docker/build-push-action@v6 + with: + file: docker/Dockerfile-add-pnetcdf + build-args: TOOLCHAIN=${{ matrix.toolchain }} + tags: add-pnetcdf:${{ matrix.toolchain }} + - name: Build add-nceplibs:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index 6445833bf..27d431c82 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -3,7 +3,7 @@ # ARG TOOLCHAIN -FROM add-netcdf:$TOOLCHAIN +FROM add-pnetcdf:$TOOLCHAIN ENV NCEPLIBS_DIR=/opt/nceplibs From db549ecee26c7b78ff920219035a39d88ee6ea33 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 21:20:22 -0700 Subject: [PATCH 184/341] Update CI --- .github/workflows/build_images.yaml | 7 ++++++- docker/Dockerfile-add-pnetcdf | 11 +++++++---- docker/Dockerfile-gnu-minimal | 4 +++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index a88b58298..50dfaaf91 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -13,10 +13,13 @@ jobs: # Set toolchain configuration(s) - toolchain: oneapi nfversion: 4.5.4 + pnfversion: 1.12.3 - toolchain: gnu nfversion: 4.6.2 + pnfversion: 1.14.1 - toolchain: nvhpc nfversion: 4.5.4 + pnfversion: 1.14.1 runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 @@ -40,8 +43,10 @@ jobs: uses: docker/build-push-action@v6 with: file: docker/Dockerfile-add-pnetcdf - build-args: TOOLCHAIN=${{ matrix.toolchain }} tags: add-pnetcdf:${{ matrix.toolchain }} + build-args: | + TOOLCHAIN=${{ matrix.toolchain }} + PNFVERSION=${{ matrix.pnfversion }} - name: Build add-nceplibs:${{ matrix.toolchain }} uses: docker/build-push-action@v6 diff --git a/docker/Dockerfile-add-pnetcdf b/docker/Dockerfile-add-pnetcdf index b1ccb2895..e031f3098 100644 --- a/docker/Dockerfile-add-pnetcdf +++ b/docker/Dockerfile-add-pnetcdf @@ -5,6 +5,9 @@ ARG TOOLCHAIN FROM add-netcdf:$TOOLCHAIN +ARG PNFVERSION +ENV PNFVERSION=$PNFVERSION + # Set environment variables for PnetCDF installation ENV PNETCDF_VERSION=1.14.1 ENV PNETCDF_PREFIX=/opt/pnetcdf @@ -22,14 +25,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ # Download, compile, and install PnetCDF WORKDIR /tmp -RUN wget https://parallel-netcdf.github.io/Release/pnetcdf-${PNETCDF_VERSION}.tar.gz \ - && tar xzf pnetcdf-${PNETCDF_VERSION}.tar.gz \ - && cd pnetcdf-${PNETCDF_VERSION} \ +RUN wget https://parallel-netcdf.github.io/Release/pnetcdf-${PNFVERSION}.tar.gz \ + && tar xzf pnetcdf-${PNFVERSION}.tar.gz \ + && cd pnetcdf-${PNFVERSION} \ && autoreconf -i \ && ./configure --prefix=${PNETCDF_PREFIX} --enable-shared --disable-static MPICC=mpicc\ && make -j 8 install \ && cd /tmp \ - && rm -rf pnetcdf-${PNETCDF_VERSION} pnetcdf-${PNETCDF_VERSION}.tar.gz + && rm -rf pnetcdf-${PNFVERSION} pnetcdf-${PNFVERSION}.tar.gz # Add PnetCDF library path to the environment ENV PATH="${PNETCDF_PREFIX}/bin:${PATH}" diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index 77441e499..0857b5d1d 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -21,6 +21,8 @@ RUN apt-get update \ m4 \ tcsh \ time \ - vim + vim \ + file \ + libxml2 ENV FC=gfortran CC=gcc F77=gfortran From 3fc2342022b05fa92456c80f21f2e6ef82271bda Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 21:28:21 -0700 Subject: [PATCH 185/341] Update CI --- .github/workflows/build_images.yaml | 2 +- .github/workflows/ci_build_scm_image.yml | 2 +- docker/Dockerfile-add-pnetcdf | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 50dfaaf91..8a3b690dc 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -19,7 +19,7 @@ jobs: pnfversion: 1.14.1 - toolchain: nvhpc nfversion: 4.5.4 - pnfversion: 1.14.1 + pnfversion: 1.12.3 runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index a28a6964b..7b0b77c00 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -100,7 +100,7 @@ jobs: if: matrix.build-type == 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_sp.py --runtime_mult 0.1 -v + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_sp.py --runtime_mult 0.1 -v --mpi_command "mpirun --allow-run-as-root -np 1" - name: Gather SCM RT output run: | diff --git a/docker/Dockerfile-add-pnetcdf b/docker/Dockerfile-add-pnetcdf index e031f3098..9054f1b29 100644 --- a/docker/Dockerfile-add-pnetcdf +++ b/docker/Dockerfile-add-pnetcdf @@ -9,7 +9,6 @@ ARG PNFVERSION ENV PNFVERSION=$PNFVERSION # Set environment variables for PnetCDF installation -ENV PNETCDF_VERSION=1.14.1 ENV PNETCDF_PREFIX=/opt/pnetcdf ENV PATH="${PNETCDF_PREFIX}/bin:${PATH}" ENV LD_LIBRARY_PATH="${PNETCDF_PREFIX}/lib:{$LD_LIBRARY_PATH}" @@ -17,7 +16,6 @@ ENV PKG_CONFIG_PATH="${PNETCDF_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}" # Update and install necessary build tools RUN apt-get update && apt-get install -y --no-install-recommends \ - gfortran \ automake \ libtool \ m4 \ From bb42206477d3981d6dbaad63cf1b222057b2203c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 21:33:02 -0700 Subject: [PATCH 186/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 7b0b77c00..c00eda68a 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -94,7 +94,7 @@ jobs: if: matrix.build-type != 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 --mpi_command "mpirun --allow-run-as-root -np 1" - name: Run SCM Single Precision RTs if: matrix.build-type == 'SinglePrecision' From ac2432d21e36108b547f017619bb3bb0d2086228 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 21:37:54 -0700 Subject: [PATCH 187/341] Update CI --- .github/workflows/build_images.yaml | 16 ++++++++-------- .github/workflows/ci_build_scm_image.yml | 4 +++- docker/Dockerfile-add-nceplibs | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 8a3b690dc..663b7be8d 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -39,14 +39,14 @@ jobs: TOOLCHAIN=${{ matrix.toolchain }} NFVERSION=${{ matrix.nfversion }} - - name: Build add-pnetcdf:${{ matrix.toolchain }} - uses: docker/build-push-action@v6 - with: - file: docker/Dockerfile-add-pnetcdf - tags: add-pnetcdf:${{ matrix.toolchain }} - build-args: | - TOOLCHAIN=${{ matrix.toolchain }} - PNFVERSION=${{ matrix.pnfversion }} +# - name: Build add-pnetcdf:${{ matrix.toolchain }} +# uses: docker/build-push-action@v6 +# with: +# file: docker/Dockerfile-add-pnetcdf +# tags: add-pnetcdf:${{ matrix.toolchain }} +# build-args: | +# TOOLCHAIN=${{ matrix.toolchain }} +# PNFVERSION=${{ matrix.pnfversion }} - name: Build add-nceplibs:${{ matrix.toolchain }} uses: docker/build-push-action@v6 diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index c00eda68a..e9580fb82 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -31,6 +31,8 @@ jobs: #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps suites: SCM_GFS_v16 suites_ps: SCM_GFS_v16_ps + dir_rt: $GITHUB_WORKSPACE/test/artifact-${{matrix.build-type}} + dir_bl: $GITHUB_WORKSPACE/test/BL-${{matrix.build-type}} # Workflow steps steps: @@ -94,7 +96,7 @@ jobs: if: matrix.build-type != 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 --mpi_command "mpirun --allow-run-as-root -np 1" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 --mpi_command "mpirun --allow-run-as-root -np 1" - name: Run SCM Single Precision RTs if: matrix.build-type == 'SinglePrecision' diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index 27d431c82..6445833bf 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -3,7 +3,7 @@ # ARG TOOLCHAIN -FROM add-pnetcdf:$TOOLCHAIN +FROM add-netcdf:$TOOLCHAIN ENV NCEPLIBS_DIR=/opt/nceplibs From 8858857b4faceb5fd4e3b5f3ca79d1ee2fb2c3ef Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 21:43:28 -0700 Subject: [PATCH 188/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index e9580fb82..7ce8b5dbe 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -31,8 +31,8 @@ jobs: #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps suites: SCM_GFS_v16 suites_ps: SCM_GFS_v16_ps - dir_rt: $GITHUB_WORKSPACE/test/artifact-${{matrix.build-type}} - dir_bl: $GITHUB_WORKSPACE/test/BL-${{matrix.build-type}} + dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} + dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} # Workflow steps steps: @@ -58,16 +58,6 @@ jobs: echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - - name: Display mpi - run : | - mpirun -V - which mpirun - - - name: Display python - run: | - python -V - which python - ####################################################################################### # Build SCM. ####################################################################################### From 9e3ef4c549ab465eab56f07bd1c1c279e4368a93 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 21:46:47 -0700 Subject: [PATCH 189/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 32 ++++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 7ce8b5dbe..9329b29de 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -103,22 +103,22 @@ jobs: - name: Create directory for SCM RT baselines run: mkdir ${dir_bl} - - name: Download SCM RT baselines - run: | - cd ${dir_bl} - wget https://dtcenter.ucar.edu/ccpp/rt/rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}.zip - unzip rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}.zip - - - name: Compare SCM RT output to baselines - run: | - cd ${SCM_ROOT}/test - ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} - - - name: Upload plots of SCM Baselines/RTs as GitHub Artifact. - uses: actions/upload-artifact@v4 - with: - name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}} - path: /__w/ccpp-scm/ccpp-scm/test/scm_rt_out +# - name: Download SCM RT baselines +# run: | +# cd ${dir_bl} +# wget https://dtcenter.ucar.edu/ccpp/rt/rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}.zip +# unzip rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}.zip + +# - name: Compare SCM RT output to baselines +# run: | +# cd ${SCM_ROOT}/test +# ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} + +# - name: Upload plots of SCM Baselines/RTs as GitHub Artifact +# uses: actions/upload-artifact@v4 +# with: +# name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}} +# path: /__w/ccpp-scm/ccpp-scm/test/scm_rt_out - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v4 From e877413f1b100ecfcb247ed796e32e614fa0f679 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 21:56:16 -0700 Subject: [PATCH 190/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 9329b29de..b3d4e3e97 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -52,11 +52,18 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive + - name: Setup MPI Paths (Intel OneAPI) + if: matrix.fortran-compiler == 'gfortran' + run: | + echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV + - name: Setup MPI Paths (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV + echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV ####################################################################################### # Build SCM. @@ -86,13 +93,13 @@ jobs: if: matrix.build-type != 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 --mpi_command "mpirun --allow-run-as-root -np 1" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 --mpi_command "${MPI_COMM}" - name: Run SCM Single Precision RTs if: matrix.build-type == 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_sp.py --runtime_mult 0.1 -v --mpi_command "mpirun --allow-run-as-root -np 1" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_sp.py --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" - name: Gather SCM RT output run: | From b61046452d730f9d2ee62b3212ba815e7e09b92b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 21:57:31 -0700 Subject: [PATCH 191/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index b3d4e3e97..6a51d6089 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -54,8 +54,8 @@ jobs: - name: Setup MPI Paths (Intel OneAPI) if: matrix.fortran-compiler == 'gfortran' - run: | - echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV + run: | + echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV - name: Setup MPI Paths (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' From effe53889b565d905cbea420b0837aa0b2c45fa1 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 22:02:15 -0700 Subject: [PATCH 192/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 1 - docker/Dockerfile-oneapi-minimal | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 6a51d6089..1138f3f73 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -62,7 +62,6 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV ####################################################################################### diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index cadd55927..2c6852f10 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -47,4 +47,6 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest RUN . /opt/intel/oneapi/setvars.sh # Set default compiler executables (Serial) -ENV FC=ifx CC=icx CXX=icpx \ No newline at end of file +ENV FC=ifx CC=icx CXX=icpx + +ENV I_MPI_HYDRA_ALLOW_ROOT=1 \ No newline at end of file From 5c2f366fbee225dd95b59272841245b20de03c23 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 22:22:07 -0700 Subject: [PATCH 193/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 8 ++++---- docker/Dockerfile-oneapi-minimal | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 1138f3f73..963c75e5f 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -1,4 +1,4 @@ -name: Build the CCPP-SCM in a container +name: Build and run the CCPP-SCM in a container on: push: @@ -8,7 +8,7 @@ on: workflow_dispatch: jobs: - build_in_container: + scm_in_container: runs-on: ubuntu-24.04 strategy: fail-fast: false @@ -52,12 +52,12 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive - - name: Setup MPI Paths (Intel OneAPI) + - name: Setup MPI (GNU) if: matrix.fortran-compiler == 'gfortran' run: | echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV - - name: Setup MPI Paths (Intel OneAPI) + - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 2c6852f10..02af61356 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -49,4 +49,6 @@ RUN . /opt/intel/oneapi/setvars.sh # Set default compiler executables (Serial) ENV FC=ifx CC=icx CXX=icpx -ENV I_MPI_HYDRA_ALLOW_ROOT=1 \ No newline at end of file +ENV I_MPI_HYDRA_ALLOW_ROOT=1 +ENV PRTE_ALLOW_RUN_AS_ROOT=1 +ENV PRTE_ALLOW_RUN_AS_ROOT_CONFIRM=1 \ No newline at end of file From 1e90de60016f701f1fa77b583b14da6804b70304 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 22:26:37 -0700 Subject: [PATCH 194/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 963c75e5f..03ffdce43 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -23,6 +23,8 @@ jobs: image: dustinswales/ccpp-scm-ci:gnu container: image: ${{ matrix.image }} + env: + I_MPI_HYDRA_ALLOW_ROOT: 1 # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm From ecb68c08b85c721947ef295e6ba17e08474225b6 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 22:30:21 -0700 Subject: [PATCH 195/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 03ffdce43..e9491529c 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -35,6 +35,7 @@ jobs: suites_ps: SCM_GFS_v16_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} + I_MPI_HYDRA_ALLOW_ROOT: 1 # Workflow steps steps: @@ -64,7 +65,7 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV + echo "MPI_COMM=mpirun " >> $GITHUB_ENV ####################################################################################### # Build SCM. From ebd6337439eb77aa85bc3dac98548b678795f4d0 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 22:36:42 -0700 Subject: [PATCH 196/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 ++- docker/Dockerfile-oneapi-minimal | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index e9491529c..26285ab3f 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -65,7 +65,8 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo "MPI_COMM=mpirun " >> $GITHUB_ENV + echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV + echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV ####################################################################################### # Build SCM. diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 02af61356..c12e44188 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -50,5 +50,3 @@ RUN . /opt/intel/oneapi/setvars.sh ENV FC=ifx CC=icx CXX=icpx ENV I_MPI_HYDRA_ALLOW_ROOT=1 -ENV PRTE_ALLOW_RUN_AS_ROOT=1 -ENV PRTE_ALLOW_RUN_AS_ROOT_CONFIRM=1 \ No newline at end of file From 765a4e20d511670016b8ca971c7f7ee66a172041 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 22:54:27 -0700 Subject: [PATCH 197/341] Update CI --- docker/Dockerfile-oneapi-minimal | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index c12e44188..5b689b6fe 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -44,9 +44,11 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest -RUN . /opt/intel/oneapi/setvars.sh +#RUN . /opt/intel/oneapi/setvars.sh +RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh -# Set default compiler executables (Serial) -ENV FC=ifx CC=icx CXX=icpx +# Set default compiler executables (Parallel) +ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +ENV I_MPI_CC=icx I_MPI_CXX=icpx I_MPI_FC=ifx ENV I_MPI_HYDRA_ALLOW_ROOT=1 From 15aac033b0d23eef47d6bda7447a212c5259539f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 22:59:26 -0700 Subject: [PATCH 198/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 +++ docker/Dockerfile-oneapi-minimal | 10 ++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 26285ab3f..7c81dddbc 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -67,6 +67,9 @@ jobs: echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV + echo "FC=mpiifx" >> $GITHUB_ENV + echo "CC=mpiicx" >> $GITHUB_ENV + echo "CXX=mpiicpx" >> $GITHUB_ENV ####################################################################################### # Build SCM. diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 5b689b6fe..2c6852f10 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -44,11 +44,9 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest -#RUN . /opt/intel/oneapi/setvars.sh -RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh +RUN . /opt/intel/oneapi/setvars.sh -# Set default compiler executables (Parallel) -ENV FC=mpiifx CC=mpiicx CXX=mpiicpx -ENV I_MPI_CC=icx I_MPI_CXX=icpx I_MPI_FC=ifx +# Set default compiler executables (Serial) +ENV FC=ifx CC=icx CXX=icpx -ENV I_MPI_HYDRA_ALLOW_ROOT=1 +ENV I_MPI_HYDRA_ALLOW_ROOT=1 \ No newline at end of file From 1866232ac3a6364847c957e887d3565ea52f8ac3 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 23:08:28 -0700 Subject: [PATCH 199/341] Update CI --- docker/Dockerfile-oneapi-minimal | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 2c6852f10..dcf179342 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -44,9 +44,13 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest +ENV FC=ifx CC=icx CXX=icpx RUN . /opt/intel/oneapi/setvars.sh -# Set default compiler executables (Serial) -ENV FC=ifx CC=icx CXX=icpx +ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +ENV I_MPI_CC=icc I_MPI_CXX=icpx I_MPI_FC=ifx +RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh + +#ENV FC=ifx CC=icx CXX=icpx ENV I_MPI_HYDRA_ALLOW_ROOT=1 \ No newline at end of file From cd8c99543296aa03637805f059a83448c23fdff2 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 23:10:58 -0700 Subject: [PATCH 200/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index dcf179342..62d535bd6 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -51,6 +51,6 @@ ENV FC=mpiifx CC=mpiicx CXX=mpiicpx ENV I_MPI_CC=icc I_MPI_CXX=icpx I_MPI_FC=ifx RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh -#ENV FC=ifx CC=icx CXX=icpx +ENV FC=ifx CC=icx CXX=icpx ENV I_MPI_HYDRA_ALLOW_ROOT=1 \ No newline at end of file From a9b999c51a38751a2eb4d10ffb87bbd64f352da7 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 4 Feb 2026 23:18:09 -0700 Subject: [PATCH 201/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 7c81dddbc..26285ab3f 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -67,9 +67,6 @@ jobs: echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV - echo "FC=mpiifx" >> $GITHUB_ENV - echo "CC=mpiicx" >> $GITHUB_ENV - echo "CXX=mpiicpx" >> $GITHUB_ENV ####################################################################################### # Build SCM. From e1b47935d46311430bd6d2619e980de67353a0cf Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 5 Feb 2026 15:42:40 -0700 Subject: [PATCH 202/341] Update CI --- .github/workflows/build_images.yaml | 16 ++++++++-------- docker/Dockerfile-add-nceplibs | 2 +- docker/Dockerfile-add-pnetcdf | 4 +--- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 663b7be8d..8a3b690dc 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -39,14 +39,14 @@ jobs: TOOLCHAIN=${{ matrix.toolchain }} NFVERSION=${{ matrix.nfversion }} -# - name: Build add-pnetcdf:${{ matrix.toolchain }} -# uses: docker/build-push-action@v6 -# with: -# file: docker/Dockerfile-add-pnetcdf -# tags: add-pnetcdf:${{ matrix.toolchain }} -# build-args: | -# TOOLCHAIN=${{ matrix.toolchain }} -# PNFVERSION=${{ matrix.pnfversion }} + - name: Build add-pnetcdf:${{ matrix.toolchain }} + uses: docker/build-push-action@v6 + with: + file: docker/Dockerfile-add-pnetcdf + tags: add-pnetcdf:${{ matrix.toolchain }} + build-args: | + TOOLCHAIN=${{ matrix.toolchain }} + PNFVERSION=${{ matrix.pnfversion }} - name: Build add-nceplibs:${{ matrix.toolchain }} uses: docker/build-push-action@v6 diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index 6445833bf..27d431c82 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -3,7 +3,7 @@ # ARG TOOLCHAIN -FROM add-netcdf:$TOOLCHAIN +FROM add-pnetcdf:$TOOLCHAIN ENV NCEPLIBS_DIR=/opt/nceplibs diff --git a/docker/Dockerfile-add-pnetcdf b/docker/Dockerfile-add-pnetcdf index 9054f1b29..c427551b6 100644 --- a/docker/Dockerfile-add-pnetcdf +++ b/docker/Dockerfile-add-pnetcdf @@ -18,7 +18,6 @@ ENV PKG_CONFIG_PATH="${PNETCDF_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}" RUN apt-get update && apt-get install -y --no-install-recommends \ automake \ libtool \ - m4 \ && rm -rf /var/lib/apt/lists/* # Download, compile, and install PnetCDF @@ -26,8 +25,7 @@ WORKDIR /tmp RUN wget https://parallel-netcdf.github.io/Release/pnetcdf-${PNFVERSION}.tar.gz \ && tar xzf pnetcdf-${PNFVERSION}.tar.gz \ && cd pnetcdf-${PNFVERSION} \ - && autoreconf -i \ - && ./configure --prefix=${PNETCDF_PREFIX} --enable-shared --disable-static MPICC=mpicc\ + && ./configure --prefix=${PNETCDF_PREFIX} \ && make -j 8 install \ && cd /tmp \ && rm -rf pnetcdf-${PNFVERSION} pnetcdf-${PNFVERSION}.tar.gz From 8838ebcaf6db63ef242b6bbf0cff4fc6a960aff4 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 5 Feb 2026 15:49:04 -0700 Subject: [PATCH 203/341] Update CI --- docker/Dockerfile-oneapi-minimal | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 62d535bd6..e3cf2ea57 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -53,4 +53,5 @@ RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh ENV FC=ifx CC=icx CXX=icpx +ENV MPICC=mpiicx ENV I_MPI_HYDRA_ALLOW_ROOT=1 \ No newline at end of file From d9962f666aa6cd480cb660811319f829bde59035 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 5 Feb 2026 15:54:22 -0700 Subject: [PATCH 204/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index e3cf2ea57..1496a2875 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -53,5 +53,5 @@ RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh ENV FC=ifx CC=icx CXX=icpx -ENV MPICC=mpiicx +ENV MPICC=mpicc ENV I_MPI_HYDRA_ALLOW_ROOT=1 \ No newline at end of file From f6893504a15340959d8d0b3fe482fad4de6a6b63 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 5 Feb 2026 15:58:07 -0700 Subject: [PATCH 205/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 1496a2875..e3cf2ea57 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -53,5 +53,5 @@ RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh ENV FC=ifx CC=icx CXX=icpx -ENV MPICC=mpicc +ENV MPICC=mpiicx ENV I_MPI_HYDRA_ALLOW_ROOT=1 \ No newline at end of file From 21f3b7d6bd79ba8e49029a9d4bf482fa242fd8ac Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 5 Feb 2026 16:01:57 -0700 Subject: [PATCH 206/341] Update CI --- docker/Dockerfile-oneapi-minimal | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index e3cf2ea57..a7c1e7050 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -47,11 +47,11 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest ENV FC=ifx CC=icx CXX=icpx RUN . /opt/intel/oneapi/setvars.sh -ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx ENV I_MPI_CC=icc I_MPI_CXX=icpx I_MPI_FC=ifx -RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh +#RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh -ENV FC=ifx CC=icx CXX=icpx +#ENV FC=ifx CC=icx CXX=icpx -ENV MPICC=mpiicx +ENV MPICC=mpiicc ENV I_MPI_HYDRA_ALLOW_ROOT=1 \ No newline at end of file From 8f6d7014ff957fc72868005137dd2be60aa6fe4a Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 14:09:07 -0700 Subject: [PATCH 207/341] Update CI --- docker/Dockerfile-oneapi-minimal | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index a7c1e7050..2f800631c 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -44,14 +44,11 @@ ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest +# oneAPI environments ENV FC=ifx CC=icx CXX=icpx -RUN . /opt/intel/oneapi/setvars.sh +RUN . /opt/intel/oneapi/compiler/${ONEAPI_VERSION}/env/setvars.sh -#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx -ENV I_MPI_CC=icc I_MPI_CXX=icpx I_MPI_FC=ifx -#RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh - -#ENV FC=ifx CC=icx CXX=icpx - -ENV MPICC=mpiicc -ENV I_MPI_HYDRA_ALLOW_ROOT=1 \ No newline at end of file +# oneAPI with MPI wrappers +ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +ENV I_MPI_CC=icx I_MPI_CXX=icpx I_MPI_FC=ifx +RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh From 3f22546d6a0615ca09e469b499df1bedeecca673 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 14:22:37 -0700 Subject: [PATCH 208/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 2f800631c..037bae8b5 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -46,7 +46,7 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest # oneAPI environments ENV FC=ifx CC=icx CXX=icpx -RUN . /opt/intel/oneapi/compiler/${ONEAPI_VERSION}/env/setvars.sh +RUN . /opt/intel/oneapi/setvars.sh # oneAPI with MPI wrappers ENV FC=mpiifx CC=mpiicx CXX=mpiicpx From 0b2705167f497eddfa14c91800801e2942cedd83 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 14:33:56 -0700 Subject: [PATCH 209/341] Update CI --- docker/Dockerfile-add-netcdf | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index f28b4dbbc..00b72b7d1 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -17,17 +17,24 @@ RUN apt-get update \ ARG NFVERSION ENV NFVERSION=$NFVERSION -RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ - && cd netcdf-fortran-$NFVERSION \ - && { ./configure \ - CFLAGS='-O2' \ - FCFLAGS='-O2 -fPIC' \ - --disable-static \ - --prefix=/usr || \ - { cat ./config.log; exit 1; } } -RUN cd netcdf-fortran-$NFVERSION \ - && make -j \ - && make install \ - && cd .. \ - && rm -rf netcdf-fortran-$NFVERSION \ - && ldconfig \ No newline at end of file + +#RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ +# && cd netcdf-fortran-$NFVERSION \ +# && { ./configure \ +# CFLAGS='-O2' \ +# FCFLAGS='-O2 -fPIC' \ +# --disable-static \ +# --prefix=/usr || \ +# { cat ./config.log; exit 1; } } +#RUN cd netcdf-fortran-$NFVERSION \ +# && make -j \ +# && make install \ +# && cd .. \ +# && rm -rf netcdf-fortran-$NFVERSION \ +# && ldconfig + +RUN wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/$NFVERSION.tar.gz \ + && tar -xzf $NFVERSION.tar.gz \ + && cd netcdf-fortran-$NFVERSION \ + && CC=$CC FC=$FC CXX=$CXX ./configure --prefix=/usr \ + && make -j && make install \ No newline at end of file From 4e8fa91cd583684007da5a890d0a9d5f5dceca9d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 14:43:01 -0700 Subject: [PATCH 210/341] Update CI --- .github/workflows/build_images.yaml | 12 ++++++++++++ docker/Dockerfile-add-netcdf | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 8a3b690dc..26f8896d5 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -14,12 +14,21 @@ jobs: - toolchain: oneapi nfversion: 4.5.4 pnfversion: 1.12.3 + FC: ifx + CC: icx + CXX: icpx - toolchain: gnu nfversion: 4.6.2 pnfversion: 1.14.1 + FC: gfortran + CC: gcc + CXX: g++ - toolchain: nvhpc nfversion: 4.5.4 pnfversion: 1.12.3 + FC: nvfortran + CC: nvc + CXX: nvc++ runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 @@ -38,6 +47,9 @@ jobs: build-args: | TOOLCHAIN=${{ matrix.toolchain }} NFVERSION=${{ matrix.nfversion }} + FC=${{ FC }} + CC=${{ CC }} + CXX=${{ CXX }} - name: Build add-pnetcdf:${{ matrix.toolchain }} uses: docker/build-push-action@v6 diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 00b72b7d1..bc078c3d0 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -16,6 +16,12 @@ RUN apt-get update \ # The version must be compitible with NetCDF C installed above ARG NFVERSION ENV NFVERSION=$NFVERSION +ARG FC +ENV FC=$FC +ARG CC +ENV CC=$CC +ARG CXX +ENV CXX=$CXX #RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ From e65f2ae5bc5b5c6e7542661044e39de453abd15c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 14:44:29 -0700 Subject: [PATCH 211/341] Update CI --- .github/workflows/build_images.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 26f8896d5..8aad9ed2e 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -21,7 +21,7 @@ jobs: nfversion: 4.6.2 pnfversion: 1.14.1 FC: gfortran - CC: gcc + CC: gcc CXX: g++ - toolchain: nvhpc nfversion: 4.5.4 From 7cb47d581643843fb2c17b018f3d221a52b1c723 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 14:45:07 -0700 Subject: [PATCH 212/341] Update CI --- .github/workflows/build_images.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 8aad9ed2e..1b6b6e372 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -22,13 +22,13 @@ jobs: pnfversion: 1.14.1 FC: gfortran CC: gcc - CXX: g++ + CXX: g++ - toolchain: nvhpc nfversion: 4.5.4 pnfversion: 1.12.3 FC: nvfortran - CC: nvc - CXX: nvc++ + CC: nvc + CXX: nvc++ runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 From 8309a0a9c049b3bba1d06430a8650446ce167f20 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 14:45:53 -0700 Subject: [PATCH 213/341] Update CI --- .github/workflows/build_images.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 1b6b6e372..d6a37ccab 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -47,9 +47,9 @@ jobs: build-args: | TOOLCHAIN=${{ matrix.toolchain }} NFVERSION=${{ matrix.nfversion }} - FC=${{ FC }} - CC=${{ CC }} - CXX=${{ CXX }} + FC=${{ matrix.FC }} + CC=${{ matrix.CC }} + CXX=${{ matrix.CXX }} - name: Build add-pnetcdf:${{ matrix.toolchain }} uses: docker/build-push-action@v6 From 3425ed316df60346541baf950ef58b33e138b63c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 14:51:25 -0700 Subject: [PATCH 214/341] Update CI --- docker/Dockerfile-add-netcdf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index bc078c3d0..7cea1470a 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -39,7 +39,7 @@ ENV CXX=$CXX # && rm -rf netcdf-fortran-$NFVERSION \ # && ldconfig -RUN wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/$NFVERSION.tar.gz \ +RUN wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v$NFVERSION.tar.gz \ && tar -xzf $NFVERSION.tar.gz \ && cd netcdf-fortran-$NFVERSION \ && CC=$CC FC=$FC CXX=$CXX ./configure --prefix=/usr \ From 4804807e678f5ebfd73cf605107f97cd66d5d92d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 14:54:35 -0700 Subject: [PATCH 215/341] Update CI --- docker/Dockerfile-add-netcdf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 7cea1470a..977689c4a 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -40,7 +40,7 @@ ENV CXX=$CXX # && ldconfig RUN wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v$NFVERSION.tar.gz \ - && tar -xzf $NFVERSION.tar.gz \ + && tar -xzf v$NFVERSION.tar.gz \ && cd netcdf-fortran-$NFVERSION \ && CC=$CC FC=$FC CXX=$CXX ./configure --prefix=/usr \ && make -j && make install \ No newline at end of file From 05a75aaf8d6b40dd7db5eee5f8d447c58db6e2d9 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:06:12 -0700 Subject: [PATCH 216/341] Update CI --- .github/workflows/build_images.yaml | 2 ++ docker/Dockerfile-add-pnetcdf | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index d6a37ccab..df8efc357 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -59,6 +59,8 @@ jobs: build-args: | TOOLCHAIN=${{ matrix.toolchain }} PNFVERSION=${{ matrix.pnfversion }} + FC=${{ matrix.FC }} + CC=${{ matrix.CC }} - name: Build add-nceplibs:${{ matrix.toolchain }} uses: docker/build-push-action@v6 diff --git a/docker/Dockerfile-add-pnetcdf b/docker/Dockerfile-add-pnetcdf index c427551b6..1223588f7 100644 --- a/docker/Dockerfile-add-pnetcdf +++ b/docker/Dockerfile-add-pnetcdf @@ -7,6 +7,10 @@ FROM add-netcdf:$TOOLCHAIN ARG PNFVERSION ENV PNFVERSION=$PNFVERSION +ARG FC +ENV FC=$FC +ARG CC +ENV CC=$CC # Set environment variables for PnetCDF installation ENV PNETCDF_PREFIX=/opt/pnetcdf @@ -25,7 +29,7 @@ WORKDIR /tmp RUN wget https://parallel-netcdf.github.io/Release/pnetcdf-${PNFVERSION}.tar.gz \ && tar xzf pnetcdf-${PNFVERSION}.tar.gz \ && cd pnetcdf-${PNFVERSION} \ - && ./configure --prefix=${PNETCDF_PREFIX} \ + && CC=$CC FC=$FC ./configure --prefix=${PNETCDF_PREFIX} \ && make -j 8 install \ && cd /tmp \ && rm -rf pnetcdf-${PNFVERSION} pnetcdf-${PNFVERSION}.tar.gz From c58a6c674debd130dde530329cb56d942d80638d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:17:18 -0700 Subject: [PATCH 217/341] Update CI --- .github/workflows/build_images.yaml | 4 ++-- docker/Dockerfile-add-netcdf | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index df8efc357..960fd8fee 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -14,8 +14,8 @@ jobs: - toolchain: oneapi nfversion: 4.5.4 pnfversion: 1.12.3 - FC: ifx - CC: icx + FC: mpiifort + CC: mpiicc CXX: icpx - toolchain: gnu nfversion: 4.6.2 diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 977689c4a..35e44d3b5 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -42,5 +42,5 @@ ENV CXX=$CXX RUN wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v$NFVERSION.tar.gz \ && tar -xzf v$NFVERSION.tar.gz \ && cd netcdf-fortran-$NFVERSION \ - && CC=$CC FC=$FC CXX=$CXX ./configure --prefix=/usr \ + && CC=$CC FC=$FC CXX=$CXX ./configure --disable-static --prefix=/usr \ && make -j && make install \ No newline at end of file From f00fe62dd54e2c1a91d3a3ff5b553b07ebb31e85 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:20:30 -0700 Subject: [PATCH 218/341] Update CI --- docker/Dockerfile-add-netcdf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 35e44d3b5..977689c4a 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -42,5 +42,5 @@ ENV CXX=$CXX RUN wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v$NFVERSION.tar.gz \ && tar -xzf v$NFVERSION.tar.gz \ && cd netcdf-fortran-$NFVERSION \ - && CC=$CC FC=$FC CXX=$CXX ./configure --disable-static --prefix=/usr \ + && CC=$CC FC=$FC CXX=$CXX ./configure --prefix=/usr \ && make -j && make install \ No newline at end of file From 9b06b0c72e68013170f83639dfe1a1e267a23b41 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:25:37 -0700 Subject: [PATCH 219/341] Update CI --- .github/workflows/build_images.yaml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 960fd8fee..e16096f09 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -14,21 +14,27 @@ jobs: - toolchain: oneapi nfversion: 4.5.4 pnfversion: 1.12.3 - FC: mpiifort - CC: mpiicc + FC: ifx + CC: icx CXX: icpx + PFC: mpiifort + PCC: mpiicc - toolchain: gnu nfversion: 4.6.2 pnfversion: 1.14.1 FC: gfortran CC: gcc CXX: g++ + PFC: gfortran + PCC: gcc - toolchain: nvhpc nfversion: 4.5.4 pnfversion: 1.12.3 FC: nvfortran CC: nvc CXX: nvc++ + PFC: nvfortran + CC: nvc runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 @@ -59,8 +65,8 @@ jobs: build-args: | TOOLCHAIN=${{ matrix.toolchain }} PNFVERSION=${{ matrix.pnfversion }} - FC=${{ matrix.FC }} - CC=${{ matrix.CC }} + FC=${{ matrix.PFC }} + CC=${{ matrix.PCC }} - name: Build add-nceplibs:${{ matrix.toolchain }} uses: docker/build-push-action@v6 From 4b1d4cf6cdb2316ab8bdff45c1dcabe88c2e9a3d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:27:32 -0700 Subject: [PATCH 220/341] Update CI --- .github/workflows/build_images.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index e16096f09..e051ada6c 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -34,7 +34,7 @@ jobs: CC: nvc CXX: nvc++ PFC: nvfortran - CC: nvc + PCC: nvc runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 From 540ec2e0f98ee9df08f81883a84841b46b79e7d3 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:37:50 -0700 Subject: [PATCH 221/341] Update CI --- .github/workflows/build_images.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index e051ada6c..6cc0100b4 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -14,6 +14,7 @@ jobs: - toolchain: oneapi nfversion: 4.5.4 pnfversion: 1.12.3 + OMPI: FC: ifx CC: icx CXX: icpx @@ -22,6 +23,7 @@ jobs: - toolchain: gnu nfversion: 4.6.2 pnfversion: 1.14.1 + OMPI: FC: gfortran CC: gcc CXX: g++ @@ -30,6 +32,7 @@ jobs: - toolchain: nvhpc nfversion: 4.5.4 pnfversion: 1.12.3 + OMPI: FC: nvfortran CC: nvc CXX: nvc++ @@ -39,6 +42,12 @@ jobs: steps: - uses: actions/checkout@v6 + - name: Where are things + uses: docker/build-push-action@v6 + run: ! + mpiicc -v + where mpiicc + - name: Build minimal-toolchain:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: From 0b08655a498df3e5f6bad09762239957c988b20b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:38:40 -0700 Subject: [PATCH 222/341] Update CI --- .github/workflows/build_images.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 6cc0100b4..51b3d7f7e 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -43,7 +43,6 @@ jobs: - uses: actions/checkout@v6 - name: Where are things - uses: docker/build-push-action@v6 run: ! mpiicc -v where mpiicc From 46abaaf0f7c655e2d58caae72c00300d127acb23 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:39:47 -0700 Subject: [PATCH 223/341] Update CI --- .github/workflows/build_images.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 51b3d7f7e..14822199f 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -44,7 +44,6 @@ jobs: - name: Where are things run: ! - mpiicc -v where mpiicc - name: Build minimal-toolchain:${{ matrix.toolchain }} From 4e4f4a16331619f98e1425afe518c388317c42f5 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:42:05 -0700 Subject: [PATCH 224/341] Update CI --- .github/workflows/build_images.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 14822199f..9a48e8996 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -44,7 +44,9 @@ jobs: - name: Where are things run: ! - where mpiicc + ls -l /home/ + echo "--------------------" + ls -l /home/runner/ - name: Build minimal-toolchain:${{ matrix.toolchain }} uses: docker/build-push-action@v6 From 96e187147ef6264ccb598c6105b1b75405bdf27c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:44:19 -0700 Subject: [PATCH 225/341] Update CI --- .github/workflows/build_images.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index 9a48e8996..f33cc103e 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -45,7 +45,6 @@ jobs: - name: Where are things run: ! ls -l /home/ - echo "--------------------" ls -l /home/runner/ - name: Build minimal-toolchain:${{ matrix.toolchain }} From e06139dcd5062dc90ec936e8386606c78d8cec68 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:48:44 -0700 Subject: [PATCH 226/341] Update CI --- .github/workflows/build_images.yaml | 18 ++---------------- docker/Dockerfile-oneapi-minimal | 8 +++++--- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index f33cc103e..df8efc357 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -14,39 +14,25 @@ jobs: - toolchain: oneapi nfversion: 4.5.4 pnfversion: 1.12.3 - OMPI: FC: ifx CC: icx CXX: icpx - PFC: mpiifort - PCC: mpiicc - toolchain: gnu nfversion: 4.6.2 pnfversion: 1.14.1 - OMPI: FC: gfortran CC: gcc CXX: g++ - PFC: gfortran - PCC: gcc - toolchain: nvhpc nfversion: 4.5.4 pnfversion: 1.12.3 - OMPI: FC: nvfortran CC: nvc CXX: nvc++ - PFC: nvfortran - PCC: nvc runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - name: Where are things - run: ! - ls -l /home/ - ls -l /home/runner/ - - name: Build minimal-toolchain:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: @@ -73,8 +59,8 @@ jobs: build-args: | TOOLCHAIN=${{ matrix.toolchain }} PNFVERSION=${{ matrix.pnfversion }} - FC=${{ matrix.PFC }} - CC=${{ matrix.PCC }} + FC=${{ matrix.FC }} + CC=${{ matrix.CC }} - name: Build add-nceplibs:${{ matrix.toolchain }} uses: docker/build-push-action@v6 diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 037bae8b5..0963f30d6 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -48,7 +48,9 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest ENV FC=ifx CC=icx CXX=icpx RUN . /opt/intel/oneapi/setvars.sh +ENV MPICC=mpiicx + # oneAPI with MPI wrappers -ENV FC=mpiifx CC=mpiicx CXX=mpiicpx -ENV I_MPI_CC=icx I_MPI_CXX=icpx I_MPI_FC=ifx -RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh +#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +#ENV I_MPI_CC=icx I_MPI_CXX=icpx I_MPI_FC=ifx +#RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh From 27db6f6f61caa3c6265d57d629b6c6f1ecc7eabc Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 15:53:17 -0700 Subject: [PATCH 227/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 0963f30d6..a0e8d181a 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -48,7 +48,7 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest ENV FC=ifx CC=icx CXX=icpx RUN . /opt/intel/oneapi/setvars.sh -ENV MPICC=mpiicx +ENV MPICC=mpicc # oneAPI with MPI wrappers #ENV FC=mpiifx CC=mpiicx CXX=mpiicpx From 0d05149ff41cfbc40ee07722ef81a84fd6ff7b27 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 16:02:52 -0700 Subject: [PATCH 228/341] Update CI --- docker/Dockerfile-oneapi-minimal | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index a0e8d181a..196d6751b 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -48,7 +48,9 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest ENV FC=ifx CC=icx CXX=icpx RUN . /opt/intel/oneapi/setvars.sh -ENV MPICC=mpicc +ENV MPICC=/opt/intel/oneapi/compiler/latest/bin/mpi/mpicc +RUN ls /opt/intel/oneapi/compiler/latest/bin/ +RUN ls /opt/intel/oneapi/compiler/latest/bin/mpi/ # oneAPI with MPI wrappers #ENV FC=mpiifx CC=mpiicx CXX=mpiicpx From a37411b2d3330ab3a19b60d8d0799cc19754749c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 16:05:23 -0700 Subject: [PATCH 229/341] Update CI --- docker/Dockerfile-oneapi-minimal | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 196d6751b..4a27fadae 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -49,8 +49,6 @@ ENV FC=ifx CC=icx CXX=icpx RUN . /opt/intel/oneapi/setvars.sh ENV MPICC=/opt/intel/oneapi/compiler/latest/bin/mpi/mpicc -RUN ls /opt/intel/oneapi/compiler/latest/bin/ -RUN ls /opt/intel/oneapi/compiler/latest/bin/mpi/ # oneAPI with MPI wrappers #ENV FC=mpiifx CC=mpiicx CXX=mpiicpx From 42846ec5a736e5a8c949c01eed78ca0d166015d3 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 16:09:59 -0700 Subject: [PATCH 230/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 26285ab3f..e8314213e 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -55,6 +55,11 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive + - name: Display some things + run: ! + which mpicc + ls /__w/ + - name: Setup MPI (GNU) if: matrix.fortran-compiler == 'gfortran' run: | From 9e7c1f89ac209a5060ecd15c5579629c507b9932 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 16:11:43 -0700 Subject: [PATCH 231/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index e8314213e..3cc3a1f38 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -58,7 +58,6 @@ jobs: - name: Display some things run: ! which mpicc - ls /__w/ - name: Setup MPI (GNU) if: matrix.fortran-compiler == 'gfortran' From dde8360983e5524d828b6eb7abba774835249da2 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 6 Feb 2026 16:13:57 -0700 Subject: [PATCH 232/341] Update CI --- docker/Dockerfile-oneapi-minimal | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 4a27fadae..66cd0b00a 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -48,9 +48,9 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest ENV FC=ifx CC=icx CXX=icpx RUN . /opt/intel/oneapi/setvars.sh -ENV MPICC=/opt/intel/oneapi/compiler/latest/bin/mpi/mpicc +ENV MPICC=/usr/bin/mpicc # oneAPI with MPI wrappers -#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx -#ENV I_MPI_CC=icx I_MPI_CXX=icpx I_MPI_FC=ifx -#RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh +ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +ENV I_MPI_CC=icx I_MPI_CXX=icpx I_MPI_FC=ifx +RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh From 0631ea62f6ba780688fd412530ca0ba9114d4575 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 19:00:52 -0700 Subject: [PATCH 233/341] Update CI --- .github/workflows/build_images.yaml | 46 ++++++++++++++--------------- docker/Dockerfile-add-nceplibs | 2 +- docker/Dockerfile-add-netcdf | 14 ++++----- docker/Dockerfile-oneapi-minimal | 2 +- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index df8efc357..b9f9891ef 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -14,21 +14,21 @@ jobs: - toolchain: oneapi nfversion: 4.5.4 pnfversion: 1.12.3 - FC: ifx - CC: icx - CXX: icpx +# FC: ifx +# CC: icx +# CXX: icpx - toolchain: gnu nfversion: 4.6.2 pnfversion: 1.14.1 - FC: gfortran - CC: gcc - CXX: g++ +# FC: gfortran +# CC: gcc +# CXX: g++ - toolchain: nvhpc nfversion: 4.5.4 pnfversion: 1.12.3 - FC: nvfortran - CC: nvc - CXX: nvc++ +# FC: nvfortran +# CC: nvc +# CXX: nvc++ runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 @@ -47,20 +47,20 @@ jobs: build-args: | TOOLCHAIN=${{ matrix.toolchain }} NFVERSION=${{ matrix.nfversion }} - FC=${{ matrix.FC }} - CC=${{ matrix.CC }} - CXX=${{ matrix.CXX }} - - - name: Build add-pnetcdf:${{ matrix.toolchain }} - uses: docker/build-push-action@v6 - with: - file: docker/Dockerfile-add-pnetcdf - tags: add-pnetcdf:${{ matrix.toolchain }} - build-args: | - TOOLCHAIN=${{ matrix.toolchain }} - PNFVERSION=${{ matrix.pnfversion }} - FC=${{ matrix.FC }} - CC=${{ matrix.CC }} +# FC=${{ matrix.FC }} +# CC=${{ matrix.CC }} +# CXX=${{ matrix.CXX }} +# +# - name: Build add-pnetcdf:${{ matrix.toolchain }} +# uses: docker/build-push-action@v6 +# with: +# file: docker/Dockerfile-add-pnetcdf +# tags: add-pnetcdf:${{ matrix.toolchain }} +# build-args: | +# TOOLCHAIN=${{ matrix.toolchain }} +# PNFVERSION=${{ matrix.pnfversion }} +# FC=${{ matrix.FC }} +# CC=${{ matrix.CC }} - name: Build add-nceplibs:${{ matrix.toolchain }} uses: docker/build-push-action@v6 diff --git a/docker/Dockerfile-add-nceplibs b/docker/Dockerfile-add-nceplibs index 27d431c82..6445833bf 100644 --- a/docker/Dockerfile-add-nceplibs +++ b/docker/Dockerfile-add-nceplibs @@ -3,7 +3,7 @@ # ARG TOOLCHAIN -FROM add-pnetcdf:$TOOLCHAIN +FROM add-netcdf:$TOOLCHAIN ENV NCEPLIBS_DIR=/opt/nceplibs diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 977689c4a..0c14b58ea 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -16,12 +16,12 @@ RUN apt-get update \ # The version must be compitible with NetCDF C installed above ARG NFVERSION ENV NFVERSION=$NFVERSION -ARG FC -ENV FC=$FC -ARG CC -ENV CC=$CC -ARG CXX -ENV CXX=$CXX +#ARG FC +#ENV FC=$FC +#ARG CC +#ENV CC=$CC +#ARG CXX +#ENV CXX=$CXX #RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ @@ -42,5 +42,5 @@ ENV CXX=$CXX RUN wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v$NFVERSION.tar.gz \ && tar -xzf v$NFVERSION.tar.gz \ && cd netcdf-fortran-$NFVERSION \ - && CC=$CC FC=$FC CXX=$CXX ./configure --prefix=/usr \ + && ./configure --prefix=/usr \ && make -j && make install \ No newline at end of file diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 66cd0b00a..0af3115fd 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -48,7 +48,7 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest ENV FC=ifx CC=icx CXX=icpx RUN . /opt/intel/oneapi/setvars.sh -ENV MPICC=/usr/bin/mpicc +#ENV MPICC=/usr/bin/mpicc # oneAPI with MPI wrappers ENV FC=mpiifx CC=mpiicx CXX=mpiicpx From bf7df25be8209135e015dde40b183f4a8567abf5 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 19:05:50 -0700 Subject: [PATCH 234/341] Update CI --- .github/workflows/build_images.yaml | 2 +- docker/Dockerfile-add-netcdf | 38 ++++++++++++++--------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build_images.yaml b/.github/workflows/build_images.yaml index b9f9891ef..1d8578590 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/build_images.yaml @@ -50,7 +50,7 @@ jobs: # FC=${{ matrix.FC }} # CC=${{ matrix.CC }} # CXX=${{ matrix.CXX }} -# + # - name: Build add-pnetcdf:${{ matrix.toolchain }} # uses: docker/build-push-action@v6 # with: diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 0c14b58ea..ebcbbf947 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -24,23 +24,23 @@ ENV NFVERSION=$NFVERSION #ENV CXX=$CXX -#RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ -# && cd netcdf-fortran-$NFVERSION \ -# && { ./configure \ -# CFLAGS='-O2' \ -# FCFLAGS='-O2 -fPIC' \ -# --disable-static \ -# --prefix=/usr || \ -# { cat ./config.log; exit 1; } } -#RUN cd netcdf-fortran-$NFVERSION \ -# && make -j \ -# && make install \ -# && cd .. \ -# && rm -rf netcdf-fortran-$NFVERSION \ -# && ldconfig +RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ + && cd netcdf-fortran-$NFVERSION \ + && { ./configure \ + CFLAGS='-O2' \ + FCFLAGS='-O2 -fPIC' \ + --disable-static \ + --prefix=/usr || \ + { cat ./config.log; exit 1; } } +RUN cd netcdf-fortran-$NFVERSION \ + && make -j \ + && make install \ + && cd .. \ + && rm -rf netcdf-fortran-$NFVERSION \ + && ldconfig -RUN wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v$NFVERSION.tar.gz \ - && tar -xzf v$NFVERSION.tar.gz \ - && cd netcdf-fortran-$NFVERSION \ - && ./configure --prefix=/usr \ - && make -j && make install \ No newline at end of file +#RUN wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v$NFVERSION.tar.gz \ +# && tar -xzf v$NFVERSION.tar.gz \ +# && cd netcdf-fortran-$NFVERSION \ +# && ./configure --prefix=/usr \ +# && make -j && make install \ No newline at end of file From 3338063bfb5f581ba4d30a97210b084ddd65d24d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 19:11:01 -0700 Subject: [PATCH 235/341] Update CI --- docker/Dockerfile-add-netcdf | 13 ------------- docker/Dockerfile-oneapi-minimal | 2 +- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index ebcbbf947..dabe825e5 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -16,13 +16,6 @@ RUN apt-get update \ # The version must be compitible with NetCDF C installed above ARG NFVERSION ENV NFVERSION=$NFVERSION -#ARG FC -#ENV FC=$FC -#ARG CC -#ENV CC=$CC -#ARG CXX -#ENV CXX=$CXX - RUN curl https://downloads.unidata.ucar.edu/netcdf-fortran/$NFVERSION/netcdf-fortran-$NFVERSION.tar.gz | tar xz \ && cd netcdf-fortran-$NFVERSION \ @@ -38,9 +31,3 @@ RUN cd netcdf-fortran-$NFVERSION \ && cd .. \ && rm -rf netcdf-fortran-$NFVERSION \ && ldconfig - -#RUN wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v$NFVERSION.tar.gz \ -# && tar -xzf v$NFVERSION.tar.gz \ -# && cd netcdf-fortran-$NFVERSION \ -# && ./configure --prefix=/usr \ -# && make -j && make install \ No newline at end of file diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 0af3115fd..0d9038dba 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -51,6 +51,6 @@ RUN . /opt/intel/oneapi/setvars.sh #ENV MPICC=/usr/bin/mpicc # oneAPI with MPI wrappers -ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx ENV I_MPI_CC=icx I_MPI_CXX=icpx I_MPI_FC=ifx RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh From 36adc1dc00106cf902eb819bf34a1aa6eeab5ec0 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 19:20:23 -0700 Subject: [PATCH 236/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 3cc3a1f38..26285ab3f 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -55,10 +55,6 @@ jobs: cd ${SCM_ROOT} git submodule update --init --recursive - - name: Display some things - run: ! - which mpicc - - name: Setup MPI (GNU) if: matrix.fortran-compiler == 'gfortran' run: | From 6bc8061de7d061fc43d0ab9d364d424e3d294c4f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 19:27:56 -0700 Subject: [PATCH 237/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 3 ++ test/verify-mpi.sh | 38 ++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 test/verify-mpi.sh diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 26285ab3f..052bcee7a 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -89,6 +89,9 @@ jobs: cd ${SCM_ROOT}/scm/bin make -j4 + - name: Verify MPI installation + run: bash ci/verify-mpi.sh ${{ matrix.fortran-compiler }} + ####################################################################################### # Run regression tests. ####################################################################################### diff --git a/test/verify-mpi.sh b/test/verify-mpi.sh new file mode 100644 index 000000000..edc4aa6ca --- /dev/null +++ b/test/verify-mpi.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Verify Intel MPI is installed and configured correctly +# Usage: verify-mpi.sh [oneapi|classic] + +set +e + +COMPILER_TYPE="${1:-oneapi}" + +echo "=== Checking MPI Installation (${COMPILER_TYPE}) ===" + +if [ "$COMPILER_TYPE" = "oneapi" ]; then + for compiler in mpiicx mpiicpx mpiifx; do + which $compiler || { echo "ERROR: $compiler not found"; } + done + mpiicx --version + echo "CC: $CC , should be mpiicx" + echo "CXX: $CXX , should be mpiicpx" + echo "FC: $FC , should be mpiifx" + test "$CC" = "mpiicx" || { echo "ERROR: CC should be mpiicx but is $CC"; exit 1; } + test "$CXX" = "mpiicpx" || { echo "ERROR: CXX should be mpiicpx but is $CXX"; exit 1; } + test "$FC" = "mpiifx" || { echo "ERROR: FC should be mpiifx but is $FC"; exit 1; } +else + for compiler in mpiicc mpiicx mpiifort; do + which $compiler || { echo "ERROR: $compiler not found"; } + done + mpiicc --version + echo "CC: $CC , should be mpiicc" + echo "CXX: $CXX , should be mpiicpc" + echo "FC: $FC , should be mpiifort" + test "$CC" = "mpiicc" || { echo "ERROR: CC should be mpiicc but is $CC"; exit 1; } + test "$CXX" = "mpiicpc" || { echo "ERROR: CXX should be mpiicpc but is $CXX"; exit 1; } + test "$FC" = "mpiifort" || { echo "ERROR: FC should be mpiifort but is $FC"; exit 1; } +fi + +which mpirun +mpirun --version + +echo "✓ MPI installation verified successfully" From 1d2521f02884ffddaa1618e8586ff4c65031d514 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 19:29:01 -0700 Subject: [PATCH 238/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 052bcee7a..9ca4b2665 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -90,7 +90,7 @@ jobs: make -j4 - name: Verify MPI installation - run: bash ci/verify-mpi.sh ${{ matrix.fortran-compiler }} + run: bash ci/verify-mpi.sh ${{ matrix.fortran-compiler }} ####################################################################################### # Run regression tests. From 9a73f7b3f4f9bde5bad574e1f8249e758be7823b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 19:54:25 -0700 Subject: [PATCH 239/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 9ca4b2665..3352044ad 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -90,7 +90,7 @@ jobs: make -j4 - name: Verify MPI installation - run: bash ci/verify-mpi.sh ${{ matrix.fortran-compiler }} + run: bash test/verify-mpi.sh ${{ matrix.fortran-compiler }} ####################################################################################### # Run regression tests. From 4649d2a3596a8b186b1fb359396323c473a5c16a Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:01:37 -0700 Subject: [PATCH 240/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 3352044ad..60c941ad4 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -59,6 +59,9 @@ jobs: if: matrix.fortran-compiler == 'gfortran' run: | echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV + echo "CC=mpiicx" >> $GITHUB_ENV + echo "CXX=mpiicpx" >> $GITHUB_ENV + echo "FC=mpiifx" >> $GITHUB_ENV - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' @@ -67,6 +70,9 @@ jobs: echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV + echo "CC=mpiicc" >> $GITHUB_ENV + echo "CXX=mpiicpc" >> $GITHUB_ENV + echo "FC=mpiifort" >> $GITHUB_ENV ####################################################################################### # Build SCM. From c31c48b81bfd2ce54f3669cf7b3766b0d4b6743f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:07:18 -0700 Subject: [PATCH 241/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 60c941ad4..3381473c2 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -60,7 +60,7 @@ jobs: run: | echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV echo "CC=mpiicx" >> $GITHUB_ENV - echo "CXX=mpiicpx" >> $GITHUB_ENV + echo "CXX=mpiicpx" >> $GITHUB_ENV echo "FC=mpiifx" >> $GITHUB_ENV - name: Setup MPI (Intel OneAPI) From aac3fc2bce86aec9169d5faf6af7612c9a5acd89 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:11:18 -0700 Subject: [PATCH 242/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 3381473c2..bcf4c4383 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -74,6 +74,9 @@ jobs: echo "CXX=mpiicpc" >> $GITHUB_ENV echo "FC=mpiifort" >> $GITHUB_ENV + - name: Verify MPI installation + run: bash test/verify-mpi.sh ${{ matrix.fortran-compiler }} + ####################################################################################### # Build SCM. ####################################################################################### @@ -95,9 +98,6 @@ jobs: cd ${SCM_ROOT}/scm/bin make -j4 - - name: Verify MPI installation - run: bash test/verify-mpi.sh ${{ matrix.fortran-compiler }} - ####################################################################################### # Run regression tests. ####################################################################################### From c6553e8cdd58865f330d8b17ea1a855eea3335c6 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:16:26 -0700 Subject: [PATCH 243/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index bcf4c4383..a30a514a8 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -59,9 +59,9 @@ jobs: if: matrix.fortran-compiler == 'gfortran' run: | echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV - echo "CC=mpiicx" >> $GITHUB_ENV - echo "CXX=mpiicpx" >> $GITHUB_ENV - echo "FC=mpiifx" >> $GITHUB_ENV + echo "CC=mpiicc" >> $GITHUB_ENV + echo "CXX=mpiicpc" >> $GITHUB_ENV + echo "FC=mpiifort" >> $GITHUB_ENV - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' @@ -70,9 +70,9 @@ jobs: echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV - echo "CC=mpiicc" >> $GITHUB_ENV - echo "CXX=mpiicpc" >> $GITHUB_ENV - echo "FC=mpiifort" >> $GITHUB_ENV + echo "CC=mpiicx" >> $GITHUB_ENV + echo "CXX=mpiicpx" >> $GITHUB_ENV + echo "FC=mpiifx" >> $GITHUB_ENV - name: Verify MPI installation run: bash test/verify-mpi.sh ${{ matrix.fortran-compiler }} From a5d46e0d565e424d720765b0a8d4d3bc88e72892 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:21:10 -0700 Subject: [PATCH 244/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index a30a514a8..398c669d6 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -63,6 +63,10 @@ jobs: echo "CXX=mpiicpc" >> $GITHUB_ENV echo "FC=mpiifort" >> $GITHUB_ENV + - name: Verify MPI installation (GNU) + if: matrix.fortran-compiler == 'gfortran' + run: bash test/verify-mpi.sh gfortran + - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' run: | @@ -74,8 +78,9 @@ jobs: echo "CXX=mpiicpx" >> $GITHUB_ENV echo "FC=mpiifx" >> $GITHUB_ENV - - name: Verify MPI installation - run: bash test/verify-mpi.sh ${{ matrix.fortran-compiler }} + - name: Verify MPI installation (Intel OneAPI) + if: matrix.fortran-compiler == 'ifx' + run: bash test/verify-mpi.sh oneapi ####################################################################################### # Build SCM. From 51ea691f911953f97c0ac357e63c894c6e45d998 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:27:27 -0700 Subject: [PATCH 245/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 398c669d6..ffead96bc 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -59,13 +59,9 @@ jobs: if: matrix.fortran-compiler == 'gfortran' run: | echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV - echo "CC=mpiicc" >> $GITHUB_ENV - echo "CXX=mpiicpc" >> $GITHUB_ENV - echo "FC=mpiifort" >> $GITHUB_ENV - - - name: Verify MPI installation (GNU) - if: matrix.fortran-compiler == 'gfortran' - run: bash test/verify-mpi.sh gfortran + echo "CC=mpicc" >> $GITHUB_ENV + echo "CXX=mpicxx" >> $GITHUB_ENV + echo "FC=mpif90" >> $GITHUB_ENV - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' From 1f737f72aa895b8c81805173950028605e2b2ec2 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:33:28 -0700 Subject: [PATCH 246/341] Update CI --- test/verify-mpi.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/verify-mpi.sh b/test/verify-mpi.sh index edc4aa6ca..b559c1fe0 100644 --- a/test/verify-mpi.sh +++ b/test/verify-mpi.sh @@ -19,6 +19,17 @@ if [ "$COMPILER_TYPE" = "oneapi" ]; then test "$CC" = "mpiicx" || { echo "ERROR: CC should be mpiicx but is $CC"; exit 1; } test "$CXX" = "mpiicpx" || { echo "ERROR: CXX should be mpiicpx but is $CXX"; exit 1; } test "$FC" = "mpiifx" || { echo "ERROR: FC should be mpiifx but is $FC"; exit 1; } +elif ["$COMPILER_TYPE" = "gfortran"]; then + for compiler in mpicc mpicxx mpif90; do + which $compiler || { echo "ERROR: $compiler not found"; } + done + mpicc --version + echo "CC: $CC , should be mpicc" + echo "CXX: $CXX , should be mpicxx" + echo "FC: $FC , should be mpif90" + test "$CC" = "mpicc" || { echo "ERROR: CC should be mpicc but is $CC"; exit 1; } + test "$CXX" = "mpicxx" || { echo "ERROR: CXX should be mpicxx but is $CXX"; exit 1; } + test "$FC" = "mpif90" || { echo "ERROR: FC should be mpif90 but is $FC"; exit 1; } else for compiler in mpiicc mpiicx mpiifort; do which $compiler || { echo "ERROR: $compiler not found"; } From a62af16c4766fd8adfc859446493ed8fc669bfb0 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:37:34 -0700 Subject: [PATCH 247/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index ffead96bc..222774b33 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -63,6 +63,16 @@ jobs: echo "CXX=mpicxx" >> $GITHUB_ENV echo "FC=mpif90" >> $GITHUB_ENV + - name: Verify MPI installation (GNU) + if: matrix.fortran-compiler == 'gfortran' + run: bash test/verify-mpi.sh gfortran + + - name: setvars + if: matrix.fortran-compiler == 'ifx' + run: | + bash /opt/intel/oneapi/setvars.sh + bash /opt/intel/oneapi/mpi/latest/env/vars.sh + - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' run: | @@ -70,9 +80,9 @@ jobs: echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV - echo "CC=mpiicx" >> $GITHUB_ENV - echo "CXX=mpiicpx" >> $GITHUB_ENV - echo "FC=mpiifx" >> $GITHUB_ENV +# echo "CC=mpiicx" >> $GITHUB_ENV +# echo "CXX=mpiicpx" >> $GITHUB_ENV +# echo "FC=mpiifx" >> $GITHUB_ENV - name: Verify MPI installation (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' From 94f561941bf177ef3fa4a915f7198b48b5fde0d3 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:44:58 -0700 Subject: [PATCH 248/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- test/verify-mpi.sh | 15 ++------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 222774b33..9408eabf0 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -70,8 +70,8 @@ jobs: - name: setvars if: matrix.fortran-compiler == 'ifx' run: | - bash /opt/intel/oneapi/setvars.sh - bash /opt/intel/oneapi/mpi/latest/env/vars.sh + source /opt/intel/oneapi/setvars.sh + source /opt/intel/oneapi/mpi/latest/env/vars.sh - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' diff --git a/test/verify-mpi.sh b/test/verify-mpi.sh index b559c1fe0..3920df988 100644 --- a/test/verify-mpi.sh +++ b/test/verify-mpi.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Verify Intel MPI is installed and configured correctly +# Verify MPI is installed and configured correctly # Usage: verify-mpi.sh [oneapi|classic] set +e @@ -19,7 +19,7 @@ if [ "$COMPILER_TYPE" = "oneapi" ]; then test "$CC" = "mpiicx" || { echo "ERROR: CC should be mpiicx but is $CC"; exit 1; } test "$CXX" = "mpiicpx" || { echo "ERROR: CXX should be mpiicpx but is $CXX"; exit 1; } test "$FC" = "mpiifx" || { echo "ERROR: FC should be mpiifx but is $FC"; exit 1; } -elif ["$COMPILER_TYPE" = "gfortran"]; then +else for compiler in mpicc mpicxx mpif90; do which $compiler || { echo "ERROR: $compiler not found"; } done @@ -30,17 +30,6 @@ elif ["$COMPILER_TYPE" = "gfortran"]; then test "$CC" = "mpicc" || { echo "ERROR: CC should be mpicc but is $CC"; exit 1; } test "$CXX" = "mpicxx" || { echo "ERROR: CXX should be mpicxx but is $CXX"; exit 1; } test "$FC" = "mpif90" || { echo "ERROR: FC should be mpif90 but is $FC"; exit 1; } -else - for compiler in mpiicc mpiicx mpiifort; do - which $compiler || { echo "ERROR: $compiler not found"; } - done - mpiicc --version - echo "CC: $CC , should be mpiicc" - echo "CXX: $CXX , should be mpiicpc" - echo "FC: $FC , should be mpiifort" - test "$CC" = "mpiicc" || { echo "ERROR: CC should be mpiicc but is $CC"; exit 1; } - test "$CXX" = "mpiicpc" || { echo "ERROR: CXX should be mpiicpc but is $CXX"; exit 1; } - test "$FC" = "mpiifort" || { echo "ERROR: FC should be mpiifort but is $FC"; exit 1; } fi which mpirun From 63af636e5bd1d695215eba7312829e411f45f90f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:51:10 -0700 Subject: [PATCH 249/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 9408eabf0..9eae48af2 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -71,8 +71,14 @@ jobs: if: matrix.fortran-compiler == 'ifx' run: | source /opt/intel/oneapi/setvars.sh + shell: bash + + - name: setvars2 + if: matrix.fortran-compiler == 'ifx' + run: | source /opt/intel/oneapi/mpi/latest/env/vars.sh - + shell: bash + - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' run: | From fddad7b171baf7b94303dcca2a2c511a0eab49a1 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:54:31 -0700 Subject: [PATCH 250/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 9eae48af2..e3e46853a 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -67,6 +67,10 @@ jobs: if: matrix.fortran-compiler == 'gfortran' run: bash test/verify-mpi.sh gfortran + - name: display1 + run: | + ls /opt/intel/oneapi/mpi/latest/env/ + - name: setvars if: matrix.fortran-compiler == 'ifx' run: | From 5714345d3f0d4d1affe0b589fbde5099f1558338 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 20:57:38 -0700 Subject: [PATCH 251/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ---- docker/Dockerfile-oneapi-minimal | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index e3e46853a..9eae48af2 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -67,10 +67,6 @@ jobs: if: matrix.fortran-compiler == 'gfortran' run: bash test/verify-mpi.sh gfortran - - name: display1 - run: | - ls /opt/intel/oneapi/mpi/latest/env/ - - name: setvars if: matrix.fortran-compiler == 'ifx' run: | diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 0d9038dba..0af3115fd 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -51,6 +51,6 @@ RUN . /opt/intel/oneapi/setvars.sh #ENV MPICC=/usr/bin/mpicc # oneAPI with MPI wrappers -#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +ENV FC=mpiifx CC=mpiicx CXX=mpiicpx ENV I_MPI_CC=icx I_MPI_CXX=icpx I_MPI_FC=ifx RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh From 8a9eb9e893b1135e9d54a7856ac59d9fdfa3b692 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 21:01:07 -0700 Subject: [PATCH 252/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 6 +++--- docker/Dockerfile-gnu-minimal | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 9eae48af2..162fbc796 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -59,9 +59,9 @@ jobs: if: matrix.fortran-compiler == 'gfortran' run: | echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV - echo "CC=mpicc" >> $GITHUB_ENV - echo "CXX=mpicxx" >> $GITHUB_ENV - echo "FC=mpif90" >> $GITHUB_ENV +# echo "CC=mpicc" >> $GITHUB_ENV +# echo "CXX=mpicxx" >> $GITHUB_ENV +# echo "FC=mpif90" >> $GITHUB_ENV - name: Verify MPI installation (GNU) if: matrix.fortran-compiler == 'gfortran' diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index 0857b5d1d..86db52ebd 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -25,4 +25,5 @@ RUN apt-get update \ file \ libxml2 -ENV FC=gfortran CC=gcc F77=gfortran +#ENV FC=gfortran CC=gcc F77=gfortran +ENV FC=mpif90 CC=mpicc CXX=mpicxx \ No newline at end of file From 341a21019d0d91cddb9402dfced68f24f585bfc0 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 21:24:38 -0700 Subject: [PATCH 253/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 29 ++++++++---------------- docker/Dockerfile-gnu-minimal | 1 - docker/Dockerfile-nvhpc-minimal | 3 ++- docker/Dockerfile-oneapi-minimal | 12 +++------- test/verify-mpi.sh | 16 +++++++++++-- 5 files changed, 29 insertions(+), 32 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 162fbc796..00f8d30ae 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - fortran-compiler: [ifx, gfortran] + fortran-compiler: [ifx, gfortran, nvfortran] build-type: [Release, Debug] include: # Set container images for each compiler @@ -21,6 +21,8 @@ jobs: image: dustinswales/ccpp-scm-ci:oneapi - fortran-compiler: gfortran image: dustinswales/ccpp-scm-ci:gnu + - fortran-compiler: nvfortran + image: dustinswales/ccpp-scm-ci:nvhpc container: image: ${{ matrix.image }} env: @@ -59,13 +61,10 @@ jobs: if: matrix.fortran-compiler == 'gfortran' run: | echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV -# echo "CC=mpicc" >> $GITHUB_ENV -# echo "CXX=mpicxx" >> $GITHUB_ENV -# echo "FC=mpif90" >> $GITHUB_ENV - - name: Verify MPI installation (GNU) - if: matrix.fortran-compiler == 'gfortran' - run: bash test/verify-mpi.sh gfortran +# - name: Verify MPI installation (GNU) +# if: matrix.fortran-compiler == 'gfortran' +# run: bash test/verify-mpi.sh gfortran - name: setvars if: matrix.fortran-compiler == 'ifx' @@ -73,12 +72,6 @@ jobs: source /opt/intel/oneapi/setvars.sh shell: bash - - name: setvars2 - if: matrix.fortran-compiler == 'ifx' - run: | - source /opt/intel/oneapi/mpi/latest/env/vars.sh - shell: bash - - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' run: | @@ -86,13 +79,11 @@ jobs: echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV -# echo "CC=mpiicx" >> $GITHUB_ENV -# echo "CXX=mpiicpx" >> $GITHUB_ENV -# echo "FC=mpiifx" >> $GITHUB_ENV - - name: Verify MPI installation (Intel OneAPI) - if: matrix.fortran-compiler == 'ifx' - run: bash test/verify-mpi.sh oneapi + - name: Verify MPI installation + run: | + source test/verify-mpi.sh matrix.fortran-compiler + shell: bash ####################################################################################### # Build SCM. diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index 86db52ebd..eeb572d5d 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -25,5 +25,4 @@ RUN apt-get update \ file \ libxml2 -#ENV FC=gfortran CC=gcc F77=gfortran ENV FC=mpif90 CC=mpicc CXX=mpicxx \ No newline at end of file diff --git a/docker/Dockerfile-nvhpc-minimal b/docker/Dockerfile-nvhpc-minimal index 46ba8b427..ad16bcbe7 100644 --- a/docker/Dockerfile-nvhpc-minimal +++ b/docker/Dockerfile-nvhpc-minimal @@ -26,5 +26,6 @@ RUN apt-get update \ ENV PATH="/opt/nvidia/hpc_sdk/Linux_x86_64/${NVHPC_VERSION_MAJOR}.${NVHPC_VERSION_MINOR}/compilers/bin:${PATH}" # Set default compiler executables -ENV FC=nvfortran CC=nvc CXX=nvc++ +#ENV FC=nvfortran CC=nvc CXX=nvc++ ENV MPICC=mpicc +ENV FC=mpifort CC=mpicc CXX=mpic++ \ No newline at end of file diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 0af3115fd..2a5123455 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -39,18 +39,12 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ && rm -rf /var/lib/apt/lists/* -ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" -ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" +#ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" +#ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest # oneAPI environments -ENV FC=ifx CC=icx CXX=icpx RUN . /opt/intel/oneapi/setvars.sh - -#ENV MPICC=/usr/bin/mpicc - -# oneAPI with MPI wrappers +#ENV FC=ifx CC=icx CXX=icpx ENV FC=mpiifx CC=mpiicx CXX=mpiicpx -ENV I_MPI_CC=icx I_MPI_CXX=icpx I_MPI_FC=ifx -RUN . /opt/intel/oneapi/mpi/latest/env/vars.sh diff --git a/test/verify-mpi.sh b/test/verify-mpi.sh index 3920df988..99e3896e2 100644 --- a/test/verify-mpi.sh +++ b/test/verify-mpi.sh @@ -16,9 +16,9 @@ if [ "$COMPILER_TYPE" = "oneapi" ]; then echo "CC: $CC , should be mpiicx" echo "CXX: $CXX , should be mpiicpx" echo "FC: $FC , should be mpiifx" - test "$CC" = "mpiicx" || { echo "ERROR: CC should be mpiicx but is $CC"; exit 1; } + test "$CC" = "mpiicx" || { echo "ERROR: CC should be mpiicx but is $CC"; exit 1; } test "$CXX" = "mpiicpx" || { echo "ERROR: CXX should be mpiicpx but is $CXX"; exit 1; } - test "$FC" = "mpiifx" || { echo "ERROR: FC should be mpiifx but is $FC"; exit 1; } + test "$FC" = "mpiifx" || { echo "ERROR: FC should be mpiifx but is $FC"; exit 1; } else for compiler in mpicc mpicxx mpif90; do which $compiler || { echo "ERROR: $compiler not found"; } @@ -31,6 +31,18 @@ else test "$CXX" = "mpicxx" || { echo "ERROR: CXX should be mpicxx but is $CXX"; exit 1; } test "$FC" = "mpif90" || { echo "ERROR: FC should be mpif90 but is $FC"; exit 1; } fi +if [ "$COMPILER_TYPE" = "nvhpc" ]; then + for compiler in mpicc mpic++ mpifort; do + which $compiler || { echo "ERROR: $compiler not found"; } + done + mpicc --version + echo "CC: $CC , should be mpicc" + echo "CXX: $CXX , should be mpic++" + echo "FC: $FC , should be mpifort" + test "$CC" = "mpicc" || { echo "ERROR: CC should be mpicc but is $CC"; exit 1; } + test "$CXX" = "mpic++" || { echo "ERROR: CXX should be mpic++ but is $CXX"; exit 1; } + test "$FC" = "mpifort" || { echo "ERROR: FC should be mpifort but is $FC"; exit 1; } +fi which mpirun mpirun --version From d67d26d5966ffbfba17937e75b7081258dd31da2 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 21:28:29 -0700 Subject: [PATCH 254/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- test/verify-mpi.sh | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 00f8d30ae..dc26e9181 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -82,7 +82,7 @@ jobs: - name: Verify MPI installation run: | - source test/verify-mpi.sh matrix.fortran-compiler + source test/verify-mpi.sh ${{matrix.fortran-compiler}} shell: bash ####################################################################################### diff --git a/test/verify-mpi.sh b/test/verify-mpi.sh index 99e3896e2..2d687ace0 100644 --- a/test/verify-mpi.sh +++ b/test/verify-mpi.sh @@ -8,7 +8,7 @@ COMPILER_TYPE="${1:-oneapi}" echo "=== Checking MPI Installation (${COMPILER_TYPE}) ===" -if [ "$COMPILER_TYPE" = "oneapi" ]; then +if [ "$COMPILER_TYPE" = "ifx" ]; then for compiler in mpiicx mpiicpx mpiifx; do which $compiler || { echo "ERROR: $compiler not found"; } done @@ -19,7 +19,8 @@ if [ "$COMPILER_TYPE" = "oneapi" ]; then test "$CC" = "mpiicx" || { echo "ERROR: CC should be mpiicx but is $CC"; exit 1; } test "$CXX" = "mpiicpx" || { echo "ERROR: CXX should be mpiicpx but is $CXX"; exit 1; } test "$FC" = "mpiifx" || { echo "ERROR: FC should be mpiifx but is $FC"; exit 1; } -else +fi +if [ "$COMPILER_TYPE" = "gfortran" ]; then for compiler in mpicc mpicxx mpif90; do which $compiler || { echo "ERROR: $compiler not found"; } done @@ -31,7 +32,7 @@ else test "$CXX" = "mpicxx" || { echo "ERROR: CXX should be mpicxx but is $CXX"; exit 1; } test "$FC" = "mpif90" || { echo "ERROR: FC should be mpif90 but is $FC"; exit 1; } fi -if [ "$COMPILER_TYPE" = "nvhpc" ]; then +if [ "$COMPILER_TYPE" = "nvfortran" ]; then for compiler in mpicc mpic++ mpifort; do which $compiler || { echo "ERROR: $compiler not found"; } done From 3034d1cb8f7e6a6f6cf41c2d630bcbe4a8946f10 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 21:39:08 -0700 Subject: [PATCH 255/341] Update CI --- docker/Dockerfile-oneapi-minimal | 3 ++- test/verify-mpi.sh | 26 ++++++++++++++++++-------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 2a5123455..cb56d4455 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -47,4 +47,5 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest # oneAPI environments RUN . /opt/intel/oneapi/setvars.sh #ENV FC=ifx CC=icx CXX=icpx -ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +ENV FC=mpiifort CC=mpiicc CXX=mpiicpc \ No newline at end of file diff --git a/test/verify-mpi.sh b/test/verify-mpi.sh index 2d687ace0..dff436250 100644 --- a/test/verify-mpi.sh +++ b/test/verify-mpi.sh @@ -9,16 +9,26 @@ COMPILER_TYPE="${1:-oneapi}" echo "=== Checking MPI Installation (${COMPILER_TYPE}) ===" if [ "$COMPILER_TYPE" = "ifx" ]; then - for compiler in mpiicx mpiicpx mpiifx; do +# for compiler in mpiicx mpiicpx mpiifx; do +# which $compiler || { echo "ERROR: $compiler not found"; } +# done +# mpiicx --version +# echo "CC: $CC , should be mpiicx" +# echo "CXX: $CXX , should be mpiicpx" +# echo "FC: $FC , should be mpiifx" +# test "$CC" = "mpiicx" || { echo "ERROR: CC should be mpiicx but is $CC"; exit 1; } +# test "$CXX" = "mpiicpx" || { echo "ERROR: CXX should be mpiicpx but is $CXX"; exit 1; } +# test "$FC" = "mpiifx" || { echo "ERROR: FC should be mpiifx but is $FC"; exit 1; } + for compiler in mpiicc mpiicpc mpiifort; do which $compiler || { echo "ERROR: $compiler not found"; } done - mpiicx --version - echo "CC: $CC , should be mpiicx" - echo "CXX: $CXX , should be mpiicpx" - echo "FC: $FC , should be mpiifx" - test "$CC" = "mpiicx" || { echo "ERROR: CC should be mpiicx but is $CC"; exit 1; } - test "$CXX" = "mpiicpx" || { echo "ERROR: CXX should be mpiicpx but is $CXX"; exit 1; } - test "$FC" = "mpiifx" || { echo "ERROR: FC should be mpiifx but is $FC"; exit 1; } + mpiicc --version + echo "CC: $CC , should be mpiicc" + echo "CXX: $CXX , should be mpiicpc" + echo "FC: $FC , should be mpiifort" + test "$CC" = "mpiicc" || { echo "ERROR: CC should be mpiicc but is $CC"; exit 1; } + test "$CXX" = "mpiicpc" || { echo "ERROR: CXX should be mpiicpc but is $CXX"; exit 1; } + test "$FC" = "mpiifort" || { echo "ERROR: FC should be mpiifort but is $FC"; exit 1; } fi if [ "$COMPILER_TYPE" = "gfortran" ]; then for compiler in mpicc mpicxx mpif90; do From aed86afeb63f7a5de665d91248cabedb8e8a95c8 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 21:46:12 -0700 Subject: [PATCH 256/341] Update CI --- docker/Dockerfile-nvhpc-minimal | 4 +++- docker/Dockerfile-oneapi-minimal | 9 +++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile-nvhpc-minimal b/docker/Dockerfile-nvhpc-minimal index ad16bcbe7..07d8f5a54 100644 --- a/docker/Dockerfile-nvhpc-minimal +++ b/docker/Dockerfile-nvhpc-minimal @@ -11,7 +11,9 @@ RUN apt-get update \ gpg \ make \ cmake \ - git + git \ + libopenmpi-dev \ + openmpi-bin RUN curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK \ | gpg --dearmor > /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg \ && echo "deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /" > /etc/apt/sources.list.d/nvhpc.list \ diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index cb56d4455..d1ec4b125 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -21,7 +21,9 @@ RUN apt-get update \ m4 \ tcsh \ time \ - vim + vim \ + libopenmpi-dev \ + openmpi-bin # See https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2025-2/hpc-apt.html @@ -46,6 +48,5 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest # oneAPI environments RUN . /opt/intel/oneapi/setvars.sh -#ENV FC=ifx CC=icx CXX=icpx -#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx -ENV FC=mpiifort CC=mpiicc CXX=mpiicpc \ No newline at end of file +ENV FC=ifx CC=icx CXX=icpx +ENV FC=mpiifx CC=mpiicx CXX=mpiicpx From 4792b08511c795a320bfe5c4f65952eb4856297c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 21:50:53 -0700 Subject: [PATCH 257/341] Update CI --- docker/Dockerfile-nvhpc-minimal | 4 ++-- docker/Dockerfile-oneapi-minimal | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile-nvhpc-minimal b/docker/Dockerfile-nvhpc-minimal index 07d8f5a54..c4b743298 100644 --- a/docker/Dockerfile-nvhpc-minimal +++ b/docker/Dockerfile-nvhpc-minimal @@ -28,6 +28,6 @@ RUN apt-get update \ ENV PATH="/opt/nvidia/hpc_sdk/Linux_x86_64/${NVHPC_VERSION_MAJOR}.${NVHPC_VERSION_MINOR}/compilers/bin:${PATH}" # Set default compiler executables -#ENV FC=nvfortran CC=nvc CXX=nvc++ +ENV FC=nvfortran CC=nvc CXX=nvc++ ENV MPICC=mpicc -ENV FC=mpifort CC=mpicc CXX=mpic++ \ No newline at end of file +#ENV FC=mpifort CC=mpicc CXX=mpic++ \ No newline at end of file diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index d1ec4b125..88073f1a7 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -49,4 +49,4 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest # oneAPI environments RUN . /opt/intel/oneapi/setvars.sh ENV FC=ifx CC=icx CXX=icpx -ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx From 9e4763f7ec0443e47820decac5ba2a2c3f29fff7 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 21:56:10 -0700 Subject: [PATCH 258/341] Update CI --- docker/Dockerfile-add-netcdf | 4 +++- docker/Dockerfile-nvhpc-minimal | 8 +++----- docker/Dockerfile-oneapi-minimal | 8 +++----- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index dabe825e5..231b543a3 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -9,7 +9,9 @@ FROM minimal-toolchain:$TOOLCHAIN RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ curl \ - libnetcdf-dev \ + libnetcdf-dev \ + libopenmpi-dev \ + openmpi-bin \ && rm -rf /var/lib/apt/lists/* # Install NetCDF Fortran diff --git a/docker/Dockerfile-nvhpc-minimal b/docker/Dockerfile-nvhpc-minimal index c4b743298..b5348c090 100644 --- a/docker/Dockerfile-nvhpc-minimal +++ b/docker/Dockerfile-nvhpc-minimal @@ -11,9 +11,7 @@ RUN apt-get update \ gpg \ make \ cmake \ - git \ - libopenmpi-dev \ - openmpi-bin + git RUN curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK \ | gpg --dearmor > /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg \ && echo "deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /" > /etc/apt/sources.list.d/nvhpc.list \ @@ -28,6 +26,6 @@ RUN apt-get update \ ENV PATH="/opt/nvidia/hpc_sdk/Linux_x86_64/${NVHPC_VERSION_MAJOR}.${NVHPC_VERSION_MINOR}/compilers/bin:${PATH}" # Set default compiler executables -ENV FC=nvfortran CC=nvc CXX=nvc++ +#ENV FC=nvfortran CC=nvc CXX=nvc++ ENV MPICC=mpicc -#ENV FC=mpifort CC=mpicc CXX=mpic++ \ No newline at end of file +ENV FC=mpifort CC=mpicc CXX=mpic++ \ No newline at end of file diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 88073f1a7..2a5123455 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -21,9 +21,7 @@ RUN apt-get update \ m4 \ tcsh \ time \ - vim \ - libopenmpi-dev \ - openmpi-bin + vim # See https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2025-2/hpc-apt.html @@ -48,5 +46,5 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest # oneAPI environments RUN . /opt/intel/oneapi/setvars.sh -ENV FC=ifx CC=icx CXX=icpx -#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +#ENV FC=ifx CC=icx CXX=icpx +ENV FC=mpiifx CC=mpiicx CXX=mpiicpx From 140001ea6f5523867d5247c7aaf16a212def5793 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 22:05:47 -0700 Subject: [PATCH 259/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 17 ++++++++--- docker/Dockerfile-nvhpc-minimal | 2 +- docker/Dockerfile-oneapi-minimal | 4 +-- test/verify-mpi.sh | 36 ++++++++++++------------ 4 files changed, 34 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index dc26e9181..d4c90f6ac 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -61,10 +61,9 @@ jobs: if: matrix.fortran-compiler == 'gfortran' run: | echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV - -# - name: Verify MPI installation (GNU) -# if: matrix.fortran-compiler == 'gfortran' -# run: bash test/verify-mpi.sh gfortran + echo "CC=mpicc" >> $GITHUB_ENV + echo "CXX=mpicxx" >> $GITHUB_ENV + echo "FC=mpif90" >> $GITHUB_ENV - name: setvars if: matrix.fortran-compiler == 'ifx' @@ -79,6 +78,16 @@ jobs: echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV + echo "CC=mpiicx" >> $GITHUB_ENV + echo "CXX=mpiicpx" >> $GITHUB_ENV + echo "FC=mpiifx" >> $GITHUB_ENV + + - name: Setup MPI (Nvidia) + if: matrix.fortran-compiler == 'nvfortran' + run: | + echo "CC=mpicc" >> $GITHUB_ENV + echo "CXX=mpic++" >> $GITHUB_ENV + echo "FC=mpifort" >> $GITHUB_ENV - name: Verify MPI installation run: | diff --git a/docker/Dockerfile-nvhpc-minimal b/docker/Dockerfile-nvhpc-minimal index b5348c090..ca5570ccb 100644 --- a/docker/Dockerfile-nvhpc-minimal +++ b/docker/Dockerfile-nvhpc-minimal @@ -28,4 +28,4 @@ ENV PATH="/opt/nvidia/hpc_sdk/Linux_x86_64/${NVHPC_VERSION_MAJOR}.${NVHPC_VERSIO # Set default compiler executables #ENV FC=nvfortran CC=nvc CXX=nvc++ ENV MPICC=mpicc -ENV FC=mpifort CC=mpicc CXX=mpic++ \ No newline at end of file +#ENV FC=mpifort CC=mpicc CXX=mpic++ \ No newline at end of file diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 2a5123455..208721450 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -46,5 +46,5 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest # oneAPI environments RUN . /opt/intel/oneapi/setvars.sh -#ENV FC=ifx CC=icx CXX=icpx -ENV FC=mpiifx CC=mpiicx CXX=mpiicpx +ENV FC=ifx CC=icx CXX=icpx +#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx diff --git a/test/verify-mpi.sh b/test/verify-mpi.sh index dff436250..d430c2d46 100644 --- a/test/verify-mpi.sh +++ b/test/verify-mpi.sh @@ -9,26 +9,26 @@ COMPILER_TYPE="${1:-oneapi}" echo "=== Checking MPI Installation (${COMPILER_TYPE}) ===" if [ "$COMPILER_TYPE" = "ifx" ]; then -# for compiler in mpiicx mpiicpx mpiifx; do -# which $compiler || { echo "ERROR: $compiler not found"; } -# done -# mpiicx --version -# echo "CC: $CC , should be mpiicx" -# echo "CXX: $CXX , should be mpiicpx" -# echo "FC: $FC , should be mpiifx" -# test "$CC" = "mpiicx" || { echo "ERROR: CC should be mpiicx but is $CC"; exit 1; } -# test "$CXX" = "mpiicpx" || { echo "ERROR: CXX should be mpiicpx but is $CXX"; exit 1; } -# test "$FC" = "mpiifx" || { echo "ERROR: FC should be mpiifx but is $FC"; exit 1; } - for compiler in mpiicc mpiicpc mpiifort; do + for compiler in mpiicx mpiicpx mpiifx; do which $compiler || { echo "ERROR: $compiler not found"; } done - mpiicc --version - echo "CC: $CC , should be mpiicc" - echo "CXX: $CXX , should be mpiicpc" - echo "FC: $FC , should be mpiifort" - test "$CC" = "mpiicc" || { echo "ERROR: CC should be mpiicc but is $CC"; exit 1; } - test "$CXX" = "mpiicpc" || { echo "ERROR: CXX should be mpiicpc but is $CXX"; exit 1; } - test "$FC" = "mpiifort" || { echo "ERROR: FC should be mpiifort but is $FC"; exit 1; } + mpiicx --version + echo "CC: $CC , should be mpiicx" + echo "CXX: $CXX , should be mpiicpx" + echo "FC: $FC , should be mpiifx" + test "$CC" = "mpiicx" || { echo "ERROR: CC should be mpiicx but is $CC"; exit 1; } + test "$CXX" = "mpiicpx" || { echo "ERROR: CXX should be mpiicpx but is $CXX"; exit 1; } + test "$FC" = "mpiifx" || { echo "ERROR: FC should be mpiifx but is $FC"; exit 1; } +# for compiler in mpiicc mpiicpc mpiifort; do +# which $compiler || { echo "ERROR: $compiler not found"; } +# done +# mpiicc --version +# echo "CC: $CC , should be mpiicc" +# echo "CXX: $CXX , should be mpiicpc" +# echo "FC: $FC , should be mpiifort" +# test "$CC" = "mpiicc" || { echo "ERROR: CC should be mpiicc but is $CC"; exit 1; } +# test "$CXX" = "mpiicpc" || { echo "ERROR: CXX should be mpiicpc but is $CXX"; exit 1; } +# test "$FC" = "mpiifort" || { echo "ERROR: FC should be mpiifort but is $FC"; exit 1; } fi if [ "$COMPILER_TYPE" = "gfortran" ]; then for compiler in mpicc mpicxx mpif90; do From 0ce5440b1bd1a3ec74b69a06ee8646af9d699e19 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 22:17:08 -0700 Subject: [PATCH 260/341] Update CI --- docker/Dockerfile-oneapi-minimal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 208721450..aa88437c0 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -39,8 +39,8 @@ RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PR intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ && rm -rf /var/lib/apt/lists/* -#ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" -#ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" +ENV PATH="/opt/intel/oneapi/compiler/latest/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/intel/oneapi/compiler/latest/lib:${LD_LIBRARY_PATH}" ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest From f056d297514f636d56f61e4ecc8ff5011dd7bb47 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 22:19:08 -0700 Subject: [PATCH 261/341] Update CI --- docker/Dockerfile-nvhpc-minimal | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile-nvhpc-minimal b/docker/Dockerfile-nvhpc-minimal index ca5570ccb..593b0f3eb 100644 --- a/docker/Dockerfile-nvhpc-minimal +++ b/docker/Dockerfile-nvhpc-minimal @@ -11,6 +11,7 @@ RUN apt-get update \ gpg \ make \ cmake \ + wget \ git RUN curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK \ | gpg --dearmor > /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg \ From ac657f9e24272c9f031d82b4fd0b537f5f4f733f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 22:31:30 -0700 Subject: [PATCH 262/341] Update CI --- docker/Dockerfile-nvhpc-minimal | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile-nvhpc-minimal b/docker/Dockerfile-nvhpc-minimal index 593b0f3eb..cf0ade768 100644 --- a/docker/Dockerfile-nvhpc-minimal +++ b/docker/Dockerfile-nvhpc-minimal @@ -8,6 +8,7 @@ RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ ca-certificates \ curl \ + time \ gpg \ make \ cmake \ From cd505318f47817796f182e1f4d6bc60d568e6ac0 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 22:46:36 -0700 Subject: [PATCH 263/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index d4c90f6ac..2eb5432cd 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -85,6 +85,7 @@ jobs: - name: Setup MPI (Nvidia) if: matrix.fortran-compiler == 'nvfortran' run: | + echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV echo "CC=mpicc" >> $GITHUB_ENV echo "CXX=mpic++" >> $GITHUB_ENV echo "FC=mpifort" >> $GITHUB_ENV From 509d68cd0e88e85732e12643138b56a2d3e3d816 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 22:54:47 -0700 Subject: [PATCH 264/341] Update CI --- docker/Dockerfile-nvhpc-minimal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile-nvhpc-minimal b/docker/Dockerfile-nvhpc-minimal index cf0ade768..484c6ecf2 100644 --- a/docker/Dockerfile-nvhpc-minimal +++ b/docker/Dockerfile-nvhpc-minimal @@ -28,6 +28,6 @@ RUN apt-get update \ ENV PATH="/opt/nvidia/hpc_sdk/Linux_x86_64/${NVHPC_VERSION_MAJOR}.${NVHPC_VERSION_MINOR}/compilers/bin:${PATH}" # Set default compiler executables -#ENV FC=nvfortran CC=nvc CXX=nvc++ +ENV FC=nvfortran CC=nvc CXX=nvc++ ENV MPICC=mpicc #ENV FC=mpifort CC=mpicc CXX=mpic++ \ No newline at end of file From 4c40bd27e109409cd86c40f25284e47b13fb4f59 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 23:09:11 -0700 Subject: [PATCH 265/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 2 +- docker/Dockerfile-add-netcdf | 4 ++-- docker/Dockerfile-oneapi-minimal | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 2eb5432cd..1b5e42563 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - fortran-compiler: [ifx, gfortran, nvfortran] + fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] include: # Set container images for each compiler diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 231b543a3..81a1fb079 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -10,8 +10,8 @@ RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ curl \ libnetcdf-dev \ - libopenmpi-dev \ - openmpi-bin \ +# libopenmpi-dev \ +# openmpi-bin \ && rm -rf /var/lib/apt/lists/* # Install NetCDF Fortran diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index aa88437c0..23bccc34d 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -47,4 +47,3 @@ ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest # oneAPI environments RUN . /opt/intel/oneapi/setvars.sh ENV FC=ifx CC=icx CXX=icpx -#ENV FC=mpiifx CC=mpiicx CXX=mpiicpx From 7f0ebad2c43f6299b2668f1647a8a3260c0daa16 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 9 Feb 2026 23:20:34 -0700 Subject: [PATCH 266/341] Update CI --- docker/Dockerfile-add-netcdf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 81a1fb079..231b543a3 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -10,8 +10,8 @@ RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ curl \ libnetcdf-dev \ -# libopenmpi-dev \ -# openmpi-bin \ + libopenmpi-dev \ + openmpi-bin \ && rm -rf /var/lib/apt/lists/* # Install NetCDF Fortran From d9e15a84b606f11839837508735756f8dcc26c13 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 07:08:05 -0700 Subject: [PATCH 267/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 4 ++-- docker/Dockerfile-add-netcdf | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 1b5e42563..5425c281f 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -21,8 +21,8 @@ jobs: image: dustinswales/ccpp-scm-ci:oneapi - fortran-compiler: gfortran image: dustinswales/ccpp-scm-ci:gnu - - fortran-compiler: nvfortran - image: dustinswales/ccpp-scm-ci:nvhpc +# - fortran-compiler: nvfortran +# image: dustinswales/ccpp-scm-ci:nvhpc container: image: ${{ matrix.image }} env: diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 231b543a3..010b69e74 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -11,7 +11,7 @@ RUN apt-get update \ curl \ libnetcdf-dev \ libopenmpi-dev \ - openmpi-bin \ +# openmpi-bin \ && rm -rf /var/lib/apt/lists/* # Install NetCDF Fortran From f74559cf56418fedad7947c1201d70a0a1057deb Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 07:22:34 -0700 Subject: [PATCH 268/341] Update CI --- docker/Dockerfile-add-netcdf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile-add-netcdf b/docker/Dockerfile-add-netcdf index 010b69e74..4e442f3e4 100644 --- a/docker/Dockerfile-add-netcdf +++ b/docker/Dockerfile-add-netcdf @@ -10,8 +10,8 @@ RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get --yes install --no-install-recommends \ curl \ libnetcdf-dev \ - libopenmpi-dev \ -# openmpi-bin \ +# libopenmpi-dev \ + openmpi-bin \ && rm -rf /var/lib/apt/lists/* # Install NetCDF Fortran From 10161ede5e263268bf2bac569a25b75e74940b63 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 08:56:16 -0700 Subject: [PATCH 269/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 10 ++--- docker/configure-intel-gcc.sh | 49 ------------------------ 2 files changed, 5 insertions(+), 54 deletions(-) delete mode 100755 docker/configure-intel-gcc.sh diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 5425c281f..b7ead8902 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -65,11 +65,11 @@ jobs: echo "CXX=mpicxx" >> $GITHUB_ENV echo "FC=mpif90" >> $GITHUB_ENV - - name: setvars - if: matrix.fortran-compiler == 'ifx' - run: | - source /opt/intel/oneapi/setvars.sh - shell: bash +# - name: setvars +# if: matrix.fortran-compiler == 'ifx' +# run: | +# source /opt/intel/oneapi/setvars.sh +# shell: bash - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' diff --git a/docker/configure-intel-gcc.sh b/docker/configure-intel-gcc.sh deleted file mode 100755 index c31a83b22..000000000 --- a/docker/configure-intel-gcc.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -# Configure Intel compilers to use appropriate GCC version -# This script populates the .cfg files for Intel compilers to ensure they use -# a compatible GCC version based on the Intel compiler version requested. - -set -e - -ONEAPI_VERSION=${1:?} - -# Determine appropriate GCC version based on Intel compiler version -# Intel 2024.x series (oneAPI only) supports GCC 13.x+ -determine_gcc_version() { - local intel_version=$1 - local major=$(echo $intel_version | cut -d. -f1) - local minor=$(echo $intel_version | cut -d. -f2) - - if [ "$major" = "2023" ]; then - echo "12" - elif [ "$major" -ge "2024" ]; then - echo "13" - else - # Default to GCC 13 for unknown versions - echo "13" - fi -} - -GCC_VERSION_ONEAPI=$(determine_gcc_version $ONEAPI_VERSION) - -# Check if the GCC version is available, install if needed -echo "Installing GCC ..." -sudo apt-get update -sudo apt-get install -y gcc-${GCC_VERSION_ONEAPI} g++-${GCC_VERSION_ONEAPI} gfortran-${GCC_VERSION_ONEAPI} - - -# Create/update icx.cfg -icx_cfg_path=$(which icx).cfg -echo " Modifying icx.cfg to use GCC ${GCC_VERSION_ONEAPI}:" -echo "--gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/${GCC_VERSION_ONEAPI}" | sudo tee $icx_cfg_path - -# Create/update icpx.cfg -icpx_cfg_path=$(which icpx).cfg -echo " Modifying icpx.cfg to use GCC ${GCC_VERSION_ONEAPI}:" -echo "--gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/${GCC_VERSION_ONEAPI}" | sudo tee $icpx_cfg_path - -# Create/update ifx.cfg -ifx_config_path=$(which ifx).cfg -echo " Modifying ifx.cfg to use GCC ${GCC_VERSION_ONEAPI}:" -echo "-gcc-name=gcc-${GCC_VERSION_ONEAPI}" | sudo tee $ifx_config_path - From 9d31a43b9a134f9b514b7e485c48a7bcede572a5 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 08:59:55 -0700 Subject: [PATCH 270/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index b7ead8902..d03e0dc0c 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -65,17 +65,11 @@ jobs: echo "CXX=mpicxx" >> $GITHUB_ENV echo "FC=mpif90" >> $GITHUB_ENV -# - name: setvars -# if: matrix.fortran-compiler == 'ifx' -# run: | -# source /opt/intel/oneapi/setvars.sh -# shell: bash - - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' run: | - echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + #echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV + #echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV echo "CC=mpiicx" >> $GITHUB_ENV From 40d4fce66de452cda2786a01003539e40e7dc5fc Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 09:03:49 -0700 Subject: [PATCH 271/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index d03e0dc0c..429a284a9 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -25,19 +25,19 @@ jobs: # image: dustinswales/ccpp-scm-ci:nvhpc container: image: ${{ matrix.image }} - env: - I_MPI_HYDRA_ALLOW_ROOT: 1 +# env: +# I_MPI_HYDRA_ALLOW_ROOT: 1 # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - NFHOME: /usr +# NFHOME: /usr #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps suites: SCM_GFS_v16 suites_ps: SCM_GFS_v16_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} - I_MPI_HYDRA_ALLOW_ROOT: 1 +# I_MPI_HYDRA_ALLOW_ROOT: 1 # Workflow steps steps: @@ -68,8 +68,8 @@ jobs: - name: Setup MPI (Intel OneAPI) if: matrix.fortran-compiler == 'ifx' run: | - #echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV - #echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV echo "CC=mpiicx" >> $GITHUB_ENV From 1a6f7b5dfbebac1ad438fc43d67478d949a82b23 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 09:14:01 -0700 Subject: [PATCH 272/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 30 ++++++++++++++---------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 429a284a9..4ed3c9314 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -25,19 +25,17 @@ jobs: # image: dustinswales/ccpp-scm-ci:nvhpc container: image: ${{ matrix.image }} -# env: -# I_MPI_HYDRA_ALLOW_ROOT: 1 # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm -# NFHOME: /usr #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps suites: SCM_GFS_v16 suites_ps: SCM_GFS_v16_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} -# I_MPI_HYDRA_ALLOW_ROOT: 1 + artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('main' == 'main' && 'main' || 'PR') }} + GH_TOKEN: ${{ github.token }} # Workflow steps steps: @@ -131,14 +129,22 @@ jobs: mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}} - - name: Create directory for SCM RT baselines - run: mkdir ${dir_bl} - -# - name: Download SCM RT baselines -# run: | -# cd ${dir_bl} -# wget https://dtcenter.ucar.edu/ccpp/rt/rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}.zip -# unzip rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}.zip + - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines + run: | + mkdir -p ${dir_bl} + ARTIFACT_ID=$(gh api --paginate \ + repos/NCAR/ccpp-scm/actions/artifacts | \ + jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') + echo "artifact_id=${ARTIFACT_ID}" + echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" + + - name: Download SCM RT baselines + uses: actions/download-artifact@v6 + with: + name: rt-baselines-${{matrix.build-type}}-main + path: ${{ env.dir_bl }} + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ env.artifact_id }} # - name: Compare SCM RT output to baselines # run: | From 3d1b1d5c744ae0496d4723fa239f0a6c276f7495 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 09:21:46 -0700 Subject: [PATCH 273/341] Update CI --- .github/workflows/ci_build_scm_image.yml | 34 ++++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/ci_build_scm_image.yml index 4ed3c9314..d3b430642 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/ci_build_scm_image.yml @@ -129,22 +129,22 @@ jobs: mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}} - - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines - run: | - mkdir -p ${dir_bl} - ARTIFACT_ID=$(gh api --paginate \ - repos/NCAR/ccpp-scm/actions/artifacts | \ - jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') - echo "artifact_id=${ARTIFACT_ID}" - echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" - - - name: Download SCM RT baselines - uses: actions/download-artifact@v6 - with: - name: rt-baselines-${{matrix.build-type}}-main - path: ${{ env.dir_bl }} - github-token: ${{ secrets.GITHUB_TOKEN }} - run-id: ${{ env.artifact_id }} +# - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines +# run: | +# mkdir -p ${dir_bl} +# ARTIFACT_ID=$(gh api --paginate \ +# repos/NCAR/ccpp-scm/actions/artifacts | \ +# jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') +# echo "artifact_id=${ARTIFACT_ID}" +# echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" + +# - name: Download SCM RT baselines +# uses: actions/download-artifact@v6 +# with: +# name: rt-baselines-${{matrix.build-type}}-main +# path: ${{ env.dir_bl }} +# github-token: ${{ secrets.GITHUB_TOKEN }} +# run-id: ${{ env.artifact_id }} # - name: Compare SCM RT output to baselines # run: | @@ -158,7 +158,7 @@ jobs: # path: /__w/ccpp-scm/ccpp-scm/test/scm_rt_out - name: Upload SCM RTs as GitHub Artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}} path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} \ No newline at end of file From c9a3e0bd80c48bff7938e0dcbc36db52d3932281 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 09:27:47 -0700 Subject: [PATCH 274/341] Update CI --- ...{build_images.yaml => bld_scm_images.yaml} | 0 .../{ci_build_scm_image.yml => run_scm.yml} | 2 +- .github/workflows/run_scm_artifact.yml | 164 ++++++++++++++++++ 3 files changed, 165 insertions(+), 1 deletion(-) rename .github/workflows/{build_images.yaml => bld_scm_images.yaml} (100%) rename .github/workflows/{ci_build_scm_image.yml => run_scm.yml} (99%) create mode 100644 .github/workflows/run_scm_artifact.yml diff --git a/.github/workflows/build_images.yaml b/.github/workflows/bld_scm_images.yaml similarity index 100% rename from .github/workflows/build_images.yaml rename to .github/workflows/bld_scm_images.yaml diff --git a/.github/workflows/ci_build_scm_image.yml b/.github/workflows/run_scm.yml similarity index 99% rename from .github/workflows/ci_build_scm_image.yml rename to .github/workflows/run_scm.yml index d3b430642..db088de0b 100644 --- a/.github/workflows/ci_build_scm_image.yml +++ b/.github/workflows/run_scm.yml @@ -1,4 +1,4 @@ -name: Build and run the CCPP-SCM in a container +name: Build/run the CCPP-SCM, compare to baselines on: push: diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml new file mode 100644 index 000000000..24863522a --- /dev/null +++ b/.github/workflows/run_scm_artifact.yml @@ -0,0 +1,164 @@ +name: Build/run the CCPP-SCM, create baselines (artifact) + +on: + push: + branches: + - feature/containerized_ci + pull_request: + workflow_dispatch: + +jobs: + scm_in_container_artifact: + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + fortran-compiler: [ifx, gfortran]#, nvfortran] + build-type: [Release, Debug] + include: + # Set container images for each compiler + - fortran-compiler: ifx + image: dustinswales/ccpp-scm-ci:oneapi + - fortran-compiler: gfortran + image: dustinswales/ccpp-scm-ci:gnu +# - fortran-compiler: nvfortran +# image: dustinswales/ccpp-scm-ci:nvhpc + container: + image: ${{ matrix.image }} + # Environmental variables + env: + SCM_ROOT: /__w/ccpp-scm/ccpp-scm + #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP + #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps + suites: SCM_GFS_v16 + suites_ps: SCM_GFS_v16_ps + dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} + dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} + artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('main' == 'main' && 'main' || 'PR') }} + GH_TOKEN: ${{ github.token }} + + # Workflow steps + steps: + ####################################################################################### + # Initial + ####################################################################################### + - name: Checkout SCM code (/__w/ccpp-scm/ccpp-scm) + uses: actions/checkout@v4 + + - name: Install Required Tools + run: | + apt-get update + + - name: Initialize Submodules + run: | + git config --global --add safe.directory ${SCM_ROOT} + cd ${SCM_ROOT} + git submodule update --init --recursive + + - name: Setup MPI (GNU) + if: matrix.fortran-compiler == 'gfortran' + run: | + echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV + echo "CC=mpicc" >> $GITHUB_ENV + echo "CXX=mpicxx" >> $GITHUB_ENV + echo "FC=mpif90" >> $GITHUB_ENV + + - name: Setup MPI (Intel OneAPI) + if: matrix.fortran-compiler == 'ifx' + run: | + echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV + echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV + echo "CC=mpiicx" >> $GITHUB_ENV + echo "CXX=mpiicpx" >> $GITHUB_ENV + echo "FC=mpiifx" >> $GITHUB_ENV + + - name: Setup MPI (Nvidia) + if: matrix.fortran-compiler == 'nvfortran' + run: | + echo "MPI_COMM=mpirun --allow-run-as-root -np 1" >> $GITHUB_ENV + echo "CC=mpicc" >> $GITHUB_ENV + echo "CXX=mpic++" >> $GITHUB_ENV + echo "FC=mpifort" >> $GITHUB_ENV + + - name: Verify MPI installation + run: | + source test/verify-mpi.sh ${{matrix.fortran-compiler}} + shell: bash + + ####################################################################################### + # Build SCM. + ####################################################################################### + - name: Download data for SCM + run: | + cd ${SCM_ROOT} + ./contrib/get_all_static_data.sh +# ./contrib/get_thompson_tables.sh +# ./contrib/get_aerosol_climo.sh + + - name: Configure Build with CMake + run: | + cd ${SCM_ROOT}/scm + mkdir bin && cd bin + cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + + - name: Build SCM + run: | + cd ${SCM_ROOT}/scm/bin + make -j4 + + ####################################################################################### + # Run regression tests. + ####################################################################################### + - name: Run SCM RTs + if: matrix.build-type != 'SinglePrecision' + run: | + cd ${SCM_ROOT}/scm/bin + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 --mpi_command "${MPI_COMM}" + + - name: Run SCM Single Precision RTs + if: matrix.build-type == 'SinglePrecision' + run: | + cd ${SCM_ROOT}/scm/bin + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_sp.py --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" + + - name: Gather SCM RT output + run: | + cd ${SCM_ROOT}/test + mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} + ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}} + +# - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines +# run: | +# mkdir -p ${dir_bl} +# ARTIFACT_ID=$(gh api --paginate \ +# repos/NCAR/ccpp-scm/actions/artifacts | \ +# jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') +# echo "artifact_id=${ARTIFACT_ID}" +# echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" + +# - name: Download SCM RT baselines +# uses: actions/download-artifact@v6 +# with: +# name: rt-baselines-${{matrix.build-type}}-main +# path: ${{ env.dir_bl }} +# github-token: ${{ secrets.GITHUB_TOKEN }} +# run-id: ${{ env.artifact_id }} + +# - name: Compare SCM RT output to baselines +# run: | +# cd ${SCM_ROOT}/test +# ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} + +# - name: Upload plots of SCM Baselines/RTs as GitHub Artifact +# uses: actions/upload-artifact@v4 +# with: +# name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}} +# path: /__w/ccpp-scm/ccpp-scm/test/scm_rt_out + + - name: Upload SCM RTs as GitHub Artifact + uses: actions/upload-artifact@v5 + with: + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}} + path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} \ No newline at end of file From a94dec4ae50f39ab7823d56ee8eebcb008369586 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 09:32:39 -0700 Subject: [PATCH 275/341] Update CI --- .github/workflows/run_scm.yml | 4 +-- .github/workflows/run_scm_artifact.yml | 42 +++++++++++++------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index db088de0b..3f69b3f28 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -134,14 +134,14 @@ jobs: # mkdir -p ${dir_bl} # ARTIFACT_ID=$(gh api --paginate \ # repos/NCAR/ccpp-scm/actions/artifacts | \ -# jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') +# jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') # echo "artifact_id=${ARTIFACT_ID}" # echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" # - name: Download SCM RT baselines # uses: actions/download-artifact@v6 # with: -# name: rt-baselines-${{matrix.build-type}}-main +# name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-main # path: ${{ env.dir_bl }} # github-token: ${{ secrets.GITHUB_TOKEN }} # run-id: ${{ env.artifact_id }} diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 24863522a..936a4d69d 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -129,27 +129,27 @@ jobs: mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}} -# - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines -# run: | -# mkdir -p ${dir_bl} -# ARTIFACT_ID=$(gh api --paginate \ -# repos/NCAR/ccpp-scm/actions/artifacts | \ -# jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') -# echo "artifact_id=${ARTIFACT_ID}" -# echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" - -# - name: Download SCM RT baselines -# uses: actions/download-artifact@v6 -# with: -# name: rt-baselines-${{matrix.build-type}}-main -# path: ${{ env.dir_bl }} -# github-token: ${{ secrets.GITHUB_TOKEN }} -# run-id: ${{ env.artifact_id }} - -# - name: Compare SCM RT output to baselines -# run: | -# cd ${SCM_ROOT}/test -# ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} + - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines + run: | + mkdir -p ${dir_bl} + ARTIFACT_ID=$(gh api --paginate \ + repos/NCAR/ccpp-scm/actions/artifacts | \ + jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') + echo "artifact_id=${ARTIFACT_ID}" + echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" + + - name: Download SCM RT baselines + uses: actions/download-artifact@v6 + with: + name: rt-baselines-${{matrix.build-type}}-main + path: ${{ env.dir_bl }} + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ env.artifact_id }} + + - name: Compare SCM RT output to baselines + run: | + cd ${SCM_ROOT}/test + ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} # - name: Upload plots of SCM Baselines/RTs as GitHub Artifact # uses: actions/upload-artifact@v4 From ac3c06bc956b956b2e31505e442f49339a8d14f1 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 09:37:09 -0700 Subject: [PATCH 276/341] Update CI --- .github/workflows/run_scm.yml | 42 +++++++++++++------------- .github/workflows/run_scm_artifact.yml | 28 ----------------- 2 files changed, 21 insertions(+), 49 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 3f69b3f28..f49a142cc 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -129,27 +129,27 @@ jobs: mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}} -# - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines -# run: | -# mkdir -p ${dir_bl} -# ARTIFACT_ID=$(gh api --paginate \ -# repos/NCAR/ccpp-scm/actions/artifacts | \ -# jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') -# echo "artifact_id=${ARTIFACT_ID}" -# echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" - -# - name: Download SCM RT baselines -# uses: actions/download-artifact@v6 -# with: -# name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-main -# path: ${{ env.dir_bl }} -# github-token: ${{ secrets.GITHUB_TOKEN }} -# run-id: ${{ env.artifact_id }} - -# - name: Compare SCM RT output to baselines -# run: | -# cd ${SCM_ROOT}/test -# ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} + - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines + run: | + mkdir -p ${dir_bl} + ARTIFACT_ID=$(gh api --paginate \ + repos/NCAR/ccpp-scm/actions/artifacts | \ + jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') + echo "artifact_id=${ARTIFACT_ID}" + echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" + + - name: Download SCM RT baselines + uses: actions/download-artifact@v6 + with: + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-main + path: ${{ env.dir_bl }} + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ env.artifact_id }} + + - name: Compare SCM RT output to baselines + run: | + cd ${SCM_ROOT}/test + ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} # - name: Upload plots of SCM Baselines/RTs as GitHub Artifact # uses: actions/upload-artifact@v4 diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 936a4d69d..c1402540f 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -129,34 +129,6 @@ jobs: mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}} - - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines - run: | - mkdir -p ${dir_bl} - ARTIFACT_ID=$(gh api --paginate \ - repos/NCAR/ccpp-scm/actions/artifacts | \ - jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') - echo "artifact_id=${ARTIFACT_ID}" - echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" - - - name: Download SCM RT baselines - uses: actions/download-artifact@v6 - with: - name: rt-baselines-${{matrix.build-type}}-main - path: ${{ env.dir_bl }} - github-token: ${{ secrets.GITHUB_TOKEN }} - run-id: ${{ env.artifact_id }} - - - name: Compare SCM RT output to baselines - run: | - cd ${SCM_ROOT}/test - ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} - -# - name: Upload plots of SCM Baselines/RTs as GitHub Artifact -# uses: actions/upload-artifact@v4 -# with: -# name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}} -# path: /__w/ccpp-scm/ccpp-scm/test/scm_rt_out - - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v5 with: From eec4471b4291b73ee1bd2564b4f9d4355ad1220c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 09:42:40 -0700 Subject: [PATCH 277/341] Update CI --- .github/workflows/run_scm.yml | 6 +++--- .github/workflows/run_scm_artifact.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index f49a142cc..9196948cb 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -34,7 +34,7 @@ jobs: suites_ps: SCM_GFS_v16_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} - artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('main' == 'main' && 'main' || 'PR') }} + artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} GH_TOKEN: ${{ github.token }} # Workflow steps @@ -134,14 +134,14 @@ jobs: mkdir -p ${dir_bl} ARTIFACT_ID=$(gh api --paginate \ repos/NCAR/ccpp-scm/actions/artifacts | \ - jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') + jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-feature/containerized_ci" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') echo "artifact_id=${ARTIFACT_ID}" echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" - name: Download SCM RT baselines uses: actions/download-artifact@v6 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-main + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-feature/containerized_ci path: ${{ env.dir_bl }} github-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ env.artifact_id }} diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index c1402540f..0caa5a7d8 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -34,7 +34,7 @@ jobs: suites_ps: SCM_GFS_v16_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} - artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('main' == 'main' && 'main' || 'PR') }} + artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} GH_TOKEN: ${{ github.token }} # Workflow steps From cbd76d8ad203cc0c3ec683ea8e1069317ab65537 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 09:47:25 -0700 Subject: [PATCH 278/341] Update CI --- .github/workflows/run_scm.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 9196948cb..5a6e776ad 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -133,7 +133,7 @@ jobs: run: | mkdir -p ${dir_bl} ARTIFACT_ID=$(gh api --paginate \ - repos/NCAR/ccpp-scm/actions/artifacts | \ + repos/dustinswales/ccpp-scm/actions/artifacts | \ jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-feature/containerized_ci" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') echo "artifact_id=${ARTIFACT_ID}" echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" From 16d683ed4015d2bfcd21233bc127b4fc422069ea Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 09:58:17 -0700 Subject: [PATCH 279/341] Update CI --- .github/workflows/run_scm.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 5a6e776ad..10439beea 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -47,7 +47,9 @@ jobs: - name: Install Required Tools run: | - apt-get update + sudo apt-get update -qq && sudo apt-get install -qq -y --no-install-recommends \ + gh \ + jq - name: Initialize Submodules run: | From 052689e4e83fac457c1c1c73985e86b7ef3bf828 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 10:01:47 -0700 Subject: [PATCH 280/341] Update CI --- .github/workflows/run_scm.yml | 4 +--- docker/Dockerfile-gnu-minimal | 4 +++- docker/Dockerfile-oneapi-minimal | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 10439beea..5a6e776ad 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -47,9 +47,7 @@ jobs: - name: Install Required Tools run: | - sudo apt-get update -qq && sudo apt-get install -qq -y --no-install-recommends \ - gh \ - jq + apt-get update - name: Initialize Submodules run: | diff --git a/docker/Dockerfile-gnu-minimal b/docker/Dockerfile-gnu-minimal index eeb572d5d..f8334e19a 100644 --- a/docker/Dockerfile-gnu-minimal +++ b/docker/Dockerfile-gnu-minimal @@ -23,6 +23,8 @@ RUN apt-get update \ time \ vim \ file \ - libxml2 + libxml2 \ + gh \ + jq ENV FC=mpif90 CC=mpicc CXX=mpicxx \ No newline at end of file diff --git a/docker/Dockerfile-oneapi-minimal b/docker/Dockerfile-oneapi-minimal index 23bccc34d..cf07bc76e 100644 --- a/docker/Dockerfile-oneapi-minimal +++ b/docker/Dockerfile-oneapi-minimal @@ -21,8 +21,9 @@ RUN apt-get update \ m4 \ tcsh \ time \ - vim - + vim \ + gh \ + jq # See https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2025-2/hpc-apt.html RUN wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ From 56caf6336ed2402a6935d26c1811b6eaced755f8 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 10:43:39 -0700 Subject: [PATCH 281/341] Update CI --- .github/workflows/run_scm.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 5a6e776ad..5b6b02767 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -134,14 +134,14 @@ jobs: mkdir -p ${dir_bl} ARTIFACT_ID=$(gh api --paginate \ repos/dustinswales/ccpp-scm/actions/artifacts | \ - jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-feature/containerized_ci" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') + jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') echo "artifact_id=${ARTIFACT_ID}" echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" - name: Download SCM RT baselines uses: actions/download-artifact@v6 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-feature/containerized_ci + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}} path: ${{ env.dir_bl }} github-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ env.artifact_id }} From bb0469d47155b93ceafa646c531a9e7d7fee5bb8 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 10:49:43 -0700 Subject: [PATCH 282/341] Update CI --- .github/workflows/run_scm.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 5b6b02767..fa1e37cb4 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -151,11 +151,20 @@ jobs: cd ${SCM_ROOT}/test ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} -# - name: Upload plots of SCM Baselines/RTs as GitHub Artifact -# uses: actions/upload-artifact@v4 -# with: -# name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}} -# path: /__w/ccpp-scm/ccpp-scm/test/scm_rt_out + - name: Check if SCM RT plots exist + id: check_files + run: | + if [ -n "$(ls -A /__w/ccpp-scm/ccpp-scm/test/scm_rt_out 2>/dev/null)" ]; then + echo "files_exist=true" >> "$GITHUB_ENV" + else + echo "files_exist=false" >> "$GITHUB_ENV" + fi + + - name: Upload plots of SCM Baselines/RTs as GitHub Artifact + uses: actions/upload-artifact@v4 + with: + name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}} + path: /__w/ccpp-scm/ccpp-scm/test/scm_rt_out - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v5 From 42e324e6bf7f974809b4d06ab14ce04d9c4d25fb Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 11:00:27 -0700 Subject: [PATCH 283/341] Update CI --- .github/workflows/run_scm.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index fa1e37cb4..fffd2d5e3 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -146,6 +146,14 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ env.artifact_id }} + - name: Display stuff 1 + run: | + ls /__w/ccpp-scm/ccpp-scm/test/BL-Release + + - name: Display stuff 2 + run: | + ls ${dir_bl} + - name: Compare SCM RT output to baselines run: | cd ${SCM_ROOT}/test From fd61ad05aa06b80f93d8af4428bebbcfe705b76b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 11:17:02 -0700 Subject: [PATCH 284/341] Update CI --- .github/workflows/run_scm.yml | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index fffd2d5e3..1650b889c 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -28,10 +28,10 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP - #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps - suites: SCM_GFS_v16 - suites_ps: SCM_GFS_v16_ps + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP + suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps + #suites: SCM_GFS_v16 + #suites_ps: SCM_GFS_v16_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} @@ -146,14 +146,6 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ env.artifact_id }} - - name: Display stuff 1 - run: | - ls /__w/ccpp-scm/ccpp-scm/test/BL-Release - - - name: Display stuff 2 - run: | - ls ${dir_bl} - - name: Compare SCM RT output to baselines run: | cd ${SCM_ROOT}/test From 415ab42cf7c40af78eb201eae35d74b8b7bded37 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 11:27:40 -0700 Subject: [PATCH 285/341] Update CI --- test/rt_test_cases.py | 96 +++++++++++++++++++++++++++++-------------- 1 file changed, 65 insertions(+), 31 deletions(-) diff --git a/test/rt_test_cases.py b/test/rt_test_cases.py index 203cda74b..9d200e832 100644 --- a/test/rt_test_cases.py +++ b/test/rt_test_cases.py @@ -2,40 +2,74 @@ #---------------------------------------------------------------------------------------------------------------------------------------------- # Supported suites for CCPP Version 7 release #---------------------------------------------------------------------------------------------------------------------------------------------- - #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16"}, \ - #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ - #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ - #{"case": "twpice", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - #{"case": "twpice", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ + {"case": "twpice", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "twpice", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "twpice", "suite": "SCM_GFS_v16"}, \ - #{"case": "twpice", "suite": "SCM_WoFS_v0"}, \ - #{"case": "twpice", "suite": "SCM_HRRR_gf"}, \ - #{"case": "bomex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - #{"case": "bomex", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "twpice", "suite": "SCM_WoFS_v0"}, \ + {"case": "twpice", "suite": "SCM_HRRR_gf"}, \ + {"case": "bomex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "bomex", "suite": "SCM_GFS_v16"}, \ - #{"case": "bomex", "suite": "SCM_WoFS_v0"}, \ - #{"case": "bomex", "suite": "SCM_HRRR_gf"}, \ - #{"case": "astex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - #{"case": "astex", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "bomex", "suite": "SCM_WoFS_v0"}, \ + {"case": "bomex", "suite": "SCM_HRRR_gf"}, \ + {"case": "astex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "astex", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "astex", "suite": "SCM_GFS_v16"}, \ - #{"case": "astex", "suite": "SCM_WoFS_v0"}, \ - #{"case": "astex", "suite": "SCM_HRRR_gf"}, \ - #{"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - #{"case": "LASSO_2016051812", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "astex", "suite": "SCM_WoFS_v0"}, \ + {"case": "astex", "suite": "SCM_HRRR_gf"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16"}, \ - #{"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ - #{"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ - #{"case": "COMBLE", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - #{"case": "COMBLE", "suite": "SCM_GFS_v16_RRTMGP"}, \ - #{"case": "COMBLE", "suite": "SCM_GFS_v16"}, \ - #{"case": "COMBLE", "suite": "SCM_WoFS_v0"}, \ - #{"case": "COMBLE", "suite": "SCM_HRRR_gf"}, \ - #{"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - #{"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ + {"case": "COMBLE", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "COMBLE", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "COMBLE", "suite": "SCM_GFS_v16"}, \ + {"case": "COMBLE", "suite": "SCM_WoFS_v0"}, \ + {"case": "COMBLE", "suite": "SCM_HRRR_gf"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16"}, \ - #{"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ - #{"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ - {"case": "gabls3", "suite": "SCM_GFS_v16"}] - + {"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ + {"case": "gabls3", "suite": "SCM_GFS_v16"}, \ + #---------------------------------------------------------------------------------------------------------------------------------------------- + # Unsupported suites (w/ supported cases) + #---------------------------------------------------------------------------------------------------------------------------------------------- + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_RRFS_v1beta_no_nsst"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v15p2"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ + {"case": "twpice", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "twpice", "suite": "SCM_HRRR"}, \ + {"case": "twpice", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "twpice", "suite": "SCM_RAP"}, \ + {"case": "twpice", "suite": "SCM_GFS_v15p2"}, \ + {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ + {"case": "bomex", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "bomex", "suite": "SCM_HRRR"}, \ + {"case": "bomex", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "bomex", "suite": "SCM_RAP"}, \ + {"case": "bomex", "suite": "SCM_GFS_v15p2"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ + {"case": "astex", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "astex", "suite": "SCM_HRRR"}, \ + {"case": "astex", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "astex", "suite": "SCM_RAP"}, \ + {"case": "astex", "suite": "SCM_GFS_v15p2"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_HRRR"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_RAP"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v15p2"}] From e11a5705426c62105a6fa36e41e8f14d67eab569 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 11:32:03 -0700 Subject: [PATCH 286/341] Update CI --- .github/workflows/run_scm.yml | 8 ++++---- .github/workflows/run_scm_artifact.yml | 6 ++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 1650b889c..2e8913ce1 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -30,8 +30,6 @@ jobs: SCM_ROOT: /__w/ccpp-scm/ccpp-scm suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps - #suites: SCM_GFS_v16 - #suites_ps: SCM_GFS_v16_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} @@ -94,8 +92,10 @@ jobs: run: | cd ${SCM_ROOT} ./contrib/get_all_static_data.sh -# ./contrib/get_thompson_tables.sh -# ./contrib/get_aerosol_climo.sh + ./contrib/get_thompson_tables.sh + ./contrib/get_tempo_data.sh + ./contrib/get_aerosol_climo.sh + ./contrib/get_rrtmgp_data.sh - name: Configure Build with CMake run: | diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 0caa5a7d8..f6b7d21d8 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -94,8 +94,10 @@ jobs: run: | cd ${SCM_ROOT} ./contrib/get_all_static_data.sh -# ./contrib/get_thompson_tables.sh -# ./contrib/get_aerosol_climo.sh + ./contrib/get_thompson_tables.sh + ./contrib/get_tempo_data.sh + ./contrib/get_aerosol_climo.sh + ./contrib/get_rrtmgp_data.sh - name: Configure Build with CMake run: | From 3de5d08cbb9d2076c792fb2ce71a8f56d5346484 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 11:40:17 -0700 Subject: [PATCH 287/341] Update CI --- .github/workflows/run_scm_artifact.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index f6b7d21d8..411579a66 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -28,10 +28,8 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP - #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps - suites: SCM_GFS_v16 - suites_ps: SCM_GFS_v16_ps + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP + suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} From 186e47b8f5f8b43a06930d8d85c460c299029d9d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 11:48:42 -0700 Subject: [PATCH 288/341] Update CI --- .github/workflows/run_scm.yml | 6 ++++-- .github/workflows/run_scm_artifact.yml | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 2e8913ce1..3a7b04c36 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -28,8 +28,10 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps + suites: SCM_GFS_v15p2,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug,SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v17_p8_ugwpv1_tempo + suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps + #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP + #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 411579a66..5ef413d0f 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -28,8 +28,10 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps + suites: SCM_GFS_v15p2,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug,SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v17_p8_ugwpv1_tempo + suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps + #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP + #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} From fb435ab5172392f1a87079f1ca351216f48f50e2 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 14:28:14 -0700 Subject: [PATCH 289/341] Update CI --- .github/workflows/run_scm.yml | 37 +++++++++++------ .github/workflows/run_scm_artifact.yml | 41 ++++++++++++------- test/rt_test_cases_legdev.py | 36 ++++++++++++++++ ...st_cases.py => rt_test_cases_supported.py} | 37 +---------------- 4 files changed, 89 insertions(+), 62 deletions(-) create mode 100644 test/rt_test_cases_legdev.py rename test/{rt_test_cases.py => rt_test_cases_supported.py} (52%) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 3a7b04c36..701f69ffa 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -15,6 +15,7 @@ jobs: matrix: fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] + sdfs: [supported, legdev] include: # Set container images for each compiler - fortran-compiler: ifx @@ -28,10 +29,10 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug,SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v17_p8_ugwpv1_tempo - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps - #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP - #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps + sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf + sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps + sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug,SCM_GFS_v17_p8_ugwpv1_tempo + sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} @@ -99,6 +100,18 @@ jobs: ./contrib/get_aerosol_climo.sh ./contrib/get_rrtmgp_data.sh + - name: Configure SCM SDFs before building model (supported SCM cases/sdfs) + if: matrix.sdfs != 'supported' + run: | + echo "suites=${sdfs_supported}" >> "$GITHUB_ENV" + echo "suites_ps=${sdfs_supported_ps}" >> "$GITHUB_ENV" + + - name: Configure SCM SDFs before building model (legacy/developmental SCM cases/sdfs) + if: matrix.sdfs != 'legdev' + run: | + echo "suites=${sdfs_legdev}" >> "$GITHUB_ENV" + echo "suites_ps=${sdfs_legdev_ps}" >> "$GITHUB_ENV" + - name: Configure Build with CMake run: | cd ${SCM_ROOT}/scm @@ -117,7 +130,7 @@ jobs: if: matrix.build-type != 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 --mpi_command "${MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_${{matrix.sdfs}}.py --runtime_mult 0.1 --mpi_command "${MPI_COMM}" - name: Run SCM Single Precision RTs if: matrix.build-type == 'SinglePrecision' @@ -128,22 +141,22 @@ jobs: - name: Gather SCM RT output run: | cd ${SCM_ROOT}/test - mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} - ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}} + mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} + ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines run: | mkdir -p ${dir_bl} ARTIFACT_ID=$(gh api --paginate \ repos/dustinswales/ccpp-scm/actions/artifacts | \ - jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') + jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}}" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') echo "artifact_id=${ARTIFACT_ID}" echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" - name: Download SCM RT baselines uses: actions/download-artifact@v6 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}} + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} path: ${{ env.dir_bl }} github-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ env.artifact_id }} @@ -165,11 +178,11 @@ jobs: - name: Upload plots of SCM Baselines/RTs as GitHub Artifact uses: actions/upload-artifact@v4 with: - name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}} + name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} path: /__w/ccpp-scm/ccpp-scm/test/scm_rt_out - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v5 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}} - path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} \ No newline at end of file + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} + path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} \ No newline at end of file diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 5ef413d0f..712c9f141 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -15,6 +15,7 @@ jobs: matrix: fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] + sdfs: [supported, legdev] include: # Set container images for each compiler - fortran-compiler: ifx @@ -27,15 +28,15 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: - SCM_ROOT: /__w/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug,SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v17_p8_ugwpv1_tempo - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps - #suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP - #suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps - dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} - dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} - artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} - GH_TOKEN: ${{ github.token }} + SCM_ROOT: /__w/ccpp-scm/ccpp-scm + sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf + sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps + sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug,SCM_GFS_v17_p8_ugwpv1_tempo + sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps + dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} + dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} + artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} + GH_TOKEN: ${{ github.token }} # Workflow steps steps: @@ -99,6 +100,18 @@ jobs: ./contrib/get_aerosol_climo.sh ./contrib/get_rrtmgp_data.sh + - name: Configure SCM SDFs before building model (supported SCM cases/sdfs) + if: matrix.sdfs != 'supported' + run: | + echo "suites=${sdfs_supported}" >> "$GITHUB_ENV" + echo "suites_ps=${sdfs_supported_ps}" >> "$GITHUB_ENV" + + - name: Configure SCM SDFs before building model (legacy/developmental SCM cases/sdfs) + if: matrix.sdfs != 'legdev' + run: | + echo "suites=${sdfs_legdev}" >> "$GITHUB_ENV" + echo "suites_ps=${sdfs_legdev_ps}" >> "$GITHUB_ENV" + - name: Configure Build with CMake run: | cd ${SCM_ROOT}/scm @@ -117,7 +130,7 @@ jobs: if: matrix.build-type != 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 --mpi_command "${MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_${{matrix.sdfs}}.py --runtime_mult 0.1 --mpi_command "${MPI_COMM}" - name: Run SCM Single Precision RTs if: matrix.build-type == 'SinglePrecision' @@ -128,11 +141,11 @@ jobs: - name: Gather SCM RT output run: | cd ${SCM_ROOT}/test - mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} - ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}} + mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} + ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v5 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}} - path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}} \ No newline at end of file + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} + path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} \ No newline at end of file diff --git a/test/rt_test_cases_legdev.py b/test/rt_test_cases_legdev.py new file mode 100644 index 000000000..2f840564f --- /dev/null +++ b/test/rt_test_cases_legdev.py @@ -0,0 +1,36 @@ +run_list = [\ + #---------------------------------------------------------------------------------------------------------------------------------------------- + # Legacy and developemnt suites, legdev, (w/ supported cases). + #---------------------------------------------------------------------------------------------------------------------------------------------- + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_RRFS_v1beta_no_nsst"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v15p2"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ + {"case": "twpice", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "twpice", "suite": "SCM_HRRR"}, \ + {"case": "twpice", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "twpice", "suite": "SCM_RAP"}, \ + {"case": "twpice", "suite": "SCM_GFS_v15p2"}, \ + {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ + {"case": "bomex", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "bomex", "suite": "SCM_HRRR"}, \ + {"case": "bomex", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "bomex", "suite": "SCM_RAP"}, \ + {"case": "bomex", "suite": "SCM_GFS_v15p2"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ + {"case": "astex", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "astex", "suite": "SCM_HRRR"}, \ + {"case": "astex", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "astex", "suite": "SCM_RAP"}, \ + {"case": "astex", "suite": "SCM_GFS_v15p2"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_HRRR"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_RAP"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v15p2"}] diff --git a/test/rt_test_cases.py b/test/rt_test_cases_supported.py similarity index 52% rename from test/rt_test_cases.py rename to test/rt_test_cases_supported.py index 9d200e832..8d3ff0a00 100644 --- a/test/rt_test_cases.py +++ b/test/rt_test_cases_supported.py @@ -37,39 +37,4 @@ {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ - {"case": "gabls3", "suite": "SCM_GFS_v16"}, \ - #---------------------------------------------------------------------------------------------------------------------------------------------- - # Unsupported suites (w/ supported cases) - #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_RRFS_v1beta_no_nsst"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v15p2"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ - {"case": "twpice", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "twpice", "suite": "SCM_HRRR"}, \ - {"case": "twpice", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "twpice", "suite": "SCM_RAP"}, \ - {"case": "twpice", "suite": "SCM_GFS_v15p2"}, \ - {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ - {"case": "bomex", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "bomex", "suite": "SCM_HRRR"}, \ - {"case": "bomex", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "bomex", "suite": "SCM_RAP"}, \ - {"case": "bomex", "suite": "SCM_GFS_v15p2"}, \ - {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ - {"case": "astex", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "astex", "suite": "SCM_HRRR"}, \ - {"case": "astex", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "astex", "suite": "SCM_RAP"}, \ - {"case": "astex", "suite": "SCM_GFS_v15p2"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_HRRR"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RAP"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v15p2"}] + {"case": "gabls3", "suite": "SCM_GFS_v16"}] From 08e1016e640b73987b2f7782b33487e10f0d7ed9 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 14:41:35 -0700 Subject: [PATCH 290/341] Update CI --- .github/workflows/run_scm.yml | 4 ++-- .github/workflows/run_scm_artifact.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 701f69ffa..a7fc3c55d 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -101,13 +101,13 @@ jobs: ./contrib/get_rrtmgp_data.sh - name: Configure SCM SDFs before building model (supported SCM cases/sdfs) - if: matrix.sdfs != 'supported' + if: matrix.sdfs == 'supported' run: | echo "suites=${sdfs_supported}" >> "$GITHUB_ENV" echo "suites_ps=${sdfs_supported_ps}" >> "$GITHUB_ENV" - name: Configure SCM SDFs before building model (legacy/developmental SCM cases/sdfs) - if: matrix.sdfs != 'legdev' + if: matrix.sdfs == 'legdev' run: | echo "suites=${sdfs_legdev}" >> "$GITHUB_ENV" echo "suites_ps=${sdfs_legdev_ps}" >> "$GITHUB_ENV" diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 712c9f141..7828da3b6 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -101,13 +101,13 @@ jobs: ./contrib/get_rrtmgp_data.sh - name: Configure SCM SDFs before building model (supported SCM cases/sdfs) - if: matrix.sdfs != 'supported' + if: matrix.sdfs == 'supported' run: | echo "suites=${sdfs_supported}" >> "$GITHUB_ENV" echo "suites_ps=${sdfs_supported_ps}" >> "$GITHUB_ENV" - name: Configure SCM SDFs before building model (legacy/developmental SCM cases/sdfs) - if: matrix.sdfs != 'legdev' + if: matrix.sdfs == 'legdev' run: | echo "suites=${sdfs_legdev}" >> "$GITHUB_ENV" echo "suites_ps=${sdfs_legdev_ps}" >> "$GITHUB_ENV" From 4d2af954854d3a2aee73606c6dbf9b00e182d1e3 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 14:59:50 -0700 Subject: [PATCH 291/341] Update CI --- .github/workflows/run_scm.yml | 2 +- .github/workflows/run_scm_artifact.yml | 2 +- test/ci_util.py | 13 +++++++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index a7fc3c55d..dc187e56d 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -142,7 +142,7 @@ jobs: run: | cd ${SCM_ROOT}/test mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} - ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} + ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} -s ${{matrix.sdfs}} - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines run: | diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 7828da3b6..485558064 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -142,7 +142,7 @@ jobs: run: | cd ${SCM_ROOT}/test mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} - ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} + ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} -s ${{matrix.sdfs}} - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v5 diff --git a/test/ci_util.py b/test/ci_util.py index 07baebeee..264f0ca99 100755 --- a/test/ci_util.py +++ b/test/ci_util.py @@ -8,23 +8,28 @@ ############################################################################## import os import sys -from rt_test_cases import run_list +from rt_test_cases_supported import run_list as run_list_supported +from rt_test_cases_legdev import run_list as run_list_legdev from os.path import exists import argparse # parser = argparse.ArgumentParser() -parser.add_argument('-b', '--build_type', help='SCM build type') +parser.add_argument('-b', '--build_type', help='SCM build type') +parser.add_argument('-s', '--sdfs', help='SCM SDFs and cases') def parse_args(): args = parser.parse_args() build_type = args.build_type - return (build_type) + sdfs = args.sdfs + return (build_type, sdfs) def main(): - (build_type) = parse_args() + (build_type, sdfs) = parse_args() + if (sdfs == 'supported') run_list = run_list_supported + if (sdfs == 'legdev') run_list = run_list_legdev # errmsgs=[] for run in run_list: From 7621e69474528c4568527e1bee300c0dc6257ff2 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 15:13:04 -0700 Subject: [PATCH 292/341] Update CI --- .github/workflows/run_scm.yml | 6 +++--- .github/workflows/run_scm_artifact.yml | 6 +++--- test/ci_util.py | 4 ++-- test/rt_test_cases_legdev.py | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index dc187e56d..02d26bfb6 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -31,8 +31,8 @@ jobs: SCM_ROOT: /__w/ccpp-scm/ccpp-scm sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps - sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug,SCM_GFS_v17_p8_ugwpv1_tempo - sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps + sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug#,SCM_GFS_v17_p8_ugwpv1_tempo + sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps#,SCM_GFS_v17_p8_ugwpv1_tempo_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} @@ -69,7 +69,7 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV +# echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV echo "CC=mpiicx" >> $GITHUB_ENV echo "CXX=mpiicpx" >> $GITHUB_ENV diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 485558064..7e6122ba3 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -31,8 +31,8 @@ jobs: SCM_ROOT: /__w/ccpp-scm/ccpp-scm sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps - sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug,SCM_GFS_v17_p8_ugwpv1_tempo - sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps + sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug#,SCM_GFS_v17_p8_ugwpv1_tempo + sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps#,SCM_GFS_v17_p8_ugwpv1_tempo_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} @@ -69,7 +69,7 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV +# echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV echo "CC=mpiicx" >> $GITHUB_ENV echo "CXX=mpiicpx" >> $GITHUB_ENV diff --git a/test/ci_util.py b/test/ci_util.py index 264f0ca99..f2e432f06 100755 --- a/test/ci_util.py +++ b/test/ci_util.py @@ -28,8 +28,8 @@ def main(): (build_type, sdfs) = parse_args() - if (sdfs == 'supported') run_list = run_list_supported - if (sdfs == 'legdev') run_list = run_list_legdev + if (sdfs == 'supported'): run_list = run_list_supported + if (sdfs == 'legdev'): run_list = run_list_legdev # errmsgs=[] for run in run_list: diff --git a/test/rt_test_cases_legdev.py b/test/rt_test_cases_legdev.py index 2f840564f..59f7878a0 100644 --- a/test/rt_test_cases_legdev.py +++ b/test/rt_test_cases_legdev.py @@ -10,7 +10,7 @@ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RRFS_v1beta"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v15p2"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ {"case": "twpice", "suite": "SCM_GFS_v17_p8"}, \ {"case": "twpice", "suite": "SCM_HRRR"}, \ From 965c47db1d1b7b3c90d10b6e6c4469ab78f7f32d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 15:14:32 -0700 Subject: [PATCH 293/341] Update CI --- .github/workflows/run_scm.yml | 1 - .github/workflows/run_scm_artifact.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 02d26bfb6..8515debd4 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -69,7 +69,6 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV -# echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV echo "CC=mpiicx" >> $GITHUB_ENV echo "CXX=mpiicpx" >> $GITHUB_ENV diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 7e6122ba3..b2e673bbb 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -69,7 +69,6 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV -# echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV echo "CC=mpiicx" >> $GITHUB_ENV echo "CXX=mpiicpx" >> $GITHUB_ENV From 4415919163b181e99ec79ca8a521d1783a6dcc11 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 15:23:43 -0700 Subject: [PATCH 294/341] Update CI --- .github/workflows/run_scm.yml | 5 +++-- .github/workflows/run_scm_artifact.yml | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 8515debd4..3ada56418 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -31,8 +31,8 @@ jobs: SCM_ROOT: /__w/ccpp-scm/ccpp-scm sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps - sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug#,SCM_GFS_v17_p8_ugwpv1_tempo - sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps#,SCM_GFS_v17_p8_ugwpv1_tempo_ps + sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug + sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} @@ -69,6 +69,7 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV echo "CC=mpiicx" >> $GITHUB_ENV echo "CXX=mpiicpx" >> $GITHUB_ENV diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index b2e673bbb..1994985cf 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -31,8 +31,8 @@ jobs: SCM_ROOT: /__w/ccpp-scm/ccpp-scm sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps - sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug#,SCM_GFS_v17_p8_ugwpv1_tempo - sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps#,SCM_GFS_v17_p8_ugwpv1_tempo_ps + sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug + sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} @@ -69,6 +69,7 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV + echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV echo "CC=mpiicx" >> $GITHUB_ENV echo "CXX=mpiicpx" >> $GITHUB_ENV From 8d16703ddcbe8db7bb0c2dbfa5399b356c5d440c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 15:34:51 -0700 Subject: [PATCH 295/341] Bug fix for uninitialized variables in RRTGMP --- .gitmodules | 4 ++-- ccpp/physics | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index dc0798c32..5c50c986b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,8 +4,8 @@ branch = main [submodule "ccpp-physics"] path = ccpp/physics - url = https://github.com/NCAR/ccpp-physics - branch = main + url = https://github.com/dustinswales/ccpp-physics + branch = feature/containerized_ci [submodule "CMakeModules"] path = CMakeModules url = https://github.com/noaa-emc/CMakeModules diff --git a/ccpp/physics b/ccpp/physics index 9fe0af3aa..84212c03d 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 9fe0af3aadb3fca26d6bc684dfaa9d13ac8a533c +Subproject commit 84212c03d93fec18a5b87ac9245684b024f2a1de From 1e6b09974e00ac752f0cbb4cc6630d0e0b68e7f1 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 15:50:36 -0700 Subject: [PATCH 296/341] Update CI --- .github/workflows/run_scm.yml | 1 - .github/workflows/run_scm_artifact.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 3ada56418..bb6be7d95 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -69,7 +69,6 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV echo "CC=mpiicx" >> $GITHUB_ENV echo "CXX=mpiicpx" >> $GITHUB_ENV diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 1994985cf..df2510a1e 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -69,7 +69,6 @@ jobs: run: | echo "PATH=/opt/intel/oneapi/mpi/latest/bin:${PATH}" >> $GITHUB_ENV echo "LD_LIBRARY_PATH=/opt/intel/oneapi/mpi/latest/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - echo "I_MPI_HYDRA_ALLOW_ROOT=1" >> $GITHUB_ENV echo "MPI_COMM=mpirun -np 1" >> $GITHUB_ENV echo "CC=mpiicx" >> $GITHUB_ENV echo "CXX=mpiicpx" >> $GITHUB_ENV From 64a9b01b3f8e418a6907d66071800453ddf1525d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 15:55:16 -0700 Subject: [PATCH 297/341] Update CI --- .github/workflows/run_scm.yml | 2 +- test/cmp_rt2bl.py | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index bb6be7d95..8c574f8b1 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -163,7 +163,7 @@ jobs: - name: Compare SCM RT output to baselines run: | cd ${SCM_ROOT}/test - ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} + ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} --sdfs ${{matrix.sdfs}} - name: Check if SCM RT plots exist id: check_files diff --git a/test/cmp_rt2bl.py b/test/cmp_rt2bl.py index 7560d1b61..e0693c4f5 100755 --- a/test/cmp_rt2bl.py +++ b/test/cmp_rt2bl.py @@ -7,7 +7,8 @@ ############################################################################## import os import sys -from rt_test_cases import run_list +from rt_test_cases_supported import run_list as run_list_supported +from rt_test_cases_legdev import run_list as run_list_legdev from os.path import exists import argparse from plot_scm_out import plot_results @@ -17,20 +18,23 @@ parser.add_argument('-drt', '--dir_rt', help='Directory containing SCM RT output', required=True) parser.add_argument('-dbl', '--dir_bl', help='Directory containing SCM RT baselines', required=True) parser.add_argument('-np', '--no_plots', help='flag to turn off generation of difference plots', required=False, action='store_true') - +parser.add_argument('-s', '--sdfs', help='SCM SDFs and cases') # def parse_args(): - args = parser.parse_args() - dir_rt = args.dir_rt - dir_bl = args.dir_bl - no_plots = args.no_plots - return (dir_rt, dir_bl, no_plots) + args = parser.parse_args() + dir_rt = args.dir_rt + dir_bl = args.dir_bl + no_plots = args.no_plots + sdfs = args.sdfs + return (dir_rt, dir_bl, no_plots, sdfs) # def main(): # - (dir_rt, dir_bl, no_plots) = parse_args() + (dir_rt, dir_bl, no_plots, sdfs) = parse_args() + if (sdfs == 'supported'): run_list = run_list_supported + if (sdfs == 'legdev'): run_list = run_list_legdev # error_count = 0 for run in run_list: From 1fdacb9027b7c3bd12a993854302533afb7d4803 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 16:24:51 -0700 Subject: [PATCH 298/341] Update CI --- .github/workflows/run_scm.yml | 23 +++++++++++++------ .github/workflows/run_scm_artifact.yml | 22 ++++++++++++------ test/ci_util.py | 6 +++-- test/cmp_rt2bl.py | 6 +++-- test/rt_test_cases_dev.py | 12 ++++++++++ ...ases_legdev.py => rt_test_cases_legacy.py} | 9 +------- 6 files changed, 52 insertions(+), 26 deletions(-) create mode 100644 test/rt_test_cases_dev.py rename test/{rt_test_cases_legdev.py => rt_test_cases_legacy.py} (78%) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 8c574f8b1..287a8e0bc 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -15,7 +15,7 @@ jobs: matrix: fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] - sdfs: [supported, legdev] + sdfs: [supported, legacy, dev] include: # Set container images for each compiler - fortran-compiler: ifx @@ -31,8 +31,11 @@ jobs: SCM_ROOT: /__w/ccpp-scm/ccpp-scm sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps - sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug - sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps + sdfs_legacy: SCM_GFS_v15p2,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP + sdfs_legacy_ps: SCM_GFS_v15p2_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps + sdfs_dev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug + sdfs_dev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps + dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} @@ -105,11 +108,17 @@ jobs: echo "suites=${sdfs_supported}" >> "$GITHUB_ENV" echo "suites_ps=${sdfs_supported_ps}" >> "$GITHUB_ENV" - - name: Configure SCM SDFs before building model (legacy/developmental SCM cases/sdfs) - if: matrix.sdfs == 'legdev' + - name: Configure SCM SDFs before building model (legacy SCM cases/sdfs) + if: matrix.sdfs == 'legacy' + run: | + echo "suites=${sdfs_legacy}" >> "$GITHUB_ENV" + echo "suites_ps=${sdfs_legacy_ps}" >> "$GITHUB_ENV" + + - name: Configure SCM SDFs before building model (developmental SCM cases/sdfs) + if: matrix.sdfs == 'dev' run: | - echo "suites=${sdfs_legdev}" >> "$GITHUB_ENV" - echo "suites_ps=${sdfs_legdev_ps}" >> "$GITHUB_ENV" + echo "suites=${sdfs_dev}" >> "$GITHUB_ENV" + echo "suites_ps=${sdfs_dev_ps}" >> "$GITHUB_ENV" - name: Configure Build with CMake run: | diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index df2510a1e..f91fcbb41 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -15,7 +15,7 @@ jobs: matrix: fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] - sdfs: [supported, legdev] + sdfs: [supported, legacy, dev] include: # Set container images for each compiler - fortran-compiler: ifx @@ -31,8 +31,10 @@ jobs: SCM_ROOT: /__w/ccpp-scm/ccpp-scm sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps - sdfs_legdev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_GFS_v15p2,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug - sdfs_legdev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_GFS_v15p2_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps + sdfs_legacy: SCM_GFS_v15p2,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP + sdfs_legacy_ps: SCM_GFS_v15p2_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps + sdfs_dev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug + sdfs_dev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} @@ -105,11 +107,17 @@ jobs: echo "suites=${sdfs_supported}" >> "$GITHUB_ENV" echo "suites_ps=${sdfs_supported_ps}" >> "$GITHUB_ENV" - - name: Configure SCM SDFs before building model (legacy/developmental SCM cases/sdfs) - if: matrix.sdfs == 'legdev' + - name: Configure SCM SDFs before building model (legacy SCM cases/sdfs) + if: matrix.sdfs == 'legacy' run: | - echo "suites=${sdfs_legdev}" >> "$GITHUB_ENV" - echo "suites_ps=${sdfs_legdev_ps}" >> "$GITHUB_ENV" + echo "suites=${sdfs_legacy}" >> "$GITHUB_ENV" + echo "suites_ps=${sdfs_legacy_ps}" >> "$GITHUB_ENV" + + - name: Configure SCM SDFs before building model (developmental SCM cases/sdfs) + if: matrix.sdfs == 'dev' + run: | + echo "suites=${sdfs_dev}" >> "$GITHUB_ENV" + echo "suites_ps=${sdfs_dev_ps}" >> "$GITHUB_ENV" - name: Configure Build with CMake run: | diff --git a/test/ci_util.py b/test/ci_util.py index f2e432f06..e0888a742 100755 --- a/test/ci_util.py +++ b/test/ci_util.py @@ -9,7 +9,8 @@ import os import sys from rt_test_cases_supported import run_list as run_list_supported -from rt_test_cases_legdev import run_list as run_list_legdev +from rt_test_cases_legcy import run_list as run_list_legacy +from rt_test_cases_dev import run_list as run_list_dev from os.path import exists import argparse @@ -29,7 +30,8 @@ def main(): (build_type, sdfs) = parse_args() if (sdfs == 'supported'): run_list = run_list_supported - if (sdfs == 'legdev'): run_list = run_list_legdev + if (sdfs == 'legacy'): run_list = run_list_legacy + if (sdfs == 'dev'): run_list = run_list_dev # errmsgs=[] for run in run_list: diff --git a/test/cmp_rt2bl.py b/test/cmp_rt2bl.py index e0693c4f5..3af88d206 100755 --- a/test/cmp_rt2bl.py +++ b/test/cmp_rt2bl.py @@ -8,7 +8,8 @@ import os import sys from rt_test_cases_supported import run_list as run_list_supported -from rt_test_cases_legdev import run_list as run_list_legdev +from rt_test_cases_legcy import run_list as run_list_legacy +from rt_test_cases_dev import run_list as run_list_dev from os.path import exists import argparse from plot_scm_out import plot_results @@ -34,7 +35,8 @@ def main(): (dir_rt, dir_bl, no_plots, sdfs) = parse_args() if (sdfs == 'supported'): run_list = run_list_supported - if (sdfs == 'legdev'): run_list = run_list_legdev + if (sdfs == 'legacy'): run_list = run_list_legacy + if (sdfs == 'dev'): run_list = run_list_dev # error_count = 0 for run in run_list: diff --git a/test/rt_test_cases_dev.py b/test/rt_test_cases_dev.py new file mode 100644 index 000000000..c93db1478 --- /dev/null +++ b/test/rt_test_cases_dev.py @@ -0,0 +1,12 @@ +run_list = [\ + #---------------------------------------------------------------------------------------------------------------------------------------------- + # Developemnt suites, (w/ supported cases). + #---------------------------------------------------------------------------------------------------------------------------------------------- + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_RRFS_v1beta_no_nsst"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ + {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ + ] diff --git a/test/rt_test_cases_legdev.py b/test/rt_test_cases_legacy.py similarity index 78% rename from test/rt_test_cases_legdev.py rename to test/rt_test_cases_legacy.py index 59f7878a0..e29e72d73 100644 --- a/test/rt_test_cases_legdev.py +++ b/test/rt_test_cases_legacy.py @@ -1,29 +1,22 @@ run_list = [\ #---------------------------------------------------------------------------------------------------------------------------------------------- - # Legacy and developemnt suites, legdev, (w/ supported cases). + # Legacy suites, (w/ supported cases). #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_RRFS_v1beta_no_nsst"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RRFS_v1beta"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v15p2"}, \ - #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ {"case": "twpice", "suite": "SCM_GFS_v17_p8"}, \ {"case": "twpice", "suite": "SCM_HRRR"}, \ {"case": "twpice", "suite": "SCM_RRFS_v1beta"}, \ {"case": "twpice", "suite": "SCM_RAP"}, \ {"case": "twpice", "suite": "SCM_GFS_v15p2"}, \ - {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ {"case": "bomex", "suite": "SCM_GFS_v17_p8"}, \ {"case": "bomex", "suite": "SCM_HRRR"}, \ {"case": "bomex", "suite": "SCM_RRFS_v1beta"}, \ {"case": "bomex", "suite": "SCM_RAP"}, \ {"case": "bomex", "suite": "SCM_GFS_v15p2"}, \ - {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ {"case": "astex", "suite": "SCM_GFS_v17_p8"}, \ {"case": "astex", "suite": "SCM_HRRR"}, \ {"case": "astex", "suite": "SCM_RRFS_v1beta"}, \ From dac128913d32844fc4938f6117715e54ef745aaa Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 16:33:25 -0700 Subject: [PATCH 299/341] Update CI --- test/ci_util.py | 2 +- test/cmp_rt2bl.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/ci_util.py b/test/ci_util.py index e0888a742..67cc57969 100755 --- a/test/ci_util.py +++ b/test/ci_util.py @@ -9,7 +9,7 @@ import os import sys from rt_test_cases_supported import run_list as run_list_supported -from rt_test_cases_legcy import run_list as run_list_legacy +from rt_test_cases_legacy import run_list as run_list_legacy from rt_test_cases_dev import run_list as run_list_dev from os.path import exists import argparse diff --git a/test/cmp_rt2bl.py b/test/cmp_rt2bl.py index 3af88d206..2751a66f1 100755 --- a/test/cmp_rt2bl.py +++ b/test/cmp_rt2bl.py @@ -8,7 +8,7 @@ import os import sys from rt_test_cases_supported import run_list as run_list_supported -from rt_test_cases_legcy import run_list as run_list_legacy +from rt_test_cases_legacy import run_list as run_list_legacy from rt_test_cases_dev import run_list as run_list_dev from os.path import exists import argparse From b545c2590b6e5d11d560053db850576b9cc9ac65 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 10 Feb 2026 19:18:24 -0700 Subject: [PATCH 300/341] Update CI --- .github/workflows/run_scm.yml | 4 ++-- .github/workflows/run_scm_artifact.yml | 4 ++-- test/rt_test_cases_supported.py | 28 +++++++++++++------------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 287a8e0bc..051236a68 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -29,8 +29,8 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf - sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps + sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1 + sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps sdfs_legacy: SCM_GFS_v15p2,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP sdfs_legacy_ps: SCM_GFS_v15p2_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps sdfs_dev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index f91fcbb41..1e92844aa 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -29,8 +29,8 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf - sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps + sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1 + sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps sdfs_legacy: SCM_GFS_v15p2,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP sdfs_legacy_ps: SCM_GFS_v15p2_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps sdfs_dev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug diff --git a/test/rt_test_cases_supported.py b/test/rt_test_cases_supported.py index 8d3ff0a00..0513dc434 100644 --- a/test/rt_test_cases_supported.py +++ b/test/rt_test_cases_supported.py @@ -5,36 +5,36 @@ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ {"case": "twpice", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "twpice", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "twpice", "suite": "SCM_GFS_v16"}, \ - {"case": "twpice", "suite": "SCM_WoFS_v0"}, \ - {"case": "twpice", "suite": "SCM_HRRR_gf"}, \ + #{"case": "twpice", "suite": "SCM_WoFS_v0"}, \ + #{"case": "twpice", "suite": "SCM_HRRR_gf"}, \ {"case": "bomex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "bomex", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "bomex", "suite": "SCM_GFS_v16"}, \ - {"case": "bomex", "suite": "SCM_WoFS_v0"}, \ - {"case": "bomex", "suite": "SCM_HRRR_gf"}, \ + #{"case": "bomex", "suite": "SCM_WoFS_v0"}, \ + #{"case": "bomex", "suite": "SCM_HRRR_gf"}, \ {"case": "astex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "astex", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "astex", "suite": "SCM_GFS_v16"}, \ - {"case": "astex", "suite": "SCM_WoFS_v0"}, \ - {"case": "astex", "suite": "SCM_HRRR_gf"}, \ + #{"case": "astex", "suite": "SCM_WoFS_v0"}, \ + #{"case": "astex", "suite": "SCM_HRRR_gf"}, \ {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ + #{"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ + #{"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ {"case": "COMBLE", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "COMBLE", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "COMBLE", "suite": "SCM_GFS_v16"}, \ - {"case": "COMBLE", "suite": "SCM_WoFS_v0"}, \ - {"case": "COMBLE", "suite": "SCM_HRRR_gf"}, \ + #{"case": "COMBLE", "suite": "SCM_WoFS_v0"}, \ + #{"case": "COMBLE", "suite": "SCM_HRRR_gf"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16"}, \ - {"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ - {"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ + #{"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ + #{"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ {"case": "gabls3", "suite": "SCM_GFS_v16"}] From 40b52d3aeef443c22a9ddab58500fb686210b6e5 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 08:46:51 -0700 Subject: [PATCH 301/341] Physics change --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 84212c03d..252ffaf3c 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 84212c03d93fec18a5b87ac9245684b024f2a1de +Subproject commit 252ffaf3cbd58441bbb03fcfcfc9958822a669ad From f56c6b283a91db6f915c50b50fd6a1fc7650e205 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 09:42:21 -0700 Subject: [PATCH 302/341] Update to SCM to ingest test file with multiple lists --- .github/workflows/run_scm.yml | 6 +- .github/workflows/run_scm_artifact.yml | 4 +- scm/src/run_scm.py | 13 +++- scm/src/suite_info.py | 14 +++- test/ci_util.py | 6 +- test/cmp_rt2bl.py | 7 +- test/rt_test_cases.py | 101 +++++++++++++++++++++++++ test/rt_test_cases_dev.py | 12 --- test/rt_test_cases_legacy.py | 29 ------- test/rt_test_cases_nvidia.py | 9 --- test/rt_test_cases_sp.py | 10 --- test/rt_test_cases_supported.py | 40 ---------- 12 files changed, 133 insertions(+), 118 deletions(-) create mode 100644 test/rt_test_cases.py delete mode 100644 test/rt_test_cases_dev.py delete mode 100644 test/rt_test_cases_legacy.py delete mode 100644 test/rt_test_cases_nvidia.py delete mode 100644 test/rt_test_cases_sp.py delete mode 100644 test/rt_test_cases_supported.py diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 051236a68..588e3f27f 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -15,7 +15,7 @@ jobs: matrix: fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] - sdfs: [supported, legacy, dev] + sdfs: [supported, legacy, dev]#, sp, nvhpc] include: # Set container images for each compiler - fortran-compiler: ifx @@ -138,13 +138,13 @@ jobs: if: matrix.build-type != 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_${{matrix.sdfs}}.py --runtime_mult 0.1 --mpi_command "${MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}} --runtime_mult 0.1 --mpi_command "${MPI_COMM}" - name: Run SCM Single Precision RTs if: matrix.build-type == 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_sp.py --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}} --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" - name: Gather SCM RT output run: | diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 1e92844aa..fd86d030f 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -137,13 +137,13 @@ jobs: if: matrix.build-type != 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_${{matrix.sdfs}}.py --runtime_mult 0.1 --mpi_command "${MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}} --runtime_mult 0.1 --mpi_command "${MPI_COMM}" - name: Run SCM Single Precision RTs if: matrix.build-type == 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases_sp.py --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}} --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" - name: Gather SCM RT output run: | diff --git a/scm/src/run_scm.py b/scm/src/run_scm.py index a411418ba..1bf61deea 100755 --- a/scm/src/run_scm.py +++ b/scm/src/run_scm.py @@ -107,6 +107,7 @@ sgroup = parser.add_argument_group('Single experiment') sgroup.add_argument('-c', '--case', help='name of case to run') sgroup.add_argument('-s', '--suite', help='name of suite to use') +sgroup.add_argument('--run_list', help='name of run_list in rt_test_cases file', required=False) sgroup.add_argument('-n', '--namelist', help='physics namelist to use') sgroup.add_argument('-t', '--tracers', help='tracer configuration to use') parser.add_argument('-g', '--gdb', help='invoke scm through gdb', action='store_true', default=False) @@ -174,6 +175,7 @@ def parse_arguments(): """Parse command line arguments""" args = parser.parse_args() file = args.file + run_list = args.run_list case = args.case sdf = args.suite namelist = args.namelist @@ -201,7 +203,7 @@ def parse_arguments(): if not sdf: sdf = DEFAULT_SUITE - return (file, case, sdf, namelist, tracers, gdb, runtime, runtime_mult, docker, \ + return (file, run_list, case, sdf, namelist, tracers, gdb, runtime, runtime_mult, docker, \ verbose, levels, npz_type, vert_coord_file, case_data_dir, n_itt_out, \ n_itt_diag, run_dir, bin_dir, timestep, mpi_command, stop_on_error) @@ -835,7 +837,7 @@ def find_max_str_lengths(run_list): def main(): - (file, case, sdf, namelist, tracers, use_gdb, runtime, runtime_mult, docker, \ + (file, run_list_name, case, sdf, namelist, tracers, use_gdb, runtime, runtime_mult, docker, \ verbose, levels, npz_type, vert_coord_file, case_data_dir, n_itt_out, \ n_itt_diag, run_dir, bin_dir, timestep, mpi_command, stop_on_error \ ) = parse_arguments() @@ -867,6 +869,11 @@ def main(): global EXECUTABLE EXECUTABLE = os.path.join(SCM_RUN, EXECUTABLE_NAME) + list_name = "run_list" + if (run_list_name): + list_name = "run_list_"+run_list_name + # end if + # Debugger if use_gdb: gdb = find_gdb() @@ -879,7 +886,7 @@ def main(): sys.path.append(dirname) module_name = os.path.splitext(basename)[0] scm_runs = importlib.import_module(module_name) - run_list = scm_runs.run_list + run_list = getattr(scm_runs,list_name) sys.path.pop() except ImportError: message = 'There was a problem loading {0}. Please check that the path exists.'.format(file) diff --git a/scm/src/suite_info.py b/scm/src/suite_info.py index 6d0aadfbd..cc9251a7b 100755 --- a/scm/src/suite_info.py +++ b/scm/src/suite_info.py @@ -95,13 +95,19 @@ def main(): import rt_test_cases_sp import rt_test_cases_nvidia - for item in rt_test_cases.run_list: + for item in rt_test_cases.run_list_supported: rt_suite_list.append(item.get("suite")) - - for item in rt_test_cases_sp.run_list: + + for item in rt_test_cases.run_list_legacy: + rt_suite_list.append(item.get("suite")) + + for item in rt_test_cases.run_list_dev: + rt_suite_list.append(item.get("suite")) + + for item in rt_test_cases.run_list_sp: rt_suite_list.append(item.get("suite")) - for item in rt_test_cases_nvidia.run_list: + for item in rt_test_cases.run_list_nvhpc: rt_suite_list.append(item.get("suite")) unique_suite_list = list(set(rt_suite_list)) diff --git a/test/ci_util.py b/test/ci_util.py index 67cc57969..6edcc67c1 100755 --- a/test/ci_util.py +++ b/test/ci_util.py @@ -8,9 +8,7 @@ ############################################################################## import os import sys -from rt_test_cases_supported import run_list as run_list_supported -from rt_test_cases_legacy import run_list as run_list_legacy -from rt_test_cases_dev import run_list as run_list_dev +from rt_test_cases from os.path import exists import argparse @@ -32,6 +30,8 @@ def main(): if (sdfs == 'supported'): run_list = run_list_supported if (sdfs == 'legacy'): run_list = run_list_legacy if (sdfs == 'dev'): run_list = run_list_dev + if (sdfs == 'sp'): run_list = run_list_sp + if (sdfs == 'nvhpc'): run_list = run_list_nvhpc # errmsgs=[] for run in run_list: diff --git a/test/cmp_rt2bl.py b/test/cmp_rt2bl.py index 2751a66f1..18e65a1c6 100755 --- a/test/cmp_rt2bl.py +++ b/test/cmp_rt2bl.py @@ -7,9 +7,7 @@ ############################################################################## import os import sys -from rt_test_cases_supported import run_list as run_list_supported -from rt_test_cases_legacy import run_list as run_list_legacy -from rt_test_cases_dev import run_list as run_list_dev +from rt_test_cases from os.path import exists import argparse from plot_scm_out import plot_results @@ -37,6 +35,9 @@ def main(): if (sdfs == 'supported'): run_list = run_list_supported if (sdfs == 'legacy'): run_list = run_list_legacy if (sdfs == 'dev'): run_list = run_list_dev + if (sdfs == 'sp'): run_list = run_list_sp + if (sdfs == 'nvhpc'): run_list = run_list_nvhpc + # error_count = 0 for run in run_list: diff --git a/test/rt_test_cases.py b/test/rt_test_cases.py new file mode 100644 index 000000000..759cc0fdd --- /dev/null +++ b/test/rt_test_cases.py @@ -0,0 +1,101 @@ +#---------------------------------------------------------------------------------------------------------------------------------------------------------- +# Supported suites for CCPP Version 7 release. +#---------------------------------------------------------------------------------------------------------------------------------------------------------- +run_list_supported = [\ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ + {"case": "twpice", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "twpice", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "twpice", "suite": "SCM_GFS_v16"}, \ + #{"case": "twpice", "suite": "SCM_WoFS_v0"}, \ + #{"case": "twpice", "suite": "SCM_HRRR_gf"}, \ + {"case": "bomex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16"}, \ + #{"case": "bomex", "suite": "SCM_WoFS_v0"}, \ + #{"case": "bomex", "suite": "SCM_HRRR_gf"}, \ + {"case": "astex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "astex", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "astex", "suite": "SCM_GFS_v16"}, \ + #{"case": "astex", "suite": "SCM_WoFS_v0"}, \ + #{"case": "astex", "suite": "SCM_HRRR_gf"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16"}, \ + #{"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ + #{"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ + {"case": "COMBLE", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "COMBLE", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "COMBLE", "suite": "SCM_GFS_v16"}, \ + #{"case": "COMBLE", "suite": "SCM_WoFS_v0"}, \ + #{"case": "COMBLE", "suite": "SCM_HRRR_gf"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16"}, \ + #{"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ + #{"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ + {"case": "gabls3", "suite": "SCM_GFS_v16"}] +#---------------------------------------------------------------------------------------------------------------------------------------------------------- +# Developmental suites, (w/ supported cases). +#---------------------------------------------------------------------------------------------------------------------------------------------------------- +run_list_dev = [\ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_RRFS_v1beta_no_nsst"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ + {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ + ] +#---------------------------------------------------------------------------------------------------------------------------------------------------------- +# Legacy suites, (w/ supported cases). +#---------------------------------------------------------------------------------------------------------------------------------------------------------- +run_list_legacy = [\ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v15p2"}, \ + {"case": "twpice", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "twpice", "suite": "SCM_HRRR"}, \ + {"case": "twpice", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "twpice", "suite": "SCM_RAP"}, \ + {"case": "twpice", "suite": "SCM_GFS_v15p2"}, \ + {"case": "bomex", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "bomex", "suite": "SCM_HRRR"}, \ + {"case": "bomex", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "bomex", "suite": "SCM_RAP"}, \ + {"case": "bomex", "suite": "SCM_GFS_v15p2"}, \ + {"case": "astex", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "astex", "suite": "SCM_HRRR"}, \ + {"case": "astex", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "astex", "suite": "SCM_RAP"}, \ + {"case": "astex", "suite": "SCM_GFS_v15p2"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_HRRR"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_RRFS_v1beta"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_RAP"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v15p2"}] +#---------------------------------------------------------------------------------------------------------------------------------------------------------- +# Single precision supported suites, (w/ supported cases). +#---------------------------------------------------------------------------------------------------------------------------------------------------------- +run_list_sp = [\ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ + {"case": "twpice", "suite": "SCM_HRRR_gf"}, \ + {"case": "bomex", "suite": "SCM_HRRR_gf"}, \ + {"case": "astex", "suite": "SCM_HRRR_gf"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ + ] +#---------------------------------------------------------------------------------------------------------------------------------------------------------- +# Suites for use with Nvidia compilers, (w/ supported cases). +#---------------------------------------------------------------------------------------------------------------------------------------------------------- +run_list_nvhpc = [\ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ + {"case": "twpice", "suite": "SCM_RAP"}, \ + {"case": "bomex", "suite": "SCM_RAP"}, \ + {"case": "astex", "suite": "SCM_RAP"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_RAP"}] + diff --git a/test/rt_test_cases_dev.py b/test/rt_test_cases_dev.py deleted file mode 100644 index c93db1478..000000000 --- a/test/rt_test_cases_dev.py +++ /dev/null @@ -1,12 +0,0 @@ -run_list = [\ - #---------------------------------------------------------------------------------------------------------------------------------------------- - # Developemnt suites, (w/ supported cases). - #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ - {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_RRFS_v1beta_no_nsst"}, \ - #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ - {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ - {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ - ] diff --git a/test/rt_test_cases_legacy.py b/test/rt_test_cases_legacy.py deleted file mode 100644 index e29e72d73..000000000 --- a/test/rt_test_cases_legacy.py +++ /dev/null @@ -1,29 +0,0 @@ -run_list = [\ - #---------------------------------------------------------------------------------------------------------------------------------------------- - # Legacy suites, (w/ supported cases). - #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v15p2"}, \ - {"case": "twpice", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "twpice", "suite": "SCM_HRRR"}, \ - {"case": "twpice", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "twpice", "suite": "SCM_RAP"}, \ - {"case": "twpice", "suite": "SCM_GFS_v15p2"}, \ - {"case": "bomex", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "bomex", "suite": "SCM_HRRR"}, \ - {"case": "bomex", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "bomex", "suite": "SCM_RAP"}, \ - {"case": "bomex", "suite": "SCM_GFS_v15p2"}, \ - {"case": "astex", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "astex", "suite": "SCM_HRRR"}, \ - {"case": "astex", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "astex", "suite": "SCM_RAP"}, \ - {"case": "astex", "suite": "SCM_GFS_v15p2"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_HRRR"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RAP"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v15p2"}] diff --git a/test/rt_test_cases_nvidia.py b/test/rt_test_cases_nvidia.py deleted file mode 100644 index 14473306c..000000000 --- a/test/rt_test_cases_nvidia.py +++ /dev/null @@ -1,9 +0,0 @@ -run_list = [\ - #---------------------------------------------------------------------------------------------------------------------------------------------- - # CCPP-SCM suites for use with Nvidia compilers - #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ - {"case": "twpice", "suite": "SCM_RAP"}, \ - {"case": "bomex", "suite": "SCM_RAP"}, \ - {"case": "astex", "suite": "SCM_RAP"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RAP"}] diff --git a/test/rt_test_cases_sp.py b/test/rt_test_cases_sp.py deleted file mode 100644 index b1fa04ea4..000000000 --- a/test/rt_test_cases_sp.py +++ /dev/null @@ -1,10 +0,0 @@ -run_list = [\ - #---------------------------------------------------------------------------------------------------------------------------------------------- - # CCPP-SCM single precision supported suites - #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ - {"case": "twpice", "suite": "SCM_HRRR_gf"}, \ - {"case": "bomex", "suite": "SCM_HRRR_gf"}, \ - {"case": "astex", "suite": "SCM_HRRR_gf"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ - ] diff --git a/test/rt_test_cases_supported.py b/test/rt_test_cases_supported.py deleted file mode 100644 index 0513dc434..000000000 --- a/test/rt_test_cases_supported.py +++ /dev/null @@ -1,40 +0,0 @@ -run_list = [\ - #---------------------------------------------------------------------------------------------------------------------------------------------- - # Supported suites for CCPP Version 7 release - #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_RRTMGP"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16"}, \ - #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ - #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ - {"case": "twpice", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "twpice", "suite": "SCM_GFS_v16_RRTMGP"}, \ - {"case": "twpice", "suite": "SCM_GFS_v16"}, \ - #{"case": "twpice", "suite": "SCM_WoFS_v0"}, \ - #{"case": "twpice", "suite": "SCM_HRRR_gf"}, \ - {"case": "bomex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "bomex", "suite": "SCM_GFS_v16_RRTMGP"}, \ - {"case": "bomex", "suite": "SCM_GFS_v16"}, \ - #{"case": "bomex", "suite": "SCM_WoFS_v0"}, \ - #{"case": "bomex", "suite": "SCM_HRRR_gf"}, \ - {"case": "astex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "astex", "suite": "SCM_GFS_v16_RRTMGP"}, \ - {"case": "astex", "suite": "SCM_GFS_v16"}, \ - #{"case": "astex", "suite": "SCM_WoFS_v0"}, \ - #{"case": "astex", "suite": "SCM_HRRR_gf"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16_RRTMGP"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16"}, \ - #{"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ - #{"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ - {"case": "COMBLE", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "COMBLE", "suite": "SCM_GFS_v16_RRTMGP"}, \ - {"case": "COMBLE", "suite": "SCM_GFS_v16"}, \ - #{"case": "COMBLE", "suite": "SCM_WoFS_v0"}, \ - #{"case": "COMBLE", "suite": "SCM_HRRR_gf"}, \ - {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ - {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16_RRTMGP"}, \ - {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16"}, \ - #{"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ - #{"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ - {"case": "gabls3", "suite": "SCM_GFS_v16"}] From 9a49c030788b6df57527b71e9894db33a70fce20 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 10:03:33 -0700 Subject: [PATCH 303/341] More updates to script to handle new testing --- .github/workflows/run_scm.yml | 8 +- .github/workflows/run_scm_artifact.yml | 6 +- test/ci_util.py | 16 ++-- test/cmp_rt2bl.py | 18 ++-- test/rt_test_cases.py | 110 ++++++++++++++++++------- 5 files changed, 97 insertions(+), 61 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 588e3f27f..409ef0657 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -138,19 +138,19 @@ jobs: if: matrix.build-type != 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}} --runtime_mult 0.1 --mpi_command "${MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}}_${{matrix.fortran-compiler}} --runtime_mult 0.1 --mpi_command "${MPI_COMM}" - name: Run SCM Single Precision RTs if: matrix.build-type == 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}} --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}}_${{matrix.fortran-compiler}} --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" - name: Gather SCM RT output run: | cd ${SCM_ROOT}/test mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} - ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} -s ${{matrix.sdfs}} + ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} --run_list run_list_${{matrix.sdfs}}_${{matrix.fortran-compiler}} - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines run: | @@ -172,7 +172,7 @@ jobs: - name: Compare SCM RT output to baselines run: | cd ${SCM_ROOT}/test - ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} --sdfs ${{matrix.sdfs}} + ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} --run_list run_list_${{matrix.sdfs}}_${{matrix.fortran-compiler}} - name: Check if SCM RT plots exist id: check_files diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index fd86d030f..d493f1430 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -137,19 +137,19 @@ jobs: if: matrix.build-type != 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}} --runtime_mult 0.1 --mpi_command "${MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}}_${{matrix.fortran-compiler}} --runtime_mult 0.1 --mpi_command "${MPI_COMM}" - name: Run SCM Single Precision RTs if: matrix.build-type == 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}} --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}}_${{matrix.fortran-compiler}} --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" - name: Gather SCM RT output run: | cd ${SCM_ROOT}/test mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} - ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} -s ${{matrix.sdfs}} + ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} --run_list run_list_${{matrix.sdfs}}_${{matrix.fortran-compiler}} - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v5 diff --git a/test/ci_util.py b/test/ci_util.py index 6edcc67c1..7313355fb 100755 --- a/test/ci_util.py +++ b/test/ci_util.py @@ -8,30 +8,24 @@ ############################################################################## import os import sys -from rt_test_cases +import rt_test_cases from os.path import exists import argparse # parser = argparse.ArgumentParser() parser.add_argument('-b', '--build_type', help='SCM build type') -parser.add_argument('-s', '--sdfs', help='SCM SDFs and cases') +parser.add_argument('-r', '--run_list', help='Run list of SCM SDFs and cases') def parse_args(): args = parser.parse_args() build_type = args.build_type - sdfs = args.sdfs - return (build_type, sdfs) + run_list = ards.run_list + return (build_type, run_list) def main(): - (build_type, sdfs) = parse_args() - - if (sdfs == 'supported'): run_list = run_list_supported - if (sdfs == 'legacy'): run_list = run_list_legacy - if (sdfs == 'dev'): run_list = run_list_dev - if (sdfs == 'sp'): run_list = run_list_sp - if (sdfs == 'nvhpc'): run_list = run_list_nvhpc + (build_type, run_list) = parse_args() # errmsgs=[] for run in run_list: diff --git a/test/cmp_rt2bl.py b/test/cmp_rt2bl.py index 18e65a1c6..8caa7d03d 100755 --- a/test/cmp_rt2bl.py +++ b/test/cmp_rt2bl.py @@ -7,7 +7,7 @@ ############################################################################## import os import sys -from rt_test_cases +import rt_test_cases from os.path import exists import argparse from plot_scm_out import plot_results @@ -17,27 +17,21 @@ parser.add_argument('-drt', '--dir_rt', help='Directory containing SCM RT output', required=True) parser.add_argument('-dbl', '--dir_bl', help='Directory containing SCM RT baselines', required=True) parser.add_argument('-np', '--no_plots', help='flag to turn off generation of difference plots', required=False, action='store_true') -parser.add_argument('-s', '--sdfs', help='SCM SDFs and cases') +parser.add_argument('-r', '--run_list', help='Run list of SCM SDFs and cases') + # def parse_args(): args = parser.parse_args() dir_rt = args.dir_rt dir_bl = args.dir_bl no_plots = args.no_plots - sdfs = args.sdfs - return (dir_rt, dir_bl, no_plots, sdfs) + un_list = ards.run_list + return (dir_rt, dir_bl, no_plots, run_list) # def main(): - # - (dir_rt, dir_bl, no_plots, sdfs) = parse_args() - - if (sdfs == 'supported'): run_list = run_list_supported - if (sdfs == 'legacy'): run_list = run_list_legacy - if (sdfs == 'dev'): run_list = run_list_dev - if (sdfs == 'sp'): run_list = run_list_sp - if (sdfs == 'nvhpc'): run_list = run_list_nvhpc + (dir_rt, dir_bl, no_plots, run_list) = parse_args() # error_count = 0 for run in run_list: diff --git a/test/rt_test_cases.py b/test/rt_test_cases.py index 759cc0fdd..3e5108009 100644 --- a/test/rt_test_cases.py +++ b/test/rt_test_cases.py @@ -1,59 +1,112 @@ #---------------------------------------------------------------------------------------------------------------------------------------------------------- # Supported suites for CCPP Version 7 release. #---------------------------------------------------------------------------------------------------------------------------------------------------------- -run_list_supported = [\ +run_list_supported_gfortran = [\ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16"}, \ - #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ - #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ {"case": "twpice", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "twpice", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "twpice", "suite": "SCM_GFS_v16"}, \ - #{"case": "twpice", "suite": "SCM_WoFS_v0"}, \ - #{"case": "twpice", "suite": "SCM_HRRR_gf"}, \ + {"case": "twpice", "suite": "SCM_WoFS_v0"}, \ + {"case": "twpice", "suite": "SCM_HRRR_gf"}, \ {"case": "bomex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "bomex", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "bomex", "suite": "SCM_GFS_v16"}, \ - #{"case": "bomex", "suite": "SCM_WoFS_v0"}, \ - #{"case": "bomex", "suite": "SCM_HRRR_gf"}, \ + {"case": "bomex", "suite": "SCM_WoFS_v0"}, \ + {"case": "bomex", "suite": "SCM_HRRR_gf"}, \ {"case": "astex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "astex", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "astex", "suite": "SCM_GFS_v16"}, \ - #{"case": "astex", "suite": "SCM_WoFS_v0"}, \ - #{"case": "astex", "suite": "SCM_HRRR_gf"}, \ + {"case": "astex", "suite": "SCM_WoFS_v0"}, \ + {"case": "astex", "suite": "SCM_HRRR_gf"}, \ {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16"}, \ - #{"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ - #{"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ {"case": "COMBLE", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "COMBLE", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "COMBLE", "suite": "SCM_GFS_v16"}, \ - #{"case": "COMBLE", "suite": "SCM_WoFS_v0"}, \ - #{"case": "COMBLE", "suite": "SCM_HRRR_gf"}, \ + {"case": "COMBLE", "suite": "SCM_WoFS_v0"}, \ + {"case": "COMBLE", "suite": "SCM_HRRR_gf"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16_RRTMGP"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16"}, \ - #{"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ - #{"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ {"case": "gabls3", "suite": "SCM_GFS_v16"}] +run_list_supported_ifx = [\ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ + {"case": "twpice", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "twpice", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "twpice", "suite": "SCM_GFS_v16"}, \ + {"case": "twpice", "suite": "SCM_WoFS_v0"}, \ + {"case": "twpice", "suite": "SCM_HRRR_gf"}, \ + {"case": "bomex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16"}, \ + {"case": "bomex", "suite": "SCM_WoFS_v0"}, \ + {"case": "bomex", "suite": "SCM_HRRR_gf"}, \ + {"case": "astex", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "astex", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "astex", "suite": "SCM_GFS_v16"}, \ + {"case": "astex", "suite": "SCM_WoFS_v0"}, \ + {"case": "astex", "suite": "SCM_HRRR_gf"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "LASSO_2016051812", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ + {"case": "COMBLE", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "COMBLE", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "COMBLE", "suite": "SCM_GFS_v16"}, \ + {"case": "COMBLE", "suite": "SCM_WoFS_v0"}, \ + {"case": "COMBLE", "suite": "SCM_HRRR_gf"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ + #{"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16_RRTMGP"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_GFS_v16"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ + {"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ + {"case": "gabls3", "suite": "SCM_GFS_v16"}] +run_list_supported_nvhpc = [\ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ + {"case": "twpice", "suite": "SCM_RAP"}, \ + {"case": "bomex", "suite": "SCM_RAP"}, \ + {"case": "astex", "suite": "SCM_RAP"}, \ + {"case": "LASSO_2016051812", "suite": "SCM_RAP"}] #---------------------------------------------------------------------------------------------------------------------------------------------------------- # Developmental suites, (w/ supported cases). #---------------------------------------------------------------------------------------------------------------------------------------------------------- -run_list_dev = [\ +run_list_dev_gfortran = [\ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ + {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_RRFS_v1beta_no_nsst"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ + {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ + ] +run_list_dev_ifx = [\ {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_RRFS_v1beta_no_nsst"}, \ - #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ - {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ - {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ + #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ + {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ ] + #---------------------------------------------------------------------------------------------------------------------------------------------------------- # Legacy suites, (w/ supported cases). #---------------------------------------------------------------------------------------------------------------------------------------------------------- -run_list_legacy = [\ +run_list_legacy_gfortran = [\ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RRFS_v1beta"}, \ @@ -79,23 +132,18 @@ {"case": "LASSO_2016051812", "suite": "SCM_RRFS_v1beta"}, \ {"case": "LASSO_2016051812", "suite": "SCM_RAP"}, \ {"case": "LASSO_2016051812", "suite": "SCM_GFS_v15p2"}] +run_list_legacy_ifx = run_list_legacy_gfortran + #---------------------------------------------------------------------------------------------------------------------------------------------------------- # Single precision supported suites, (w/ supported cases). #---------------------------------------------------------------------------------------------------------------------------------------------------------- -run_list_sp = [\ +run_list_sp_gfortran = [\ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ {"case": "twpice", "suite": "SCM_HRRR_gf"}, \ {"case": "bomex", "suite": "SCM_HRRR_gf"}, \ {"case": "astex", "suite": "SCM_HRRR_gf"}, \ {"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ ] -#---------------------------------------------------------------------------------------------------------------------------------------------------------- -# Suites for use with Nvidia compilers, (w/ supported cases). -#---------------------------------------------------------------------------------------------------------------------------------------------------------- -run_list_nvhpc = [\ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ - {"case": "twpice", "suite": "SCM_RAP"}, \ - {"case": "bomex", "suite": "SCM_RAP"}, \ - {"case": "astex", "suite": "SCM_RAP"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RAP"}] +#NOT TESTED WITH ONEAPI +#run_list_sp_ifx = run_list_sp_gfortran From 2b350812463eba66e241e2076dc41ca1a692fd82 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 10:21:33 -0700 Subject: [PATCH 304/341] More updates to script to handle new testing --- .github/workflows/run_scm.yml | 8 ++++---- .github/workflows/run_scm_artifact.yml | 4 ++-- test/ci_util.py | 2 +- test/cmp_rt2bl.py | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 409ef0657..9f15a2490 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -29,12 +29,12 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1 - sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps + sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf + sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps sdfs_legacy: SCM_GFS_v15p2,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP sdfs_legacy_ps: SCM_GFS_v15p2_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps - sdfs_dev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug - sdfs_dev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps + sdfs_dev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug,SCM_GFS_v17_p8_ugwpv1_tempo + sdfs_dev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index d493f1430..77df6f032 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -33,8 +33,8 @@ jobs: sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps sdfs_legacy: SCM_GFS_v15p2,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP sdfs_legacy_ps: SCM_GFS_v15p2_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps - sdfs_dev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug - sdfs_dev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps + sdfs_dev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug,SCM_GFS_v17_p8_ugwpv1_tempo + sdfs_dev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} diff --git a/test/ci_util.py b/test/ci_util.py index 7313355fb..c335fd35b 100755 --- a/test/ci_util.py +++ b/test/ci_util.py @@ -20,7 +20,7 @@ def parse_args(): args = parser.parse_args() build_type = args.build_type - run_list = ards.run_list + run_list = args.run_list return (build_type, run_list) def main(): diff --git a/test/cmp_rt2bl.py b/test/cmp_rt2bl.py index 8caa7d03d..1e1ccf072 100755 --- a/test/cmp_rt2bl.py +++ b/test/cmp_rt2bl.py @@ -25,7 +25,7 @@ def parse_args(): dir_rt = args.dir_rt dir_bl = args.dir_bl no_plots = args.no_plots - un_list = ards.run_list + un_list = args.run_list return (dir_rt, dir_bl, no_plots, run_list) # From 6b3e18cf049e44b5e440eb4b6555eaa0a5a56684 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 10:43:59 -0700 Subject: [PATCH 305/341] Update CI --- .github/workflows/run_scm_artifact.yml | 4 +-- test/ci_util.py | 3 ++- test/cmp_rt2bl.py | 4 ++- test/rt_test_cases.py | 34 +++++++++++++++++++++----- 4 files changed, 35 insertions(+), 10 deletions(-) diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 77df6f032..2546dabc7 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -29,8 +29,8 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1 - sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps + sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf + sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps sdfs_legacy: SCM_GFS_v15p2,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP sdfs_legacy_ps: SCM_GFS_v15p2_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps sdfs_dev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug,SCM_GFS_v17_p8_ugwpv1_tempo diff --git a/test/ci_util.py b/test/ci_util.py index c335fd35b..04edb42ec 100755 --- a/test/ci_util.py +++ b/test/ci_util.py @@ -25,7 +25,8 @@ def parse_args(): def main(): - (build_type, run_list) = parse_args() + (build_type, run_list_name) = parse_args() + run_list = getattr(rt_test_cases, run_list_name) # errmsgs=[] for run in run_list: diff --git a/test/cmp_rt2bl.py b/test/cmp_rt2bl.py index 1e1ccf072..425e68c31 100755 --- a/test/cmp_rt2bl.py +++ b/test/cmp_rt2bl.py @@ -31,7 +31,9 @@ def parse_args(): # def main(): - (dir_rt, dir_bl, no_plots, run_list) = parse_args() + (dir_rt, dir_bl, no_plots, run_list_name) = parse_args() + run_list = getattr(rt_test_cases, run_list_name) + # error_count = 0 for run in run_list: diff --git a/test/rt_test_cases.py b/test/rt_test_cases.py index 3e5108009..24ecdab35 100644 --- a/test/rt_test_cases.py +++ b/test/rt_test_cases.py @@ -1,6 +1,9 @@ #---------------------------------------------------------------------------------------------------------------------------------------------------------- # Supported suites for CCPP Version 7 release. #---------------------------------------------------------------------------------------------------------------------------------------------------------- +suites_supported_gfortran = [\ + "SCM_GFS_v17_p8_ugwpv1", "SCM_GFS_v16_RRTMGP", "SCM_GFS_v16", "SCM_WoFS_v0", "SCM_HRRR_gf", \ + "SCM_GFS_v17_p8_ugwpv1_ps","SCM_GFS_v16_RRTMGP_ps","SCM_GFS_v16_ps","SCM_WoFS_v0_ps","SCM_HRRR_gf_ps"] run_list_supported_gfortran = [\ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_RRTMGP"}, \ @@ -38,6 +41,8 @@ {"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ {"case": "gabls3", "suite": "SCM_GFS_v16"}] +# +suites_supported_ifx = suites_supported_gfortran run_list_supported_ifx = [\ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_RRTMGP"}, \ @@ -75,15 +80,23 @@ {"case": "MOSAiC-AMPS", "suite": "SCM_WoFS_v0"}, \ {"case": "MOSAiC-AMPS", "suite": "SCM_HRRR_gf"}, \ {"case": "gabls3", "suite": "SCM_GFS_v16"}] +# +suites_supported_nvhpc = ["SCM_RAP", "SCM_RAP_ps"] run_list_supported_nvhpc = [\ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ {"case": "twpice", "suite": "SCM_RAP"}, \ {"case": "bomex", "suite": "SCM_RAP"}, \ {"case": "astex", "suite": "SCM_RAP"}, \ {"case": "LASSO_2016051812", "suite": "SCM_RAP"}] + #---------------------------------------------------------------------------------------------------------------------------------------------------------- # Developmental suites, (w/ supported cases). #---------------------------------------------------------------------------------------------------------------------------------------------------------- +suites_dev_gfortran = [\ + " SCM_GFS_v16_no_nsst", "SCM_GFS_v17_p8_ugwpv1_no_nsst", "SCM_RRFS_v1beta_no_nsst", "SCM_GFS_v17_p8_ugwpv1_tempo", \ + "SCM_GFS_v16_no_nsst_ps", "SCM_GFS_v17_p8_ugwpv1_no_nsst_ps", "SCM_RRFS_v1beta_no_nsst_ps", "SCM_GFS_v17_p8_ugwpv1_tempo_ps", \ + "SCM_GFS_v16_gfdlmpv3", "SCM_GFS_v15p2_ntiedtke", "SCM_GFS_v16_debug", \ + "SCM_GFS_v16_gfdlmpv3_ps","SCM_GFS_v15p2_ntiedtke_ps", "SCM_GFS_v16_debug_ps"] run_list_dev_gfortran = [\ {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ @@ -91,8 +104,13 @@ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ - {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ - ] + {"case": "bomex", "suite": "SCM_GFS_v16_debug"}] +# +suites_dev_ifx = [\ + "SCM_GFS_v16_no_nsst", "SCM_GFS_v17_p8_ugwpv1_no_nsst", "SCM_RRFS_v1beta_no_nsst", \ + "SCM_GFS_v16_no_nsst_ps", "SCM_GFS_v17_p8_ugwpv1_no_nsst_ps", "SCM_RRFS_v1beta_no_nsst_ps", \ + "SCM_GFS_v16_gfdlmpv3", "SCM_GFS_v15p2_ntiedtke", "SCM_GFS_v16_debug", \ + "SCM_GFS_v16_gfdlmpv3_ps", "SCM_GFS_v15p2_ntiedtke_ps", "SCM_GFS_v16_debug_ps"] run_list_dev_ifx = [\ {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v16_no_nsst"}, \ {"case": "atomic_Jan16T22Jan18T06", "suite": "SCM_GFS_v17_p8_ugwpv1_no_nsst"}, \ @@ -100,12 +118,14 @@ #{"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8_ugwpv1_tempo"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16_gfdlmpv3"}, \ {"case": "twpice", "suite": "SCM_GFS_v15p2_ntiedtke"}, \ - {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ - ] + {"case": "bomex", "suite": "SCM_GFS_v16_debug"}] #---------------------------------------------------------------------------------------------------------------------------------------------------------- # Legacy suites, (w/ supported cases). #---------------------------------------------------------------------------------------------------------------------------------------------------------- +suites_legacy_gfortran = [\ + "SCM_GFS_v17_p8", "SCM_HRRR", "SCM_RRFS_v1beta", "SCM_RAP", "SCM_GFS_v15p2", \ + "SCM_GFS_v17_p8_ps", "SCM_HRRR_ps", "SCM_RRFS_v1beta_ps", "SCM_RAP_ps", "SCM_GFS_v15p2_ps"] run_list_legacy_gfortran = [\ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8"}, \ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR"}, \ @@ -132,18 +152,20 @@ {"case": "LASSO_2016051812", "suite": "SCM_RRFS_v1beta"}, \ {"case": "LASSO_2016051812", "suite": "SCM_RAP"}, \ {"case": "LASSO_2016051812", "suite": "SCM_GFS_v15p2"}] +# +suites_legacy_ifx = suites_legacy_gfortran run_list_legacy_ifx = run_list_legacy_gfortran #---------------------------------------------------------------------------------------------------------------------------------------------------------- # Single precision supported suites, (w/ supported cases). #---------------------------------------------------------------------------------------------------------------------------------------------------------- +suites_sp_gfortran = ["SCM_HRRR_gf", "SCM_HRRR_gf_ps"] run_list_sp_gfortran = [\ {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR_gf"}, \ {"case": "twpice", "suite": "SCM_HRRR_gf"}, \ {"case": "bomex", "suite": "SCM_HRRR_gf"}, \ {"case": "astex", "suite": "SCM_HRRR_gf"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}, \ - ] + {"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}] #NOT TESTED WITH ONEAPI #run_list_sp_ifx = run_list_sp_gfortran From c1f93b68405580eb7fa452694a834ab8c2b214cc Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 11:02:33 -0700 Subject: [PATCH 306/341] Update CI --- .github/workflows/run_scm_artifact.yml | 8 ++++++ test/get_sdfs_for_run_list.py | 39 ++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100755 test/get_sdfs_for_run_list.py diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 2546dabc7..0e2f3c645 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -101,6 +101,14 @@ jobs: ./contrib/get_aerosol_climo.sh ./contrib/get_rrtmgp_data.sh + - name: Get SDFs + run: | + suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.sdfs}}_${{matrix.fortran-compiler}}) + echo "suites=${suites}" >> $GITHUB_OUTPUT + - name: Print SDF names + run: | + echo ${steps.set-variable.outputs.suites}} + - name: Configure SCM SDFs before building model (supported SCM cases/sdfs) if: matrix.sdfs == 'supported' run: | diff --git a/test/get_sdfs_for_run_list.py b/test/get_sdfs_for_run_list.py new file mode 100755 index 000000000..db62fc5f7 --- /dev/null +++ b/test/get_sdfs_for_run_list.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +############################################################################## +# +# This script gets SDFs needed for a run list. +# +############################################################################## +import os +import sys +import rt_test_cases +from os.path import exists +import argparse + +# +parser = argparse.ArgumentParser() +parser.add_argument('-r', '--sdf_list', help='List of SCM SDFs') + +def parse_args(): + args = parser.parse_args() + sdf_list = args.sdf_list + return (sdf_list) + +def main(): + + (sdf_list_name) = parse_args() + sdf_list = getattr(rt_test_cases, sdf_list_name) + list_out = '' + for count,sdf in enumerate(sdf_list): + if (count < len(sdf_list)-1): + list_out = list_out+sdf+',' + else: + list_out = list_out+sdf + # endif + # end for + print(list_out) +# end def + +if __name__ == '__main__': + main() From eaa5b3f3ba3f838e85894b8db5684bba50aa9d91 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 11:18:39 -0700 Subject: [PATCH 307/341] Update CI --- .github/workflows/run_scm_artifact.yml | 2 ++ test/cmp_rt2bl.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 0e2f3c645..17ed329b5 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -103,8 +103,10 @@ jobs: - name: Get SDFs run: | + cd ${SCM_ROOT}/test suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.sdfs}}_${{matrix.fortran-compiler}}) echo "suites=${suites}" >> $GITHUB_OUTPUT + - name: Print SDF names run: | echo ${steps.set-variable.outputs.suites}} diff --git a/test/cmp_rt2bl.py b/test/cmp_rt2bl.py index 425e68c31..86318c4b0 100755 --- a/test/cmp_rt2bl.py +++ b/test/cmp_rt2bl.py @@ -25,7 +25,7 @@ def parse_args(): dir_rt = args.dir_rt dir_bl = args.dir_bl no_plots = args.no_plots - un_list = args.run_list + run_list = args.run_list return (dir_rt, dir_bl, no_plots, run_list) # From 295f249c051e60f4c8c679e6d5c466a8dcb9608a Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 11:24:54 -0700 Subject: [PATCH 308/341] Update CI --- .github/workflows/run_scm_artifact.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 17ed329b5..896262211 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -92,6 +92,16 @@ jobs: ####################################################################################### # Build SCM. ####################################################################################### + - id: set-sdfd + run: | + cd ${SCM_ROOT}/test + suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.sdfs}}_${{matrix.fortran-compiler}}) + echo "suites=${suites}" >> $GITHUB_OUTPUT + + - name: Print SDF names + run: | + echo ${steps.set-sdfs.outputs.suites}} + - name: Download data for SCM run: | cd ${SCM_ROOT} @@ -101,16 +111,6 @@ jobs: ./contrib/get_aerosol_climo.sh ./contrib/get_rrtmgp_data.sh - - name: Get SDFs - run: | - cd ${SCM_ROOT}/test - suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.sdfs}}_${{matrix.fortran-compiler}}) - echo "suites=${suites}" >> $GITHUB_OUTPUT - - - name: Print SDF names - run: | - echo ${steps.set-variable.outputs.suites}} - - name: Configure SCM SDFs before building model (supported SCM cases/sdfs) if: matrix.sdfs == 'supported' run: | From 01b37dec5198531ebfb336790199a64f456d973f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 11:27:12 -0700 Subject: [PATCH 309/341] Update CI --- .github/workflows/run_scm_artifact.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 896262211..e3205e379 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -92,7 +92,7 @@ jobs: ####################################################################################### # Build SCM. ####################################################################################### - - id: set-sdfd + - id: set-sdfs run: | cd ${SCM_ROOT}/test suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.sdfs}}_${{matrix.fortran-compiler}}) From 07d14cd0e59cb5d1021ba80057c3b8b1835da31d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 11:32:30 -0700 Subject: [PATCH 310/341] Update CI --- .github/workflows/run_scm_artifact.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index e3205e379..b501d8a15 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -92,7 +92,8 @@ jobs: ####################################################################################### # Build SCM. ####################################################################################### - - id: set-sdfs + - name Set SDFs names + id: set_sdfs run: | cd ${SCM_ROOT}/test suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.sdfs}}_${{matrix.fortran-compiler}}) @@ -100,7 +101,7 @@ jobs: - name: Print SDF names run: | - echo ${steps.set-sdfs.outputs.suites}} + echo ${steps.set_sdfs.outputs.suites}} - name: Download data for SCM run: | From a8a5f6485f15b7a997d365e7182a0d3f4a0273b7 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 11:33:26 -0700 Subject: [PATCH 311/341] Update CI --- .github/workflows/run_scm_artifact.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index b501d8a15..bbeb98842 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -92,7 +92,7 @@ jobs: ####################################################################################### # Build SCM. ####################################################################################### - - name Set SDFs names + - name: Set SDFs names id: set_sdfs run: | cd ${SCM_ROOT}/test From 37613b03f60baf2bb97323c24e0e23ccc7ad1225 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 11:37:13 -0700 Subject: [PATCH 312/341] Update CI --- .github/workflows/run_scm_artifact.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index bbeb98842..44aa0bb2c 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -101,7 +101,7 @@ jobs: - name: Print SDF names run: | - echo ${steps.set_sdfs.outputs.suites}} + echo ${{steps.set_sdfs.outputs.suites}} - name: Download data for SCM run: | From cc8f83b736a95e35ca19689aea2a8ee4ee93f967 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 11:42:53 -0700 Subject: [PATCH 313/341] Update CI --- .github/workflows/run_scm.yml | 38 ++++++++------------------ .github/workflows/run_scm_artifact.yml | 28 ++----------------- 2 files changed, 14 insertions(+), 52 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 9f15a2490..2bbd71e26 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -29,13 +29,6 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf - sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps - sdfs_legacy: SCM_GFS_v15p2,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP - sdfs_legacy_ps: SCM_GFS_v15p2_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps - sdfs_dev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug,SCM_GFS_v17_p8_ugwpv1_tempo - sdfs_dev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps - dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} @@ -93,6 +86,17 @@ jobs: ####################################################################################### # Build SCM. ####################################################################################### + - name: Get SDFs names + id: set_sdfs + run: | + cd ${SCM_ROOT}/test + suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.sdfs}}_${{matrix.fortran-compiler}}) + echo "suites=${suites}" >> $GITHUB_OUTPUT + + - name: Print SDF names + run: | + echo ${{steps.set_sdfs.outputs.suites}} + - name: Download data for SCM run: | cd ${SCM_ROOT} @@ -102,29 +106,11 @@ jobs: ./contrib/get_aerosol_climo.sh ./contrib/get_rrtmgp_data.sh - - name: Configure SCM SDFs before building model (supported SCM cases/sdfs) - if: matrix.sdfs == 'supported' - run: | - echo "suites=${sdfs_supported}" >> "$GITHUB_ENV" - echo "suites_ps=${sdfs_supported_ps}" >> "$GITHUB_ENV" - - - name: Configure SCM SDFs before building model (legacy SCM cases/sdfs) - if: matrix.sdfs == 'legacy' - run: | - echo "suites=${sdfs_legacy}" >> "$GITHUB_ENV" - echo "suites_ps=${sdfs_legacy_ps}" >> "$GITHUB_ENV" - - - name: Configure SCM SDFs before building model (developmental SCM cases/sdfs) - if: matrix.sdfs == 'dev' - run: | - echo "suites=${sdfs_dev}" >> "$GITHUB_ENV" - echo "suites_ps=${sdfs_dev_ps}" >> "$GITHUB_ENV" - - name: Configure Build with CMake run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + cmake -DCCPP_SUITES=${{steps.set_sdfs.outputs.suites}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Build SCM run: | diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 44aa0bb2c..38d90263b 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -29,12 +29,6 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - sdfs_supported: SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8_ugwpv1,SCM_WoFS_v0,SCM_HRRR_gf - sdfs_supported_ps: SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps - sdfs_legacy: SCM_GFS_v15p2,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP - sdfs_legacy_ps: SCM_GFS_v15p2_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps - sdfs_dev: SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16_debug,SCM_GFS_v17_p8_ugwpv1_tempo - sdfs_dev_ps: SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} @@ -92,7 +86,7 @@ jobs: ####################################################################################### # Build SCM. ####################################################################################### - - name: Set SDFs names + - name: Get SDFs names id: set_sdfs run: | cd ${SCM_ROOT}/test @@ -112,29 +106,11 @@ jobs: ./contrib/get_aerosol_climo.sh ./contrib/get_rrtmgp_data.sh - - name: Configure SCM SDFs before building model (supported SCM cases/sdfs) - if: matrix.sdfs == 'supported' - run: | - echo "suites=${sdfs_supported}" >> "$GITHUB_ENV" - echo "suites_ps=${sdfs_supported_ps}" >> "$GITHUB_ENV" - - - name: Configure SCM SDFs before building model (legacy SCM cases/sdfs) - if: matrix.sdfs == 'legacy' - run: | - echo "suites=${sdfs_legacy}" >> "$GITHUB_ENV" - echo "suites_ps=${sdfs_legacy_ps}" >> "$GITHUB_ENV" - - - name: Configure SCM SDFs before building model (developmental SCM cases/sdfs) - if: matrix.sdfs == 'dev' - run: | - echo "suites=${sdfs_dev}" >> "$GITHUB_ENV" - echo "suites_ps=${sdfs_dev_ps}" >> "$GITHUB_ENV" - - name: Configure Build with CMake run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + cmake -DCCPP_SUITES=${{steps.set_sdfs.outputs.suites}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Build SCM run: | From 90b0b33f002fba82a685f6a58c0501df0e944e0e Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 12:03:39 -0700 Subject: [PATCH 314/341] Update CI --- .github/workflows/run_scm.yml | 1 - .github/workflows/run_scm_artifact.yml | 1 - scm/src/CMakeLists.txt | 3 ++- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 2bbd71e26..15adb8b34 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -32,7 +32,6 @@ jobs: dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} - GH_TOKEN: ${{ github.token }} # Workflow steps steps: diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index 38d90263b..cc2ab73fb 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -32,7 +32,6 @@ jobs: dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} - GH_TOKEN: ${{ github.token }} # Workflow steps steps: diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 202244b5c..67ae5a988 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -190,7 +190,8 @@ if (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") endif() if (${CMAKE_BUILD_TYPE} MATCHES "Debug") - set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fstack-protector-all -fpe0 -debug -ftrapuv -init=snan,arrays") +# set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fstack-protector-all -fpe0 -debug -ftrapuv -init=snan,arrays") + set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fpe0 -debug) set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -ftrapuv") else() if(32BIT) From 40b690f8fd4da463d45013bc83fab4f512c43cbe Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 12:43:24 -0700 Subject: [PATCH 315/341] Update CI --- scm/src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 67ae5a988..5da49de88 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -191,7 +191,7 @@ if (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") if (${CMAKE_BUILD_TYPE} MATCHES "Debug") # set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fstack-protector-all -fpe0 -debug -ftrapuv -init=snan,arrays") - set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fpe0 -debug) + set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fpe0 -debug") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -ftrapuv") else() if(32BIT) From 34dea1295cffae56abb636fc38b94246b1a01a1d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 13:10:11 -0700 Subject: [PATCH 316/341] Update CI --- .github/workflows/bld_scm_images.yaml | 23 ---------- .github/workflows/run_scm.yml | 51 ++++++++++----------- .github/workflows/run_scm_artifact.yml | 44 +++++++++---------- test/verify-mpi.sh | 61 -------------------------- 4 files changed, 44 insertions(+), 135 deletions(-) delete mode 100644 test/verify-mpi.sh diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index 1d8578590..9014a596a 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -14,21 +14,12 @@ jobs: - toolchain: oneapi nfversion: 4.5.4 pnfversion: 1.12.3 -# FC: ifx -# CC: icx -# CXX: icpx - toolchain: gnu nfversion: 4.6.2 pnfversion: 1.14.1 -# FC: gfortran -# CC: gcc -# CXX: g++ - toolchain: nvhpc nfversion: 4.5.4 pnfversion: 1.12.3 -# FC: nvfortran -# CC: nvc -# CXX: nvc++ runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 @@ -47,20 +38,6 @@ jobs: build-args: | TOOLCHAIN=${{ matrix.toolchain }} NFVERSION=${{ matrix.nfversion }} -# FC=${{ matrix.FC }} -# CC=${{ matrix.CC }} -# CXX=${{ matrix.CXX }} - -# - name: Build add-pnetcdf:${{ matrix.toolchain }} -# uses: docker/build-push-action@v6 -# with: -# file: docker/Dockerfile-add-pnetcdf -# tags: add-pnetcdf:${{ matrix.toolchain }} -# build-args: | -# TOOLCHAIN=${{ matrix.toolchain }} -# PNFVERSION=${{ matrix.pnfversion }} -# FC=${{ matrix.FC }} -# CC=${{ matrix.CC }} - name: Build add-nceplibs:${{ matrix.toolchain }} uses: docker/build-push-action@v6 diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm.yml index 15adb8b34..7ca9e0b4d 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm.yml @@ -15,7 +15,7 @@ jobs: matrix: fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] - sdfs: [supported, legacy, dev]#, sp, nvhpc] + run_lists: [supported, legacy, dev, sp]#, nvhpc] include: # Set container images for each compiler - fortran-compiler: ifx @@ -28,10 +28,11 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: - SCM_ROOT: /__w/ccpp-scm/ccpp-scm - dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} - dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} + SCM_ROOT: /__w/ccpp-scm/ccpp-scm + dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} + dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} + GH_TOKEN: ${{ github.token }} # Workflow steps steps: @@ -77,15 +78,10 @@ jobs: echo "CXX=mpic++" >> $GITHUB_ENV echo "FC=mpifort" >> $GITHUB_ENV - - name: Verify MPI installation - run: | - source test/verify-mpi.sh ${{matrix.fortran-compiler}} - shell: bash - ####################################################################################### # Build SCM. ####################################################################################### - - name: Get SDFs names + - name: Get SDF names for this run_list id: set_sdfs run: | cd ${SCM_ROOT}/test @@ -105,12 +101,20 @@ jobs: ./contrib/get_aerosol_climo.sh ./contrib/get_rrtmgp_data.sh - - name: Configure Build with CMake + - name: Configure Build with CMake (64-bit) + if matrix.run_lists != 'sp' run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin cmake -DCCPP_SUITES=${{steps.set_sdfs.outputs.suites}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + - name: Configure Build with CMake (32-bit) + if matrix.run_lists == 'sp' + run: | + cd ${SCM_ROOT}/scm + mkdir bin && cd bin + cmake -DCCPP_SUITES=${{steps.set_sdfs.outputs.suites}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -D32BIT=1 ../src + - name: Build SCM run: | cd ${SCM_ROOT}/scm/bin @@ -120,36 +124,29 @@ jobs: # Run regression tests. ####################################################################################### - name: Run SCM RTs - if: matrix.build-type != 'SinglePrecision' - run: | - cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}}_${{matrix.fortran-compiler}} --runtime_mult 0.1 --mpi_command "${MPI_COMM}" - - - name: Run SCM Single Precision RTs - if: matrix.build-type == 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}}_${{matrix.fortran-compiler}} --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.run_lists}}_${{matrix.fortran-compiler}} --runtime_mult 0.1 --mpi_command "${MPI_COMM}" - name: Gather SCM RT output run: | cd ${SCM_ROOT}/test - mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} - ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} --run_list run_list_${{matrix.sdfs}}_${{matrix.fortran-compiler}} + mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} + ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} --run_list run_list_${{matrix.run_lists}}_${{matrix.fortran-compiler}} - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines run: | mkdir -p ${dir_bl} ARTIFACT_ID=$(gh api --paginate \ repos/dustinswales/ccpp-scm/actions/artifacts | \ - jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}}" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') + jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}}" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') echo "artifact_id=${ARTIFACT_ID}" echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" - name: Download SCM RT baselines uses: actions/download-artifact@v6 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} path: ${{ env.dir_bl }} github-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ env.artifact_id }} @@ -157,7 +154,7 @@ jobs: - name: Compare SCM RT output to baselines run: | cd ${SCM_ROOT}/test - ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} --run_list run_list_${{matrix.sdfs}}_${{matrix.fortran-compiler}} + ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} --run_list run_list_${{matrix.run_lists}}_${{matrix.fortran-compiler}} - name: Check if SCM RT plots exist id: check_files @@ -171,11 +168,11 @@ jobs: - name: Upload plots of SCM Baselines/RTs as GitHub Artifact uses: actions/upload-artifact@v4 with: - name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} + name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} path: /__w/ccpp-scm/ccpp-scm/test/scm_rt_out - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v5 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} - path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} \ No newline at end of file + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} + path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} \ No newline at end of file diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/run_scm_artifact.yml index cc2ab73fb..410a64752 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/run_scm_artifact.yml @@ -15,7 +15,7 @@ jobs: matrix: fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] - sdfs: [supported, legacy, dev] + run_lists: [supported, legacy, dev, sp]#, nvhpc] include: # Set container images for each compiler - fortran-compiler: ifx @@ -28,10 +28,10 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: - SCM_ROOT: /__w/ccpp-scm/ccpp-scm - dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} - dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} - artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} + SCM_ROOT: /__w/ccpp-scm/ccpp-scm + dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} + dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} + artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} # Workflow steps steps: @@ -77,15 +77,10 @@ jobs: echo "CXX=mpic++" >> $GITHUB_ENV echo "FC=mpifort" >> $GITHUB_ENV - - name: Verify MPI installation - run: | - source test/verify-mpi.sh ${{matrix.fortran-compiler}} - shell: bash - ####################################################################################### # Build SCM. ####################################################################################### - - name: Get SDFs names + - name: Get SDF names for this run_list id: set_sdfs run: | cd ${SCM_ROOT}/test @@ -105,12 +100,20 @@ jobs: ./contrib/get_aerosol_climo.sh ./contrib/get_rrtmgp_data.sh - - name: Configure Build with CMake + - name: Configure Build with CMake (64-bit) + if matrix.run_lists != 'sp' run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin cmake -DCCPP_SUITES=${{steps.set_sdfs.outputs.suites}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src + - name: Configure Build with CMake (32-bit) + if matrix.run_lists == 'sp' + run: | + cd ${SCM_ROOT}/scm + mkdir bin && cd bin + cmake -DCCPP_SUITES=${{steps.set_sdfs.outputs.suites}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -D32BIT=1 ../src + - name: Build SCM run: | cd ${SCM_ROOT}/scm/bin @@ -120,25 +123,18 @@ jobs: # Run regression tests. ####################################################################################### - name: Run SCM RTs - if: matrix.build-type != 'SinglePrecision' - run: | - cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}}_${{matrix.fortran-compiler}} --runtime_mult 0.1 --mpi_command "${MPI_COMM}" - - - name: Run SCM Single Precision RTs - if: matrix.build-type == 'SinglePrecision' run: | cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.sdfs}}_${{matrix.fortran-compiler}} --runtime_mult 0.1 -v --mpi_command "$(MPI_COMM}" + ./run_scm.py --file /__w/ccpp-scm/ccpp-scm/test/rt_test_cases.py --run_list ${{matrix.run_lists}}_${{matrix.fortran-compiler}} --runtime_mult 0.1 --mpi_command "${MPI_COMM}" - name: Gather SCM RT output run: | cd ${SCM_ROOT}/test - mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} - ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} --run_list run_list_${{matrix.sdfs}}_${{matrix.fortran-compiler}} + mkdir /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} + ./ci_util.py -b ${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} --run_list run_list_${{matrix.run_lists}}_${{matrix.fortran-compiler}} - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v5 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} - path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.sdfs}} \ No newline at end of file + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} + path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} \ No newline at end of file diff --git a/test/verify-mpi.sh b/test/verify-mpi.sh deleted file mode 100644 index d430c2d46..000000000 --- a/test/verify-mpi.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -# Verify MPI is installed and configured correctly -# Usage: verify-mpi.sh [oneapi|classic] - -set +e - -COMPILER_TYPE="${1:-oneapi}" - -echo "=== Checking MPI Installation (${COMPILER_TYPE}) ===" - -if [ "$COMPILER_TYPE" = "ifx" ]; then - for compiler in mpiicx mpiicpx mpiifx; do - which $compiler || { echo "ERROR: $compiler not found"; } - done - mpiicx --version - echo "CC: $CC , should be mpiicx" - echo "CXX: $CXX , should be mpiicpx" - echo "FC: $FC , should be mpiifx" - test "$CC" = "mpiicx" || { echo "ERROR: CC should be mpiicx but is $CC"; exit 1; } - test "$CXX" = "mpiicpx" || { echo "ERROR: CXX should be mpiicpx but is $CXX"; exit 1; } - test "$FC" = "mpiifx" || { echo "ERROR: FC should be mpiifx but is $FC"; exit 1; } -# for compiler in mpiicc mpiicpc mpiifort; do -# which $compiler || { echo "ERROR: $compiler not found"; } -# done -# mpiicc --version -# echo "CC: $CC , should be mpiicc" -# echo "CXX: $CXX , should be mpiicpc" -# echo "FC: $FC , should be mpiifort" -# test "$CC" = "mpiicc" || { echo "ERROR: CC should be mpiicc but is $CC"; exit 1; } -# test "$CXX" = "mpiicpc" || { echo "ERROR: CXX should be mpiicpc but is $CXX"; exit 1; } -# test "$FC" = "mpiifort" || { echo "ERROR: FC should be mpiifort but is $FC"; exit 1; } -fi -if [ "$COMPILER_TYPE" = "gfortran" ]; then - for compiler in mpicc mpicxx mpif90; do - which $compiler || { echo "ERROR: $compiler not found"; } - done - mpicc --version - echo "CC: $CC , should be mpicc" - echo "CXX: $CXX , should be mpicxx" - echo "FC: $FC , should be mpif90" - test "$CC" = "mpicc" || { echo "ERROR: CC should be mpicc but is $CC"; exit 1; } - test "$CXX" = "mpicxx" || { echo "ERROR: CXX should be mpicxx but is $CXX"; exit 1; } - test "$FC" = "mpif90" || { echo "ERROR: FC should be mpif90 but is $FC"; exit 1; } -fi -if [ "$COMPILER_TYPE" = "nvfortran" ]; then - for compiler in mpicc mpic++ mpifort; do - which $compiler || { echo "ERROR: $compiler not found"; } - done - mpicc --version - echo "CC: $CC , should be mpicc" - echo "CXX: $CXX , should be mpic++" - echo "FC: $FC , should be mpifort" - test "$CC" = "mpicc" || { echo "ERROR: CC should be mpicc but is $CC"; exit 1; } - test "$CXX" = "mpic++" || { echo "ERROR: CXX should be mpic++ but is $CXX"; exit 1; } - test "$FC" = "mpifort" || { echo "ERROR: FC should be mpifort but is $FC"; exit 1; } -fi - -which mpirun -mpirun --version - -echo "✓ MPI installation verified successfully" From 5e643970b69be2e9c26b61016b3c069acc81a333 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 13:15:23 -0700 Subject: [PATCH 317/341] Update to CI --- .../{run_scm_artifact.yml => create_rt_baselines.yml} | 8 ++++---- .github/workflows/{run_scm.yml => run_scm_rts.yml} | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) rename .github/workflows/{run_scm_artifact.yml => create_rt_baselines.yml} (96%) rename .github/workflows/{run_scm.yml => run_scm_rts.yml} (97%) diff --git a/.github/workflows/run_scm_artifact.yml b/.github/workflows/create_rt_baselines.yml similarity index 96% rename from .github/workflows/run_scm_artifact.yml rename to .github/workflows/create_rt_baselines.yml index 410a64752..e6594130d 100644 --- a/.github/workflows/run_scm_artifact.yml +++ b/.github/workflows/create_rt_baselines.yml @@ -1,4 +1,4 @@ -name: Build/run the CCPP-SCM, create baselines (artifact) +name: Build/run the CCPP-SCM, create baselines, store as GitHub artifact on: push: @@ -8,7 +8,7 @@ on: workflow_dispatch: jobs: - scm_in_container_artifact: + create_rt_baselines: runs-on: ubuntu-24.04 strategy: fail-fast: false @@ -101,14 +101,14 @@ jobs: ./contrib/get_rrtmgp_data.sh - name: Configure Build with CMake (64-bit) - if matrix.run_lists != 'sp' + if: matrix.run_lists != 'sp' run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin cmake -DCCPP_SUITES=${{steps.set_sdfs.outputs.suites}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Configure Build with CMake (32-bit) - if matrix.run_lists == 'sp' + if: matrix.run_lists == 'sp' run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin diff --git a/.github/workflows/run_scm.yml b/.github/workflows/run_scm_rts.yml similarity index 97% rename from .github/workflows/run_scm.yml rename to .github/workflows/run_scm_rts.yml index 7ca9e0b4d..203f80ddb 100644 --- a/.github/workflows/run_scm.yml +++ b/.github/workflows/run_scm_rts.yml @@ -1,4 +1,4 @@ -name: Build/run the CCPP-SCM, compare to baselines +name: Build/run the CCPP-SCM, compare to existing baselines (GitHub artifact) on: push: @@ -8,7 +8,7 @@ on: workflow_dispatch: jobs: - scm_in_container: + run_scm_rts: runs-on: ubuntu-24.04 strategy: fail-fast: false @@ -102,14 +102,14 @@ jobs: ./contrib/get_rrtmgp_data.sh - name: Configure Build with CMake (64-bit) - if matrix.run_lists != 'sp' + if: matrix.run_lists != 'sp' run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin cmake -DCCPP_SUITES=${{steps.set_sdfs.outputs.suites}} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - name: Configure Build with CMake (32-bit) - if matrix.run_lists == 'sp' + if: matrix.run_lists == 'sp' run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin From 4bbfea0d081c2e076bb936e29a87b86e6ae8c201 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 13:18:29 -0700 Subject: [PATCH 318/341] Update to CI --- .github/workflows/create_rt_baselines.yml | 2 +- .github/workflows/run_scm_rts.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create_rt_baselines.yml b/.github/workflows/create_rt_baselines.yml index e6594130d..3113aaaae 100644 --- a/.github/workflows/create_rt_baselines.yml +++ b/.github/workflows/create_rt_baselines.yml @@ -84,7 +84,7 @@ jobs: id: set_sdfs run: | cd ${SCM_ROOT}/test - suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.sdfs}}_${{matrix.fortran-compiler}}) + suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.run_lists}}_${{matrix.fortran-compiler}}) echo "suites=${suites}" >> $GITHUB_OUTPUT - name: Print SDF names diff --git a/.github/workflows/run_scm_rts.yml b/.github/workflows/run_scm_rts.yml index 203f80ddb..c10f4d27b 100644 --- a/.github/workflows/run_scm_rts.yml +++ b/.github/workflows/run_scm_rts.yml @@ -85,7 +85,7 @@ jobs: id: set_sdfs run: | cd ${SCM_ROOT}/test - suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.sdfs}}_${{matrix.fortran-compiler}}) + suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.run_lists}}}_${{matrix.fortran-compiler}}) echo "suites=${suites}" >> $GITHUB_OUTPUT - name: Print SDF names From 0f915f9129d329add7867634cd35549108e12fd1 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 13:23:19 -0700 Subject: [PATCH 319/341] Update to CI --- .../build_and_push_docker_latest.yml | 38 --- .github/workflows/ci_build_scm_ubuntu.yml | 131 ---------- .../workflows/ci_create_scm_rts_artifacts.yml | 187 -------------- .github/workflows/ci_run_scm_rts.yml | 229 ------------------ test/rt_test_cases.py | 6 +- 5 files changed, 3 insertions(+), 588 deletions(-) delete mode 100644 .github/workflows/build_and_push_docker_latest.yml delete mode 100644 .github/workflows/ci_build_scm_ubuntu.yml delete mode 100644 .github/workflows/ci_create_scm_rts_artifacts.yml delete mode 100644 .github/workflows/ci_run_scm_rts.yml diff --git a/.github/workflows/build_and_push_docker_latest.yml b/.github/workflows/build_and_push_docker_latest.yml deleted file mode 100644 index 01a427000..000000000 --- a/.github/workflows/build_and_push_docker_latest.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: build_test_and_push_docker - -on: - push: - branches: - # Only build containers when pushing to main - - "main" - -env: - LATEST_TAG: dtcenter/ccpp-scm:latest - -jobs: - docker: - if: github.repository == 'NCAR/ccpp-scm' - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v6 - - - name: Check if secrets are defined - run: | - if [ -z "${{ secrets.DOCKERHUB_USERNAME }}" ]; then echo "Username is MISSING"; else echo "Username is SET"; fi - if [ -z "${{ secrets.DOCKERHUB_TOKEN }}" ]; then echo "Token is MISSING"; else echo "Token is SET"; fi - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build Docker image - run: | - docker build -t ${{ env.LATEST_TAG}} docker/ - - - name: Push Docker image - run: | - docker push ${{ env.LATEST_TAG }} diff --git a/.github/workflows/ci_build_scm_ubuntu.yml b/.github/workflows/ci_build_scm_ubuntu.yml deleted file mode 100644 index 890b6b450..000000000 --- a/.github/workflows/ci_build_scm_ubuntu.yml +++ /dev/null @@ -1,131 +0,0 @@ -name: build the CCPP-SCM on latest Ubuntu runner - -on: [pull_request,workflow_dispatch] - -jobs: - build_scm: - runs-on: ubuntu-latest - strategy: - matrix: - fortran-compiler: [13] # currently the only version usable with this configuration - build-type: [Release, Debug] - py-version: [3.11, '3.x'] - - # Environmental variables - env: - NFHOME: /home/runner/netcdf-fortran - NFVERSION: v4.5.3 - bacio_ROOT: /home/runner/bacio - sp_ROOT: /home/runner/NCEPLIBS-sp - w3emc_ROOT: /home/runner/myw3emc - SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v16_RRTMGP,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf,SCM_HRRR_gf_ps - - # Workflow steps - steps: - # Install System Dependencies - - name: Install System Dependencies - run: | - sudo apt-get update -qq && sudo apt-get install -qq -y --no-install-recommends \ - gfortran-${{matrix.fortran-compiler}} \ - libhdf5-dev \ - libnetcdf-pnetcdf-19 \ - libnetcdff7 \ - libnetcdf-dev \ - libnetcdff-dev \ - libxml2 \ - openmpi-bin \ - libopenmpi-dev - - - # Python setup - - name: Setup Python - uses: actions/setup-python@v6 - with: - python-version: ${{matrix.py-version}} - - - name: Install NetCDF Python libraries - run: | - pip install f90nml h5py netCDF4 - - - name: Environment for openmpi compiler - run: | - echo "FC=mpif90" >> $GITHUB_ENV - echo "CC=mpicc" >> $GITHUB_ENV - - - name: Check MPI version - run: | - which mpif90 - mpif90 --version - - - # Install NCEP Lib Dependencies - - name: Cache bacio library v2.4.1 - id: cache-bacio-fortran - uses: actions/cache@v4 - with: - path: /home/runner/bacio - key: cache-bacio-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-${{matrix.py-version}}-key - - - name: Install bacio library v2.4.1 - if: steps.cache-bacio-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.4.1 https://github.com/NOAA-EMC/NCEPLIBS-bacio.git bacio - cd bacio && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${bacio_ROOT} ../ - make -j2 - make install - echo "bacio_DIR=/home/runner/bacio/lib/cmake/bacio" >> $GITHUB_ENV - - - name: Cache SP-library v2.3.3 - id: cache-sp-fortran - uses: actions/cache@v4 - with: - path: /home/runner/NCEPLIBS-sp - key: cache-sp-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-${{matrix.py-version}}-key - - - name: Install SP-library v2.3.3 - if: steps.cache-sp-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.3.3 https://github.com/NOAA-EMC/NCEPLIBS-sp.git NCEPLIBS-sp - cd NCEPLIBS-sp && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${sp_ROOT} ../ - make -j2 - make install - echo "sp_DIR=/home/runner/NCEPLIBS-sp/lib/cmake/sp" >> $GITHUB_ENV - - - name: Cache w3emc library v2.9.2 - id: cache-w3emc-fortran - uses: actions/cache@v4 - with: - path: /home/runner/myw3emc - key: cache-w3emc-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-${{matrix.py-version}}-key - - - name: Install w3emc library v2.9.2 - if: steps.cache-w3emc-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.9.2 https://github.com/NOAA-EMC/NCEPLIBS-w3emc.git NCEPLIBS-w3emc - cd NCEPLIBS-w3emc && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${w3emc_ROOT} ../ - make -j2 - make install - echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV - - - # Initialize and Build SCM - - name: Checkout SCM code (into /home/runner/work/ccpp-scm/) - uses: actions/checkout@v6 - - - name: Initialize Submodules - run: git submodule update --init --recursive - - - name: Configure Build with CMake - run: | - cd ${SCM_ROOT}/scm - mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} ../src - - - name: Build SCM - run: | - cd ${SCM_ROOT}/scm/bin - make -j4 diff --git a/.github/workflows/ci_create_scm_rts_artifacts.yml b/.github/workflows/ci_create_scm_rts_artifacts.yml deleted file mode 100644 index 9d9ab65f4..000000000 --- a/.github/workflows/ci_create_scm_rts_artifacts.yml +++ /dev/null @@ -1,187 +0,0 @@ - -name: create scm rt artifacts - -on: - workflow_dispatch: - -jobs: - run_scm_rts: - - # The type of runner that the job will run on - runs-on: ubuntu-latest - strategy: - matrix: - fortran-compiler: [12] - build-type: [Release, Debug, SinglePrecision] - py-version: [3.11] - - continue-on-error: true - - # Environmental variables - env: - NFHOME: /home/runner/netcdf-fortran - NFVERSION: v4.5.3 - bacio_ROOT: /home/runner/bacio - sp_ROOT: /home/runner/NCEPLIBS-sp - w3emc_ROOT: /home/runner/myw3emc - SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug,SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v17_p8_ugwpv1_tempo - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps - dir_rt: /home/runner/work/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} - dir_bl: /home/runner/work/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} - artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('main' == 'main' && 'main' || 'PR') }} - GH_TOKEN: ${{ github.token }} - - # Workflow steps - steps: - # Install System Dependencies - - name: Install System Dependencies - run: | - sudo apt-get update -qq && sudo apt-get install -qq -y --no-install-recommends \ - gfortran-${{matrix.fortran-compiler}} \ - libhdf5-dev \ - libnetcdf-pnetcdf-19 \ - libnetcdff7 \ - libnetcdf-dev \ - libnetcdff-dev \ - libxml2 \ - openmpi-bin \ - libopenmpi-dev - - # Python setup - - name: Setup Python - uses: actions/setup-python@v6 - with: - python-version: ${{matrix.py-version}} - - - name: Install NetCDF Python libraries - run: | - pip install f90nml h5py netCDF4 matplotlib - - - name: Environment for openmpi compiler - run: | - echo "FC=mpif90" >> $GITHUB_ENV - echo "CC=mpicc" >> $GITHUB_ENV - - - name: Check MPI version - run: | - which mpif90 - mpif90 --version - - # Install NCEP libs - - name: Cache bacio library v2.4.1 - id: cache-bacio-fortran - uses: actions/cache@v4 - with: - path: /home/runner/bacio - key: cache-bacio-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-key - - - name: Install bacio library v2.4.1 - if: steps.cache-bacio-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.4.1 https://github.com/NOAA-EMC/NCEPLIBS-bacio.git bacio - cd bacio && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${bacio_ROOT} ../ - make -j2 - make install - echo "bacio_DIR=/home/runner/bacio/lib/cmake/bacio" >> $GITHUB_ENV - - - name: Cache SP-library v2.3.3 - id: cache-sp-fortran - uses: actions/cache@v4 - with: - path: /home/runner/NCEPLIBS-sp - key: cache-sp-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-key - - - name: Install SP-library v2.3.3 - if: steps.cache-sp-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.3.3 https://github.com/NOAA-EMC/NCEPLIBS-sp.git NCEPLIBS-sp - cd NCEPLIBS-sp && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${sp_ROOT} ../ - make -j2 - make install - echo "sp_DIR=/home/runner/NCEPLIBS-sp/lib/cmake/sp" >> $GITHUB_ENV - - - name: Cache w3emc library v2.9.2 - id: cache-w3emc-fortran - uses: actions/cache@v4 - with: - path: /home/runner/myw3emc - key: cache-w3emc-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-key - - - name: Install w3emc library v2.9.2 - if: steps.cache-w3emc-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.9.2 https://github.com/NOAA-EMC/NCEPLIBS-w3emc.git NCEPLIBS-w3emc - cd NCEPLIBS-w3emc && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${w3emc_ROOT} ../ - make -j2 - make install - echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV - - - # Initialize and build SCM, run regressions tests - - name: Checkout SCM code (into /home/runner/work/ccpp-scm/) - uses: actions/checkout@v6 - - - name: Initialize submodules - run: git submodule update --init --recursive - - - name: Download data for SCM - run: | - cd ${SCM_ROOT} - ./contrib/get_all_static_data.sh - ./contrib/get_thompson_tables.sh - ./contrib/get_tempo_data.sh - ./contrib/get_aerosol_climo.sh - - - name: Configure build with CMake (Release) - if: contains(matrix.build-type, 'Release') - run: | - cd ${SCM_ROOT}/scm - mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites},${suites_ps} ../src - - - name: Configure build with CMake (Debug) - if: contains(matrix.build-type, 'Debug') - run: | - cd ${SCM_ROOT}/scm - mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=Debug ../src - - - name: Configure build with CMake (Single Precision) - if: matrix.build-type == 'SinglePrecision' - run: | - cd ${SCM_ROOT}/scm - mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites},${suites_ps} -D32BIT=1 ../src - - - name: Build SCM - run: | - cd ${SCM_ROOT}/scm/bin - make -j4 - - - name: Run SCM RTs - if: matrix.build-type != 'SinglePrecision' - run: | - cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /home/runner/work/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 - - - name: Run SCM Single Precision RTs - if: matrix.build-type == 'SinglePrecision' - run: | - cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /home/runner/work/ccpp-scm/ccpp-scm/test/rt_test_cases_sp.py --runtime_mult 0.1 - - - name: Gather SCM RT output - run: | - cd ${SCM_ROOT}/test - mkdir /home/runner/work/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} - ./ci_util.py -b ${{matrix.build-type}} - - - name: Upload SCM RTs as GitHub Artifact - uses: actions/upload-artifact@v5 - with: - name: rt-baselines-${{matrix.build-type}}-${{ env.artifact_origin }} - path: /home/runner/work/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} diff --git a/.github/workflows/ci_run_scm_rts.yml b/.github/workflows/ci_run_scm_rts.yml deleted file mode 100644 index c8738125c..000000000 --- a/.github/workflows/ci_run_scm_rts.yml +++ /dev/null @@ -1,229 +0,0 @@ - -name: build and run SCM regression tests - -on: - push: - branches: [main] # add artifact to main branch - pull_request: - workflow_dispatch: - -jobs: - run_scm_rts: - - # The type of runner that the job will run on - runs-on: ubuntu-latest - strategy: - matrix: - fortran-compiler: [12] - build-type: [Release, Debug, SinglePrecision] - py-version: [3.11] - - continue-on-error: true - - # Environmental variables - env: - NFHOME: /home/runner/netcdf-fortran - NFVERSION: v4.5.3 - bacio_ROOT: /home/runner/bacio - sp_ROOT: /home/runner/NCEPLIBS-sp - w3emc_ROOT: /home/runner/myw3emc - SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v15p2_ntiedtke,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug,SCM_GFS_v16_no_nsst,SCM_GFS_v17_p8_ugwpv1_no_nsst,SCM_RRFS_v1beta_no_nsst,SCM_GFS_v16_gfdlmpv3,SCM_GFS_v17_p8_ugwpv1_tempo - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v15p2_ntiedtke_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps,SCM_GFS_v16_no_nsst_ps,SCM_GFS_v17_p8_ugwpv1_no_nsst_ps,SCM_RRFS_v1beta_no_nsst_ps,SCM_GFS_v16_gfdlmpv3_ps,SCM_GFS_v17_p8_ugwpv1_tempo_ps - dir_rt: /home/runner/work/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} - dir_bl: /home/runner/work/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} - artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('main' == 'main' && 'main' || 'PR') }} - GH_TOKEN: ${{ github.token }} - - # Workflow steps - steps: - # Install System Dependencies - - name: Install System Dependencies - run: | - sudo apt-get update -qq && sudo apt-get install -qq -y --no-install-recommends \ - gfortran-${{matrix.fortran-compiler}} \ - libhdf5-dev \ - libnetcdf-pnetcdf-19 \ - libnetcdff7 \ - libnetcdf-dev \ - libnetcdff-dev \ - libxml2 \ - openmpi-bin \ - libopenmpi-dev - - # Python setup - - name: Setup Python - uses: actions/setup-python@v6 - with: - python-version: ${{matrix.py-version}} - - - name: Install NetCDF Python libraries - run: | - pip install f90nml h5py netCDF4 matplotlib - - - name: Environment for openmpi compiler - run: | - echo "FC=mpif90" >> $GITHUB_ENV - echo "CC=mpicc" >> $GITHUB_ENV - - - name: Check MPI version - run: | - which mpif90 - mpif90 --version - - # Install NCEP libs - - name: Cache bacio library v2.4.1 - id: cache-bacio-fortran - uses: actions/cache@v4 - with: - path: /home/runner/bacio - key: cache-bacio-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-key - - - name: Install bacio library v2.4.1 - if: steps.cache-bacio-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.4.1 https://github.com/NOAA-EMC/NCEPLIBS-bacio.git bacio - cd bacio && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${bacio_ROOT} ../ - make -j2 - make install - echo "bacio_DIR=/home/runner/bacio/lib/cmake/bacio" >> $GITHUB_ENV - - - name: Cache SP-library v2.3.3 - id: cache-sp-fortran - uses: actions/cache@v4 - with: - path: /home/runner/NCEPLIBS-sp - key: cache-sp-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-key - - - name: Install SP-library v2.3.3 - if: steps.cache-sp-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.3.3 https://github.com/NOAA-EMC/NCEPLIBS-sp.git NCEPLIBS-sp - cd NCEPLIBS-sp && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${sp_ROOT} ../ - make -j2 - make install - echo "sp_DIR=/home/runner/NCEPLIBS-sp/lib/cmake/sp" >> $GITHUB_ENV - - - name: Cache w3emc library v2.9.2 - id: cache-w3emc-fortran - uses: actions/cache@v4 - with: - path: /home/runner/myw3emc - key: cache-w3emc-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-key - - - name: Install w3emc library v2.9.2 - if: steps.cache-w3emc-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.9.2 https://github.com/NOAA-EMC/NCEPLIBS-w3emc.git NCEPLIBS-w3emc - cd NCEPLIBS-w3emc && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${w3emc_ROOT} ../ - make -j2 - make install - echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV - - - # Initialize and build SCM, run regressions tests - - name: Checkout SCM code (into /home/runner/work/ccpp-scm/) - uses: actions/checkout@v6 - - - name: Initialize submodules - run: git submodule update --init --recursive - - - name: Download data for SCM - run: | - cd ${SCM_ROOT} - ./contrib/get_all_static_data.sh - ./contrib/get_thompson_tables.sh - ./contrib/get_tempo_data.sh - ./contrib/get_aerosol_climo.sh - ./contrib/get_rrtmgp_data.sh - - - name: Configure build with CMake (Release) - if: contains(matrix.build-type, 'Release') - run: | - cd ${SCM_ROOT}/scm - mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites},${suites_ps} ../src - - - name: Configure build with CMake (Debug) - if: contains(matrix.build-type, 'Debug') - run: | - cd ${SCM_ROOT}/scm - mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=Debug ../src - - - name: Configure build with CMake (Single Precision) - if: matrix.build-type == 'SinglePrecision' - run: | - cd ${SCM_ROOT}/scm - mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites},${suites_ps} -D32BIT=1 ../src - - - name: Build SCM - run: | - cd ${SCM_ROOT}/scm/bin - make -j4 - - - name: Run SCM RTs - if: matrix.build-type != 'SinglePrecision' - run: | - cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /home/runner/work/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 - - - name: Run SCM Single Precision RTs - if: matrix.build-type == 'SinglePrecision' - run: | - cd ${SCM_ROOT}/scm/bin - ./run_scm.py --file /home/runner/work/ccpp-scm/ccpp-scm/test/rt_test_cases_sp.py --runtime_mult 0.1 - - - name: Gather SCM RT output - run: | - cd ${SCM_ROOT}/test - mkdir /home/runner/work/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} - ./ci_util.py -b ${{matrix.build-type}} - - - name: Save Artifact Id Numbers and Create Directory for SCM RT baselines - run: | - mkdir -p ${dir_bl} - ARTIFACT_ID=$(gh api --paginate \ - repos/NCAR/ccpp-scm/actions/artifacts | \ - jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-main" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') - echo "artifact_id=${ARTIFACT_ID}" - echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" - - - name: Download SCM RT baselines - uses: actions/download-artifact@v6 - with: - name: rt-baselines-${{matrix.build-type}}-main - path: ${{ env.dir_bl }} - github-token: ${{ secrets.GITHUB_TOKEN }} - run-id: ${{ env.artifact_id }} - - - name: Compare SCM RT output to baselines - run: | - cd ${SCM_ROOT}/test - ./cmp_rt2bl.py --dir_rt ${dir_rt} --dir_bl ${dir_bl} - - - name: Check if SCM RT plots exist - id: check_files - run: | - if [ -n "$(ls -A /home/runner/work/ccpp-scm/ccpp-scm/test/scm_rt_out 2>/dev/null)" ]; then - echo "files_exist=true" >> "$GITHUB_ENV" - else - echo "files_exist=false" >> "$GITHUB_ENV" - fi - - - name: Upload plots of SCM Baselines/RTs as GitHub Artifact. - if: env.files_exist == 'true' - uses: actions/upload-artifact@v5 - with: - name: rt-plots-${{matrix.build-type}}-${{ env.artifact_origin }} - path: /home/runner/work/ccpp-scm/ccpp-scm/test/scm_rt_out - - - name: Upload SCM RTs as GitHub Artifact - uses: actions/upload-artifact@v5 - with: - name: rt-baselines-${{matrix.build-type}}-${{ env.artifact_origin }} - path: /home/runner/work/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} diff --git a/test/rt_test_cases.py b/test/rt_test_cases.py index 24ecdab35..7b343c981 100644 --- a/test/rt_test_cases.py +++ b/test/rt_test_cases.py @@ -166,6 +166,6 @@ {"case": "bomex", "suite": "SCM_HRRR_gf"}, \ {"case": "astex", "suite": "SCM_HRRR_gf"}, \ {"case": "LASSO_2016051812", "suite": "SCM_HRRR_gf"}] - -#NOT TESTED WITH ONEAPI -#run_list_sp_ifx = run_list_sp_gfortran +# +suites_sp_ifx = suites_sp_gfortran +run_list_sp_ifx = run_list_sp_gfortran From d57d00fcc4230855e5cf71f73d66aee2c7acabb8 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 13:36:44 -0700 Subject: [PATCH 320/341] Update to CI --- .../workflows/ci_build_scm_ubuntu_nvidia.yml | 332 ------------------ .github/workflows/ci_test_docker.yml | 35 -- .github/workflows/create_rt_baselines.yml | 3 + .github/workflows/run_scm_rts.yml | 3 + 4 files changed, 6 insertions(+), 367 deletions(-) delete mode 100644 .github/workflows/ci_build_scm_ubuntu_nvidia.yml delete mode 100644 .github/workflows/ci_test_docker.yml diff --git a/.github/workflows/ci_build_scm_ubuntu_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_nvidia.yml deleted file mode 100644 index 966d93e6d..000000000 --- a/.github/workflows/ci_build_scm_ubuntu_nvidia.yml +++ /dev/null @@ -1,332 +0,0 @@ -name: build the CCPP-SCM with Nvidia - -on: workflow_dispatch - -jobs: - - build_scm: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - fortran-compiler: [nvfortran] - build-type: [Release] #, Debug] - enable-gpu-acc: [False] #, True] # GPUs aren't available for testing - py-version: [3.11.7] - - # Environmental variables - env: - NETCDF: /home/runner/netcdf - bacio_ROOT: /home/runner/bacio - sp_ROOT: /home/runner/NCEPLIBS-sp - w3emc_ROOT: /home/runner/myw3emc - SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - HDF5_ROOT: /home/runner/hdf5 - MPI_ROOT: /home/runner/openmpi - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0 - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps - - # Workflow steps - steps: - - ####################################################################################### - # Cleanup space - ####################################################################################### - - name: Check space (pre) - run: | - df -h - - - name: Free Disk Space (Ubuntu) - uses: jlumbroso/free-disk-space@main - with: - # this might remove tools that are actually needed, - # if set to "true" but frees about 6 GB - tool-cache: false - - # all of these default to true, but feel free to set to - # "false" if necessary for your workflow - android: false - dotnet: false - haskell: true - large-packages: true - docker-images: false - swap-storage: false - - - name: Check space (post) - run: | - df -h - - # - name: Add conda to system path - # run: | - # echo $CONDA/bin >> $GITHUB_PATH - - # - name: Install NetCDF Python libraries - # run: | - # conda install --yes -c conda-forge h5py>=3.4 netCDF4 f90nml - - ####################################################################################### - # Install Nvidia. - ####################################################################################### - - - name: Nvidia setup compilers. - env: - NVCOMPILERS: /home/runner/hpc_sdk - NVARCH: Linux_x86_64 - NVYEAR: 2025 - NVVERSION: 25.1 - CUDA_VERSION: 12.6 - NVVERSION_PACKED: 251 # Manually take NVVERSION and remove . because funcationality not in actions - NVHPC_SILENT: true - NVHPC_INSTALL_DIR: /home/runner/hpc_sdk - NVHPC_INSTALL_TYPE: network - NVHPC_INSTALL_LOCAL_DIR: /home/runner/hpc_sdk - run: | - mkdir /home/runner/hpc_sdk && cd /home/runner/hpc_sdk - wget -q https://developer.download.nvidia.com/hpc-sdk/${NVVERSION}/nvhpc_${NVYEAR}_${NVVERSION_PACKED}_Linux_x86_64_cuda_${CUDA_VERSION}.tar.gz - tar xpzf nvhpc_${NVYEAR}_${NVVERSION_PACKED}_Linux_x86_64_cuda_${CUDA_VERSION}.tar.gz - ls - nvhpc_${NVYEAR}_${NVVERSION_PACKED}_Linux_x86_64_cuda_${CUDA_VERSION}/install - export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/${NVVERSION}/compilers/bin - export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/${NVVERSION}/compilers/man - echo "The nvfortran installed is:" - nvfortran --version - echo "The path to nvfortran is:" - command -v nvfortran - echo "Removing tarball" - rm nvhpc_${NVYEAR}_${NVVERSION_PACKED}_Linux_x86_64_cuda_${CUDA_VERSION}.tar.gz - echo "CC=/home/runner/hpc_sdk/Linux_x86_64/${NVVERSION}/compilers/bin/nvc" >> $GITHUB_ENV - echo "FC=/home/runner/hpc_sdk/Linux_x86_64/${NVVERSION}/compilers/bin/nvfortran" >> $GITHUB_ENV - echo "CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/${NVVERSION}/compilers/bin/nvc" >> $GITHUB_ENV - echo "CMAKE_Fortran_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/${NVVERSION}/compilers/bin/nvfortran" >> $GITHUB_ENV - - - name: Check space (pre dependency install) - run: | - df -h - - ####################################################################################### - # Initialize SCM - ####################################################################################### - - name: Checkout SCM code (into /home/runner/work/ccpp-scm/) - uses: actions/checkout@v6 - - - name: Initialize submodules - run: git submodule update --init --recursive - - ####################################################################################### - # Python setup - ####################################################################################### - - name: Set up Python - uses: actions/setup-python@v6 - with: - python-version: ${{matrix.py-version}} - - ####################################################################################### - # Install FORTRAN dependencies - ####################################################################################### - - - name: Install Curl and zlib - run: | - sudo apt-get update - sudo apt-get install curl - sudo apt-get install libssl-dev libcurl4-openssl-dev - sudo apt-get install zlib1g-dev - - - name: Cache HDF5 - id: cache-hdf5 - uses: actions/cache@v4 - with: - path: /home/runner/hdf5 - KEY: cache-hdf5-${{matrix.fortran-compiler}}-key - - - name: Install HDF5 - if: steps.cache-hdf5.outputs.cache-hit != 'true' - run: | - wget -q https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5-1_14_1-2.tar.gz - tar zxf hdf5-1_14_1-2.tar.gz - cd hdf5-hdf5-1_14_1-2 - ./configure --prefix=${HDF5_ROOT} - make -j - make install - cd .. - rm -rf hdf5-hdf5-1_14_1-2 hdf5-1_14_1-2.tar.gz - - - name: Setup HDF5 Paths - run: | - echo "LD_LIBRARY_PATH=$HDF5_ROOT/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV - echo "PATH=$HDF5_ROOT/bin:$PATH" >> $GITHUB_ENV - - - name: Cache OpenMPI - id: cache-openmpi - uses: actions/cache@v4 - with: - path: /home/runner/openmpi - KEY: cache-openmpi-${{matrix.fortran-compiler}}-key - - - name: Configure OpenMPI - if: steps.cache-openmpi.outputs.cache-hit != 'true' - run: | - cd ${HOME} - wget -q https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.6.tar.gz - tar zxf openmpi-4.1.6.tar.gz - cd openmpi-4.1.6 - CFLAGS=-fPIC CXXFLAGS=-fPIC FCFLAGS=-fPIC ./configure --prefix=${MPI_ROOT} - - - name: Build OpenMPI - if: steps.cache-openmpi.outputs.cache-hit != 'true' - run: | - cd ${HOME}/openmpi-4.1.6 - make -j - - - name: Install OpenMPI - if: steps.cache-openmpi.outputs.cache-hit != 'true' - run: | - cd ${HOME}/openmpi-4.1.6 - sudo make install -j - cd .. - rm -rf openmpi-4.1.6 openmpi-4.1.6.tar.gz - - - name: Setup OpenMPI Paths - run: | - echo "PATH=${MPI_ROOT}/bin:$PATH" >> $GITHUB_ENV - echo "LD_LIBRARY_PATH=${MPI_ROOT}/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV - - - name: Check MPI Version - run: | - mpif90 --version - - - name: Set environment for Nvidia compiler with MPI - run: | - echo "CC=$(which mpicc)" >> $GITHUB_ENV - echo "FC=$(which mpif90)" >> $GITHUB_ENV - echo "CMAKE_C_COMPILER=$(which mpicc)" >> $GITHUB_ENV - echo "CMAKE_Fortran_COMPILER=$(which mpif90)" >> $GITHUB_ENV - - - name: Cache NetCDF library - id: cache-netcdf - uses: actions/cache@v4 - with: - path: /home/runner/netcdf - key: cache-netcdf-${{matrix.fortran-compiler}}-key - - - name: Setup NetCDF Paths - run: | - echo "LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV - echo "PATH=$NETCDF/bin:$PATH" >> $GITHUB_ENV - - - name: Install NetCDF C library - if: steps.cache-netcdf.outputs.cache-hit != 'true' - run: | - wget -q https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz - tar zxf v4.7.4.tar.gz - cd netcdf-c-4.7.4 - CPPFLAGS="-I/home/runner/hdf5/include" LDFLAGS="-L/home/runner/hdf5/lib" ./configure --prefix=${NETCDF} - make - make install - cd .. - rm -rf netcdf-c-4.7.4 v4.7.4.tar.gz - - - name: Install NetCDF Fortran library - if: steps.cache-netcdf.outputs.cache-hit != 'true' - run: | - wget -q https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.1.tar.gz - tar zxf v4.6.1.tar.gz - cd netcdf-fortran-4.6.1 - FCFLAGS="-fPIC" FFLAGS="-fPIC" CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/netcdf/include" LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/netcdf/lib" ./configure --prefix=${NETCDF} - make - make install - cd .. - rm -rf netcdf-fortran-4.6.1 v4.6.1.tar.gz - - - name: Cache bacio library v2.4.1 - id: cache-bacio-fortran - uses: actions/cache@v4 - with: - path: /home/runner/bacio - key: cache-bacio-fortran-${{matrix.fortran-compiler}}-key - - - name: Install bacio library v2.4.1 - if: steps.cache-bacio-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.4.1 https://github.com/NOAA-EMC/NCEPLIBS-bacio.git bacio - cd bacio && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${bacio_ROOT} ../ - make -j - make install - echo "bacio_DIR=/home/runner/bacio/lib/cmake/bacio" >> $GITHUB_ENV - cd ../../ - rm -rf bacio - - - name: Cache SP-library v2.3.3 - id: cache-sp-fortran - uses: actions/cache@v4 - with: - path: /home/runner/NCEPLIBS-sp - key: cache-sp-fortran-${{matrix.fortran-compiler}}-key - - - name: Install SP-library v2.3.3 - if: steps.cache-sp-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.3.3 https://github.com/NOAA-EMC/NCEPLIBS-sp.git NCEPLIBS-sp - cd NCEPLIBS-sp && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${sp_ROOT} ../ - make -j - make install - echo "sp_DIR=/home/runner/NCEPLIBS-sp/lib/cmake/sp" >> $GITHUB_ENV - cd ../../ - rm -rf NCEPLIBS-sp - - - name: Cache w3emc library v2.9.2 - id: cache-w3emc-fortran - uses: actions/cache@v4 - with: - path: /home/runner/myw3emc - key: cache-w3emc-fortran-${{matrix.fortran-compiler}}-key - - - name: Install w3emc library v2.9.2 - if: steps.cache-w3emc-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch v2.9.2 https://github.com/NOAA-EMC/NCEPLIBS-w3emc.git NCEPLIBS-w3emc - cd NCEPLIBS-w3emc && mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=${w3emc_ROOT} ../ - make -j - make install - echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV - cd ../../ - rm -rf NCEPLIBS-w3emc - - - name: Check space (pre SCM build) - run: | - df -h - - ####################################################################################### - # Build and run SCM regression tests (ccpp-scm/test/rt_test_cases.py) - ####################################################################################### - - - name: Configure build with CMake - run: | - cd ${SCM_ROOT}/scm - mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -DENABLE_NVIDIA_OPENACC=${{matrix.enable-gpu-acc}} ../src - - - name: Build SCM. - run: | - cd ${SCM_ROOT}/scm/bin - make -j - - - name: Check space (post SCM build) - run: | - df -h - - # - name: Download data for SCM - # if: contains(matrix.enable-gpu-acc, 'False') - # run: | - # cd ${SCM_ROOT} - # ./contrib/get_all_static_data.sh - # ./contrib/get_thompson_tables.sh - # ./contrib/get_aerosol_climo.sh - - # - name: Run SCM RTs (w/o GPU) - # if: contains(matrix.enable-gpu-acc, 'False') - # run: | - # cd ${SCM_ROOT}/scm/bin - # ./run_scm.py --file /home/runner/work/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 -v diff --git a/.github/workflows/ci_test_docker.yml b/.github/workflows/ci_test_docker.yml deleted file mode 100644 index 8651d727d..000000000 --- a/.github/workflows/ci_test_docker.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: build and test docker - -on: - # not listing pull_request closed, since it would run when merged - pull_request: - types: [opened, synchronize, reopened] - workflow_dispatch: - -env: - TEST_TAG: dtcenter/ccpp-scm:test - PR_NUMBER: ${{ github.event.number }} - -jobs: - docker: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6 - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Build and export test tag - uses: docker/build-push-action@v6 - with: - context: . - file: docker/Dockerfile - load: true - tags: ${{ env.TEST_TAG }} - build-args: PR_NUMBER=${{ github.event.number }} - - name: Test - run: | - mkdir $HOME/output - chmod a+rw $HOME/output - docker run --rm -v $HOME/output:/home ${{ env.TEST_TAG }} ./run_scm.py -f ../../test/rt_test_cases.py --runtime_mult 0.1 --mpi_command "mpirun -np 1 --allow-run-as-root" -d diff --git a/.github/workflows/create_rt_baselines.yml b/.github/workflows/create_rt_baselines.yml index 3113aaaae..d4b5596d8 100644 --- a/.github/workflows/create_rt_baselines.yml +++ b/.github/workflows/create_rt_baselines.yml @@ -16,6 +16,9 @@ jobs: fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] run_lists: [supported, legacy, dev, sp]#, nvhpc] + exclude: + - build-type: Debug + run_lists: sp include: # Set container images for each compiler - fortran-compiler: ifx diff --git a/.github/workflows/run_scm_rts.yml b/.github/workflows/run_scm_rts.yml index c10f4d27b..930457331 100644 --- a/.github/workflows/run_scm_rts.yml +++ b/.github/workflows/run_scm_rts.yml @@ -16,6 +16,9 @@ jobs: fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] run_lists: [supported, legacy, dev, sp]#, nvhpc] + exclude: + - build-type: Debug + run_lists: sp include: # Set container images for each compiler - fortran-compiler: ifx From fb61855e9dc91d881534404963dfb1ae3580b018 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 13:37:52 -0700 Subject: [PATCH 321/341] Update to CI --- .github/workflows/create_rt_baselines.yml | 2 +- .github/workflows/run_scm_rts.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create_rt_baselines.yml b/.github/workflows/create_rt_baselines.yml index d4b5596d8..34cb20fa7 100644 --- a/.github/workflows/create_rt_baselines.yml +++ b/.github/workflows/create_rt_baselines.yml @@ -16,7 +16,7 @@ jobs: fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] run_lists: [supported, legacy, dev, sp]#, nvhpc] - exclude: + exclude: - build-type: Debug run_lists: sp include: diff --git a/.github/workflows/run_scm_rts.yml b/.github/workflows/run_scm_rts.yml index 930457331..2247ab723 100644 --- a/.github/workflows/run_scm_rts.yml +++ b/.github/workflows/run_scm_rts.yml @@ -16,7 +16,7 @@ jobs: fortran-compiler: [ifx, gfortran]#, nvfortran] build-type: [Release, Debug] run_lists: [supported, legacy, dev, sp]#, nvhpc] - exclude: + exclude: - build-type: Debug run_lists: sp include: From ef84f82cb3cf245ed51d3bb4f20a2ad80e5fd0b2 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 13:55:46 -0700 Subject: [PATCH 322/341] Only create images when pushing main branch --- .github/workflows/bld_scm_images.yaml | 18 +++++++++++------- .github/workflows/run_scm_rts.yml | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index 9014a596a..e702914f2 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -1,10 +1,15 @@ name: CCPP SCM Base Images Build run-name: CI Image Build for CCPP SCM -on: [push] +on: + push: + branches: + # Only build containers when pushing to main + - "main" jobs: docker: + if: github.repository == 'NCAR/ccpp-scm' strategy: fail-fast: false # Disable fail-fast matrix: @@ -54,17 +59,16 @@ jobs: tags: add-python:${{ matrix.toolchain }} - name: Log in to DockerHub - if: ${{ github.ref == 'refs/heads/feature/containerized_ci' }} uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_TOKEN }} + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push ccpp-scm-ci:${{ matrix.toolchain }} + - name: Build and push dtcenter/ccpp-scm:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: file: docker/Dockerfile-finalize build-args: TOOLCHAIN=${{ matrix.toolchain }} - push: ${{ github.ref == 'refs/heads/feature/containerized_ci' }} + push: ${{ github.ref == 'refs/heads/main' }} tags: | - dustinswales/ccpp-scm-ci:${{ matrix.toolchain }} + dtcenter/ccpp-scm:${{ matrix.toolchain }} diff --git a/.github/workflows/run_scm_rts.yml b/.github/workflows/run_scm_rts.yml index 2247ab723..6219da3b4 100644 --- a/.github/workflows/run_scm_rts.yml +++ b/.github/workflows/run_scm_rts.yml @@ -88,7 +88,7 @@ jobs: id: set_sdfs run: | cd ${SCM_ROOT}/test - suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.run_lists}}}_${{matrix.fortran-compiler}}) + suites=$(./get_sdfs_for_run_list.py --sdf_list suites_${{matrix.run_lists}}_${{matrix.fortran-compiler}}) echo "suites=${suites}" >> $GITHUB_OUTPUT - name: Print SDF names From 2faa3340fb88739e7a5f9236329311c6c6ffe54f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 14:00:14 -0700 Subject: [PATCH 323/341] revert physics --- .gitmodules | 4 ++-- ccpp/physics | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 5c50c986b..dc0798c32 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,8 +4,8 @@ branch = main [submodule "ccpp-physics"] path = ccpp/physics - url = https://github.com/dustinswales/ccpp-physics - branch = feature/containerized_ci + url = https://github.com/NCAR/ccpp-physics + branch = main [submodule "CMakeModules"] path = CMakeModules url = https://github.com/noaa-emc/CMakeModules diff --git a/ccpp/physics b/ccpp/physics index 252ffaf3c..52a9db3a8 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 252ffaf3cbd58441bbb03fcfcfc9958822a669ad +Subproject commit 52a9db3a893e2d3835b57bb0d6f262cb7c971c30 From 22af164109d411482c048ad172e26f7bff337378 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 14:38:00 -0700 Subject: [PATCH 324/341] Revert change --- scm/src/run_scm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scm/src/run_scm.py b/scm/src/run_scm.py index 1bf61deea..364dbd91a 100755 --- a/scm/src/run_scm.py +++ b/scm/src/run_scm.py @@ -738,7 +738,7 @@ def launch_executable(use_gdb, gdb, mpi_command, ignore_error = False): mpi_command = DEFAULT_MPI_COMMAND cmd = '(cd {scm_run} && time {mpi_command} {executable})'.format(scm_run=SCM_RUN, mpi_command=mpi_command, executable=EXECUTABLE) logging.info('Passing control to "{0}"'.format(cmd)) - #time.sleep(1) + time.sleep(1) # This will abort in 'execute' in the event of an error if ignore_error = False (status, stdout, stderr) = execute(cmd, ignore_error = ignore_error) logging.info('Process "{0}" returned with status {1}'.format(cmd, status)) From f77fc653ddd1a0e16e1dc749dea2cb74a2449a16 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 15:59:19 -0700 Subject: [PATCH 325/341] update CI --- .github/workflows/bld_scm_images.yaml | 6 +++--- .github/workflows/create_rt_baselines.yml | 7 +++---- .github/workflows/run_scm_rts.yml | 4 +--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index e702914f2..00aca4942 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -3,9 +3,9 @@ run-name: CI Image Build for CCPP SCM on: push: - branches: - # Only build containers when pushing to main - - "main" +# branches: +# # Only build containers when pushing to main +# - "main" jobs: docker: diff --git a/.github/workflows/create_rt_baselines.yml b/.github/workflows/create_rt_baselines.yml index 34cb20fa7..b5d3bfcfe 100644 --- a/.github/workflows/create_rt_baselines.yml +++ b/.github/workflows/create_rt_baselines.yml @@ -31,10 +31,9 @@ jobs: image: ${{ matrix.image }} # Environmental variables env: - SCM_ROOT: /__w/ccpp-scm/ccpp-scm - dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} - dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} - artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} + SCM_ROOT: /__w/ccpp-scm/ccpp-scm + dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} + dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} # Workflow steps steps: diff --git a/.github/workflows/run_scm_rts.yml b/.github/workflows/run_scm_rts.yml index 6219da3b4..205f50678 100644 --- a/.github/workflows/run_scm_rts.yml +++ b/.github/workflows/run_scm_rts.yml @@ -2,8 +2,6 @@ name: Build/run the CCPP-SCM, compare to existing baselines (GitHub artifact) on: push: - branches: - - feature/containerized_ci pull_request: workflow_dispatch: @@ -34,7 +32,7 @@ jobs: SCM_ROOT: /__w/ccpp-scm/ccpp-scm dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} - artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('feature/containerized_ci' == 'feature/containerized_ci' && 'feature/containerized_ci' || 'PR') }} + artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('main' == 'main' && 'main' || 'PR') }} GH_TOKEN: ${{ github.token }} # Workflow steps From 37485921ec6c4854081b5da864e135490dfc59bf Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 16:17:47 -0700 Subject: [PATCH 326/341] Update CI --- .github/workflows/bld_scm_images.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index 00aca4942..b1c849d2f 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -2,7 +2,9 @@ name: CCPP SCM Base Images Build run-name: CI Image Build for CCPP SCM on: - push: + pull_request: + workflow_dispatch: +# push: # branches: # # Only build containers when pushing to main # - "main" From 64b40b5d96cf18b3ca383ee56a92eb058b4245b0 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 16:25:50 -0700 Subject: [PATCH 327/341] Update CI --- .github/workflows/bld_scm_images.yaml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index b1c849d2f..061222b4b 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -61,10 +61,19 @@ jobs: tags: add-python:${{ matrix.toolchain }} - name: Log in to DockerHub + if: ${{ github.ref == 'refs/heads/main' }} uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Log in to the Container registry + if: ${{ github.ref == 'refs/heads/main' }} + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push dtcenter/ccpp-scm:${{ matrix.toolchain }} uses: docker/build-push-action@v6 @@ -74,3 +83,4 @@ jobs: push: ${{ github.ref == 'refs/heads/main' }} tags: | dtcenter/ccpp-scm:${{ matrix.toolchain }} + ghcr.io/NCAR/ccpp-scm:${{ matrix.toolchain }} From 179fcb4bb84f1f14c883e4c817e352b1bcc1e7af Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 16:29:50 -0700 Subject: [PATCH 328/341] Update CI --- .github/workflows/bld_scm_images.yaml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index 061222b4b..7c073c8c3 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -60,21 +60,19 @@ jobs: build-args: TOOLCHAIN=${{ matrix.toolchain }} tags: add-python:${{ matrix.toolchain }} - - name: Log in to DockerHub - if: ${{ github.ref == 'refs/heads/main' }} - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_TOKEN }} - - name: Log in to the Container registry - if: ${{ github.ref == 'refs/heads/main' }} uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Log in to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + - name: Build and push dtcenter/ccpp-scm:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: @@ -83,4 +81,4 @@ jobs: push: ${{ github.ref == 'refs/heads/main' }} tags: | dtcenter/ccpp-scm:${{ matrix.toolchain }} - ghcr.io/NCAR/ccpp-scm:${{ matrix.toolchain }} + ghcr.io/ncar/ccpp-scm:${{ matrix.toolchain }} From cb8c5c1b717a3c310d5301b85e4454de5d4c157b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 16:31:20 -0700 Subject: [PATCH 329/341] Update CI --- .github/workflows/bld_scm_images.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index 7c073c8c3..3b4fdd135 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -67,7 +67,7 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Log in to DockerHub + - name: Log in to DockerHub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} From 7045fdd1da43a9cf556f8dbfa271ad23bfcf0343 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 16:35:49 -0700 Subject: [PATCH 330/341] Update CI --- .github/workflows/bld_scm_images.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index 3b4fdd135..e03ab3ad3 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -67,11 +67,11 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Log in to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_TOKEN }} +# - name: Log in to DockerHub +# uses: docker/login-action@v3 +# with: +# username: ${{ secrets.DOCKER_USERNAME }} +# password: ${{ secrets.DOCKER_TOKEN }} - name: Build and push dtcenter/ccpp-scm:${{ matrix.toolchain }} uses: docker/build-push-action@v6 @@ -80,5 +80,5 @@ jobs: build-args: TOOLCHAIN=${{ matrix.toolchain }} push: ${{ github.ref == 'refs/heads/main' }} tags: | - dtcenter/ccpp-scm:${{ matrix.toolchain }} +# dtcenter/ccpp-scm:${{ matrix.toolchain }} ghcr.io/ncar/ccpp-scm:${{ matrix.toolchain }} From e104b2bb6f73feb6042c7368733589da3bb4a98f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 16:37:03 -0700 Subject: [PATCH 331/341] Update CI --- .github/workflows/bld_scm_images.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index e03ab3ad3..fe5fadc5b 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -80,5 +80,4 @@ jobs: build-args: TOOLCHAIN=${{ matrix.toolchain }} push: ${{ github.ref == 'refs/heads/main' }} tags: | -# dtcenter/ccpp-scm:${{ matrix.toolchain }} ghcr.io/ncar/ccpp-scm:${{ matrix.toolchain }} From 577ca7a6154fffe82ef04ad6404e11c30b610c99 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 16:52:50 -0700 Subject: [PATCH 332/341] Update CI --- .github/workflows/bld_scm_images.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index fe5fadc5b..2eba8e2e1 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -64,7 +64,7 @@ jobs: uses: docker/login-action@v3 with: registry: ghcr.io - username: ${{ github.actor }} + username: NCAR password: ${{ secrets.GITHUB_TOKEN }} # - name: Log in to DockerHub @@ -73,7 +73,7 @@ jobs: # username: ${{ secrets.DOCKER_USERNAME }} # password: ${{ secrets.DOCKER_TOKEN }} - - name: Build and push dtcenter/ccpp-scm:${{ matrix.toolchain }} + - name: Build and push ghcr/ccpp-scm:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: file: docker/Dockerfile-finalize From db69d80b6fabca0d10e43b25c23fc7101f2d7d51 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 17:01:59 -0700 Subject: [PATCH 333/341] Update CI --- .github/workflows/bld_scm_images.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index 2eba8e2e1..1447fd940 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -78,6 +78,6 @@ jobs: with: file: docker/Dockerfile-finalize build-args: TOOLCHAIN=${{ matrix.toolchain }} - push: ${{ github.ref == 'refs/heads/main' }} + push: True tags: | ghcr.io/ncar/ccpp-scm:${{ matrix.toolchain }} From ccc4d958890604a35e52e6ed076f308347a86a22 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 19:10:03 -0700 Subject: [PATCH 334/341] Update CI --- .github/workflows/bld_scm_images.yaml | 24 +++++++++++------------ .github/workflows/create_rt_baselines.yml | 8 +++----- .github/workflows/run_scm_rts.yml | 6 +++--- 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index 1447fd940..3c0fd4cd9 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -60,24 +60,24 @@ jobs: build-args: TOOLCHAIN=${{ matrix.toolchain }} tags: add-python:${{ matrix.toolchain }} - - name: Log in to the Container registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: NCAR - password: ${{ secrets.GITHUB_TOKEN }} - -# - name: Log in to DockerHub +# - name: Log in to the Container registry # uses: docker/login-action@v3 # with: -# username: ${{ secrets.DOCKER_USERNAME }} -# password: ${{ secrets.DOCKER_TOKEN }} +# registry: ghcr.io +# username: NCAR +# password: ${{ secrets.GITHUB_TOKEN }} + + - name: Log in to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push ghcr/ccpp-scm:${{ matrix.toolchain }} + - name: Build and push dtcenter/ccpp-scm:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: file: docker/Dockerfile-finalize build-args: TOOLCHAIN=${{ matrix.toolchain }} push: True tags: | - ghcr.io/ncar/ccpp-scm:${{ matrix.toolchain }} + dtcenter/ccpp-scm:${{ matrix.toolchain }} diff --git a/.github/workflows/create_rt_baselines.yml b/.github/workflows/create_rt_baselines.yml index b5d3bfcfe..e72db01f8 100644 --- a/.github/workflows/create_rt_baselines.yml +++ b/.github/workflows/create_rt_baselines.yml @@ -1,10 +1,6 @@ name: Build/run the CCPP-SCM, create baselines, store as GitHub artifact on: - push: - branches: - - feature/containerized_ci - pull_request: workflow_dispatch: jobs: @@ -34,6 +30,8 @@ jobs: SCM_ROOT: /__w/ccpp-scm/ccpp-scm dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} + artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('main' == 'main' && 'main' || 'PR') }} + GH_TOKEN: ${{ github.token }} # Workflow steps steps: @@ -138,5 +136,5 @@ jobs: - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v5 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}}-${{ env.artifact_origin }} path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} \ No newline at end of file diff --git a/.github/workflows/run_scm_rts.yml b/.github/workflows/run_scm_rts.yml index 205f50678..08a16ba41 100644 --- a/.github/workflows/run_scm_rts.yml +++ b/.github/workflows/run_scm_rts.yml @@ -147,7 +147,7 @@ jobs: - name: Download SCM RT baselines uses: actions/download-artifact@v6 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}}-main path: ${{ env.dir_bl }} github-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ env.artifact_id }} @@ -169,11 +169,11 @@ jobs: - name: Upload plots of SCM Baselines/RTs as GitHub Artifact uses: actions/upload-artifact@v4 with: - name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} + name: rt-plots-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}}-${{ env.artifact_origin }} path: /__w/ccpp-scm/ccpp-scm/test/scm_rt_out - name: Upload SCM RTs as GitHub Artifact uses: actions/upload-artifact@v5 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}}-${{ env.artifact_origin }} path: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} \ No newline at end of file From a8fa02aa3e276025fc83794434c124d751e32425 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 19:14:24 -0700 Subject: [PATCH 335/341] Update CI --- .github/workflows/create_rt_baselines.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/create_rt_baselines.yml b/.github/workflows/create_rt_baselines.yml index e72db01f8..c783218a2 100644 --- a/.github/workflows/create_rt_baselines.yml +++ b/.github/workflows/create_rt_baselines.yml @@ -2,6 +2,7 @@ name: Build/run the CCPP-SCM, create baselines, store as GitHub artifact on: workflow_dispatch: + pull_request: jobs: create_rt_baselines: From fe3057e91449a3503ef140b334a3f410372b8b12 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 19:25:40 -0700 Subject: [PATCH 336/341] Update CI --- .github/workflows/bld_scm_images.yaml | 2 +- .github/workflows/run_scm_rts.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index 3c0fd4cd9..f1f3f379e 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -80,4 +80,4 @@ jobs: build-args: TOOLCHAIN=${{ matrix.toolchain }} push: True tags: | - dtcenter/ccpp-scm:${{ matrix.toolchain }} + dustinswales/ccpp-scm:${{ matrix.toolchain }} diff --git a/.github/workflows/run_scm_rts.yml b/.github/workflows/run_scm_rts.yml index 08a16ba41..4c9106d28 100644 --- a/.github/workflows/run_scm_rts.yml +++ b/.github/workflows/run_scm_rts.yml @@ -147,7 +147,7 @@ jobs: - name: Download SCM RT baselines uses: actions/download-artifact@v6 with: - name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}}-main + name: rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}}-${{ env.artifact_origin }} path: ${{ env.dir_bl }} github-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ env.artifact_id }} From 152b23fe565b1e5baa232c0bd02bd51e7b80709d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 19:38:42 -0700 Subject: [PATCH 337/341] Update CI --- .github/workflows/bld_scm_images.yaml | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index f1f3f379e..86f505a20 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -31,6 +31,17 @@ jobs: steps: - uses: actions/checkout@v6 + - name: Check if secrets are defined + run: | + if [ -z "${{ secrets.DOCKER_USERNAME }}" ]; then echo "Username is MISSING"; else echo "Username is SET"; fi + if [ -z "${{ secrets.DOCKER_TOKEN }}" ]; then echo "Token is MISSING"; else echo "Token is SET"; fi + + - name: Log in to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + - name: Build minimal-toolchain:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: @@ -60,19 +71,6 @@ jobs: build-args: TOOLCHAIN=${{ matrix.toolchain }} tags: add-python:${{ matrix.toolchain }} -# - name: Log in to the Container registry -# uses: docker/login-action@v3 -# with: -# registry: ghcr.io -# username: NCAR -# password: ${{ secrets.GITHUB_TOKEN }} - - - name: Log in to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push dtcenter/ccpp-scm:${{ matrix.toolchain }} uses: docker/build-push-action@v6 with: From 799c310eb40403c984cbf74834570a2bbcb4f7e3 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 20:28:38 -0700 Subject: [PATCH 338/341] Update CI --- .github/workflows/bld_scm_images.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bld_scm_images.yaml b/.github/workflows/bld_scm_images.yaml index 86f505a20..1735b05cc 100644 --- a/.github/workflows/bld_scm_images.yaml +++ b/.github/workflows/bld_scm_images.yaml @@ -78,4 +78,4 @@ jobs: build-args: TOOLCHAIN=${{ matrix.toolchain }} push: True tags: | - dustinswales/ccpp-scm:${{ matrix.toolchain }} + dustinswales/ccpp-scm-ci:${{ matrix.toolchain }} From 8595bc13c3c026133389485efe235131e87cbeda Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 20:54:48 -0700 Subject: [PATCH 339/341] Update CI --- .github/workflows/run_scm_rts.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run_scm_rts.yml b/.github/workflows/run_scm_rts.yml index 4c9106d28..b37570ada 100644 --- a/.github/workflows/run_scm_rts.yml +++ b/.github/workflows/run_scm_rts.yml @@ -139,8 +139,8 @@ jobs: run: | mkdir -p ${dir_bl} ARTIFACT_ID=$(gh api --paginate \ - repos/dustinswales/ccpp-scm/actions/artifacts | \ - jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}}" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') + repos/NCAR/ccpp-scm/actions/artifacts | \ + jq -s '[ .[] | .artifacts[] | select(.name == "rt-baselines-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}}-${{ env.artifact_origin }}" and (.expired | not))] | sort_by(.created_at) | last | .workflow_run | .id ') echo "artifact_id=${ARTIFACT_ID}" echo "artifact_id=${ARTIFACT_ID}" >> "$GITHUB_ENV" From a19f7c13ad9fff8b670ed09b7c77c2af11fe3680 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 11 Feb 2026 21:18:39 -0700 Subject: [PATCH 340/341] Update CI --- .github/workflows/create_rt_baselines.yml | 2 -- .github/workflows/run_scm_rts.yml | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/create_rt_baselines.yml b/.github/workflows/create_rt_baselines.yml index c783218a2..c8cb5a644 100644 --- a/.github/workflows/create_rt_baselines.yml +++ b/.github/workflows/create_rt_baselines.yml @@ -29,8 +29,6 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} - dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('main' == 'main' && 'main' || 'PR') }} GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/run_scm_rts.yml b/.github/workflows/run_scm_rts.yml index b37570ada..111dd0658 100644 --- a/.github/workflows/run_scm_rts.yml +++ b/.github/workflows/run_scm_rts.yml @@ -30,8 +30,8 @@ jobs: # Environmental variables env: SCM_ROOT: /__w/ccpp-scm/ccpp-scm - dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} - dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} + dir_rt: /__w/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} + dir_bl: /__w/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}}-${{matrix.fortran-compiler}}-${{matrix.run_lists}} artifact_origin: ${{ github.event_name == 'pull_request' && 'PR' || ('main' == 'main' && 'main' || 'PR') }} GH_TOKEN: ${{ github.token }} From a0367b81771783a759483fcbd25927d3f4e0f7ba Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 12 Feb 2026 07:30:07 -0700 Subject: [PATCH 341/341] Revert change --- scm/src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 5da49de88..49a592209 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -73,7 +73,7 @@ find_package(sp REQUIRED) find_package(w3emc REQUIRED) find_package(MPI REQUIRED) if(NOT MPI_Fortran_HAVE_F08_MODULE) - #message(FATAL_ERROR "MPI_F08 Required") + message(FATAL_ERROR "MPI_F08 Required") endif() find_package(MPI REQUIRED Fortran)