From 8107c705a0e2f32af773e6b82a9ec8f1dd2eb3e0 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 16:54:37 +0000 Subject: [PATCH 001/132] Foundatio for Nvidia CI script --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 182 ++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml new file mode 100644 index 000000000..c976020b6 --- /dev/null +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -0,0 +1,182 @@ +name: CI test to build the CCPP-SCM on ubuntu v22.04 using NVidia compilers + +on: [push,pull_request,workflow_dispatch] + +jobs: + build_scm: + + # The type of runner that the job will run on + runs-on: ubuntu-22.04 + strategy: + matrix: + fortran-compiler: [nvfortran] + build-type: [Release, Debug] + py-version: [3.7.13, 3.9.12] + + # 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 + intel_ROOT: /home/runner/intel + suites: SCM_RAP + + # Workflow steps + steps: + ####################################################################################### + # Initial + ####################################################################################### + - name: Checkout SCM code (into /home/runner/work/ccpp-scm/) + uses: actions/checkout@v3 + + - name: Initialize submodules + run: git submodule update --init --recursive + + ####################################################################################### + # Python setup + ####################################################################################### + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: ${{matrix.py-version}} + + - 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 + + - name: Update system packages + run: sudo apt-get update + + ####################################################################################### + # Install Nvidia. + ####################################################################################### + - name: cache-nvidia-compilers + id: cache-nvidia-compilers + if: contains(matrix.fortran-compiler, 'nvfortran') + uses: actions/cache@v3 + with: + path: /opt/nvidia/hpc_sdk/ + key: nvhpc-${{ runner.os }}-2024-24.1 + + - name: Nvidia setup compilers + if: contains(matrix.fortran-compiler, 'nvfortran') && steps.cache-nvidia-compilers.outputs.cache-hit != 'true' + env: + NVCOMPILERS: /opt/nvidia/hpc_sdk + run: | + wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz + tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz + nvhpc_2024_241_Linux_x86_64_cuda_12.3/install + + ####################################################################################### + # Install FORTRAN dependencies + ####################################################################################### + - name: Environment for nvidia compiler. + if: contains(matrix.fortran-compiler, 'nvfortran') + run: | + echo "CC=nvc" >> $GITHUB_ENV + echo "FC=nvfortran" >> $GITHUB_ENV + echo "F90FLAGS=-Mallocatable=03 -Mstandard -Mbounds -Mchkptr -Kieee -Mchkstk" > $GITHUB_ENV + echo "NFVERSION=v4.4.4" >> $GITHUB_ENV + + - name: Cache bacio library v2.4.1 + id: cache-bacio-fortran + uses: actions/cache@v3 + 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 -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@v3 + 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 -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@v3 + 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 -j2 + make install + echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV + + - name: Install NetCDF C library + run: | + sudo apt-get update + sudo apt-get install libnetcdf-dev + + - name: Cache NetCDF Fortran library + id: cache-netcdf-fortran + uses: actions/cache@v3 + with: + path: /home/runner/netcdf-fortran + key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key + + - name: Install NetCDF Fortran library + if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' + run: | + git clone --branch ${NFVERSION} https://github.com/Unidata/netcdf-fortran.git + cd netcdf-fortran + ./configure + make -j + sudo make install + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NFHOME}/lib + + ####################################################################################### + # Build SCM. + ####################################################################################### + + - 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} ../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} -DCMAKE_BUILD_TYPE=Debug ../src + + - name: Build SCM + run: | + cd ${SCM_ROOT}/scm/bin + make -j4 From 271710bf7692d4f558bd17c0d0a431f081a19ae7 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 17:05:47 +0000 Subject: [PATCH 002/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index c976020b6..e9445216c 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -10,19 +10,19 @@ jobs: strategy: matrix: fortran-compiler: [nvfortran] - build-type: [Release, Debug] - py-version: [3.7.13, 3.9.12] + build-type: [Release]#, Debug] + py-version: [3.7.13]#, 3.9.12] # 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 - intel_ROOT: /home/runner/intel - suites: SCM_RAP + 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 + nvidia_ROOT: /home/runner/intel + suites: SCM_RAP # Workflow steps steps: @@ -62,7 +62,7 @@ jobs: if: contains(matrix.fortran-compiler, 'nvfortran') uses: actions/cache@v3 with: - path: /opt/nvidia/hpc_sdk/ + path: /home/runner/hpc_sdk/ key: nvhpc-${{ runner.os }}-2024-24.1 - name: Nvidia setup compilers @@ -70,9 +70,13 @@ jobs: env: NVCOMPILERS: /opt/nvidia/hpc_sdk run: | - wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz - tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz - nvhpc_2024_241_Linux_x86_64_cuda_12.3/install + curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /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 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list + sudo apt-get update -y + sudo apt-get install -y nvhpc-24-1 +# wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz +# tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz +# nvhpc_2024_241_Linux_x86_64_cuda_12.3/install ####################################################################################### # Install FORTRAN dependencies From 2321196bbe439b8780ff098ba96839cdbe95e7ae Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 17:14:32 +0000 Subject: [PATCH 003/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 48 ------------------- 1 file changed, 48 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index e9445216c..a5adf5f67 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -74,9 +74,6 @@ jobs: echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list sudo apt-get update -y sudo apt-get install -y nvhpc-24-1 -# wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz -# tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz -# nvhpc_2024_241_Linux_x86_64_cuda_12.3/install ####################################################################################### # Install FORTRAN dependencies @@ -139,48 +136,3 @@ jobs: make -j2 make install echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV - - - name: Install NetCDF C library - run: | - sudo apt-get update - sudo apt-get install libnetcdf-dev - - - name: Cache NetCDF Fortran library - id: cache-netcdf-fortran - uses: actions/cache@v3 - with: - path: /home/runner/netcdf-fortran - key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key - - - name: Install NetCDF Fortran library - if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch ${NFVERSION} https://github.com/Unidata/netcdf-fortran.git - cd netcdf-fortran - ./configure - make -j - sudo make install - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NFHOME}/lib - - ####################################################################################### - # Build SCM. - ####################################################################################### - - - 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} ../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} -DCMAKE_BUILD_TYPE=Debug ../src - - - name: Build SCM - run: | - cd ${SCM_ROOT}/scm/bin - make -j4 From 0bfbe997b333be71bd4386e07d0e65caa970ffb3 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 17:28:41 +0000 Subject: [PATCH 004/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index a5adf5f67..ab9f76274 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -21,7 +21,7 @@ jobs: sp_ROOT: /home/runner/NCEPLIBS-sp w3emc_ROOT: /home/runner/myw3emc SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - nvidia_ROOT: /home/runner/intel + nvidia_ROOT: /home/runner/nvidia suites: SCM_RAP # Workflow steps @@ -68,17 +68,19 @@ jobs: - name: Nvidia setup compilers if: contains(matrix.fortran-compiler, 'nvfortran') && steps.cache-nvidia-compilers.outputs.cache-hit != 'true' env: - NVCOMPILERS: /opt/nvidia/hpc_sdk + NVCOMPILERS: /home/runner/hpc_sdk run: | curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /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 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list sudo apt-get update -y - sudo apt-get install -y nvhpc-24-1 + sudo apt-get install -d -o=dir::cache=/home/runner/hpc_sdk/ -y nvhpc-24-1 ####################################################################################### # Install FORTRAN dependencies ####################################################################################### - name: Environment for nvidia compiler. + env: + NVCOMPILERS: /home/runner/hpc_sdk if: contains(matrix.fortran-compiler, 'nvfortran') run: | echo "CC=nvc" >> $GITHUB_ENV From c6511633dc6946b35409a668a0976011eff392a2 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 17:41:23 +0000 Subject: [PATCH 005/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index ab9f76274..5efbb425a 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -21,7 +21,9 @@ jobs: sp_ROOT: /home/runner/NCEPLIBS-sp w3emc_ROOT: /home/runner/myw3emc SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - nvidia_ROOT: /home/runner/nvidia + NVHPC_SILENT: true + NVHPC_INSTALL_TYPE: single + NVHPC_INSTALL_DIR: /home/runner/nvidia suites: SCM_RAP # Workflow steps @@ -73,7 +75,7 @@ jobs: curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /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 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list sudo apt-get update -y - sudo apt-get install -d -o=dir::cache=/home/runner/hpc_sdk/ -y nvhpc-24-1 + sudo apt-get install -d -o=dir::cache=/home/runner/hpc_sdk -y nvhpc-24-1 ####################################################################################### # Install FORTRAN dependencies From 915bd81d535fb5b30cd5782f99560b0bc2c98ed4 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 17:48:04 +0000 Subject: [PATCH 006/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 5efbb425a..260f36c89 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -75,7 +75,7 @@ jobs: curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /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 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list sudo apt-get update -y - sudo apt-get install -d -o=dir::cache=/home/runner/hpc_sdk -y nvhpc-24-1 + sudo apt-get install -y nvhpc-24-1 ####################################################################################### # Install FORTRAN dependencies From 6aba5e8f9dc6680055e020d56b7aa975c9f6c34c Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 18:02:26 +0000 Subject: [PATCH 007/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 260f36c89..45d06cfac 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -28,6 +28,12 @@ jobs: # Workflow steps steps: + + - name: Clear caches + uses: easimon/wipe-cache@main + with: + dry-run: 'true' + ####################################################################################### # Initial ####################################################################################### From 4ec0f3dc9982da948c5c9bf066d6700ff99df79a Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 18:13:27 +0000 Subject: [PATCH 008/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 54 +++++++++---------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 45d06cfac..64e5b017e 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -28,12 +28,10 @@ jobs: # Workflow steps steps: - - - name: Clear caches - uses: easimon/wipe-cache@main - with: - dry-run: 'true' - +# - name: Clear caches +# uses: easimon/wipe-cache@main +# with: +# dry-run: 'true' ####################################################################################### # Initial ####################################################################################### @@ -71,7 +69,7 @@ jobs: uses: actions/cache@v3 with: path: /home/runner/hpc_sdk/ - key: nvhpc-${{ runner.os }}-2024-24.1 + key: cache-nvidia-compilers-${{matrix.fortran-compiler}}-key - name: Nvidia setup compilers if: contains(matrix.fortran-compiler, 'nvfortran') && steps.cache-nvidia-compilers.outputs.cache-hit != 'true' @@ -96,15 +94,15 @@ jobs: echo "F90FLAGS=-Mallocatable=03 -Mstandard -Mbounds -Mchkptr -Kieee -Mchkstk" > $GITHUB_ENV echo "NFVERSION=v4.4.4" >> $GITHUB_ENV - - name: Cache bacio library v2.4.1 - id: cache-bacio-fortran - uses: actions/cache@v3 - with: - path: /home/runner/bacio - key: cache-bacio-fortran-${{matrix.fortran-compiler}}-key +# - name: Cache bacio library v2.4.1 +# id: cache-bacio-fortran +# uses: actions/cache@v3 +# 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' +# 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 @@ -113,15 +111,15 @@ jobs: 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@v3 - with: - path: /home/runner/NCEPLIBS-sp - key: cache-sp-fortran-${{matrix.fortran-compiler}}-key +# - name: Cache SP-library v2.3.3 +# id: cache-sp-fortran +# uses: actions/cache@v3 +# 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' +# 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 @@ -130,15 +128,15 @@ jobs: 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@v3 - with: - path: /home/runner/myw3emc - key: cache-w3emc-fortran-${{matrix.fortran-compiler}}-key +# - name: Cache w3emc library v2.9.2 +# id: cache-w3emc-fortran +# uses: actions/cache@v3 +# 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' +# 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 From 3474475fb799dac0e4a78150c6fe4131411db38e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 18:22:19 +0000 Subject: [PATCH 009/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 64e5b017e..b1db8370c 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -85,9 +85,6 @@ jobs: # Install FORTRAN dependencies ####################################################################################### - name: Environment for nvidia compiler. - env: - NVCOMPILERS: /home/runner/hpc_sdk - if: contains(matrix.fortran-compiler, 'nvfortran') run: | echo "CC=nvc" >> $GITHUB_ENV echo "FC=nvfortran" >> $GITHUB_ENV From 2065f86d5bb15fbb91a814c47331239628c2d6a2 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 18:34:13 +0000 Subject: [PATCH 010/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index b1db8370c..a8ff85974 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -80,6 +80,10 @@ jobs: echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list sudo apt-get update -y sudo apt-get install -y nvhpc-24-1 + echo "The nvfortran installed is:" + nvfortran --version + echo "The path to nvfortran is:" + command -v nvfortran ####################################################################################### # Install FORTRAN dependencies From abf075597aa4a2603f4d038bb5e7f3ae226f8c3a Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 20:21:28 +0000 Subject: [PATCH 011/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index a8ff85974..608fb3df7 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -76,10 +76,14 @@ jobs: env: NVCOMPILERS: /home/runner/hpc_sdk run: | - curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /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 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list - sudo apt-get update -y - sudo apt-get install -y nvhpc-24-1 + mkdir /home/runner/hpc_sdk && cd /home/runner/hpc_sdk + wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz + tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz + nvhpc_2024_241_Linux_x86_64_cuda_12.3/install +# curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /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 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list +# sudo apt-get update -y +# sudo apt-get install -y nvhpc-24-1 echo "The nvfortran installed is:" nvfortran --version echo "The path to nvfortran is:" From 53260ae124fc0b397673bb9993a7f55ac25d031d Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 20:24:16 +0000 Subject: [PATCH 012/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 608fb3df7..29e345f27 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -63,31 +63,31 @@ jobs: ####################################################################################### # Install Nvidia. ####################################################################################### - - name: cache-nvidia-compilers - id: cache-nvidia-compilers - if: contains(matrix.fortran-compiler, 'nvfortran') - uses: actions/cache@v3 - with: - path: /home/runner/hpc_sdk/ - key: cache-nvidia-compilers-${{matrix.fortran-compiler}}-key - +# - name: cache-nvidia-compilers +# id: cache-nvidia-compilers +# if: contains(matrix.fortran-compiler, 'nvfortran') +# uses: actions/cache@v3 +# with: +# path: /home/runner/hpc_sdk/ +# key: cache-nvidia-compilers-${{matrix.fortran-compiler}}-key +# - name: Nvidia setup compilers if: contains(matrix.fortran-compiler, 'nvfortran') && steps.cache-nvidia-compilers.outputs.cache-hit != 'true' env: NVCOMPILERS: /home/runner/hpc_sdk run: | - mkdir /home/runner/hpc_sdk && cd /home/runner/hpc_sdk - wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz - tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz - nvhpc_2024_241_Linux_x86_64_cuda_12.3/install + mkdir /home/runner/hpc_sdk && cd /home/runner/hpc_sdk + wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz + tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz + nvhpc_2024_241_Linux_x86_64_cuda_12.3/install # curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /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 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list # sudo apt-get update -y # sudo apt-get install -y nvhpc-24-1 - echo "The nvfortran installed is:" - nvfortran --version - echo "The path to nvfortran is:" - command -v nvfortran + echo "The nvfortran installed is:" + nvfortran --version + echo "The path to nvfortran is:" + command -v nvfortran ####################################################################################### # Install FORTRAN dependencies From 09bad92b9e6abc18ce976843e992a9b225f69c70 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 20:26:28 +0000 Subject: [PATCH 013/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 29e345f27..4de98f44d 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -63,14 +63,6 @@ jobs: ####################################################################################### # Install Nvidia. ####################################################################################### -# - name: cache-nvidia-compilers -# id: cache-nvidia-compilers -# if: contains(matrix.fortran-compiler, 'nvfortran') -# uses: actions/cache@v3 -# with: -# path: /home/runner/hpc_sdk/ -# key: cache-nvidia-compilers-${{matrix.fortran-compiler}}-key -# - name: Nvidia setup compilers if: contains(matrix.fortran-compiler, 'nvfortran') && steps.cache-nvidia-compilers.outputs.cache-hit != 'true' env: @@ -80,10 +72,6 @@ jobs: wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install -# curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /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 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list -# sudo apt-get update -y -# sudo apt-get install -y nvhpc-24-1 echo "The nvfortran installed is:" nvfortran --version echo "The path to nvfortran is:" From 95fac483665c381a8c66352108ef37cbd88937bc Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 21:15:58 +0000 Subject: [PATCH 014/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 4de98f44d..189e35f0c 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -21,8 +21,8 @@ jobs: sp_ROOT: /home/runner/NCEPLIBS-sp w3emc_ROOT: /home/runner/myw3emc SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - NVHPC_SILENT: true - NVHPC_INSTALL_TYPE: single +# NVHPC_SILENT: true +# NVHPC_INSTALL_TYPE: single NVHPC_INSTALL_DIR: /home/runner/nvidia suites: SCM_RAP From 79a3e845e93c724f911eb919fd7459f7e3fab537 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 21:23:22 +0000 Subject: [PATCH 015/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 189e35f0c..6baa3e840 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -23,7 +23,7 @@ jobs: SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm # NVHPC_SILENT: true # NVHPC_INSTALL_TYPE: single - NVHPC_INSTALL_DIR: /home/runner/nvidia +# NVHPC_INSTALL_DIR: /home/runner/nvidia suites: SCM_RAP # Workflow steps @@ -68,6 +68,9 @@ jobs: env: NVCOMPILERS: /home/runner/hpc_sdk run: | + echo "NVHPC_SILENT=true" >> $GITHUB_ENV + echo "NVHPC_INSTALL_DIR=/home/runner/hpc_sdk" >> $GITHUB_ENV + echo "NVHPC_INSTALL_TYPE=single" >> $GITHUB_ENV mkdir /home/runner/hpc_sdk && cd /home/runner/hpc_sdk wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz From 4e242d63c1b1b43c235e543b4a6626f66e1b5c22 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 21:24:16 +0000 Subject: [PATCH 016/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 6baa3e840..c371584eb 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -69,8 +69,8 @@ jobs: NVCOMPILERS: /home/runner/hpc_sdk run: | echo "NVHPC_SILENT=true" >> $GITHUB_ENV - echo "NVHPC_INSTALL_DIR=/home/runner/hpc_sdk" >> $GITHUB_ENV - echo "NVHPC_INSTALL_TYPE=single" >> $GITHUB_ENV + echo "NVHPC_INSTALL_DIR=/home/runner/hpc_sdk" >> $GITHUB_ENV + echo "NVHPC_INSTALL_TYPE=single" >> $GITHUB_ENV mkdir /home/runner/hpc_sdk && cd /home/runner/hpc_sdk wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz From 0621092d50dfacc8233fec167ee5895bc5dc4631 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 21:48:01 +0000 Subject: [PATCH 017/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index c371584eb..6e3deade7 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -52,13 +52,16 @@ jobs: - name: Add conda to system path run: | echo $CONDA/bin >> $GITHUB_PATH + df -h - name: Install NetCDF Python libraries run: | conda install --yes -c conda-forge h5py>=3.4 netCDF4 f90nml - + df -h - name: Update system packages - run: sudo apt-get update + run: | + sudo apt-get update + df -h ####################################################################################### # Install Nvidia. @@ -68,6 +71,7 @@ jobs: env: NVCOMPILERS: /home/runner/hpc_sdk run: | + df -h echo "NVHPC_SILENT=true" >> $GITHUB_ENV echo "NVHPC_INSTALL_DIR=/home/runner/hpc_sdk" >> $GITHUB_ENV echo "NVHPC_INSTALL_TYPE=single" >> $GITHUB_ENV From 091348804d6c70a5758c2793c65f51cf41eb3d43 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 21:59:35 +0000 Subject: [PATCH 018/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 6e3deade7..d26f5bce6 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -3,8 +3,27 @@ name: CI test to build the CCPP-SCM on ubuntu v22.04 using NVidia compilers on: [push,pull_request,workflow_dispatch] jobs: - build_scm: + free-disk-space: + runs-on: ubuntu-latest + steps: + - 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: true + dotnet: true + haskell: true + large-packages: true + docker-images: true + swap-storage: true + + build_scm: # The type of runner that the job will run on runs-on: ubuntu-22.04 strategy: From e3ef9301c882dcacfbde9543d8f2eea118056f96 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 22:04:58 +0000 Subject: [PATCH 019/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 73 ++++++++++++------- 1 file changed, 47 insertions(+), 26 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index d26f5bce6..a00f0dca8 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -3,25 +3,25 @@ name: CI test to build the CCPP-SCM on ubuntu v22.04 using NVidia compilers on: [push,pull_request,workflow_dispatch] jobs: - free-disk-space: - runs-on: ubuntu-latest - steps: - - - 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: true - dotnet: true - haskell: true - large-packages: true - docker-images: true - swap-storage: true +# free-disk-space: +# runs-on: ubuntu-latest +# steps: +# +# - 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: true +# dotnet: true +# haskell: true +# large-packages: true +# docker-images: true +# swap-storage: true build_scm: # The type of runner that the job will run on @@ -40,17 +40,38 @@ jobs: sp_ROOT: /home/runner/NCEPLIBS-sp w3emc_ROOT: /home/runner/myw3emc SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm -# NVHPC_SILENT: true -# NVHPC_INSTALL_TYPE: single -# NVHPC_INSTALL_DIR: /home/runner/nvidia suites: SCM_RAP # Workflow steps steps: -# - name: Clear caches -# uses: easimon/wipe-cache@main -# with: -# dry-run: 'true' + + ####################################################################################### + # 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: true + dotnet: true + haskell: true + large-packages: true + docker-images: true + swap-storage: true + + - name: Check space (post) + run: | + df -h + ####################################################################################### # Initial ####################################################################################### From 27c6225db1e3e9042e52c14f1fc246402d6e2497 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 22:08:33 +0000 Subject: [PATCH 020/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index a00f0dca8..b5b77eda9 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -70,7 +70,7 @@ jobs: - name: Check space (post) run: | - df -h + df -h ####################################################################################### # Initial From 9eeb2cc43f2fd188836934c161451f4cb696bc31 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 22:42:29 +0000 Subject: [PATCH 021/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index b5b77eda9..5e121aa43 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -110,6 +110,9 @@ jobs: if: contains(matrix.fortran-compiler, 'nvfortran') && steps.cache-nvidia-compilers.outputs.cache-hit != 'true' env: NVCOMPILERS: /home/runner/hpc_sdk + NVHPC_SILENT: true + NVHPC_INSTALL_DIR: /home/runner/hpc_sdk + NVHPC_INSTALL_TYPE: single run: | df -h echo "NVHPC_SILENT=true" >> $GITHUB_ENV From ab09969af55d9d7574f3051a172e31aa6be1d092 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 29 Feb 2024 23:13:55 +0000 Subject: [PATCH 022/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 5e121aa43..36dadf9e7 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -122,10 +122,10 @@ jobs: wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install - echo "The nvfortran installed is:" - nvfortran --version - echo "The path to nvfortran is:" - command -v nvfortran + #echo "The nvfortran installed is:" + #nvfortran --version + #echo "The path to nvfortran is:" + #command -v nvfortran ####################################################################################### # Install FORTRAN dependencies From 29d6e4e3de3c4052c1b247100d2933e92e44ffb8 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 02:30:55 +0000 Subject: [PATCH 023/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 36dadf9e7..101d2a652 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -3,25 +3,6 @@ name: CI test to build the CCPP-SCM on ubuntu v22.04 using NVidia compilers on: [push,pull_request,workflow_dispatch] jobs: -# free-disk-space: -# runs-on: ubuntu-latest -# steps: -# -# - 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: true -# dotnet: true -# haskell: true -# large-packages: true -# docker-images: true -# swap-storage: true build_scm: # The type of runner that the job will run on @@ -106,8 +87,15 @@ jobs: ####################################################################################### # Install Nvidia. ####################################################################################### +# - name: Cache Nvidia HPC +# id: cache-nvidia +# uses: actions/cache@v3 +# with: +# path: /home/runner/hpc_sdk +# key: cache-nvidia-key + - name: Nvidia setup compilers - if: contains(matrix.fortran-compiler, 'nvfortran') && steps.cache-nvidia-compilers.outputs.cache-hit != 'true' +# if: steps.cache-nvidia.outputs.cache-hit != 'true' env: NVCOMPILERS: /home/runner/hpc_sdk NVHPC_SILENT: true From 17f0e73182da65af1910adb33baa840ae9619197 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 02:45:19 +0000 Subject: [PATCH 024/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 101d2a652..20bfed11a 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -110,6 +110,7 @@ jobs: wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install + ls /home/runner/hpc_sdk #echo "The nvfortran installed is:" #nvfortran --version #echo "The path to nvfortran is:" From 4ca35b27c1177c4880b97d016e75839bdccbf584 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 02:53:40 +0000 Subject: [PATCH 025/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 20bfed11a..000f02b15 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -111,6 +111,16 @@ jobs: tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install ls /home/runner/hpc_sdk + echo "NVARCH=`uname -s`_`uname -m`; export NVARCH" >> $GITHUB_ENV + echo "NVCOMPILERS=/home/runner/hpc_sdk; export NVCOMPILERS" >> $GITHUB_ENV + echo "MANPATH=$MANPATH:$NVCOMPILERS/$NVARCH/24.1/compilers/man; export MANPATH" >> $GITHUB_ENV + echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH; export PATH" >> $GITHUB_ENV + +$ NVARCH=`uname -s`_`uname -m`; export NVARCH +$ NVCOMPILERS=/opt/nvidia/hpc_sdk; export NVCOMPILERS +$ MANPATH=$MANPATH:$NVCOMPILERS/$NVARCH/24.1/compilers/man; export MANPATH +$ PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH; export PATH + #echo "The nvfortran installed is:" #nvfortran --version #echo "The path to nvfortran is:" From 69d0945d02a64bd070207e3ec29a60874145d622 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 03:04:58 +0000 Subject: [PATCH 026/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 000f02b15..cfae973fd 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -111,10 +111,11 @@ jobs: tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install ls /home/runner/hpc_sdk - echo "NVARCH=`uname -s`_`uname -m`; export NVARCH" >> $GITHUB_ENV - echo "NVCOMPILERS=/home/runner/hpc_sdk; export NVCOMPILERS" >> $GITHUB_ENV - echo "MANPATH=$MANPATH:$NVCOMPILERS/$NVARCH/24.1/compilers/man; export MANPATH" >> $GITHUB_ENV - echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH; export PATH" >> $GITHUB_ENV + NVCOMPILERS=/home/runner/hpc_sdk && export NVCOMPILERS + PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH + LD_LIBRARY_PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$LD_LIBRARY_PATH +# echo "NVCOMPILERS=/home/runner/hpc_sdk; export NVCOMPILERS" >> $GITHUB_ENV +# echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH; export PATH" >> $GITHUB_ENV $ NVARCH=`uname -s`_`uname -m`; export NVARCH $ NVCOMPILERS=/opt/nvidia/hpc_sdk; export NVCOMPILERS From 66c067fb52610dc8a5ecbe51566815b095f3b051 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 03:06:36 +0000 Subject: [PATCH 027/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index cfae973fd..b75b379f3 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -117,10 +117,10 @@ jobs: # echo "NVCOMPILERS=/home/runner/hpc_sdk; export NVCOMPILERS" >> $GITHUB_ENV # echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH; export PATH" >> $GITHUB_ENV -$ NVARCH=`uname -s`_`uname -m`; export NVARCH -$ NVCOMPILERS=/opt/nvidia/hpc_sdk; export NVCOMPILERS -$ MANPATH=$MANPATH:$NVCOMPILERS/$NVARCH/24.1/compilers/man; export MANPATH -$ PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH; export PATH +# NVARCH=`uname -s`_`uname -m`; export NVARCH +# NVCOMPILERS=/opt/nvidia/hpc_sdk; export NVCOMPILERS +# MANPATH=$MANPATH:$NVCOMPILERS/$NVARCH/24.1/compilers/man; export MANPATH +# PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH; export PATH #echo "The nvfortran installed is:" #nvfortran --version From 584ae012bddb06cdcad306052e2123a795ae7116 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 16:54:26 +0000 Subject: [PATCH 028/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index b75b379f3..ba80d82bd 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -111,11 +111,11 @@ jobs: tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install ls /home/runner/hpc_sdk - NVCOMPILERS=/home/runner/hpc_sdk && export NVCOMPILERS - PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH - LD_LIBRARY_PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$LD_LIBRARY_PATH -# echo "NVCOMPILERS=/home/runner/hpc_sdk; export NVCOMPILERS" >> $GITHUB_ENV -# echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH; export PATH" >> $GITHUB_ENV +# NVCOMPILERS=/home/runner/hpc_sdk && export NVCOMPILERS +# PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH +# LD_LIBRARY_PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$LD_LIBRARY_PATH + echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV + echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV # NVARCH=`uname -s`_`uname -m`; export NVARCH # NVCOMPILERS=/opt/nvidia/hpc_sdk; export NVCOMPILERS @@ -136,6 +136,7 @@ jobs: echo "FC=nvfortran" >> $GITHUB_ENV echo "F90FLAGS=-Mallocatable=03 -Mstandard -Mbounds -Mchkptr -Kieee -Mchkstk" > $GITHUB_ENV echo "NFVERSION=v4.4.4" >> $GITHUB_ENV + ls /home/runner/hpc_sdk # - name: Cache bacio library v2.4.1 # id: cache-bacio-fortran From 98eaa8a54ed691cd5acdec4f1d7aad7fefac9fea Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 16:56:52 +0000 Subject: [PATCH 029/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index ba80d82bd..648330f09 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -95,7 +95,7 @@ jobs: # key: cache-nvidia-key - name: Nvidia setup compilers -# if: steps.cache-nvidia.outputs.cache-hit != 'true' + if: steps.cache-nvidia.outputs.cache-hit != 'true' env: NVCOMPILERS: /home/runner/hpc_sdk NVHPC_SILENT: true @@ -111,17 +111,8 @@ jobs: tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install ls /home/runner/hpc_sdk -# NVCOMPILERS=/home/runner/hpc_sdk && export NVCOMPILERS -# PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH -# LD_LIBRARY_PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$LD_LIBRARY_PATH echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV - -# NVARCH=`uname -s`_`uname -m`; export NVARCH -# NVCOMPILERS=/opt/nvidia/hpc_sdk; export NVCOMPILERS -# MANPATH=$MANPATH:$NVCOMPILERS/$NVARCH/24.1/compilers/man; export MANPATH -# PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH; export PATH - #echo "The nvfortran installed is:" #nvfortran --version #echo "The path to nvfortran is:" From e95f7045e4fc7016cf834b39c3d9590bb5e3e258 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 17:29:38 +0000 Subject: [PATCH 030/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 648330f09..3aef9c8da 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -102,7 +102,6 @@ jobs: NVHPC_INSTALL_DIR: /home/runner/hpc_sdk NVHPC_INSTALL_TYPE: single run: | - df -h echo "NVHPC_SILENT=true" >> $GITHUB_ENV echo "NVHPC_INSTALL_DIR=/home/runner/hpc_sdk" >> $GITHUB_ENV echo "NVHPC_INSTALL_TYPE=single" >> $GITHUB_ENV @@ -110,13 +109,14 @@ jobs: wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install - ls /home/runner/hpc_sdk - echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV - echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV - #echo "The nvfortran installed is:" - #nvfortran --version - #echo "The path to nvfortran is:" - #command -v nvfortran + echo "NVARCH=Linux_x86_64" >> $GITHUB_ENV + echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV + echo "MANPATH=$MANPATH":$NVCOMPILERS/$NVARCH/24.1/compilers/man" >> $GITHUB_ENV + echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV + echo "The nvfortran installed is:" + nvfortran --version + echo "The path to nvfortran is:" + command -v nvfortran ####################################################################################### # Install FORTRAN dependencies From 62a4ca6fda4fbcd9588a9d8edbf467b62ba4ad4c Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 17:46:53 +0000 Subject: [PATCH 031/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 3aef9c8da..ea274cf9b 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -97,22 +97,27 @@ jobs: - name: Nvidia setup compilers if: steps.cache-nvidia.outputs.cache-hit != 'true' env: - NVCOMPILERS: /home/runner/hpc_sdk +# NVCOMPILERS: /home/runner/hpc_sdk NVHPC_SILENT: true NVHPC_INSTALL_DIR: /home/runner/hpc_sdk NVHPC_INSTALL_TYPE: single run: | - echo "NVHPC_SILENT=true" >> $GITHUB_ENV + echo "NVHPC_SILENT=true" >> $GITHUB_ENV echo "NVHPC_INSTALL_DIR=/home/runner/hpc_sdk" >> $GITHUB_ENV - echo "NVHPC_INSTALL_TYPE=single" >> $GITHUB_ENV + echo "NVHPC_INSTALL_TYPE=single" >> $GITHUB_ENV mkdir /home/runner/hpc_sdk && cd /home/runner/hpc_sdk wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install - echo "NVARCH=Linux_x86_64" >> $GITHUB_ENV - echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV + echo "SWALES here1" + echo "NVARCH=Linux_x86_64" >> $GITHUB_ENV + echo "SWALES here2" + echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV + echo "SWALES here3" echo "MANPATH=$MANPATH":$NVCOMPILERS/$NVARCH/24.1/compilers/man" >> $GITHUB_ENV - echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV + echo "SWALES here4" + echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV + echo "SWALES here5" echo "The nvfortran installed is:" nvfortran --version echo "The path to nvfortran is:" From 78365adb5121a57c76c6eb2f88962d8d40e7549c Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 17:48:28 +0000 Subject: [PATCH 032/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index ea274cf9b..f981ee7fb 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -97,7 +97,7 @@ jobs: - name: Nvidia setup compilers if: steps.cache-nvidia.outputs.cache-hit != 'true' env: -# NVCOMPILERS: /home/runner/hpc_sdk + NVCOMPILERS: /home/runner/hpc_sdk NVHPC_SILENT: true NVHPC_INSTALL_DIR: /home/runner/hpc_sdk NVHPC_INSTALL_TYPE: single From 7cf9e400908597ff6d9dd016e9cad54c510a61b0 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 17:50:59 +0000 Subject: [PATCH 033/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index f981ee7fb..38e30ba2f 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -97,7 +97,7 @@ jobs: - name: Nvidia setup compilers if: steps.cache-nvidia.outputs.cache-hit != 'true' env: - NVCOMPILERS: /home/runner/hpc_sdk + #NVCOMPILERS: /home/runner/hpc_sdk NVHPC_SILENT: true NVHPC_INSTALL_DIR: /home/runner/hpc_sdk NVHPC_INSTALL_TYPE: single @@ -111,13 +111,13 @@ jobs: nvhpc_2024_241_Linux_x86_64_cuda_12.3/install echo "SWALES here1" echo "NVARCH=Linux_x86_64" >> $GITHUB_ENV - echo "SWALES here2" + echo "SWALES here2" echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV - echo "SWALES here3" + echo "SWALES here3" echo "MANPATH=$MANPATH":$NVCOMPILERS/$NVARCH/24.1/compilers/man" >> $GITHUB_ENV - echo "SWALES here4" + echo "SWALES here4" echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV - echo "SWALES here5" + echo "SWALES here5" echo "The nvfortran installed is:" nvfortran --version echo "The path to nvfortran is:" From eb53bde61cd802762835ffdaa3e1f98c3557fb07 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 18:06:15 +0000 Subject: [PATCH 034/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 38e30ba2f..f1451131e 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -114,7 +114,9 @@ jobs: echo "SWALES here2" echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV echo "SWALES here3" - echo "MANPATH=$MANPATH":$NVCOMPILERS/$NVARCH/24.1/compilers/man" >> $GITHUB_ENV + export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man + echo "SWALES here3.5" + echo "MANPATH=${MANPATH}":${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV echo "SWALES here4" echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV echo "SWALES here5" From 55921f7b16b8d9552a0d42c1013e00331ef592b1 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 18:17:30 +0000 Subject: [PATCH 035/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index f1451131e..8bafac11e 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -115,10 +115,11 @@ jobs: echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV echo "SWALES here3" export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man - echo "SWALES here3.5" - echo "MANPATH=${MANPATH}":${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV +# echo "SWALES here3.5" +# echo "MANPATH=${MANPATH}":${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV echo "SWALES here4" - echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV + export PATH=${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin:${PATH} +# echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV echo "SWALES here5" echo "The nvfortran installed is:" nvfortran --version From cf076f905b00befb83b423cb1c1f892c5d2537c0 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 18:22:53 +0000 Subject: [PATCH 036/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 8bafac11e..8eed37a99 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -115,10 +115,10 @@ jobs: echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV echo "SWALES here3" export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man -# echo "SWALES here3.5" +# echo "SWALES here3.5" # echo "MANPATH=${MANPATH}":${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV echo "SWALES here4" - export PATH=${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin:${PATH} + export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin # echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV echo "SWALES here5" echo "The nvfortran installed is:" From 1ef18b3f1c15025621d29aeab3e5b8923e0c8bb4 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 18:24:10 +0000 Subject: [PATCH 037/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 8eed37a99..978d0dc46 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -118,7 +118,7 @@ jobs: # echo "SWALES here3.5" # echo "MANPATH=${MANPATH}":${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV echo "SWALES here4" - export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin +# export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin # echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV echo "SWALES here5" echo "The nvfortran installed is:" From 20e4948df7e66aec51d1762797ec8265b9e7e336 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 18:26:54 +0000 Subject: [PATCH 038/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 978d0dc46..e352db3c1 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -114,12 +114,12 @@ jobs: echo "SWALES here2" echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV echo "SWALES here3" - export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man +# export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man # echo "SWALES here3.5" -# echo "MANPATH=${MANPATH}":${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV + echo "MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV echo "SWALES here4" # export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin -# echo "PATH=$NVCOMPILERS/$NVARCH/24.1/compilers/bin:$PATH" >> $GITHUB_ENV + echo "PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin" >> $GITHUB_ENV echo "SWALES here5" echo "The nvfortran installed is:" nvfortran --version From 629908ec0eeb4260c14cfc82f74db0b946686199 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 18:27:35 +0000 Subject: [PATCH 039/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index e352db3c1..7bca21b51 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -114,12 +114,12 @@ jobs: echo "SWALES here2" echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV echo "SWALES here3" -# export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man + export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man # echo "SWALES here3.5" - echo "MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV +# echo "MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV echo "SWALES here4" -# export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin - echo "PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin" >> $GITHUB_ENV + export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin +# echo "PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin" >> $GITHUB_ENV echo "SWALES here5" echo "The nvfortran installed is:" nvfortran --version From 31cae533caa0b60fbd8aa9b7dfecf1f25755eaa0 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 18:28:38 +0000 Subject: [PATCH 040/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 7bca21b51..5f3f2861b 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -113,12 +113,12 @@ jobs: echo "NVARCH=Linux_x86_64" >> $GITHUB_ENV echo "SWALES here2" echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV - echo "SWALES here3" - export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man +# echo "SWALES here3" +# export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man # echo "SWALES here3.5" # echo "MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV - echo "SWALES here4" - export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin +# echo "SWALES here4" +# export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin # echo "PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin" >> $GITHUB_ENV echo "SWALES here5" echo "The nvfortran installed is:" From 880165dec370d8ca200f4a20ff544bb2ef1f0b38 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 18:29:59 +0000 Subject: [PATCH 041/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 5f3f2861b..fd1f42d0e 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -97,7 +97,8 @@ jobs: - name: Nvidia setup compilers if: steps.cache-nvidia.outputs.cache-hit != 'true' env: - #NVCOMPILERS: /home/runner/hpc_sdk + NVCOMPILERS: /home/runner/hpc_sdk + NVARCH: Linux_x86_64 NVHPC_SILENT: true NVHPC_INSTALL_DIR: /home/runner/hpc_sdk NVHPC_INSTALL_TYPE: single @@ -109,16 +110,16 @@ jobs: wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install - echo "SWALES here1" - echo "NVARCH=Linux_x86_64" >> $GITHUB_ENV - echo "SWALES here2" - echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV +# echo "SWALES here1" +# echo "NVARCH=Linux_x86_64" >> $GITHUB_ENV +# echo "SWALES here2" +# echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV # echo "SWALES here3" # export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man # echo "SWALES here3.5" # echo "MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV # echo "SWALES here4" -# export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin + export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin # echo "PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin" >> $GITHUB_ENV echo "SWALES here5" echo "The nvfortran installed is:" From 3fc5f81dd0db6f11d45c3868ee389f56608ea64c Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 18:31:44 +0000 Subject: [PATCH 042/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index fd1f42d0e..bd97c2761 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -110,17 +110,8 @@ jobs: wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install -# echo "SWALES here1" -# echo "NVARCH=Linux_x86_64" >> $GITHUB_ENV -# echo "SWALES here2" -# echo "NVCOMPILERS=/home/runner/hpc_sdk" >> $GITHUB_ENV -# echo "SWALES here3" -# export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man -# echo "SWALES here3.5" -# echo "MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man" >> $GITHUB_ENV -# echo "SWALES here4" + echo "SWALES here4" export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin -# echo "PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin" >> $GITHUB_ENV echo "SWALES here5" echo "The nvfortran installed is:" nvfortran --version From 2194f2e71cee00ed402a2f5060d1d63d125afa49 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 18:42:03 +0000 Subject: [PATCH 043/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index bd97c2761..edb7863c5 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -87,12 +87,12 @@ jobs: ####################################################################################### # Install Nvidia. ####################################################################################### -# - name: Cache Nvidia HPC -# id: cache-nvidia -# uses: actions/cache@v3 -# with: -# path: /home/runner/hpc_sdk -# key: cache-nvidia-key + - name: Cache Nvidia HPC + id: cache-nvidia + uses: actions/cache@v3 + with: + path: /home/runner/hpc_sdk + key: cache-nvidia-key - name: Nvidia setup compilers if: steps.cache-nvidia.outputs.cache-hit != 'true' @@ -103,9 +103,9 @@ jobs: NVHPC_INSTALL_DIR: /home/runner/hpc_sdk NVHPC_INSTALL_TYPE: single run: | - echo "NVHPC_SILENT=true" >> $GITHUB_ENV - echo "NVHPC_INSTALL_DIR=/home/runner/hpc_sdk" >> $GITHUB_ENV - echo "NVHPC_INSTALL_TYPE=single" >> $GITHUB_ENV + #echo "NVHPC_SILENT=true" >> $GITHUB_ENV + #echo "NVHPC_INSTALL_DIR=/home/runner/hpc_sdk" >> $GITHUB_ENV + #echo "NVHPC_INSTALL_TYPE=single" >> $GITHUB_ENV mkdir /home/runner/hpc_sdk && cd /home/runner/hpc_sdk wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz From 3bd379650a803ea7313017ab2c8ff1aea928d936 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 18:52:44 +0000 Subject: [PATCH 044/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index edb7863c5..3f7c7b1ed 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -103,31 +103,27 @@ jobs: NVHPC_INSTALL_DIR: /home/runner/hpc_sdk NVHPC_INSTALL_TYPE: single run: | - #echo "NVHPC_SILENT=true" >> $GITHUB_ENV - #echo "NVHPC_INSTALL_DIR=/home/runner/hpc_sdk" >> $GITHUB_ENV - #echo "NVHPC_INSTALL_TYPE=single" >> $GITHUB_ENV mkdir /home/runner/hpc_sdk && cd /home/runner/hpc_sdk - wget https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz + wget -q https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install - echo "SWALES here4" export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin - echo "SWALES here5" echo "The nvfortran installed is:" nvfortran --version echo "The path to nvfortran is:" command -v nvfortran + echo "Removing tarball" + rm nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz ####################################################################################### # Install FORTRAN dependencies ####################################################################################### - name: Environment for nvidia compiler. run: | - echo "CC=nvc" >> $GITHUB_ENV - echo "FC=nvfortran" >> $GITHUB_ENV - echo "F90FLAGS=-Mallocatable=03 -Mstandard -Mbounds -Mchkptr -Kieee -Mchkstk" > $GITHUB_ENV - echo "NFVERSION=v4.4.4" >> $GITHUB_ENV - ls /home/runner/hpc_sdk + export CC=nvc + export FC=nvfortran + export F90FLAGS=-Mallocatable=03 -Mstandard -Mbounds -Mchkptr -Kieee -Mchkstk + export NFVERSION=v4.4.4 # - name: Cache bacio library v2.4.1 # id: cache-bacio-fortran From 7d9c4af70bdca79da9159b00ee52e4f33dc1af50 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 19:11:24 +0000 Subject: [PATCH 045/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 3f7c7b1ed..20a4b17e4 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -22,6 +22,9 @@ jobs: w3emc_ROOT: /home/runner/myw3emc SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm suites: SCM_RAP + F90FLAGS: -O3 + CC: nvc + FC: nvfortran # Workflow steps steps: @@ -122,8 +125,6 @@ jobs: run: | export CC=nvc export FC=nvfortran - export F90FLAGS=-Mallocatable=03 -Mstandard -Mbounds -Mchkptr -Kieee -Mchkstk - export NFVERSION=v4.4.4 # - name: Cache bacio library v2.4.1 # id: cache-bacio-fortran From 19081c6e04c8b52b593e4633d59ab985e7787cc2 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 19:25:26 +0000 Subject: [PATCH 046/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 20a4b17e4..a4af6c635 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -23,8 +23,8 @@ jobs: SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm suites: SCM_RAP F90FLAGS: -O3 - CC: nvc - FC: nvfortran + #CC: nvc + #FC: nvfortran # Workflow steps steps: @@ -125,6 +125,8 @@ jobs: run: | export CC=nvc export FC=nvfortran + export CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc + export CMAKE_Fortran_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran # - name: Cache bacio library v2.4.1 # id: cache-bacio-fortran From 45b76c4ec2308148693919d442e8db80fb924c6e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 19:37:34 +0000 Subject: [PATCH 047/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index a4af6c635..b355a92a0 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -23,8 +23,8 @@ jobs: SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm suites: SCM_RAP F90FLAGS: -O3 - #CC: nvc - #FC: nvfortran + CC: nvc + FC: nvfortran # Workflow steps steps: From 0d8c9e47e477c52795a008235d01a56dd9e932db Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 19:46:18 +0000 Subject: [PATCH 048/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index b355a92a0..247610c33 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -25,6 +25,8 @@ jobs: F90FLAGS: -O3 CC: nvc FC: nvfortran + CMAKE_C_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc + CMAKE_Fortran_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran # Workflow steps steps: From 3365312b29ad3120d5d1c4c46c7c5a5b579f78c9 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 19:56:53 +0000 Subject: [PATCH 049/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 247610c33..a0f857c21 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -125,10 +125,10 @@ jobs: ####################################################################################### - name: Environment for nvidia compiler. run: | - export CC=nvc - export FC=nvfortran - export CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc - export CMAKE_Fortran_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran + echo "CC=nvc" >> $GITHUB_ENV + echo "FC=nvfortran" >> $GITHUB_ENV + echo "CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV + echo "CMAKE_Fortran_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV # - name: Cache bacio library v2.4.1 # id: cache-bacio-fortran From 8ded5a0779f718c0c1aa191e7fdbd8790f480d82 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 20:06:37 +0000 Subject: [PATCH 050/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index a0f857c21..7921e29b8 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -125,8 +125,8 @@ jobs: ####################################################################################### - name: Environment for nvidia compiler. run: | - echo "CC=nvc" >> $GITHUB_ENV - echo "FC=nvfortran" >> $GITHUB_ENV + echo "CC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV + echo "FC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV echo "CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV echo "CMAKE_Fortran_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV From d06dd31ad1a2b5bddab2f82162594f1ca80e6093 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 20:15:20 +0000 Subject: [PATCH 051/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 7921e29b8..515d2d08c 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -130,15 +130,15 @@ jobs: echo "CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV echo "CMAKE_Fortran_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV -# - name: Cache bacio library v2.4.1 -# id: cache-bacio-fortran -# uses: actions/cache@v3 -# with: -# path: /home/runner/bacio -# key: cache-bacio-fortran-${{matrix.fortran-compiler}}-key + - name: Cache bacio library v2.4.1 + id: cache-bacio-fortran + uses: actions/cache@v3 + 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' + 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 @@ -147,15 +147,15 @@ jobs: 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@v3 -# with: -# path: /home/runner/NCEPLIBS-sp -# key: cache-sp-fortran-${{matrix.fortran-compiler}}-key + - name: Cache SP-library v2.3.3 + id: cache-sp-fortran + uses: actions/cache@v3 + 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' + 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 @@ -164,15 +164,15 @@ jobs: 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@v3 -# with: -# path: /home/runner/myw3emc -# key: cache-w3emc-fortran-${{matrix.fortran-compiler}}-key + - name: Cache w3emc library v2.9.2 + id: cache-w3emc-fortran + uses: actions/cache@v3 + 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' + 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 From 52a22f2f408cafb2ae26d93f7c0b629843723153 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 20:25:05 +0000 Subject: [PATCH 052/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 515d2d08c..c5fed1110 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -78,16 +78,14 @@ jobs: - name: Add conda to system path run: | echo $CONDA/bin >> $GITHUB_PATH - df -h - name: Install NetCDF Python libraries run: | conda install --yes -c conda-forge h5py>=3.4 netCDF4 f90nml - df -h + - name: Update system packages run: | sudo apt-get update - df -h ####################################################################################### # Install Nvidia. @@ -123,7 +121,7 @@ jobs: ####################################################################################### # Install FORTRAN dependencies ####################################################################################### - - name: Environment for nvidia compiler. + - name: Set environment for nvidia compiler. run: | echo "CC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV echo "FC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV @@ -180,3 +178,25 @@ jobs: make -j2 make install echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV + + - name: Install NetCDF C library + run: | + sudo apt-get update + sudo apt-get install libnetcdf-dev + + - name: Cache NetCDF Fortran library + id: cache-netcdf-fortran + uses: actions/cache@v3 + with: + path: /home/runner/netcdf-fortran + key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key + + - name: Install NetCDF Fortran library + if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' + run: | + git clone --branch ${NFVERSION} https://github.com/Unidata/netcdf-fortran.git + cd netcdf-fortran + ./configure + make -j + sudo make install + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NFHOME}/lib \ No newline at end of file From fe42708a2dcafce60e0523145b2fd91d78749781 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 20:39:20 +0000 Subject: [PATCH 053/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index c5fed1110..8493f8d25 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -192,6 +192,8 @@ jobs: key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key - name: Install NetCDF Fortran library + env: + FCFLAGS: -fPIC if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' run: | git clone --branch ${NFVERSION} https://github.com/Unidata/netcdf-fortran.git @@ -199,4 +201,27 @@ jobs: ./configure make -j sudo make install - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NFHOME}/lib \ No newline at end of file + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NFHOME}/lib + + ####################################################################################### + # Build SCM. + ####################################################################################### + + - 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} ../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} -DCMAKE_BUILD_TYPE=Debug ../src + + - name: Build SCM + run: | + cd ${SCM_ROOT}/scm/bin + make -j4 \ No newline at end of file From a6955aba104af1d864e103d234d22ef6b4b66254 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 20:40:50 +0000 Subject: [PATCH 054/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 8493f8d25..c26b6c884 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -212,7 +212,7 @@ jobs: run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites} ../src + cmake -DCCPP_SUITES=${suites} ../src - name: Configure build with CMake (Debug) if: contains(matrix.build-type, 'Debug') From c94ba5a011de6836d22a020f283041af02a48378 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 20:50:10 +0000 Subject: [PATCH 055/132] Update CMakeLists for Nvidia support --- scm/src/CMakeLists.txt | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index b952680b6..42942492d 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -30,9 +30,6 @@ endif() message (STATUS "Running ccpp_prebuild.py for CCPP") # Make the directories where the ccpp_prebuild.py script wants to write caps and make snippets file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ccpp/physics/physics) -if (NOT EXISTS "${CMAKE_SOURCE_DIR}/../../ccpp/framework/scripts/ccpp_prebuild.py") - message( FATAL_ERROR "ccpp_prebuild.py script does not exist, did you check out the code recursively?" ) -endif() if (${CMAKE_BUILD_TYPE} MATCHES "Debug") execute_process( COMMAND ccpp/framework/scripts/ccpp_prebuild.py --config=ccpp/config/ccpp_prebuild_config.py ${_ccpp_suites_arg} --builddir=${CMAKE_CURRENT_BINARY_DIR} --debug --verbose @@ -129,7 +126,8 @@ set(SIMDMULTIARCH OFF CACHE BOOL "Enable multi-target SIMD instruction sets") #------------------------------------------------------------------------------ # Set compile options 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") + #set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ggdb -fbacktrace -cpp -fcray-pointer -ffree-line-length-none -fno-range-check") + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fopenacc -foffload=nvptx-none -fopt-info -fno-stack-protector -lm -ggdb -fbacktrace -cpp -fcray-pointer -ffree-line-length-none -fno-range-check") if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10) set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz") @@ -186,6 +184,37 @@ elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "Intel") 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 "NVHPC") + if(DEFINED ENABLE_NVIDIA_OPENACC) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -acc -Minfo=accel") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -acc -Minfo=accel") + else() + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + endif() + + if(NOT 32BIT) + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -r8") + endif() + + if (${CMAKE_BUILD_TYPE} MATCHES "Debug") + set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -O0 -g") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g") + else() + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -O2") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") + endif() + + set(MPI_C_COMPILER mpicc) + set(MPI_CXX_COMPILER mpicxx) + set(MPI_Fortran_COMPILER mpif90) + + 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) + else (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") message (FATAL_ERROR "This program has only been compiled with gfortran and ifort. If another compiler is needed, the appropriate flags must be added in ${CMAKE_SOURCE_DIR}/CMakeLists.txt") endif (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") From 7ff6081afa39c3ffff0866a140769e474be62f77 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 21:22:57 +0000 Subject: [PATCH 056/132] Update CMakeLists for Nvidia support --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index c26b6c884..fc5250517 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -11,6 +11,7 @@ jobs: matrix: fortran-compiler: [nvfortran] build-type: [Release]#, Debug] + enable-gpu-acc: [False]#, True] py-version: [3.7.13]#, 3.9.12] # Environmental variables @@ -111,6 +112,7 @@ jobs: tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin + export MANPATH=${MANPAT}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man echo "The nvfortran installed is:" nvfortran --version echo "The path to nvfortran is:" @@ -123,6 +125,14 @@ jobs: ####################################################################################### - name: Set environment for nvidia compiler. run: | + export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin + export MANPATH=${MANPAT}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man + echo "The nvfortran installed is:" + nvfortran --version + echo "The path to nvfortran is:" + command -v nvfortran + echo "Removing tarball" + rm nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz echo "CC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV echo "FC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV echo "CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV @@ -212,7 +222,10 @@ jobs: run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites} ../src + if: contains(matrix.enable-gpu-acc, 'True') + cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=True + else: + cmake -DCCPP_SUITES=${suites} ../src - name: Configure build with CMake (Debug) if: contains(matrix.build-type, 'Debug') From b448eb40aeacd0487e86046cd453d3493e3f9e47 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 21:24:20 +0000 Subject: [PATCH 057/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index fc5250517..f19be132a 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -128,7 +128,7 @@ jobs: export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin export MANPATH=${MANPAT}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man echo "The nvfortran installed is:" - nvfortran --version + nvfortran --version echo "The path to nvfortran is:" command -v nvfortran echo "Removing tarball" From b268880a562401183616791c5b727178d73205ce Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 21:26:16 +0000 Subject: [PATCH 058/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index f19be132a..3b25cf502 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -112,7 +112,7 @@ jobs: tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz nvhpc_2024_241_Linux_x86_64_cuda_12.3/install export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin - export MANPATH=${MANPAT}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man + export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man echo "The nvfortran installed is:" nvfortran --version echo "The path to nvfortran is:" @@ -126,7 +126,7 @@ jobs: - name: Set environment for nvidia compiler. run: | export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin - export MANPATH=${MANPAT}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man + export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man echo "The nvfortran installed is:" nvfortran --version echo "The path to nvfortran is:" From f18a65a6bb6761eb984acc6adf5853b74f05ae86 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 21:48:45 +0000 Subject: [PATCH 059/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 3b25cf502..3de8f3438 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -91,15 +91,15 @@ jobs: ####################################################################################### # Install Nvidia. ####################################################################################### - - name: Cache Nvidia HPC - id: cache-nvidia - uses: actions/cache@v3 - with: - path: /home/runner/hpc_sdk - key: cache-nvidia-key +# - name: Cache Nvidia HPC +# id: cache-nvidia +# uses: actions/cache@v3 +# with: +# path: /home/runner/hpc_sdk +# key: cache-nvidia-key - name: Nvidia setup compilers - if: steps.cache-nvidia.outputs.cache-hit != 'true' +# if: steps.cache-nvidia.outputs.cache-hit != 'true' env: NVCOMPILERS: /home/runner/hpc_sdk NVARCH: Linux_x86_64 @@ -125,14 +125,14 @@ jobs: ####################################################################################### - name: Set environment for nvidia compiler. run: | - export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin - export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man - echo "The nvfortran installed is:" - nvfortran --version - echo "The path to nvfortran is:" - command -v nvfortran - echo "Removing tarball" - rm nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz + #export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin + #export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man + #echo "The nvfortran installed is:" + #nvfortran --version + #echo "The path to nvfortran is:" + #command -v nvfortran + #echo "Removing tarball" + #rm nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz echo "CC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV echo "FC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV echo "CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV From af05846982d3f8819f354c9d7798cc474bd373c6 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 22:02:54 +0000 Subject: [PATCH 060/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 3de8f3438..b5799cb71 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -222,10 +222,11 @@ jobs: run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - if: contains(matrix.enable-gpu-acc, 'True') - cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=True - else: - cmake -DCCPP_SUITES=${suites} ../src + cmake -DCCPP_SUITES=${suites} ../src +# if: contains(matrix.enable-gpu-acc, 'True') +# cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=True +# else: +# cmake -DCCPP_SUITES=${suites} ../src - name: Configure build with CMake (Debug) if: contains(matrix.build-type, 'Debug') From 47f0a6cbe6e70a38885cd36065c264e95a2e0339 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 1 Mar 2024 22:50:47 +0000 Subject: [PATCH 061/132] Updated CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index b5799cb71..1adfa85d1 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -189,6 +189,11 @@ jobs: make install echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV + - name: Install Curl + run: | + sudo apt-get update + sudo apt-get install libcurl4-openssl-dev + - name: Install NetCDF C library run: | sudo apt-get update From d2c04ed938763697ebff9f5f158f96aaaf58243e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Mon, 4 Mar 2024 22:33:46 +0000 Subject: [PATCH 062/132] Update cmakelists --- scm/src/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 42942492d..4ac9f87c9 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -68,6 +68,9 @@ find_package(NetCDF REQUIRED COMPONENTS C Fortran) find_package(bacio REQUIRED) find_package(sp REQUIRED) find_package(w3emc REQUIRED) +if (${CMAKE_Fortran_COMPILER_ID} MATCHES "NVHPC") + find_package(curl REQUIRED) +endif() SET(CCPP_FRAMEWORK_SRC ${CMAKE_SOURCE_DIR}/../../ccpp/framework) SET(CCPP_PHYSICS_SRC ${CMAKE_SOURCE_DIR}/../../ccpp/physics) @@ -280,6 +283,9 @@ TARGET_LINK_LIBRARIES(scm sp::sp_d) TARGET_LINK_LIBRARIES(scm w3emc::w3emc_d) TARGET_LINK_LIBRARIES(scm ccpp_framework) TARGET_LINK_LIBRARIES(scm ccpp_physics) +if (${CMAKE_Fortran_COMPILER_ID} MATCHES "NVHPC") + TARGET_LINK_LIBRARIES(scm curl) +endif() SET_TARGET_PROPERTIES(scm PROPERTIES COMPILE_FLAGS "${CMAKE_Fortran_FLAGS}" From 90b7fea11dd7ea67a8bfafecb55d0e157d29bcf0 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Mon, 4 Mar 2024 22:44:36 +0000 Subject: [PATCH 063/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 6 +++--- scm/src/CMakeLists.txt | 6 ------ 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 1adfa85d1..c671b50b6 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -84,9 +84,9 @@ jobs: run: | conda install --yes -c conda-forge h5py>=3.4 netCDF4 f90nml - - name: Update system packages - run: | - sudo apt-get update +# - name: Update system packages +# run: | +# sudo apt-get update ####################################################################################### # Install Nvidia. diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 4ac9f87c9..42942492d 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -68,9 +68,6 @@ find_package(NetCDF REQUIRED COMPONENTS C Fortran) find_package(bacio REQUIRED) find_package(sp REQUIRED) find_package(w3emc REQUIRED) -if (${CMAKE_Fortran_COMPILER_ID} MATCHES "NVHPC") - find_package(curl REQUIRED) -endif() SET(CCPP_FRAMEWORK_SRC ${CMAKE_SOURCE_DIR}/../../ccpp/framework) SET(CCPP_PHYSICS_SRC ${CMAKE_SOURCE_DIR}/../../ccpp/physics) @@ -283,9 +280,6 @@ TARGET_LINK_LIBRARIES(scm sp::sp_d) TARGET_LINK_LIBRARIES(scm w3emc::w3emc_d) TARGET_LINK_LIBRARIES(scm ccpp_framework) TARGET_LINK_LIBRARIES(scm ccpp_physics) -if (${CMAKE_Fortran_COMPILER_ID} MATCHES "NVHPC") - TARGET_LINK_LIBRARIES(scm curl) -endif() SET_TARGET_PROPERTIES(scm PROPERTIES COMPILE_FLAGS "${CMAKE_Fortran_FLAGS}" From ddb35914f55932f0f28729da18f71b4b1cf75596 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Mon, 4 Mar 2024 23:00:16 +0000 Subject: [PATCH 064/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index c671b50b6..577c39224 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -51,7 +51,7 @@ jobs: android: true dotnet: true haskell: true - large-packages: true + large-packages: false docker-images: true swap-storage: true From 7ef27e803c94af3cd260eb5f1d52f624b96cb7e9 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Mon, 4 Mar 2024 23:09:44 +0000 Subject: [PATCH 065/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 577c39224..ad1b0e909 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -51,9 +51,9 @@ jobs: android: true dotnet: true haskell: true - large-packages: false + large-packages: true docker-images: true - swap-storage: true + swap-storage: false - name: Check space (post) run: | @@ -125,14 +125,6 @@ jobs: ####################################################################################### - name: Set environment for nvidia compiler. run: | - #export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin - #export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man - #echo "The nvfortran installed is:" - #nvfortran --version - #echo "The path to nvfortran is:" - #command -v nvfortran - #echo "Removing tarball" - #rm nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz echo "CC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV echo "FC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV echo "CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV From dbc4334bdfa2101e959bbeee3c6fb2c096ccf14e Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 08:33:15 -0700 Subject: [PATCH 066/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index ad1b0e909..9fddf3364 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -48,11 +48,11 @@ jobs: # all of these default to true, but feel free to set to # "false" if necessary for your workflow - android: true - dotnet: true - haskell: true - large-packages: true - docker-images: true + android: false + dotnet: false + haskell: false + large-packages: false + docker-images: false swap-storage: false - name: Check space (post) From a38f5c0548369b641c6ee16aafe4580d387be700 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 09:13:37 -0700 Subject: [PATCH 067/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 9fddf3364..78e2d8022 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -51,7 +51,7 @@ jobs: android: false dotnet: false haskell: false - large-packages: false + large-packages: true docker-images: false swap-storage: false From 3f79deaa700c13960e1616156fff59f0d9929763 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 09:36:31 -0700 Subject: [PATCH 068/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 78e2d8022..440ea688f 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -50,7 +50,7 @@ jobs: # "false" if necessary for your workflow android: false dotnet: false - haskell: false + haskell: true large-packages: true docker-images: false swap-storage: false From 008903113e5fe479dc8b53488c801818405ed449 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 09:56:06 -0700 Subject: [PATCH 069/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 440ea688f..6fe53375c 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -105,7 +105,7 @@ jobs: NVARCH: Linux_x86_64 NVHPC_SILENT: true NVHPC_INSTALL_DIR: /home/runner/hpc_sdk - NVHPC_INSTALL_TYPE: single + NVHPC_INSTALL_TYPE: auto run: | mkdir /home/runner/hpc_sdk && cd /home/runner/hpc_sdk wget -q https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz @@ -181,10 +181,10 @@ jobs: make install echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV - - name: Install Curl - run: | - sudo apt-get update - sudo apt-get install libcurl4-openssl-dev +# - name: Install Curl +# run: | +# sudo apt-get update +# sudo apt-get install libcurl4-openssl-dev - name: Install NetCDF C library run: | From 8031de348c8c073bf4baed816a74868b001212d5 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 10:07:30 -0700 Subject: [PATCH 070/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 6fe53375c..bc5357169 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -105,7 +105,8 @@ jobs: NVARCH: Linux_x86_64 NVHPC_SILENT: true NVHPC_INSTALL_DIR: /home/runner/hpc_sdk - NVHPC_INSTALL_TYPE: auto + 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/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz From 789711cbe21bc41a5ebbf418dadb8d1a5c2cfef7 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 10:24:08 -0700 Subject: [PATCH 071/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index bc5357169..4f0e56c57 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -121,6 +121,10 @@ jobs: echo "Removing tarball" rm nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz + - name: Call uname command + run: | + `uname -s`_`uname -m` + ####################################################################################### # Install FORTRAN dependencies ####################################################################################### From 28267f8dd50cd7514598545ff273587ac7bbe5a3 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 10:26:21 -0700 Subject: [PATCH 072/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 4f0e56c57..cf48b38af 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -123,7 +123,8 @@ jobs: - name: Call uname command run: | - `uname -s`_`uname -m` + uname -s + uname -m ####################################################################################### # Install FORTRAN dependencies From 157490010cb970de896d46d1046e76e05bebf324 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 10:28:39 -0700 Subject: [PATCH 073/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index cf48b38af..1e7fcfadb 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -58,6 +58,8 @@ jobs: - name: Check space (post) run: | df -h + uname -c + uname -s ####################################################################################### # Initial @@ -121,11 +123,6 @@ jobs: echo "Removing tarball" rm nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz - - name: Call uname command - run: | - uname -s - uname -m - ####################################################################################### # Install FORTRAN dependencies ####################################################################################### From 923fa461496ce54e1872ea8b887bd1996b4d6d9d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 10:32:56 -0700 Subject: [PATCH 074/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 1e7fcfadb..388bbedf0 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -38,6 +38,8 @@ jobs: - name: Check space (pre) run: | df -h + uname -s + uname -m - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main @@ -58,8 +60,6 @@ jobs: - name: Check space (post) run: | df -h - uname -c - uname -s ####################################################################################### # Initial From 9768b94748065a114230fc2ca4d6a949fa2e1fbb Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 12:52:45 -0700 Subject: [PATCH 075/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 388bbedf0..ec3c84dac 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -38,8 +38,6 @@ jobs: - name: Check space (pre) run: | df -h - uname -s - uname -m - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main @@ -184,8 +182,10 @@ jobs: make install echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV -# - name: Install Curl -# run: | + - name: Install Curl + run: | + sudo apt-get install curl + sudo apt-get install libssl-dev libcurl4-openssl-dev # sudo apt-get update # sudo apt-get install libcurl4-openssl-dev From e93fb0329f73fbdceaa9ecc1519471b887b541a0 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 13:26:35 -0700 Subject: [PATCH 076/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index ec3c84dac..cc06ef771 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -17,11 +17,13 @@ jobs: # Environmental variables env: NFHOME: /home/runner/netcdf-fortran - NFVERSION: v4.5.3 + NFVERSION: v4.6.1 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 + zlib_ROOT: /home/runner/zlib + HDF5_ROOT: /home/runner/hdf5 suites: SCM_RAP F90FLAGS: -O3 CC: nvc @@ -131,6 +133,32 @@ jobs: echo "CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV echo "CMAKE_Fortran_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV + - name: Install zlib + env: + CFLAGS: -fPIC + run: | + wget https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz + tar -zxvf zlib-1.2.13.tar.gz + cd zlib-1.2.13 + ./configure --prefix=${ZLIB_ROOT} + make + make install + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ZLIB_ROOT}/lib + + - name: Install HDF5 + env: + CPPFLAGS: -I${ZLIB_ROOT}/include + LDFLAGS: -L${ZLIB_ROOT}/lib + run: | + wget https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5-1_14_1-2.tar.gz + tar -zxvf hdf5-1_14_1-2.tar.gz + cd hdf5-hdf5-1_14_1-2 + ./configure --prefix=${HDF5_ROOT} --with-zlib=${ZLIB_ROOT} + make -j4 + make install + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5_ROOT}/lib + export PATH=${PATH}:${HDF5_ROOT}/lib + - name: Cache bacio library v2.4.1 id: cache-bacio-fortran uses: actions/cache@v3 @@ -191,6 +219,9 @@ jobs: - name: Install NetCDF C library run: | +# wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz +# tar -zvxf v4.7.4.tar.gz +# cd netcdf-c-4.7.4 sudo apt-get update sudo apt-get install libnetcdf-dev From 74428b978eba07b779d86fcdcd01cb01517c4410 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 13:27:37 -0700 Subject: [PATCH 077/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index cc06ef771..c7f97f6ea 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -158,7 +158,7 @@ jobs: make install export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5_ROOT}/lib export PATH=${PATH}:${HDF5_ROOT}/lib - + - name: Cache bacio library v2.4.1 id: cache-bacio-fortran uses: actions/cache@v3 From 2f6c1660abd8e42308484a9e48ab8c8e8f7ab8a8 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 13:28:27 -0700 Subject: [PATCH 078/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index c7f97f6ea..360fb9bcc 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -210,18 +210,15 @@ jobs: make install echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV - - name: Install Curl - run: | - sudo apt-get install curl - sudo apt-get install libssl-dev libcurl4-openssl-dev +# - name: Install Curl +# run: | +# sudo apt-get install curl +# sudo apt-get install libssl-dev libcurl4-openssl-dev # sudo apt-get update # sudo apt-get install libcurl4-openssl-dev - name: Install NetCDF C library run: | -# wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz -# tar -zvxf v4.7.4.tar.gz -# cd netcdf-c-4.7.4 sudo apt-get update sudo apt-get install libnetcdf-dev From 5e97c33e70e2fd78ac7c2d838e7b1a33b65d86ab Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 13:55:51 -0700 Subject: [PATCH 079/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 360fb9bcc..535e1383d 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -140,20 +140,20 @@ jobs: wget https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz tar -zxvf zlib-1.2.13.tar.gz cd zlib-1.2.13 - ./configure --prefix=${ZLIB_ROOT} + ./configure --prefix=${zlib_ROOT} make make install - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ZLIB_ROOT}/lib + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${zlib_ROOT}/lib - name: Install HDF5 env: - CPPFLAGS: -I${ZLIB_ROOT}/include - LDFLAGS: -L${ZLIB_ROOT}/lib + CPPFLAGS: -I${zlib_ROOT}/include + LDFLAGS: -L${zlib_ROOT}/lib run: | wget https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5-1_14_1-2.tar.gz tar -zxvf hdf5-1_14_1-2.tar.gz cd hdf5-hdf5-1_14_1-2 - ./configure --prefix=${HDF5_ROOT} --with-zlib=${ZLIB_ROOT} + ./configure --prefix=${HDF5_ROOT} --with-zlib=${zlib_ROOT} make -j4 make install export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5_ROOT}/lib From 9286df0eba8d268bc030cf1d8c8640cb4d6cfb7c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 14:38:33 -0700 Subject: [PATCH 080/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 60 +++++++++++-------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 535e1383d..cf7877460 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -17,6 +17,7 @@ jobs: # Environmental variables env: NFHOME: /home/runner/netcdf-fortran + NCHOME: /home/runner/netcdf NFVERSION: v4.6.1 bacio_ROOT: /home/runner/bacio sp_ROOT: /home/runner/NCEPLIBS-sp @@ -159,6 +160,41 @@ jobs: export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5_ROOT}/lib export PATH=${PATH}:${HDF5_ROOT}/lib + - name: Install NetCDF C library + env: + CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include + LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib + run: | + wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz + tar -zvxf v4.7.4.tar.gz + cd netcdf-c-4.7.4 + ./configure --prefix=${NCHOME} + make + make install + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NCHOME}/lib + export PATH=${PATH}:${NCHOME}/lib +# sudo apt-get update +# sudo apt-get install libnetcdf-dev + + - name: Cache NetCDF Fortran library + id: cache-netcdf-fortran + uses: actions/cache@v3 + with: + path: /home/runner/netcdf-fortran + key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key + + - name: Install NetCDF Fortran library + env: + FCFLAGS: -fPIC + if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' + run: | + git clone --branch ${NFVERSION} https://github.com/Unidata/netcdf-fortran.git + cd netcdf-fortran + ./configure + make -j + sudo make install + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NFHOME}/lib + - name: Cache bacio library v2.4.1 id: cache-bacio-fortran uses: actions/cache@v3 @@ -217,30 +253,6 @@ jobs: # sudo apt-get update # sudo apt-get install libcurl4-openssl-dev - - name: Install NetCDF C library - run: | - sudo apt-get update - sudo apt-get install libnetcdf-dev - - - name: Cache NetCDF Fortran library - id: cache-netcdf-fortran - uses: actions/cache@v3 - with: - path: /home/runner/netcdf-fortran - key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key - - - name: Install NetCDF Fortran library - env: - FCFLAGS: -fPIC - if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' - run: | - git clone --branch ${NFVERSION} https://github.com/Unidata/netcdf-fortran.git - cd netcdf-fortran - ./configure - make -j - sudo make install - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NFHOME}/lib - ####################################################################################### # Build SCM. ####################################################################################### From fa714f42a4883a4de14def1c43fe2d7e933da0da Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 14:49:02 -0700 Subject: [PATCH 081/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index cf7877460..92678ae3a 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -160,6 +160,11 @@ jobs: export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5_ROOT}/lib export PATH=${PATH}:${HDF5_ROOT}/lib + - name: Install Curl + run: | + sudo apt-get install curl + sudo apt-get install libssl-dev libcurl4-openssl-dev + - name: Install NetCDF C library env: CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include From de7cde1e721ead31a62e3362b71a8789a03fa286 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 15:10:54 -0700 Subject: [PATCH 082/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 92678ae3a..d574af144 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -17,7 +17,7 @@ jobs: # Environmental variables env: NFHOME: /home/runner/netcdf-fortran - NCHOME: /home/runner/netcdf + NETCDF: /home/runner/netcdf NFVERSION: v4.6.1 bacio_ROOT: /home/runner/bacio sp_ROOT: /home/runner/NCEPLIBS-sp @@ -170,35 +170,39 @@ jobs: CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib run: | + echo "CPPFLAGS=-I/home/runner/hdf5/include -I/home/runner/zlib/include" >> $GITHUB_ENV + echo "LDFLAGS=-L/home/runner/hdf5/lib -I/home/runner/zlib/lib" >> $GITHUB_ENV wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz tar -zvxf v4.7.4.tar.gz cd netcdf-c-4.7.4 - ./configure --prefix=${NCHOME} + ./configure --prefix=${NETCDF} make make install - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NCHOME}/lib - export PATH=${PATH}:${NCHOME}/lib -# sudo apt-get update -# sudo apt-get install libnetcdf-dev + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NETCDF}/lib + export PATH=${PATH}:${NETCDF}/lib - - name: Cache NetCDF Fortran library - id: cache-netcdf-fortran - uses: actions/cache@v3 - with: - path: /home/runner/netcdf-fortran - key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key +# - name: Cache NetCDF Fortran library +# id: cache-netcdf-fortran +# uses: actions/cache@v3 +# with: +# path: /home/runner/netcdf-fortran +# key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key - name: Install NetCDF Fortran library env: FCFLAGS: -fPIC - if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' + FFLAGS: -fPIC + CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include -I${NETCDF}/include + LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib -L${NETCDF}/lib +# if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' run: | - git clone --branch ${NFVERSION} https://github.com/Unidata/netcdf-fortran.git - cd netcdf-fortran - ./configure - make -j - sudo make install - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NFHOME}/lib + wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.1.tar.gz + tar -zvxf v4.6.1.tar.gz + cd netcdf-fortran-4.6.1 + ./configure --prefix=${NETCDF} + make + make install + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NETCDF}/lib - name: Cache bacio library v2.4.1 id: cache-bacio-fortran From 22f18fcae854cc5784d9c7d971562e347f8a2a86 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 15:12:37 -0700 Subject: [PATCH 083/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index d574af144..eaad201d8 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -200,7 +200,7 @@ jobs: tar -zvxf v4.6.1.tar.gz cd netcdf-fortran-4.6.1 ./configure --prefix=${NETCDF} - make + make make install export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NETCDF}/lib From 990e36bcaf5b9bcac97e766bb161e961a5d8826c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 15:15:30 -0700 Subject: [PATCH 084/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index eaad201d8..332700b6b 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -171,7 +171,7 @@ jobs: LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib run: | echo "CPPFLAGS=-I/home/runner/hdf5/include -I/home/runner/zlib/include" >> $GITHUB_ENV - echo "LDFLAGS=-L/home/runner/hdf5/lib -I/home/runner/zlib/lib" >> $GITHUB_ENV + echo "LDFLAGS=-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" >> $GITHUB_ENV wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz tar -zvxf v4.7.4.tar.gz cd netcdf-c-4.7.4 From bf45ad5dddbcab7e18a6be415c0c0927eb172f9c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 15:32:13 -0700 Subject: [PATCH 085/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 332700b6b..ab3646d8f 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -31,6 +31,7 @@ jobs: FC: nvfortran CMAKE_C_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc CMAKE_Fortran_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran + LD_LIBRARY_PATH: ${{ github.workspace }} # Workflow steps steps: From f6673e7ba9c60a411a220b2be16f223e6750e261 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 15:41:02 -0700 Subject: [PATCH 086/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index ab3646d8f..93b624901 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -31,7 +31,7 @@ jobs: FC: nvfortran CMAKE_C_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc CMAKE_Fortran_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran - LD_LIBRARY_PATH: ${{ github.workspace }} +# LD_LIBRARY_PATH: ${{ github.workspace }} # Workflow steps steps: @@ -145,7 +145,8 @@ jobs: ./configure --prefix=${zlib_ROOT} make make install - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${zlib_ROOT}/lib + #export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${zlib_ROOT}/lib + echo "LD_LIBRARY_PATH=$zlib_ROOT/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV - name: Install HDF5 env: @@ -158,8 +159,10 @@ jobs: ./configure --prefix=${HDF5_ROOT} --with-zlib=${zlib_ROOT} make -j4 make install - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5_ROOT}/lib - export PATH=${PATH}:${HDF5_ROOT}/lib + echo "LD_LIBRARY_PATH=$HDF5_ROOT/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "PATH=$HDF5_ROOT/lib:$PATH" >> $GITHUB_ENV +# export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5_ROOT}/lib +# export PATH=${PATH}:${HDF5_ROOT}/lib - name: Install Curl run: | @@ -179,8 +182,10 @@ jobs: ./configure --prefix=${NETCDF} make make install - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NETCDF}/lib - export PATH=${PATH}:${NETCDF}/lib + echo "LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "PATH=$NETCDF/lib:$PATH" >> $GITHUB_ENV +# export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NETCDF}/lib +# export PATH=${PATH}:${NETCDF}/lib # - name: Cache NetCDF Fortran library # id: cache-netcdf-fortran @@ -203,7 +208,6 @@ jobs: ./configure --prefix=${NETCDF} make make install - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NETCDF}/lib - name: Cache bacio library v2.4.1 id: cache-bacio-fortran From 8f57ff042c53bb7808f0de73ff53b515a020f1f7 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 15:57:37 -0700 Subject: [PATCH 087/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 93b624901..4228863b3 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -179,7 +179,7 @@ jobs: wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz tar -zvxf v4.7.4.tar.gz cd netcdf-c-4.7.4 - ./configure --prefix=${NETCDF} + CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/zlib/include" LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" ./configure --prefix=${NETCDF} make make install echo "LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV From 407280d2f121d184d3425847d970883c2a9aaef7 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 16:12:50 -0700 Subject: [PATCH 088/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 4228863b3..0dd82959d 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -205,7 +205,7 @@ jobs: wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.1.tar.gz tar -zvxf v4.6.1.tar.gz cd netcdf-fortran-4.6.1 - ./configure --prefix=${NETCDF} + FCFLAGS="-fPIC" FFLAGS="-fPIC" CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/zlib/include -I/home/runner/netcdf/include" LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/zlib/lib -L/home/runner/netcdf/lib" ./configure --prefix=${NETCDF} make make install From 3d10750f2466f7902a9f9a29027dde5ef8c3f1cb Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 19:24:56 -0700 Subject: [PATCH 089/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 61 ++++++++----------- 1 file changed, 27 insertions(+), 34 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 0dd82959d..4c2f8ae30 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -88,22 +88,18 @@ jobs: run: | conda install --yes -c conda-forge h5py>=3.4 netCDF4 f90nml -# - name: Update system packages -# run: | -# sudo apt-get update - ####################################################################################### # Install Nvidia. ####################################################################################### -# - name: Cache Nvidia HPC -# id: cache-nvidia -# uses: actions/cache@v3 -# with: -# path: /home/runner/hpc_sdk -# key: cache-nvidia-key + - name: Cache Nvidia HPC + id: cache-nvidia + uses: actions/cache@v3 + with: + path: /home/runner/hpc_sdk + key: cache-nvidia-key - name: Nvidia setup compilers -# if: steps.cache-nvidia.outputs.cache-hit != 'true' + if: steps.cache-nvidia.outputs.cache-hit != 'true' env: NVCOMPILERS: /home/runner/hpc_sdk NVARCH: Linux_x86_64 @@ -161,18 +157,24 @@ jobs: make install echo "LD_LIBRARY_PATH=$HDF5_ROOT/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV echo "PATH=$HDF5_ROOT/lib:$PATH" >> $GITHUB_ENV -# export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5_ROOT}/lib -# export PATH=${PATH}:${HDF5_ROOT}/lib - name: Install Curl run: | sudo apt-get install curl sudo apt-get install libssl-dev libcurl4-openssl-dev + - name: Cache NetCDF C library + id: cache-netcdf-c + uses: actions/cache@v3 + with: + path: /home/runner/netcdf-c + key: cache-netcdf-c-${{matrix.fortran-compiler}}-key + - name: Install NetCDF C library env: CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib + if: steps.cache-netcdf-c.outputs.cache-hit != 'true' run: | echo "CPPFLAGS=-I/home/runner/hdf5/include -I/home/runner/zlib/include" >> $GITHUB_ENV echo "LDFLAGS=-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" >> $GITHUB_ENV @@ -184,23 +186,21 @@ jobs: make install echo "LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV echo "PATH=$NETCDF/lib:$PATH" >> $GITHUB_ENV -# export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NETCDF}/lib -# export PATH=${PATH}:${NETCDF}/lib -# - name: Cache NetCDF Fortran library -# id: cache-netcdf-fortran -# uses: actions/cache@v3 -# with: -# path: /home/runner/netcdf-fortran -# key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key + - name: Cache NetCDF Fortran library + id: cache-netcdf-fortran + uses: actions/cache@v3 + with: + path: /home/runner/netcdf-fortran + key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key - name: Install NetCDF Fortran library - env: - FCFLAGS: -fPIC - FFLAGS: -fPIC - CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include -I${NETCDF}/include - LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib -L${NETCDF}/lib -# if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' +# env: +# FCFLAGS: -fPIC +# FFLAGS: -fPIC +# CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include -I${NETCDF}/include +# LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib -L${NETCDF}/lib + if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' run: | wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.1.tar.gz tar -zvxf v4.6.1.tar.gz @@ -260,13 +260,6 @@ jobs: make install echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV -# - name: Install Curl -# run: | -# sudo apt-get install curl -# sudo apt-get install libssl-dev libcurl4-openssl-dev -# sudo apt-get update -# sudo apt-get install libcurl4-openssl-dev - ####################################################################################### # Build SCM. ####################################################################################### From cf8830f1926fdf6f7696019dd62e284604714dee Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 19:32:48 -0700 Subject: [PATCH 090/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 4c2f8ae30..c2a31d60d 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -31,7 +31,6 @@ jobs: FC: nvfortran CMAKE_C_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc CMAKE_Fortran_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran -# LD_LIBRARY_PATH: ${{ github.workspace }} # Workflow steps steps: @@ -91,15 +90,8 @@ jobs: ####################################################################################### # Install Nvidia. ####################################################################################### - - name: Cache Nvidia HPC - id: cache-nvidia - uses: actions/cache@v3 - with: - path: /home/runner/hpc_sdk - key: cache-nvidia-key - name: Nvidia setup compilers - if: steps.cache-nvidia.outputs.cache-hit != 'true' env: NVCOMPILERS: /home/runner/hpc_sdk NVARCH: Linux_x86_64 From bb798ac1a60f13bfb9e9ba0a7024327e01dc754d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 19:48:22 -0700 Subject: [PATCH 091/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 40 ++++++++++++++----- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index c2a31d60d..d6c9432ba 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -91,7 +91,7 @@ jobs: # Install Nvidia. ####################################################################################### - - name: Nvidia setup compilers + - name: Nvidia setup compilers. env: NVCOMPILERS: /home/runner/hpc_sdk NVARCH: Linux_x86_64 @@ -113,19 +113,29 @@ jobs: echo "Removing tarball" rm nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz - ####################################################################################### - # Install FORTRAN dependencies - ####################################################################################### - - name: Set environment for nvidia compiler. + - name: Set environment for Nvidia compiler. run: | echo "CC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV echo "FC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV echo "CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV echo "CMAKE_Fortran_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV + ####################################################################################### + # Install FORTRAN dependencies + ####################################################################################### + + - name: Cache Zlib + run: | + id: cache-zlib + uses: actions/cache@v3 + with: + path: /home/runner/zlib + key: cache-zlib-${{matrix.fortran-compiler}}-key + - name: Install zlib env: CFLAGS: -fPIC + if: steps.cache-zlib.outputs.cache-hit != 'true' run: | wget https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz tar -zxvf zlib-1.2.13.tar.gz @@ -133,13 +143,21 @@ jobs: ./configure --prefix=${zlib_ROOT} make make install - #export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${zlib_ROOT}/lib echo "LD_LIBRARY_PATH=$zlib_ROOT/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + - name: Cache HDF5 + run: | + id: cache-hdf5 + uses: actions/cache@v3 + with: + path: /home/runner/hdf5 + key: cache-hdf5-${{matrix.fortran-compiler}}-key + - name: Install HDF5 env: CPPFLAGS: -I${zlib_ROOT}/include LDFLAGS: -L${zlib_ROOT}/lib + if: steps.cache-hdf5.outputs.cache-hit != 'true' run: | wget https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5-1_14_1-2.tar.gz tar -zxvf hdf5-1_14_1-2.tar.gz @@ -163,13 +181,13 @@ jobs: key: cache-netcdf-c-${{matrix.fortran-compiler}}-key - name: Install NetCDF C library - env: - CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include - LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib +# env: +# CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include +# LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib if: steps.cache-netcdf-c.outputs.cache-hit != 'true' run: | - echo "CPPFLAGS=-I/home/runner/hdf5/include -I/home/runner/zlib/include" >> $GITHUB_ENV - echo "LDFLAGS=-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" >> $GITHUB_ENV +# echo "CPPFLAGS=-I/home/runner/hdf5/include -I/home/runner/zlib/include" >> $GITHUB_ENV +# echo "LDFLAGS=-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" >> $GITHUB_ENV wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz tar -zvxf v4.7.4.tar.gz cd netcdf-c-4.7.4 From 398a2920c63cd38f6b86432c565a2926821a828d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 19:49:32 -0700 Subject: [PATCH 092/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index d6c9432ba..f2c14142e 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -131,7 +131,7 @@ jobs: with: path: /home/runner/zlib key: cache-zlib-${{matrix.fortran-compiler}}-key - + - name: Install zlib env: CFLAGS: -fPIC From 6bc8277b81c8312fc4c396f153f1563505578a18 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 19:52:02 -0700 Subject: [PATCH 093/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index f2c14142e..e5e155e82 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -173,12 +173,12 @@ jobs: sudo apt-get install curl sudo apt-get install libssl-dev libcurl4-openssl-dev - - name: Cache NetCDF C library - id: cache-netcdf-c - uses: actions/cache@v3 - with: - path: /home/runner/netcdf-c - key: cache-netcdf-c-${{matrix.fortran-compiler}}-key +# - name: Cache NetCDF C library +# id: cache-netcdf-c +# uses: actions/cache@v3 +# with: +# path: /home/runner/netcdf-c +# key: cache-netcdf-c-${{matrix.fortran-compiler}}-key - name: Install NetCDF C library # env: From 24e091e976bceb782b9a4078c33863fab18647bc Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 19:53:33 -0700 Subject: [PATCH 094/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index e5e155e82..4d7fe545f 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -173,17 +173,17 @@ jobs: sudo apt-get install curl sudo apt-get install libssl-dev libcurl4-openssl-dev -# - name: Cache NetCDF C library -# id: cache-netcdf-c -# uses: actions/cache@v3 -# with: -# path: /home/runner/netcdf-c -# key: cache-netcdf-c-${{matrix.fortran-compiler}}-key + - name: Cache NetCDF C library + id: cache-netcdf-c + uses: actions/cache@v3 + with: + path: /home/runner/netcdf-c + key: cache-netcdf-c-${{matrix.fortran-compiler}}-key - name: Install NetCDF C library -# env: -# CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include -# LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib + env: + CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include + LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib if: steps.cache-netcdf-c.outputs.cache-hit != 'true' run: | # echo "CPPFLAGS=-I/home/runner/hdf5/include -I/home/runner/zlib/include" >> $GITHUB_ENV From b1ce93cc3b208436f7ff530164e5da4976d3459a Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 19:55:17 -0700 Subject: [PATCH 095/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 4d7fe545f..cc9384522 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -181,13 +181,11 @@ jobs: key: cache-netcdf-c-${{matrix.fortran-compiler}}-key - name: Install NetCDF C library - env: - CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include - LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib +# env: +# CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include +# LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib if: steps.cache-netcdf-c.outputs.cache-hit != 'true' run: | -# echo "CPPFLAGS=-I/home/runner/hdf5/include -I/home/runner/zlib/include" >> $GITHUB_ENV -# echo "LDFLAGS=-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" >> $GITHUB_ENV wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz tar -zvxf v4.7.4.tar.gz cd netcdf-c-4.7.4 From 9df5652aa001a0b7f96a398b48c8196fe5d78c2d Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 19:57:10 -0700 Subject: [PATCH 096/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index cc9384522..2735f2428 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -181,11 +181,13 @@ jobs: key: cache-netcdf-c-${{matrix.fortran-compiler}}-key - name: Install NetCDF C library -# env: -# CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include -# LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib + env: + CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include + LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib if: steps.cache-netcdf-c.outputs.cache-hit != 'true' run: | + echo "CPPFLAGS=-I/home/runner/hdf5/include -I/home/runner/zlib/include" >> $GITHUB_ENV + echo "LDFLAGS=-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" >> $GITHUB_ENV wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz tar -zvxf v4.7.4.tar.gz cd netcdf-c-4.7.4 From fb7f34f3c52965bb6f1627680ea42a4cdeb913e1 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 19:59:57 -0700 Subject: [PATCH 097/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 2735f2428..9c6d988b1 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -205,11 +205,11 @@ jobs: key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key - name: Install NetCDF Fortran library -# env: -# FCFLAGS: -fPIC -# FFLAGS: -fPIC -# CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include -I${NETCDF}/include -# LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib -L${NETCDF}/lib + env: + FCFLAGS: -fPIC + FFLAGS: -fPIC + CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include -I${NETCDF}/include + LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib -L${NETCDF}/lib if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' run: | wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.1.tar.gz From af52b7647ec3b8e272394d488f018e70d5e3c95c Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 20:04:18 -0700 Subject: [PATCH 098/132] Update CI --- .../ci_build_scm_ubuntu_22.04_nvidia.yml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 9c6d988b1..c85b1693d 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -124,14 +124,6 @@ jobs: # Install FORTRAN dependencies ####################################################################################### - - name: Cache Zlib - run: | - id: cache-zlib - uses: actions/cache@v3 - with: - path: /home/runner/zlib - key: cache-zlib-${{matrix.fortran-compiler}}-key - - name: Install zlib env: CFLAGS: -fPIC @@ -145,14 +137,6 @@ jobs: make install echo "LD_LIBRARY_PATH=$zlib_ROOT/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV - - name: Cache HDF5 - run: | - id: cache-hdf5 - uses: actions/cache@v3 - with: - path: /home/runner/hdf5 - key: cache-hdf5-${{matrix.fortran-compiler}}-key - - name: Install HDF5 env: CPPFLAGS: -I${zlib_ROOT}/include From 035a7659c82af4b2a3e4f9445e0e81afa97e7134 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 20:08:34 -0700 Subject: [PATCH 099/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index c85b1693d..4c2596293 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -165,13 +165,8 @@ jobs: key: cache-netcdf-c-${{matrix.fortran-compiler}}-key - name: Install NetCDF C library - env: - CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include - LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib if: steps.cache-netcdf-c.outputs.cache-hit != 'true' run: | - echo "CPPFLAGS=-I/home/runner/hdf5/include -I/home/runner/zlib/include" >> $GITHUB_ENV - echo "LDFLAGS=-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" >> $GITHUB_ENV wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz tar -zvxf v4.7.4.tar.gz cd netcdf-c-4.7.4 From d7a6bff9b9f0f874e6e2bccb3ed43614a56cf8b0 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 20:09:36 -0700 Subject: [PATCH 100/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 4c2596293..84c3ab44e 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -184,11 +184,6 @@ jobs: key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key - name: Install NetCDF Fortran library - env: - FCFLAGS: -fPIC - FFLAGS: -fPIC - CPPFLAGS: -I${zlib_DIR}/include -I${HDF5_ROOT}/include -I${NETCDF}/include - LDFLAGS: -L${zlib_DIR}/lib -L${HDF5_ROOT}/lib -L${NETCDF}/lib if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true' run: | wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.1.tar.gz From fbf58568a498bddcfa547a5d222f93ca4ff6ac3f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 20:10:19 -0700 Subject: [PATCH 101/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 84c3ab44e..5b6401446 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -170,7 +170,9 @@ jobs: wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz tar -zvxf v4.7.4.tar.gz cd netcdf-c-4.7.4 - CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/zlib/include" LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" ./configure --prefix=${NETCDF} + CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/zlib/include" + LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" + ./configure --prefix=${NETCDF} make make install echo "LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV From 897cfca7d910cc4f07fc56622ae678b34641aa18 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 20:11:54 -0700 Subject: [PATCH 102/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 5b6401446..358a68501 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -191,7 +191,10 @@ jobs: wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.1.tar.gz tar -zvxf v4.6.1.tar.gz cd netcdf-fortran-4.6.1 - FCFLAGS="-fPIC" FFLAGS="-fPIC" CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/zlib/include -I/home/runner/netcdf/include" LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/zlib/lib -L/home/runner/netcdf/lib" ./configure --prefix=${NETCDF} + FCFLAGS="-fPIC" FFLAGS="-fPIC" + CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/zlib/include -I/home/runner/netcdf/include" + LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/zlib/lib -L/home/runner/netcdf/lib" + ./configure --prefix=${NETCDF} make make install From 3eab6709382c48437e28ae7ec9b6f8705ddb6008 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 20:16:11 -0700 Subject: [PATCH 103/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 358a68501..5c14d1371 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -25,12 +25,12 @@ jobs: SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm zlib_ROOT: /home/runner/zlib HDF5_ROOT: /home/runner/hdf5 - suites: SCM_RAP - F90FLAGS: -O3 - CC: nvc - FC: nvfortran - CMAKE_C_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc - CMAKE_Fortran_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0 +# F90FLAGS: -O3 +# CC: nvc +# FC: nvfortran +# CMAKE_C_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc +# CMAKE_Fortran_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran # Workflow steps steps: From f030d722eb2a346cec52dcef5be4f3d9baedc71e Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 20:21:19 -0700 Subject: [PATCH 104/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 5c14d1371..45ef63bb3 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -274,4 +274,15 @@ jobs: - name: Build SCM run: | cd ${SCM_ROOT}/scm/bin - make -j4 \ No newline at end of file + make -j4 + + - name: Download data for SCM + run: | + cd ${SCM_ROOT} + ./contrib/get_all_static_data.sh + ./contrib/get_thompson_tables.sh + + - name: Run SCM RTs + 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 From 442f3546874a6ed73c8cc2f1b395747bf5e1c62f Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 20:24:01 -0700 Subject: [PATCH 105/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 45ef63bb3..40ea03bfb 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -170,9 +170,7 @@ jobs: wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.7.4.tar.gz tar -zvxf v4.7.4.tar.gz cd netcdf-c-4.7.4 - CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/zlib/include" - LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" - ./configure --prefix=${NETCDF} + CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/zlib/include" LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/zlib/lib" ./configure --prefix=${NETCDF} make make install echo "LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV @@ -191,10 +189,7 @@ jobs: wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.1.tar.gz tar -zvxf v4.6.1.tar.gz cd netcdf-fortran-4.6.1 - FCFLAGS="-fPIC" FFLAGS="-fPIC" - CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/zlib/include -I/home/runner/netcdf/include" - LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/zlib/lib -L/home/runner/netcdf/lib" - ./configure --prefix=${NETCDF} + FCFLAGS="-fPIC" FFLAGS="-fPIC" CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/zlib/include -I/home/runner/netcdf/include" LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/zlib/lib -L/home/runner/netcdf/lib" ./configure --prefix=${NETCDF} make make install From b901cd40d8b8207d3ce7628530a0d82a26463e8b Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 20:42:43 -0700 Subject: [PATCH 106/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 40ea03bfb..74ace14c7 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -25,12 +25,7 @@ jobs: SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm zlib_ROOT: /home/runner/zlib HDF5_ROOT: /home/runner/hdf5 - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0 -# F90FLAGS: -O3 -# CC: nvc -# FC: nvfortran -# CMAKE_C_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc -# CMAKE_Fortran_COMPILER: /home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran + suites: SCM_RAP,SCM_RRFS_v1beta # Workflow steps steps: From 7970fdc6cee30f73b454e094b96571816053bf59 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 5 Mar 2024 20:58:17 -0700 Subject: [PATCH 107/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 74ace14c7..f58c174e5 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -275,4 +275,4 @@ jobs: - name: Run SCM RTs 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 + ./run_scm.py --file /home/runner/work/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 -v From 09928ca41cabc5532aba2b45fe532696d174372e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 17:40:14 +0000 Subject: [PATCH 108/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index f58c174e5..731f7f072 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -10,7 +10,7 @@ jobs: strategy: matrix: fortran-compiler: [nvfortran] - build-type: [Release]#, Debug] + build-type: [Release, Debug] enable-gpu-acc: [False]#, True] py-version: [3.7.13]#, 3.9.12] @@ -275,4 +275,4 @@ jobs: - name: Run SCM RTs 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 + ./run_scm.py --file /home/runner/work/ccpp-scm/ccpp-scm/test/rt_test_cases_nvidia.py --runtime_mult 0.1 -v From 5a461157ff391a69b346a5acc66e41266a218da4 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 17:59:55 +0000 Subject: [PATCH 109/132] Add file for Nvidia RTS --- test/rt_test_cases_nvidia.py | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 test/rt_test_cases_nvidia.py diff --git a/test/rt_test_cases_nvidia.py b/test/rt_test_cases_nvidia.py new file mode 100644 index 000000000..a19c81ba9 --- /dev/null +++ b/test/rt_test_cases_nvidia.py @@ -0,0 +1,9 @@ +run_list = [\ + #---------------------------------------------------------------------------------------------------------------------------------------------- + # CCPP-SCM v6 supported suites + #---------------------------------------------------------------------------------------------------------------------------------------------- + {"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"}] From f89b1d6f8747dd453ffd8a0336044a3e7311d34d Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 18:07:20 +0000 Subject: [PATCH 110/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 731f7f072..7fc467a0f 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -11,7 +11,7 @@ jobs: matrix: fortran-compiler: [nvfortran] build-type: [Release, Debug] - enable-gpu-acc: [False]#, True] + enable-gpu-acc: [false, true] py-version: [3.7.13]#, 3.9.12] # Environmental variables @@ -248,11 +248,11 @@ jobs: run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites} ../src -# if: contains(matrix.enable-gpu-acc, 'True') -# cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=True -# else: -# cmake -DCCPP_SUITES=${suites} ../src +# cmake -DCCPP_SUITES=${suites} ../src + if: matrix.enable-gpu-acc + cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=True + else: + cmake -DCCPP_SUITES=${suites} ../src - name: Configure build with CMake (Debug) if: contains(matrix.build-type, 'Debug') From 51b7baa992ae844a1c2620fbd309babd1e024259 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 18:08:32 +0000 Subject: [PATCH 111/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 7fc467a0f..8e0c1bded 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -248,9 +248,8 @@ jobs: run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin -# cmake -DCCPP_SUITES=${suites} ../src - if: matrix.enable-gpu-acc - cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=True + if: matrix.enable-gpu-acc + cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=True else: cmake -DCCPP_SUITES=${suites} ../src From d712d560e994c30337540f27bcd9fb3dc3dec983 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 18:14:44 +0000 Subject: [PATCH 112/132] Revert change to CMakeLists --- scm/src/CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 42942492d..d45360a15 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -30,6 +30,9 @@ endif() message (STATUS "Running ccpp_prebuild.py for CCPP") # Make the directories where the ccpp_prebuild.py script wants to write caps and make snippets file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ccpp/physics/physics) +if (NOT EXISTS "${CMAKE_SOURCE_DIR}/../../ccpp/framework/scripts/ccpp_prebuild.py") + message( FATAL_ERROR "ccpp_prebuild.py script does not exist, did you check out the code recursively?" ) +endif() if (${CMAKE_BUILD_TYPE} MATCHES "Debug") execute_process( COMMAND ccpp/framework/scripts/ccpp_prebuild.py --config=ccpp/config/ccpp_prebuild_config.py ${_ccpp_suites_arg} --builddir=${CMAKE_CURRENT_BINARY_DIR} --debug --verbose @@ -126,8 +129,7 @@ set(SIMDMULTIARCH OFF CACHE BOOL "Enable multi-target SIMD instruction sets") #------------------------------------------------------------------------------ # Set compile options 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") - set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fopenacc -foffload=nvptx-none -fopt-info -fno-stack-protector -lm -ggdb -fbacktrace -cpp -fcray-pointer -ffree-line-length-none -fno-range-check") + 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) set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz") From 0b2ee57118ee9c8ef1e747b604ae9546e68ec5aa Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 18:16:23 +0000 Subject: [PATCH 113/132] Revert change to CMakeLists --- scm/src/CMakeLists.txt | 9 --------- 1 file changed, 9 deletions(-) diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index d45360a15..705fa2ae1 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -208,15 +208,6 @@ elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "NVHPC") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") endif() - set(MPI_C_COMPILER mpicc) - set(MPI_CXX_COMPILER mpicxx) - set(MPI_Fortran_COMPILER mpif90) - - 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) - else (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") message (FATAL_ERROR "This program has only been compiled with gfortran and ifort. If another compiler is needed, the appropriate flags must be added in ${CMAKE_SOURCE_DIR}/CMakeLists.txt") endif (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") From 16c79388384d23ec917054b2bff32e20d09afc60 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 18:30:03 +0000 Subject: [PATCH 114/132] Revert change to CMakeLists --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 8e0c1bded..37cd360f0 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -248,10 +248,10 @@ jobs: run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - if: matrix.enable-gpu-acc - cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=True + if: contains(matrix.enable-gpu-acc, 'true') + cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=True else: - cmake -DCCPP_SUITES=${suites} ../src + cmake -DCCPP_SUITES=${suites} ../src - name: Configure build with CMake (Debug) if: contains(matrix.build-type, 'Debug') From 9fe09eb53c641f6d8ef3b619bba2ed80a883ddef Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 18:36:27 +0000 Subject: [PATCH 115/132] Revert change to CMakeLists --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 37cd360f0..eb4eed698 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -1,6 +1,6 @@ name: CI test to build the CCPP-SCM on ubuntu v22.04 using NVidia compilers -on: [push,pull_request,workflow_dispatch] +on: [pull_request,workflow_dispatch] jobs: @@ -122,7 +122,6 @@ jobs: - name: Install zlib env: CFLAGS: -fPIC - if: steps.cache-zlib.outputs.cache-hit != 'true' run: | wget https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz tar -zxvf zlib-1.2.13.tar.gz @@ -136,7 +135,6 @@ jobs: env: CPPFLAGS: -I${zlib_ROOT}/include LDFLAGS: -L${zlib_ROOT}/lib - if: steps.cache-hdf5.outputs.cache-hit != 'true' run: | wget https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5-1_14_1-2.tar.gz tar -zxvf hdf5-1_14_1-2.tar.gz @@ -272,6 +270,7 @@ jobs: ./contrib/get_thompson_tables.sh - name: Run SCM RTs + 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_nvidia.py --runtime_mult 0.1 -v From 659d780b1bfb0dd8157450eca6926d25478a163a Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 18:44:20 +0000 Subject: [PATCH 116/132] Update CI --- scm/src/CMakeLists.txt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 705fa2ae1..42942492d 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -30,9 +30,6 @@ endif() message (STATUS "Running ccpp_prebuild.py for CCPP") # Make the directories where the ccpp_prebuild.py script wants to write caps and make snippets file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ccpp/physics/physics) -if (NOT EXISTS "${CMAKE_SOURCE_DIR}/../../ccpp/framework/scripts/ccpp_prebuild.py") - message( FATAL_ERROR "ccpp_prebuild.py script does not exist, did you check out the code recursively?" ) -endif() if (${CMAKE_BUILD_TYPE} MATCHES "Debug") execute_process( COMMAND ccpp/framework/scripts/ccpp_prebuild.py --config=ccpp/config/ccpp_prebuild_config.py ${_ccpp_suites_arg} --builddir=${CMAKE_CURRENT_BINARY_DIR} --debug --verbose @@ -129,7 +126,8 @@ set(SIMDMULTIARCH OFF CACHE BOOL "Enable multi-target SIMD instruction sets") #------------------------------------------------------------------------------ # Set compile options 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") + #set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ggdb -fbacktrace -cpp -fcray-pointer -ffree-line-length-none -fno-range-check") + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fopenacc -foffload=nvptx-none -fopt-info -fno-stack-protector -lm -ggdb -fbacktrace -cpp -fcray-pointer -ffree-line-length-none -fno-range-check") if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10) set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz") @@ -208,6 +206,15 @@ elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "NVHPC") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") endif() + set(MPI_C_COMPILER mpicc) + set(MPI_CXX_COMPILER mpicxx) + set(MPI_Fortran_COMPILER mpif90) + + 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) + else (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") message (FATAL_ERROR "This program has only been compiled with gfortran and ifort. If another compiler is needed, the appropriate flags must be added in ${CMAKE_SOURCE_DIR}/CMakeLists.txt") endif (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU") From 229473c55406bbf001c06f7ff98c1b209392a1cd Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 18:53:04 +0000 Subject: [PATCH 117/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index eb4eed698..9ace68508 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -11,7 +11,7 @@ jobs: matrix: fortran-compiler: [nvfortran] build-type: [Release, Debug] - enable-gpu-acc: [false, true] + enable-gpu-acc: [False, True] py-version: [3.7.13]#, 3.9.12] # Environmental variables @@ -246,17 +246,14 @@ jobs: run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - if: contains(matrix.enable-gpu-acc, 'true') - cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=True - else: - cmake -DCCPP_SUITES=${suites} ../src + cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=${{matrix.enable-gpu-acc}} - 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} -DCMAKE_BUILD_TYPE=Debug ../src + cmake -DCCPP_SUITES=${suites} -DCMAKE_BUILD_TYPE=Debug -DENABLE_NVIDIA_OPENACC=${{matrix.enable-gpu-acc}} ../src - name: Build SCM run: | From ba034f497f92080333ff3633b7b89fa4777815b6 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 18:54:31 +0000 Subject: [PATCH 118/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 9ace68508..c3f88d40c 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -1,6 +1,6 @@ name: CI test to build the CCPP-SCM on ubuntu v22.04 using NVidia compilers -on: [pull_request,workflow_dispatch] +on: [push,pull_request,workflow_dispatch] jobs: From 59b73cdf29f75325a7827dd283466656f1c62515 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 21:04:53 +0000 Subject: [PATCH 119/132] Update CI --- .../workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 14 +++----------- scm/src/CMakeLists.txt | 2 +- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index c3f88d40c..9f33b0803 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -241,19 +241,11 @@ jobs: # Build SCM. ####################################################################################### - - name: Configure build with CMake (Release) - if: contains(matrix.build-type, 'Release') + - name: Configure build with CMake run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites} ../src -DENABLE_NVIDIA_OPENACC=${{matrix.enable-gpu-acc}} - - - 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} -DCMAKE_BUILD_TYPE=Debug -DENABLE_NVIDIA_OPENACC=${{matrix.enable-gpu-acc}} ../src + cmake -DCCPP_SUITES=${suites} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -DENABLE_NVIDIA_OPENACC=${{matrix.enable-gpu-acc}} ../src - name: Build SCM run: | @@ -267,7 +259,7 @@ jobs: ./contrib/get_thompson_tables.sh - name: Run SCM RTs - if: contains(matrix.enable-gpu-acc, 'false') + 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_nvidia.py --runtime_mult 0.1 -v diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 42942492d..10885cf28 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -186,7 +186,7 @@ elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "Intel") set(CMAKE_Fortran_FLAGS_BITFORBIT "-O2 -fPIC" CACHE STRING "" FORCE) elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "NVHPC") - if(DEFINED ENABLE_NVIDIA_OPENACC) + 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") else() From c12544ce21dee4fa6e2cd30c2ec43f85fd4d47a4 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 21:18:40 +0000 Subject: [PATCH 120/132] Update CI --- scm/src/CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 10885cf28..3cfe66673 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -30,6 +30,9 @@ endif() message (STATUS "Running ccpp_prebuild.py for CCPP") # Make the directories where the ccpp_prebuild.py script wants to write caps and make snippets file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ccpp/physics/physics) +if (NOT EXISTS "${CMAKE_SOURCE_DIR}/../../ccpp/framework/scripts/ccpp_prebuild.py") + message( FATAL_ERROR "ccpp_prebuild.py script does not exist, did you check out the code recursively?" ) +endif() if (${CMAKE_BUILD_TYPE} MATCHES "Debug") execute_process( COMMAND ccpp/framework/scripts/ccpp_prebuild.py --config=ccpp/config/ccpp_prebuild_config.py ${_ccpp_suites_arg} --builddir=${CMAKE_CURRENT_BINARY_DIR} --debug --verbose @@ -126,8 +129,7 @@ set(SIMDMULTIARCH OFF CACHE BOOL "Enable multi-target SIMD instruction sets") #------------------------------------------------------------------------------ # Set compile options 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") - set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fopenacc -foffload=nvptx-none -fopt-info -fno-stack-protector -lm -ggdb -fbacktrace -cpp -fcray-pointer -ffree-line-length-none -fno-range-check") + 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) set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz") From f82f995044ebcd78b73404c8cdd06b009c6725c2 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 21:40:04 +0000 Subject: [PATCH 121/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 9f33b0803..19c13ee06 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -1,4 +1,4 @@ -name: CI test to build the CCPP-SCM on ubuntu v22.04 using NVidia compilers +name: CI test to build the CCPP-SCM on ubuntu v22.04 on: [push,pull_request,workflow_dispatch] @@ -10,7 +10,7 @@ jobs: strategy: matrix: fortran-compiler: [nvfortran] - build-type: [Release, Debug] + build-type: [Release] enable-gpu-acc: [False, True] py-version: [3.7.13]#, 3.9.12] @@ -247,7 +247,7 @@ jobs: mkdir bin && cd bin cmake -DCCPP_SUITES=${suites} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -DENABLE_NVIDIA_OPENACC=${{matrix.enable-gpu-acc}} ../src - - name: Build SCM + - name: Build SCM. run: | cd ${SCM_ROOT}/scm/bin make -j4 @@ -258,7 +258,7 @@ jobs: ./contrib/get_all_static_data.sh ./contrib/get_thompson_tables.sh - - name: Run SCM RTs + - name: Run SCM RTs (w/o GPU) if: contains(matrix.enable-gpu-acc, 'False') run: | cd ${SCM_ROOT}/scm/bin From 8d6a1b553a06ffc1c5daf77c9de9bbbfa35d3ef8 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 6 Mar 2024 22:05:23 +0000 Subject: [PATCH 122/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 19c13ee06..bace35b9d 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -12,7 +12,7 @@ jobs: fortran-compiler: [nvfortran] build-type: [Release] enable-gpu-acc: [False, True] - py-version: [3.7.13]#, 3.9.12] + py-version: [3.7.13, 3.9.12] # Environmental variables env: @@ -25,7 +25,7 @@ jobs: SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm zlib_ROOT: /home/runner/zlib HDF5_ROOT: /home/runner/hdf5 - suites: SCM_RAP,SCM_RRFS_v1beta + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0 # Workflow steps steps: From 9521536894f7d407e504672c10fe09a76f258bd5 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 7 Mar 2024 03:17:56 +0000 Subject: [PATCH 123/132] 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 3cfe66673..2ef20bb84 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -188,7 +188,7 @@ elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "Intel") set(CMAKE_Fortran_FLAGS_BITFORBIT "-O2 -fPIC" CACHE STRING "" FORCE) elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "NVHPC") - if(ENABLE_NVIDIA_OPENACC MATCHES "True") + 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") else() From 999d6cba8677e22036f2b614a1b19044a49e6427 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 7 Mar 2024 03:24:11 +0000 Subject: [PATCH 124/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index bace35b9d..c4e498cf2 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -10,15 +10,13 @@ jobs: strategy: matrix: fortran-compiler: [nvfortran] - build-type: [Release] + build-type: [Release, Debug] enable-gpu-acc: [False, True] py-version: [3.7.13, 3.9.12] # Environmental variables env: - NFHOME: /home/runner/netcdf-fortran NETCDF: /home/runner/netcdf - NFVERSION: v4.6.1 bacio_ROOT: /home/runner/bacio sp_ROOT: /home/runner/NCEPLIBS-sp w3emc_ROOT: /home/runner/myw3emc @@ -238,7 +236,7 @@ jobs: echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV ####################################################################################### - # Build SCM. + # Build and run SCM regression tests (ccpp-scm/test/rt_test_cases.py) ####################################################################################### - name: Configure build with CMake @@ -253,6 +251,7 @@ jobs: make -j4 - name: Download data for SCM + if: contains(matrix.enable-gpu-acc, 'True') run: | cd ${SCM_ROOT} ./contrib/get_all_static_data.sh @@ -262,4 +261,4 @@ jobs: 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_nvidia.py --runtime_mult 0.1 -v + ./run_scm.py --file /home/runner/work/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 -v From 4d71d1ec518eb579813c80d6d0167aff9e1b8736 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 7 Mar 2024 03:41:50 +0000 Subject: [PATCH 125/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index c4e498cf2..5a1c4ebef 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -10,7 +10,7 @@ jobs: strategy: matrix: fortran-compiler: [nvfortran] - build-type: [Release, Debug] + build-type: [Release]#, Debug] enable-gpu-acc: [False, True] py-version: [3.7.13, 3.9.12] From 208bed3dce56555942965adc979c6fd8f7a0206a Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 7 Mar 2024 14:21:50 +0000 Subject: [PATCH 126/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 5a1c4ebef..7bfaa4bcf 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -251,7 +251,6 @@ jobs: make -j4 - name: Download data for SCM - if: contains(matrix.enable-gpu-acc, 'True') run: | cd ${SCM_ROOT} ./contrib/get_all_static_data.sh From 7e58c6d1f1161159e60ce2c464af78d10ea3d2a2 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 7 Mar 2024 15:26:32 +0000 Subject: [PATCH 127/132] Update CI --- .github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 7bfaa4bcf..9e998655f 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -24,6 +24,7 @@ jobs: zlib_ROOT: /home/runner/zlib HDF5_ROOT: /home/runner/hdf5 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: @@ -243,7 +244,7 @@ jobs: run: | cd ${SCM_ROOT}/scm mkdir bin && cd bin - cmake -DCCPP_SUITES=${suites} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -DENABLE_NVIDIA_OPENACC=${{matrix.enable-gpu-acc}} ../src + cmake -DCCPP_SUITES=${suites},${suites_ps} -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -DENABLE_NVIDIA_OPENACC=${{matrix.enable-gpu-acc}} ../src - name: Build SCM. run: | From 472b7d5792a53d0361c9d0940cb3b34543b417b3 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Thu, 11 Apr 2024 13:51:28 -0400 Subject: [PATCH 128/132] changes from @bluefinweiwei for PR#419 --- scm/etc/scripts/UFS_IC_generator.py | 8 +- scm/etc/scripts/extract_FV3GFS_column_ic.py | 415 -------------------- 2 files changed, 4 insertions(+), 419 deletions(-) delete mode 100755 scm/etc/scripts/extract_FV3GFS_column_ic.py diff --git a/scm/etc/scripts/UFS_IC_generator.py b/scm/etc/scripts/UFS_IC_generator.py index cac0d2773..5e290d3df 100755 --- a/scm/etc/scripts/UFS_IC_generator.py +++ b/scm/etc/scripts/UFS_IC_generator.py @@ -1351,7 +1351,7 @@ def get_UFS_oro_data(dir, tile, i, j, lam): if lam: nc_file = Dataset('{0}/{1}'.format(dir,'oro_data.nc')) else: - filename_pattern = 'oro_data.tile{0}.nc'.format(tile) + filename_pattern = 'oro*.tile{0}.nc'.format(tile) for f_name in os.listdir(dir): if fnmatch.fnmatch(f_name, filename_pattern): filename = f_name @@ -1500,8 +1500,8 @@ def get_UFS_forcing_data(nlevs, state_IC, location, use_nearest, forcing_dir, gr atm_ftag = 'atmf*.tile{0}.nc'.format(tile) sfc_ftag = 'sfcf*.tile{0}.nc'.format(tile) else: - atm_ftag = 'atmf*.nc' - sfc_ftag = 'sfcf*.nc' + atm_ftag = '*atmf*.nc' + sfc_ftag = '*sfcf*.nc' # Get list of UFS history files with 3D ATMospheric state variables. atm_filenames = [] @@ -2646,7 +2646,7 @@ def write_comparison_file(comp_data, case_name, date, surface): ######################################################################################## def find_date(forcing_dir): - atm_ftag = 'atmf*.nc' + atm_ftag = '*atmf*.nc' atm_filenames = [] for f_name in os.listdir(forcing_dir): diff --git a/scm/etc/scripts/extract_FV3GFS_column_ic.py b/scm/etc/scripts/extract_FV3GFS_column_ic.py deleted file mode 100755 index 6684125c1..000000000 --- a/scm/etc/scripts/extract_FV3GFS_column_ic.py +++ /dev/null @@ -1,415 +0,0 @@ -#!/usr/bin/env python -from netCDF4 import Dataset -import numpy as np - -# define date -YYYY=2014 -MM=8 -DD=1 -HH=0 -MI=0 -SC=0 - -# define path to FV3 GFS initial and boundary conditions -icpath='../../data/raw_case_input/UFS_test_ics' -fixpath='../../data/raw_case_input/UFS_test_ics' -print (icpath) -# defint i,j and tile to extract colmn -ipt=16 -jpt=41 -tilenum=2 - -ipt2=ipt*2+1 -jpt2=jpt*2+1 - -# I have surface cycle on the sfc_data initial conditions to get the proper surface fields -infile1='%s/gfs_data.tile%i.nc' % (icpath,tilenum) -infile2='%s/sfc_data.tile%i.nc' %(icpath,tilenum) -infile3='%s/C96_oro_data.tile%i.nc' %(fixpath,tilenum) -infile4='%s/C96_grid.tile%i.nc' %(fixpath,tilenum) -infile5='%s/gfs_ctrl.nc' %icpath -ncin1=Dataset(infile1) -ncin2=Dataset(infile2) -ncin3=Dataset(infile3) -ncin4=Dataset(infile4) -ncin5=Dataset(infile5) -# assume model contains one less level than the cold start spectral GFS initial conditions -nlevs=len(ncin1.dimensions['lev'])-1 -# pick off lat and lon from i and j point defined above -lon0=ncin4['x'][jpt2,ipt2] -lat0=ncin4['y'][jpt2,ipt2] - -# extract out area of grid cell -area_in=ncin4['area'][jpt2-1:jpt2+1,ipt2-1:ipt2+1] -print (lat0,lon0) - -# upper air fields from initial conditions -zh=ncin1['zh'][::-1,jpt,ipt] -uw1=ncin1['u_w'][::-1,jpt,ipt] -uw2=ncin1['u_w'][::-1,jpt,ipt+1] -us1=ncin1['u_s'][::-1,jpt,ipt] -us2=ncin1['u_s'][::-1,jpt+1,ipt] -vw1=ncin1['v_w'][::-1,jpt,ipt] -vw2=ncin1['v_w'][::-1,jpt,ipt+1] -vs1=ncin1['v_s'][::-1,jpt,ipt] -vs2=ncin1['v_s'][::-1,jpt+1,ipt] -ucomp=0.25*(uw1+uw2+us1+us2) # estimate u winds on the a grid -vcomp=0.25*(vw1+vw2+vs1+vs2) # estimate v winds on the a grid -sphum=ncin1['sphum'][::-1,jpt,ipt] -# o3 and qv are taken from ics. -o3=ncin1['o3mr'][::-1,jpt,ipt] -liqwat=ncin1['liq_wat'][:-1,jpt,ipt] - -# surface pressure and skin temperature -ps=ncin1['ps'][jpt,ipt] -ts=ncin2['tsea'][jpt,ipt] - -# land state -stc_in=ncin2['stc'][:,jpt,ipt] -smc_in=ncin2['smc'][:,jpt,ipt] -slc_in=ncin2['slc'][:,jpt,ipt] -tg3_in=ncin2['tg3'][jpt,ipt] - -# surface properties -uustar_in=ncin2['uustar'][jpt,ipt] -alvsf=ncin2['alvsf'][jpt,ipt] -alvwf=ncin2['alvwf'][jpt,ipt] -alnsf=ncin2['alnsf'][jpt,ipt] -alnwf=ncin2['alnwf'][jpt,ipt] -facsf_in=ncin2['facsf'][jpt,ipt] -facwf_in=ncin2['facwf'][jpt,ipt] -styp_in=ncin2['stype'][jpt,ipt] -slope_in=ncin2['slope'][jpt,ipt] -vtyp_in=ncin2['vtype'][jpt,ipt] -vfrac_in=ncin2['vfrac'][jpt,ipt] -shdmin_in=ncin2['shdmin'][jpt,ipt] -shdmax_in=ncin2['shdmax'][jpt,ipt] -zorl_in=ncin2['zorl'][jpt,ipt] -slmsk_in=ncin2['slmsk'][jpt,ipt] -canopy_in=ncin2['canopy'][jpt,ipt] -hice_in=ncin2['hice'][jpt,ipt] -fice_in=ncin2['fice'][jpt,ipt] -tisfc_in=ncin2['tisfc'][jpt,ipt] -snwdph_in=ncin2['snwdph'][jpt,ipt] -snoalb_in=ncin2['snoalb'][jpt,ipt] - -# orographyic properties -stddev_in=ncin3['stddev'][jpt,ipt] -convexity_in=ncin3['convexity'][jpt,ipt] -oa1_in=ncin3['oa1'][jpt,ipt] -oa2_in=ncin3['oa2'][jpt,ipt] -oa3_in=ncin3['oa3'][jpt,ipt] -oa4_in=ncin3['oa4'][jpt,ipt] -ol1_in=ncin3['ol1'][jpt,ipt] -ol2_in=ncin3['ol2'][jpt,ipt] -ol3_in=ncin3['ol3'][jpt,ipt] -ol4_in=ncin3['ol4'][jpt,ipt] -theta_in=ncin3['theta'][jpt,ipt] -gamma_in=ncin3['gamma'][jpt,ipt] -sigma_in=ncin3['sigma'][jpt,ipt] -elvmax_in=ncin3['elvmax'][jpt,ipt] - -# vertical coordinate definition -ak=ncin5['vcoord'][0,::-1] -bk=ncin5['vcoord'][1,::-1] - -#calculate temperature -rdgas = 287.05 -rvgas = 461.50 -zvir = rvgas/rdgas - 1. -grav=9.80665 -gz=zh*grav -pn1=np.zeros([nlevs+1]) -temp=np.zeros([nlevs]) -for k in range(nlevs+1): - pn1[k]=np.log(ak[k]+ps*bk[k]) -for k in range(nlevs): - temp[k] = (gz[k]-gz[k+1])/( rdgas*(pn1[k+1]-pn1[k])*(1.+zvir*sphum[k]) ) - -# open output file -nc = Dataset('../../data/processed_case_input/fv3_model_point.nc', mode='w') -nc.description = "FV3GFS model profile input (no forcing)" - -time = nc.createDimension('time',None) -levels = nc.createDimension('levels',None) -nsoil = nc.createDimension('nsoil',None) -t = nc.createVariable('time',np.float64,('time',)) -t.units = "s" -t.description = "elapsed time since the beginning of the simulation" -z = nc.createVariable('levels',np.float64,('levels',)) -z.units = "Pa" -z.description = "pressure levels" -#scalars -iyr = nc.createVariable('scalars/init_year',np.int32) -imo = nc.createVariable('scalars/init_month',np.int32) -idy = nc.createVariable('scalars/init_day',np.int32) -ihr = nc.createVariable('scalars/init_hour',np.int32) -imi = nc.createVariable('scalars/init_minute',np.int32) -isc = nc.createVariable('scalars/init_second',np.int32) -ivegsrc = nc.createVariable('scalars/vegsrc',np.int32) -ivegtyp = nc.createVariable('scalars/vegtyp',np.int32) -isoiltyp = nc.createVariable('scalars/soiltyp',np.int32) -islopetyp = nc.createVariable('scalars/slopetyp',np.int32) -ivegfrac = nc.createVariable('scalars/vegfrac',np.float) -ishdmin = nc.createVariable('scalars/shdmin',np.float) -ishdmax = nc.createVariable('scalars/shdmax',np.float) -izorl = nc.createVariable('scalars/zorl',np.float) -islmsk = nc.createVariable('scalars/slmsk',np.float) -icanopy = nc.createVariable('scalars/canopy',np.float) -ihice = nc.createVariable('scalars/hice',np.float) -ifice = nc.createVariable('scalars/fice',np.float) -itisfc = nc.createVariable('scalars/tisfc',np.float) -isnwdph = nc.createVariable('scalars/snwdph',np.float) -isnoalb = nc.createVariable('scalars/snoalb',np.float) -isncovr = nc.createVariable('scalars/sncovr',np.float) -itg3 = nc.createVariable('scalars/tg3',np.float) -iuustar = nc.createVariable('scalars/uustar',np.float) - -iyr.units = "years" -iyr.description = "year at time of initial values" -imo.units = "months" -imo.description = "month at time of initial values" -idy.units = "days" -idy.description = "day at time of initial values" -ihr.units = "hours" -ihr.description = "hour at time of initial values" -imi.units = "minutes" -imi.description = "minute at time of initial values" -isc.units = "seconds" -isc.description = "second at time of initial values" -ivegsrc.description = "vegetation soure (1-2)" -ivegtyp.description = "vegetation type (1-12)" -isoiltyp.description = "soil type (1-12)" -islopetyp.description = "slope type (1-9)" -ivegfrac.description = "vegetation fraction" -ishdmin.description = "minimum vegetation fraction" -ishdmax.description = "maximum vegetation fraction" -izorl.description = "surface roughness length" -islmsk.description = "land-sea-ice mask" -icanopy.description = "canopy moisture" -ihice.description = "ice thickness" -ifice.description = "ice fraction" -itisfc.description = "ice temperature" -isnwdph.description = "snow depth" -isnoalb.description = "snow albedo" -isncovr.description = "snow cover" -itg3.description = "deep soil temperature" -itg3.units = "K" -iuustar.description = "frication velocity" -iuustar.units = "m2s-2?" - - -#initial -ic_t = nc.createVariable('initial/temp',np.float64,('levels',)) -ic_qt = nc.createVariable('initial/qt',np.float64,('levels',)) -ic_ql = nc.createVariable('initial/ql',np.float64,('levels',)) -ic_qi = nc.createVariable('initial/qi',np.float64,('levels',)) -ic_u = nc.createVariable('initial/u',np.float64,('levels',)) -ic_v = nc.createVariable('initial/v',np.float64,('levels',)) -ic_tke = nc.createVariable('initial/tke',np.float64,('levels',)) -ic_o3 = nc.createVariable('initial/ozone',np.float64,('levels',)) -ic_stc = nc.createVariable('initial/stc',np.float64,('nsoil',)) -ic_smc = nc.createVariable('initial/smc',np.float64,('nsoil',)) -ic_slc = nc.createVariable('initial/slc',np.float64,('nsoil',)) -ic_t.units = "K" -#ic_t.description = "initial profile of ice-liquid water potential temperature" -ic_t.description = "initial profile of temperature" -ic_qt.units = "kg kg^-1" -ic_qt.description = "initial profile of total water specific humidity" -ic_ql.units = "kg kg^-1" -ic_ql.description = "initial profile of liquid water specific humidity" -ic_qi.units = "kg kg^-1" -ic_qi.description = "initial profile of ice water specific humidity" -ic_u.units = "m s^-1" -ic_u.description = "initial profile of E-W horizontal wind" -ic_v.units = "m s^-1" -ic_v.description = "initial profile of N-S horizontal wind" -ic_tke.units = "m^2 s^-2" -ic_tke.description = "initial profile of turbulence kinetic energy" -ic_o3.units = "kg kg^-1" -ic_o3.description = "initial profile of ozone mass mixing ratio" -ic_stc.units = "K" -ic_stc.description = "initial profile of soil temperature" -ic_smc.units = "kg" -ic_smc.description = "initial profile of soil moisture" -ic_slc.units = "kg" -ic_slc.description = "initial profile of soil liquid moisture" - -lat=nc.createVariable('forcing/lat',np.float64,('time',)) -lat.units = "degrees N" -lat.description = "latitude of column" -lon=nc.createVariable('forcing/lon',np.float64,('time',)) -lon.units = "degrees E" -lon.description = "longitude of column" -p_surf=nc.createVariable('forcing/p_surf',np.float64,('time',)) -p_surf.units = "Pa" -p_surf.description = "surface pressure" -T_surf=nc.createVariable('forcing/T_surf',np.float64,('time',)) -T_surf.units = "K" -T_surf.description = "surface absolute temperature" -area1=nc.createVariable('scalars/area',np.float64,('time',)) -alb1=nc.createVariable('scalars/alvsf',np.float64,('time',)) -alb2=nc.createVariable('scalars/alnsf',np.float64,('time',)) -alb3=nc.createVariable('scalars/alvwf',np.float64,('time',)) -alb4=nc.createVariable('scalars/alnwf',np.float64,('time',)) -stddev=nc.createVariable('scalars/stddev',np.float64,('time',)) -convexity=nc.createVariable('scalars/convexity',np.float64,('time',)) -oa1=nc.createVariable('scalars/oa1',np.float64,('time',)) -oa2=nc.createVariable('scalars/oa2',np.float64,('time',)) -oa3=nc.createVariable('scalars/oa3',np.float64,('time',)) -oa4=nc.createVariable('scalars/oa4',np.float64,('time',)) -ol1=nc.createVariable('scalars/ol1',np.float64,('time',)) -ol2=nc.createVariable('scalars/ol2',np.float64,('time',)) -ol3=nc.createVariable('scalars/ol3',np.float64,('time',)) -ol4=nc.createVariable('scalars/ol4',np.float64,('time',)) -theta=nc.createVariable('scalars/theta',np.float64,('time',)) -gamma=nc.createVariable('scalars/gamma',np.float64,('time',)) -sigma=nc.createVariable('scalars/sigma',np.float64,('time',)) -elvmax=nc.createVariable('scalars/elvmax',np.float64,('time',)) -facsf=nc.createVariable('scalars/facsf',np.float64,('time',)) -facwf=nc.createVariable('scalars/facwf',np.float64,('time',)) -area1.units = "m^2" -alb1.units = "None" -alb2.units = "None" -alb3.units = "None" -alb4.units = "None" -facsf.units = "None" -facwf.units = "None" -area1.description = "grid cell area" -alb1.description = "uv+visible black sky albedo (z=60 degree)" -alb2.description = "near IR black sky albedo (z=60 degree)" -alb3.description = "uv+visible white sky albedo" -alb4.description = "near IR white sky albedo" -stddev.description = "surface orography standard deviation" -facsf.description = "fraction of grid cell with strong sun angle albedo dependence" -facwf.description = "fraction of grid cell with weak sun angle albedo dependence" -w_ls=nc.createVariable('forcing/w_ls',np.float64,('levels','time',)) -w_ls.units = "m s^-1" -w_ls.description = "large scale vertical velocity" -omega=nc.createVariable('forcing/omega',np.float64,('levels','time',)) -omega.units = "Pa s^-1" -omega.description = "large scale pressure vertical velocity" -u_g=nc.createVariable('forcing/u_g',np.float64,('levels','time',)) -u_g.units = "m s^-1" -u_g.description = "large scale geostrophic E-W wind" -v_g=nc.createVariable('forcing/v_g',np.float64,('levels','time',)) -v_g.units = "m s^-1" -v_g.description = "large scale geostrophic N-S wind" -u_nudge=nc.createVariable('forcing/u_nudge',np.float64,('levels','time',)) -u_nudge.units = "m s^-1" -u_nudge.description = "E-W wind to nudge toward" -v_nudge=nc.createVariable('forcing/v_nudge',np.float64,('levels','time',)) -v_nudge.units = "m s^-1" -v_nudge.description = "N-S wind to nudge toward" -T_nudge=nc.createVariable('forcing/T_nudge',np.float64,('levels','time',)) -T_nudge.units = "K" -T_nudge.description = "absolute temperature to nudge toward" -thil_nudge=nc.createVariable('forcing/thil_nudge',np.float64,('levels','time',)) -thil_nudge.units = "K" -thil_nudge.description = "potential temperature to nudge toward" -qt_nudge=nc.createVariable('forcing/qt_nudge',np.float64,('levels','time',)) -qt_nudge.units = "kg kg^-1" -qt_nudge.description = "q_t to nudge toward" -dT_dt_rad=nc.createVariable('forcing/dT_dt_rad',np.float64,('levels','time',)) -dT_dt_rad.units = "K s^-1" -dT_dt_rad.description = "prescribed radiative heating rate" -h_advec_thetail=nc.createVariable('forcing/h_advec_thetail',np.float64,('levels','time',)) -h_advec_thetail.units = "K s^-1" -h_advec_thetail.description = "prescribed theta_il tendency due to horizontal advection" -v_advec_thetail=nc.createVariable('forcing/v_advec_thetail',np.float64,('levels','time',)) -v_advec_thetail.units = "K s^-1" -v_advec_thetail.description = "prescribed theta_il tendency due to vertical advection" -h_advec_qt=nc.createVariable('forcing/h_advec_qt',np.float64,('levels','time',)) -h_advec_qt.units = "kg kg^-1 s^-1" -h_advec_qt.description = "prescribed q_t tendency due to horizontal advection" -v_advec_qt=nc.createVariable('forcing/v_advec_qt',np.float64,('levels','time',)) -v_advec_qt.units = "kg kg^-1 s^-1" -v_advec_qt.description = "prescribed q_t tendency due to vertical advection" - - -# date -iyr[:]=YYYY -imo[:]=MM -idy[:]=DD -ihr[:]=HH -imi[:]=MI -isc[:]=SC -# axes -t[0]=0 - -#ics -ic_t[:] = temp[0:nlevs] -ic_qt[:] = sphum[0:nlevs] -ic_ql[:] = liqwat[0:nlevs] -ic_qi[:] = 0.0 -ic_u[:] = ucomp[0:nlevs] -ic_v[:] = vcomp[0:nlevs] -ic_tke[:] = 0.0 -ic_o3[:] = o3[0:nlevs] -ic_stc[:] = stc_in -ic_smc[:] = smc_in -ic_slc[:] = slc_in - -lat[:]=lat0 -lon[:]=lon0 - -p_surf[:]=ps -T_surf[:]=ts -area1[:]=area_in.sum() -alb1[:]=alvsf -alb2[:]=alnsf -alb3[:]=alvwf -alb4[:]=alnwf -stddev[:]=stddev_in -convexity[:]=convexity_in -oa1[:]=oa1_in -oa2[:]=oa2_in -oa3[:]=oa3_in -oa4[:]=oa4_in -ol1[:]=ol1_in -ol2[:]=ol2_in -ol3[:]=ol3_in -ol4[:]=ol4_in -theta[:]=theta_in -gamma[:]=gamma_in -sigma[:]=sigma_in -elvmax[:]=elvmax_in -facsf[:]=facsf_in -facwf[:]=facwf_in -z[:]=np.exp(pn1[0:nlevs]) -w_ls[:]=0.0 -omega[:]=0.0 -u_g[:]=0.0 -v_g[:]=0.0 -u_nudge[:]=0.0 -v_nudge[:]=0.0 -T_nudge[:]=0.0 -thil_nudge[:]=0.0 -qt_nudge[:]=0.0 -dT_dt_rad[:]=0.0 -h_advec_thetail[:]=0.0 -v_advec_thetail[:]=0.0 -h_advec_qt[:]=0.0 -v_advec_qt[:]=0.0 - -ivegsrc[:] = 1 -ivegtyp[:] = vtyp_in -isoiltyp[:] = styp_in -islopetyp[:] = slope_in -ishdmin[:] = shdmin_in -ishdmax[:] = shdmax_in -izorl[:] = zorl_in -islmsk[:] = slmsk_in -icanopy[:] = canopy_in -ihice[:] = hice_in -ifice[:] = fice_in -itisfc[:] = tisfc_in -isnwdph[:] = snwdph_in -isnoalb[:] = snoalb_in -isncovr[:] = 0.0 -itg3[:] = tg3_in -iuustar[:] = uustar_in -ivegfrac[:]=vfrac_in - -nc.close() - From 048d34588e80a94e8e023e638a889b44437b00bb Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Thu, 11 Apr 2024 16:04:50 -0400 Subject: [PATCH 129/132] add HR3 suite and physics namelist from #445 from @bluefinweiwei --- ccpp/physics_namelists/input_GFS_v17_H3.nml | 171 ++++++++++++++++++++ ccpp/suites/suite_SCM_GFS_v17_HR3.xml | 88 ++++++++++ ccpp/suites/suite_SCM_GFS_v17_HR3_ps.xml | 69 ++++++++ scm/src/suite_info.py | 1 + 4 files changed, 329 insertions(+) create mode 100644 ccpp/physics_namelists/input_GFS_v17_H3.nml create mode 100644 ccpp/suites/suite_SCM_GFS_v17_HR3.xml create mode 100644 ccpp/suites/suite_SCM_GFS_v17_HR3_ps.xml diff --git a/ccpp/physics_namelists/input_GFS_v17_H3.nml b/ccpp/physics_namelists/input_GFS_v17_H3.nml new file mode 100644 index 000000000..10d60a77e --- /dev/null +++ b/ccpp/physics_namelists/input_GFS_v17_H3.nml @@ -0,0 +1,171 @@ +&gfs_physics_nml + fhzero = 6 + h2o_phys = .true. + ldiag3d = .true. + qdiag3d = .true. + print_diff_pgr = .false. + fhcyc = 24 + use_ufo = .true. + pre_rad = .false. + imp_physics = 8 + iovr = 3 + ltaerosol = .false. + lradar = .true. + ttendlim = -999 + dt_inner = 225.0 + sedi_semi = .true. + decfl = 10 + oz_phys = .false. + oz_phys_2015 = .true. + lsoil_lsm = 4 + do_mynnedmf = .false. + do_mynnsfclay = .false. + icloud_bl = 1 + bl_mynn_edmf = 1 + bl_mynn_tkeadvect = .true. + bl_mynn_edmf_mom = 1 + do_ugwp = .false. + do_tofd = .false. + gwd_opt = 2 + do_ugwp_v0 = .false. + do_ugwp_v1 = .true. + do_ugwp_v0_orog_only = .false. + do_ugwp_v0_nst_only = .false. + do_gsl_drag_ls_bl = .true. + do_gsl_drag_ss = .true. + do_gsl_drag_tofd = .true. + do_ugwp_v1_orog_only = .false. + min_lakeice = 0.15 + min_seaice = 0.15 + use_cice_alb = .false. + pdfcld = .false. + fhswr = 1200. + fhlwr = 1200. + ialb = 1 + iems = 1 + iaer = 5111 + icliq_sw = 2 + ico2 = 2 + isubc_sw = 2 + isubc_lw = 2 + isol = 2 + lwhtr = .true. + swhtr = .true. + cnvgwd = .true. + shal_cnv = .true. + cal_pre = .false. + redrag = .true. + dspheat = .true. + hybedmf = .false. + satmedmf = .true. + isatmedmf = 1 + lheatstrg = .true. + lseaspray = .true. + random_clds = .false. + trans_trac = .true. + cnvcld = .true. + imfshalcnv = 2 + imfdeepcnv = 2 + ras = .false. + cdmbgwd = 10.0,3.5,1.0,1.0 + prslrd0 = 0. + ivegsrc = 1 + isot = 1 + lsoil = 4 + lsm = 2 + iopt_dveg = 4 + iopt_crs = 2 + iopt_btr = 1 + iopt_run = 1 + iopt_sfc = 3 + iopt_trs = 2 + iopt_frz = 1 + iopt_inf = 1 + iopt_rad = 3 + iopt_alb = 1 + iopt_snf = 4 + iopt_tbot = 2 + iopt_stc = 3 + debug = .false. + nstf_name = 2,1,0,0,0 + nst_anl = .true. + psautco = 0.0008,0.0005 + prautco = 0.00015,0.00015 + lgfdlmprad = .false. + effr_in = .true. + ldiag_ugwp = .false. + fscav_aero = "'*:0.0'" + do_sppt = .false. + do_shum = .false. + do_skeb = .false. + do_RRTMGP = .false. + doGP_cldoptics_LUT = .true. + doGP_lwscat = .true. + active_gases = 'h2o_co2_o3_n2o_ch4_o2' + ngases = 6 + rrtmgp_root = '../../ccpp/physics/physics/rte-rrtmgp/' + lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc' + lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc' + sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc' + sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-sw.nc' + rrtmgp_nGptsSW = 112 + rrtmgp_nGptsLW = 128 + rrtmgp_nBandsLW = 16 + rrtmgp_nBandsSW = 14 + frac_grid = .true. + cplchm = .false. + cplflx = .false. + cplice = .false. + cplwav = .false. + cplwav2atm = .false. + do_ca = .false. + ca_global = .false. + ca_sgs = .false. + nca = 1 + ncells = 5 + nlives = 12 + nseed = 1 + nfracseed = 0.5 + nthresh = 18 + ca_trigger = .true. + nspinup = 1 + iseed_ca = 12345 + lndp_type = 0 + n_var_lndp = 0 + do_ccpp_suite_sim = .false. +/ + +&cires_ugwp_nml + knob_ugwp_solver = 2 + knob_ugwp_version = 1 + knob_ugwp_source = 1,1,0,0 + knob_ugwp_wvspec = 1,25,25,25 + knob_ugwp_azdir = 2,4,4,4 + knob_ugwp_stoch = 0,0,0,0 + knob_ugwp_effac = 1,1,1,1 + knob_ugwp_doaxyz = 1 + knob_ugwp_doheat = 1 + knob_ugwp_dokdis = 2 + knob_ugwp_ndx4lh = 4 + knob_ugwp_palaunch = 275.0e2 + knob_ugwp_nslope = 0 + knob_ugwp_lzmax = 15.750e3 + knob_ugwp_lzmin = 0.75e3 + knob_ugwp_lzstar = 2.0e3 + knob_ugwp_taumin = 0.25e-3 + knob_ugwp_tauamp = 1.5e-3 + knob_ugwp_lhmet = 200.0e3 + knob_ugwp_orosolv = 'pss-1986' +/ + +&ccpp_suite_sim_nml + suite_sim_file = '' + nprc_sim = 7 + prc_LWRAD_cfg = 0, 0, 1 + prc_SWRAD_cfg = 0, 0, 2 + prc_PBL_cfg = 1, 0, 3 + prc_GWD_cfg = 1, 0, 4 + prc_SCNV_cfg = 1, 1, 5 + prc_DCNV_cfg = 1, 1, 6 + prc_cldMP_cfg = 1, 1, 7 +/ diff --git a/ccpp/suites/suite_SCM_GFS_v17_HR3.xml b/ccpp/suites/suite_SCM_GFS_v17_HR3.xml new file mode 100644 index 000000000..92effe13c --- /dev/null +++ b/ccpp/suites/suite_SCM_GFS_v17_HR3.xml @@ -0,0 +1,88 @@ + + + + + + + GFS_time_vary_pre + GFS_rrtmg_setup + GFS_rad_time_vary + GFS_phys_time_vary + + + + + GFS_suite_interstitial_rad_reset + GFS_rrtmg_pre + GFS_radiation_surface + rad_sw_pre + rrtmg_sw + rrtmg_sw_post + rrtmg_lw + rrtmg_lw_post + GFS_rrtmg_post + + + + + GFS_suite_interstitial_phys_reset + GFS_suite_stateout_reset + get_prs_fv3 + GFS_suite_interstitial_1 + GFS_surface_generic_pre + GFS_surface_composites_pre + dcyc2t3 + GFS_surface_composites_inter + GFS_suite_interstitial_2 + + + + sfc_diff + GFS_surface_loop_control_part1 + sfc_nst_pre + sfc_nst + sfc_nst_post + noahmpdrv + sfc_sice + GFS_surface_loop_control_part2 + + + + GFS_surface_composites_post + sfc_diag + sfc_diag_post + GFS_surface_generic_post + GFS_PBL_generic_pre + satmedmfvdifq + GFS_PBL_generic_post + GFS_GWD_generic_pre + ugwpv1_gsldrag + ugwpv1_gsldrag_post + GFS_GWD_generic_post + GFS_suite_stateout_update + h2ophys + get_phi_fv3 + GFS_suite_interstitial_3 + GFS_DCNV_generic_pre + samfdeepcnv + GFS_DCNV_generic_post + GFS_SCNV_generic_pre + samfshalcnv + GFS_SCNV_generic_post + GFS_suite_interstitial_4 + cnvc90 + GFS_MP_generic_pre + mp_thompson_pre + + + mp_thompson + + + mp_thompson_post + GFS_MP_generic_post + maximum_hourly_diagnostics + GFS_physics_post + + + + diff --git a/ccpp/suites/suite_SCM_GFS_v17_HR3_ps.xml b/ccpp/suites/suite_SCM_GFS_v17_HR3_ps.xml new file mode 100644 index 000000000..d9e833936 --- /dev/null +++ b/ccpp/suites/suite_SCM_GFS_v17_HR3_ps.xml @@ -0,0 +1,69 @@ + + + + + + + GFS_time_vary_pre + GFS_rrtmg_setup + GFS_rad_time_vary + GFS_phys_time_vary + + + + + GFS_suite_interstitial_rad_reset + GFS_rrtmg_pre + GFS_radiation_surface + rad_sw_pre + rrtmg_sw + rrtmg_sw_post + rrtmg_lw + rrtmg_lw_post + GFS_rrtmg_post + + + + + GFS_suite_interstitial_phys_reset + GFS_suite_stateout_reset + get_prs_fv3 + GFS_suite_interstitial_1 + GFS_surface_generic_pre + scm_sfc_flux_spec + dcyc2t3 + GFS_suite_interstitial_2 + GFS_PBL_generic_pre + satmedmfvdifq + GFS_PBL_generic_post + GFS_GWD_generic_pre + ugwpv1_gsldrag + ugwpv1_gsldrag_post + GFS_GWD_generic_post + GFS_suite_stateout_update + h2ophys + get_phi_fv3 + GFS_suite_interstitial_3 + GFS_DCNV_generic_pre + samfdeepcnv + GFS_DCNV_generic_post + GFS_SCNV_generic_pre + samfshalcnv + GFS_SCNV_generic_post + GFS_suite_interstitial_4 + cnvc90 + GFS_MP_generic_pre + mp_thompson_pre + + + mp_thompson + + + mp_thompson_post + GFS_MP_generic_post + maximum_hourly_diagnostics + GFS_physics_post + + + + diff --git a/scm/src/suite_info.py b/scm/src/suite_info.py index 63d35c97c..f3420cdf5 100755 --- a/scm/src/suite_info.py +++ b/scm/src/suite_info.py @@ -44,6 +44,7 @@ def timestep(self, value): suite_list = [] suite_list.append(suite('SCM_GFS_v16', 'tracers_GFS_v16.txt', 'input_GFS_v16.nml', 600.0, 1800.0, True )) suite_list.append(suite('SCM_GFS_v17_p8', 'tracers_GFS_v17_p8.txt', 'input_GFS_v17_p8.nml', 600.0, 600.0, True )) +suite_list.append(suite('SCM_GFS_v17_HR3', 'tracers_GFS_v17_p8.txt', 'input_GFS_v17_HR3.nml', 600.0, 600.0, True )) suite_list.append(suite('SCM_RAP', 'tracers_RAP.txt', 'input_RAP.nml', 600.0, 600.0 , True )) suite_list.append(suite('SCM_RRFS_v1beta', 'tracers_RRFS_v1beta.txt', 'input_RRFS_v1beta.nml', 600.0, 600.0 , True )) suite_list.append(suite('SCM_WoFS_v0', 'tracers_WoFS_v0.txt', 'input_WoFS_v0.nml', 600.0, 600.0 , True )) From 84e30f4d047954ca55995b8688b3ffde180ae497 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Thu, 11 Apr 2024 16:17:10 -0400 Subject: [PATCH 130/132] merge changes from @hertneky in #446 --- scm/etc/Cheyenne_setup_gnu.csh | 55 ------------------------------ scm/etc/Cheyenne_setup_gnu.sh | 47 ------------------------- scm/etc/Cheyenne_setup_intel.csh | 55 ------------------------------ scm/etc/Cheyenne_setup_intel.sh | 47 ------------------------- scm/etc/Desktop_setup_gfortran.csh | 51 --------------------------- scm/etc/Desktop_setup_gfortran.sh | 47 ------------------------- scm/etc/Hera_setup_intel.csh | 47 ------------------------- scm/etc/Hera_setup_intel.sh | 39 --------------------- scm/etc/modules/hera_gnu.lua | 4 +-- scm/etc/modules/hera_intel.lua | 4 +-- 10 files changed, 4 insertions(+), 392 deletions(-) delete mode 100755 scm/etc/Cheyenne_setup_gnu.csh delete mode 100755 scm/etc/Cheyenne_setup_gnu.sh delete mode 100755 scm/etc/Cheyenne_setup_intel.csh delete mode 100755 scm/etc/Cheyenne_setup_intel.sh delete mode 100755 scm/etc/Desktop_setup_gfortran.csh delete mode 100755 scm/etc/Desktop_setup_gfortran.sh delete mode 100755 scm/etc/Hera_setup_intel.csh delete mode 100755 scm/etc/Hera_setup_intel.sh diff --git a/scm/etc/Cheyenne_setup_gnu.csh b/scm/etc/Cheyenne_setup_gnu.csh deleted file mode 100755 index c37acbdc2..000000000 --- a/scm/etc/Cheyenne_setup_gnu.csh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/tcsh - -echo "Setting environment variables for CCPP-SCM on Cheyenne with gcc/gfortran" - -set called=($_) - -if ( "$called" != "") then ### called by source - set MYSCRIPT=`readlink -f -n $called[2]` -else ### called by direct execution of the script - set MYSCRIPT=`readlink -f -n '$0'` -endif -set MYDIR=`dirname $MYSCRIPT` -set MYDIR=`cd $MYDIR && pwd -P` - -setenv SCM_ROOT $MYDIR/../.. - -#start with a "clean" environment; activate and deactivate ncar_pylib in order to successfully deactivate previously activated environment without errors -module load ncarenv/1.3 -conda deactivate -module purge - -#load the modules in order to compile the CCPP SCM -echo "Loading gnu and netcdf modules..." -module load ncarenv/1.3 -module load gnu/11.2.0 -module load mpt/2.25 -module load ncarcompilers/0.5.0 -module load netcdf - -echo "Setting up NCEPLIBS" -module use /glade/work/epicufsrt/contrib/hpc-stack/gnu11.2.0/modulefiles/stack -module load hpc/1.2.0 -module load hpc-gnu/11.2.0 -module load hpc-mpt/2.25 -setenv bacio_ROOT /glade/work/epicufsrt/contrib/hpc-stack/gnu11.2.0/gnu-11.2.0/bacio/2.4.1 -setenv sp_ROOT /glade/work/epicufsrt/contrib/hpc-stack/gnu11.2.0/gnu-11.2.0/sp/2.3.3 -setenv w3emc_ROOT /glade/work/epicufsrt/contrib/hpc-stack/gnu11.2.0/gnu-11.2.0/w3emc/2.9.2 - -echo "Setting CC/CXX/FC environment variables" -setenv CC gcc -setenv CXX g++ -setenv FC gfortran - -echo "Loading cmake" -module load cmake/3.16.4 -setenv CMAKE_C_COMPILER gcc -setenv CMAKE_CXX_COMPILER g++ -setenv CMAKE_Fortran_COMPILER gfortran -setenv CMAKE_Platform cheyenne.gnu - -echo "Setting up python environment for running and plotting." -module load conda/latest - -conda activate /glade/p/ral/jntp/GMTB/CCPP_SCM/conda/ccpp-scm - diff --git a/scm/etc/Cheyenne_setup_gnu.sh b/scm/etc/Cheyenne_setup_gnu.sh deleted file mode 100755 index e1a190fcc..000000000 --- a/scm/etc/Cheyenne_setup_gnu.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -echo "Setting environment variables for CCPP-SCM on Cheyenne with gcc/gfortran" - -MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) - -export SCM_ROOT=$MYDIR/../.. - -#start with a "clean" environment; activate and deactivate ncar_pylib in order to successfully deactivate previously activated environment without errors -module load ncarenv/1.3 -conda deactivate -module purge - -#load the modules in order to compile the CCPP SCM -echo "Loading gnu and netcdf modules..." -module load ncarenv/1.3 -module load gnu/11.2.0 -module load mpt/2.25 -module load ncarcompilers/0.5.0 -module load netcdf - -echo "Setting up NCEPLIBS" -module use /glade/work/epicufsrt/contrib/hpc-stack/gnu11.2.0/modulefiles/stack -module load hpc/1.2.0 -module load hpc-gnu/11.2.0 -module load hpc-mpt/2.25 -export bacio_ROOT=/glade/work/epicufsrt/contrib/hpc-stack/gnu11.2.0/gnu-11.2.0/bacio/2.4.1 -export sp_ROOT=/glade/work/epicufsrt/contrib/hpc-stack/gnu11.2.0/gnu-11.2.0/sp/2.3.3 -export w3emc_ROOT=/glade/work/epicufsrt/contrib/hpc-stack/gnu11.2.0/gnu-11.2.0/w3emc/2.9.2 - -echo "Setting CC/CXX/FC environment variables" -export CC=gcc -export CXX=g++ -export FC=gfortran - -echo "Loading cmake" -module load cmake/3.22.0 -export CMAKE_C_COMPILER=gcc -export CMAKE_CXX_COMPILER=g++ -export CMAKE_Fortran_COMPILER=gfortran -export CMAKE_Platform=cheyenne.gnu - -echo "Setting up python environment for running and plotting." -module load conda/latest - -conda activate /glade/p/ral/jntp/GMTB/CCPP_SCM/conda/ccpp-scm - diff --git a/scm/etc/Cheyenne_setup_intel.csh b/scm/etc/Cheyenne_setup_intel.csh deleted file mode 100755 index d8bc17890..000000000 --- a/scm/etc/Cheyenne_setup_intel.csh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/tcsh - -echo "Setting environment variables for CCPP-SCM on Cheyenne with icc/ifort" - -set called=($_) - -if ( "$called" != "") then ### called by source - set MYSCRIPT=`readlink -f -n $called[2]` -else ### called by direct execution of the script - set MYSCRIPT=`readlink -f -n '$0'` -endif -set MYDIR=`dirname $MYSCRIPT` -set MYDIR=`cd $MYDIR && pwd -P` - -setenv SCM_ROOT $MYDIR/../.. - -#start with a "clean" environment; activate and deactivate ncar_pylib in order to successfully deactivate previously activated environment without errors -module load ncarenv/1.3 -conda deactivate -module purge - -#load the modules in order to compile the CCPP SCM -echo "Loading intel and netcdf modules..." -module load ncarenv/1.3 -module load intel/2022.1 -module load mpt/2.25 -module load ncarcompilers/0.5.0 -module load netcdf - -echo "Setting up NCEPLIBS" -module use /glade/work/epicufsrt/contrib/hpc-stack/intel2022.1/modulefiles/stack -module load hpc/1.2.0 -module load hpc-intel/2022.1 -module load hpc-mpt/2.25 -setenv bacio_ROOT /glade/work/epicufsrt/contrib/hpc-stack/intel2022.1/intel-2022.1/bacio/2.4.1 -setenv sp_ROOT /glade/work/epicufsrt/contrib/hpc-stack/intel2022.1/intel-2022.1/sp/2.3.3 -setenv w3emc_ROOT /glade/work/epicufsrt/contrib/hpc-stack/intel2022.1/intel-2022.1/w3emc/2.9.2 - -echo "Setting CC/CXX/FC environment variables" -setenv CC icc -setenv CXX icpc -setenv FC ifort - -echo "Loading cmake" -module load cmake/3.22.0 -setenv CMAKE_C_COMPILER icc -setenv CMAKE_CXX_COMPILER icpc -setenv CMAKE_Fortran_COMPILER ifort -setenv CMAKE_Platform cheyenne.intel - -echo "Setting up python environment for running and plotting." -module load conda/latest - -conda activate /glade/p/ral/jntp/GMTB/CCPP_SCM/conda/ccpp-scm - diff --git a/scm/etc/Cheyenne_setup_intel.sh b/scm/etc/Cheyenne_setup_intel.sh deleted file mode 100755 index 71727e034..000000000 --- a/scm/etc/Cheyenne_setup_intel.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -echo "Setting environment variables for CCPP-SCM on Cheyenne with icc/ifort" - -MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) - -export SCM_ROOT=$MYDIR/../.. - -#start with a "clean" environment; activate and deactivate ncar_pylib in order to successfully deactivate previously activated environment without errors -module load ncarenv/1.3 -conda deactivate -module purge - -#load the modules in order to compile the CCPP SCM -echo "Loading intel and netcdf modules..." -module load ncarenv/1.3 -module load intel/2022.1 -module load mpt/2.25 -module load ncarcompilers/0.5.0 -module load netcdf - -echo "Setting up NCEPLIBS" -module use /glade/work/epicufsrt/contrib/hpc-stack/intel2022.1/modulefiles/stack -module load hpc/1.2.0 -module load hpc-intel/2022.1 -module load hpc-mpt/2.25 -export bacio_ROOT=/glade/work/epicufsrt/contrib/hpc-stack/intel2022.1/intel-2022.1/bacio/2.4.1 -export sp_ROOT=/glade/work/epicufsrt/contrib/hpc-stack/intel2022.1/intel-2022.1/sp/2.3.3 -export w3emc_ROOT=/glade/work/epicufsrt/contrib/hpc-stack/intel2022.1/intel-2022.1/w3emc/2.9.2 - -echo "Setting CC/CXX/FC environment variables" -export CC=icc -export CXX=icpc -export FC=ifort - -echo "Loading cmake" -module load cmake/3.22.0 -export CMAKE_C_COMPILER=icc -export CMAKE_CXX_COMPILER=icpc -export CMAKE_Fortran_COMPILER=ifort -export CMAKE_Platform=cheyenne.intel - -echo "Setting up python environment for running and plotting." -module load conda/latest - -conda activate /glade/p/ral/jntp/GMTB/CCPP_SCM/conda/ccpp-scm - diff --git a/scm/etc/Desktop_setup_gfortran.csh b/scm/etc/Desktop_setup_gfortran.csh deleted file mode 100755 index d038405f4..000000000 --- a/scm/etc/Desktop_setup_gfortran.csh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/tcsh - -echo "Setting environment variables for CCPP-SCM on Desktop (MacOS) with gcc/gfortran" - -set called=($_) - -if ( "$called" != "") then ### called by source - set MYSCRIPT=`readlink -f -n $called[2]` -else ### called by direct execution of the script - set MYSCRIPT=`readlink -f -n '$0'` -endif -set MYDIR=`dirname $MYSCRIPT` -set MYDIR=`cd $MYDIR && pwd -P` - -setenv SCM_ROOT $MYDIR/../.. - -echo "Setting CC/CXX/FC environment variables" -setenv CC /opt/local/bin/gcc-mp-10 -setenv CXX /opt/local/bin/g++-mp-10 -setenv FC gfortran-mp-10 - -echo "Setting location of NETCDF" -setenv NETCDF /opt/local -setenv LDFLAGS "-I${NETCDF}/include -L${NETCDF}/lib -Wl,-rpath,${NETCDF}/lib" - -echo "Setting location of NCEPLIBS libraries" -setenv BACIO_LIB4 /Users/$USER/NCEPLIBS/lib/libbacio_v2.2.0_4.a -setenv SP_LIBd /Users/$USER/NCEPLIBS/lib/libsp_v2.1.0_d.a -setenv W3NCO_LIBd /Users/$USER/NCEPLIBS/lib/libw3nco_v2.1.0_d.a - -#check to see if CMake is installed locally -echo "Checking if CMake is installed" -cmake --version - -if ( $? != 0 ) then - echo "CMake not found; installing CMake" - pip install cmake -else - echo "CMake is installed" -endif - -#check to see if f90nml is installed locally -echo "Checking if f90nml python module is installed" -python -c "import f90nml" - -if ( $? != 0 ) then - echo "Not found; installing f90nml" - pip install --no-cache-dir f90nml==0.19 -else - echo "f90nml is installed" -endif diff --git a/scm/etc/Desktop_setup_gfortran.sh b/scm/etc/Desktop_setup_gfortran.sh deleted file mode 100755 index 37485a163..000000000 --- a/scm/etc/Desktop_setup_gfortran.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -echo "Setting environment variables for CCPP-SCM on Desktop (MacOS) with gcc/gfortran" - -if [[ $(uname -s) == Darwin ]]; then - MYDIR=$(cd "$(dirname "$(greadlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) -else - MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) -fi - -export SCM_ROOT=$MYDIR/../.. - -echo "Setting CC/CXX/FC environment variables" -export CC=/opt/local/bin/gcc-mp-10 -export CXX=/opt/local/bin/g++-mp-10 -export FC=gfortran-mp-10 - -echo "Setting location of NETCDF" -export NETCDF=/opt/local -export LDFLAGS="-I${NETCDF}/include -L${NETCDF}/lib -Wl,-rpath,${NETCDF}/lib" - -echo "Setting location of NCEPLIBS libraries" -export BACIO_LIB4=/Users/$USER/NCEPLIBS/lib/libbacio_v2.2.0_4.a -export SP_LIBd=/Users/$USER/NCEPLIBS/lib/libsp_v2.1.0_d.a -export W3NCO_LIBd=/Users/$USER/NCEPLIBS/lib/libw3nco_v2.1.0_d.a - -#check to see if CMake is installed locally -echo "Checking if CMake is installed" -cmake --version - -if [ $? -ne 0 ]; then - echo "CMake not found; installing CMake" - pip install cmake -else - echo "CMake is installed" -fi - -#check to see if f90nml is installed locally -echo "Checking if f90nml python module is installed" -python -c "import f90nml" - -if [ $? -ne 0 ]; then - echo "Not found; installing f90nml" - pip install --no-cache-dir f90nml==0.19 -else - echo "f90nml is installed" -fi diff --git a/scm/etc/Hera_setup_intel.csh b/scm/etc/Hera_setup_intel.csh deleted file mode 100755 index 369f6e3af..000000000 --- a/scm/etc/Hera_setup_intel.csh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/tcsh - -echo "Setting environment variables for CCPP-SCM on Hera with icc/ifort" - -set called=($_) - -if ( "$called" != "") then ### called by source - set MYSCRIPT=`readlink -f -n $called[2]` -else ### called by direct execution of the script - set MYSCRIPT=`readlink -f -n '$0'` -endif -set MYDIR=`dirname $MYSCRIPT` -set MYDIR=`cd $MYDIR && pwd -P` - -setenv SCM_ROOT $MYDIR/../.. - -#load the modules in order to compile the CCPP SCM -echo "Loading intel and netcdf modules..." -module purge -module load intel/2022.1.2 -module load impi/2022.1.2 -module use /scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2/modulefiles/stack -module load hpc/1.2.0 -module load hpc-intel/2022.1.2 -module load hpc-impi/2022.1.2 -module load netcdf - -echo "Setting up NCEPLIBS" -setenv bacio_ROOT /scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2/intel-2022.1.2/bacio/2.4.1 -setenv sp_ROOT /scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2/intel-2022.1.2/sp/2.3.3 -setenv w3emc_ROOT /scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2/intel-2022.1.2/w3emc/2.9.2 - -echo "Setting CC/CXX/FC environment variables" -setenv CC icc -setenv CXX icpc -setenv FC ifort - -echo "Loading cmake" -module load cmake/3.20.1 -setenv CMAKE_C_COMPILER icc -setenv CMAKE_CXX_COMPILER icpc -setenv CMAKE_Fortran_COMPILER ifort -setenv CMAKE_Platform hera.intel - -echo "Loading the SCM python environment" -source /scratch1/BMC/gmtb/SCM_anaconda/etc/profile.d/conda.csh -conda activate pyccpp diff --git a/scm/etc/Hera_setup_intel.sh b/scm/etc/Hera_setup_intel.sh deleted file mode 100755 index 5d760260b..000000000 --- a/scm/etc/Hera_setup_intel.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -echo "Setting environment variables for CCPP-SCM on Hera with icc/ifort" - -MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) - -export SCM_ROOT=$MYDIR/../.. - -#load the modules in order to compile the CCPP SCM -echo "Loading intel and netcdf modules..." -module purge -module load intel/2022.1.2 -module load impi/2022.1.2 -module use /scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2/modulefiles/stack -module load hpc/1.2.0 -module load hpc-intel/2022.1.2 -module load hpc-impi/2022.1.2 -module load netcdf - -echo "Setting up NCEPLIBS" -export bacio_ROOT=/scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2/intel-2022.1.2/bacio/2.4.1 -export sp_ROOT=/scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2/intel-2022.1.2/sp/2.3.3 -export w3emc_ROOT=/scratch1/NCEPDEV/nems/role.epic/hpc-stack/libs/intel-2022.1.2/intel-2022.1.2/w3emc/2.9.2 - -echo "Setting CC/CXX/FC environment variables" -export CC=icc -export CXX=icpc -export FC=ifort - -echo "Loading cmake" -module load cmake/3.20.1 -export CMAKE_C_COMPILER=icc -export CMAKE_CXX_COMPILER=icpc -export CMAKE_Fortran_COMPILER=ifort -export CMAKE_Platform=hera.intel - -echo "Loading the SCM python environment" -. "/scratch1/BMC/gmtb/SCM_anaconda/etc/profile.d/conda.sh" -conda activate pyccpp diff --git a/scm/etc/modules/hera_gnu.lua b/scm/etc/modules/hera_gnu.lua index 23867c4ac..0e28df2d0 100644 --- a/scm/etc/modules/hera_gnu.lua +++ b/scm/etc/modules/hera_gnu.lua @@ -7,10 +7,10 @@ whatis([===[Loads libraries needed for building the CCPP SCM on Hera with GNU co prepend_path("MODULEPATH", "/scratch1/NCEPDEV/jcsda/jedipara/spack-stack/modulefiles") -load("cmake/3.20.1") +load("cmake/3.28.1") load("miniconda/3.9.12") -prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env/install/modulefiles/Core") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env-rocky8/install/modulefiles/Core") load("stack-gcc/9.2.0") load("stack-openmpi/4.1.5") diff --git a/scm/etc/modules/hera_intel.lua b/scm/etc/modules/hera_intel.lua index d84db665c..6cdbf7d4c 100644 --- a/scm/etc/modules/hera_intel.lua +++ b/scm/etc/modules/hera_intel.lua @@ -6,10 +6,10 @@ the NOAA RDHPC machine Hera using Intel-2021.5.0 whatis([===[Loads libraries needed for building the CCPP SCM on Hera with Intel compilers ]===]) prepend_path("MODULEPATH", "/scratch1/NCEPDEV/jcsda/jedipara/spack-stack/modulefiles") -load("cmake/3.20.1") +load("cmake/3.28.1") load("miniconda/3.9.12") -prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env/install/modulefiles/Core") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env-rocky8/install/modulefiles/Core") load("stack-intel/2021.5.0") load("stack-intel-oneapi-mpi/2021.5.1") From 906e1e778e881d58b5004fc53d31d2ac7d9ba736 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Thu, 11 Apr 2024 16:26:22 -0400 Subject: [PATCH 131/132] add CITATION.cff file from @scrasmussen from #458 --- CITATION.cff | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 CITATION.cff diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 000000000..4c335023f --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,54 @@ +title: "CCPP Single Column Model (SCM)" +version: 6.0.0 +message: "Please cite this software using the metadata from this file." +type: software +identifiers: + - description: "This is the archived snapshot of all versions of CCPP SCM" + type: doi + value: 10.5281/zenodo.6896437 + - description: "This is the archived snapshot of CCPP SCM v6.0.0" + type: doi + value: 10.5281/zenodo.6896438 +repository-code: "https://github.com/NCAR/ccpp-scm" +url: "https://dtcenter.org/community-code/common-community-physics-package-ccpp" +authors: + - given-names: Grant + family-names: Firl + affiliation: >- + Cooperative Institute for Research in the Atmosphere, + Developmental Testbed Center, + National Oceanic and Atmospheric Administration Global Systems Laboratory + orcid: 0009-0001-7076-2735 + - given-names: Dustin + family-names: Swales + affiliation: >- + Developmental Testbed Center and + National Oceanic and Atmospheric Administration Global Systems Laboratory + orcid: 0000-0002-5322-4521 + - given-names: Laurie + family-names: Carson + affiliation: >- + Developmental Testbed Center and National Center for Atmospheric Research + - given-names: Ligia + family-names: Bernardet + affiliation: >- + Developmental Testbed Center and + National Oceanic and Atmospheric Administration Global Systems Laboratory + orcid: 0000-0002-4952-4038 + - given-names: Dominikus + family-names: Heinzeller + affiliation: Joint Center for Satellite Data Assimilation + orcid: 0000-0003-2962-1049 + - given-names: Michelle + family-names: Harrold + affiliation: >- + Developmental Testbed Center and National Center for Atmospheric Research + - given-names: Tracy + family-names: Hertneky + affiliation: >- + Developmental Testbed Center and National Center for Atmospheric Research + - given-names: Michael + family-names: Kavulich + affiliation: >- + Developmental Testbed Center and National Center for Atmospheric Research +cff-version: 1.2.0 From e5ff0720cf9426f7710b6ec82eae817ab18d99f7 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Thu, 11 Apr 2024 16:32:00 -0400 Subject: [PATCH 132/132] merge in changes from #428 from @hertneky --- scm/src/run_scm.py | 8 ++++---- scm/src/scm_input.F90 | 5 ++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/scm/src/run_scm.py b/scm/src/run_scm.py index 20cfbce6a..926fb68ba 100755 --- a/scm/src/run_scm.py +++ b/scm/src/run_scm.py @@ -488,12 +488,12 @@ def setup_rundir(self): try: input_type = case_nml['case_config']['input_type'] if input_type == 1: + surface_flux_spec = False #open the case data file and read the surfaceForcing global attribute - case_data_dir = case_nml['case_config']['case_data_dir'] - nc_fid = Dataset(os.path.join(SCM_ROOT, case_data_dir) + '/' + self._case + '_SCM_driver.nc' , 'r') - surfaceForcing = nc_fid.getncattr('surfaceForcing') + nc_fid = Dataset(os.path.join(SCM_ROOT, self._case_data_dir) + '/' + self._case + '_SCM_driver.nc' , 'r') + surfaceForcing = nc_fid.getncattr('surface_forcing_temp') nc_fid.close() - if (surfaceForcing.lower() == 'flux' or surfaceForcing.lower() == 'surfaceflux'): + if (surfaceForcing.lower() == 'flux' or surfaceForcing.lower() == 'surface_flux'): surface_flux_spec = True except KeyError: # if not using DEPHY format, check to see if surface fluxes are specified in the case configuration file (default is False) diff --git a/scm/src/scm_input.F90 b/scm/src/scm_input.F90 index 3269c16ac..cc3effcd5 100644 --- a/scm/src/scm_input.F90 +++ b/scm/src/scm_input.F90 @@ -950,7 +950,7 @@ subroutine get_case_init_DEPHY(scm_state, scm_input) real(kind=sp) :: z_nudging_temp, z_nudging_theta, z_nudging_thetal, z_nudging_qv, z_nudging_qt, z_nudging_rv, z_nudging_rt, z_nudging_u, z_nudging_v real(kind=sp) :: p_nudging_temp, p_nudging_theta, p_nudging_thetal, p_nudging_qv, p_nudging_qt, p_nudging_rv, p_nudging_rt, p_nudging_u, p_nudging_v character(len=5) :: input_surfaceType - character(len=11) :: input_surfaceForcingWind='',input_surfaceForcingMoist='',input_surfaceForcingLSM='',input_surfaceForcingTemp='' + character(len=12) :: input_surfaceForcingWind='',input_surfaceForcingMoist='',input_surfaceForcingLSM='',input_surfaceForcingTemp='' ! initial variables (IC = Initial Condition) real(kind=dp), allocatable :: input_lat(:) !< column latitude (deg) @@ -1630,7 +1630,7 @@ subroutine get_case_init_DEPHY(scm_state, scm_input) call NetCDF_read_var(ncid, "wprvp_s", .False., input_force_wprvp) call NetCDF_read_var(ncid, "wprtp_s", .False., input_force_wprtp) else if (trim(input_surfaceForcingMoist) == 'surface_flux') then - call NetCDF_read_var(ncid, "hfls", .False., input_force_sfc_sens_flx) + call NetCDF_read_var(ncid, "hfls", .False., input_force_sfc_lat_flx) endif ! @@ -1969,7 +1969,6 @@ subroutine get_case_init_DEPHY(scm_state, scm_input) if (trim(input_surfaceForcingLSM) == "lsm") then scm_input%input_ozone = input_ozone(:,active_init_time) scm_input%input_area = input_area(active_init_time) - scm_state%area = input_area(active_init_time) scm_input%input_stddev = input_stddev(active_init_time) scm_input%input_convexity= input_convexity(active_init_time)