Skip to content

Commit 42d8ffb

Browse files
committed
Merge branch 'main' into feature/tendency_cleanup
2 parents 21cb109 + c8e4138 commit 42d8ffb

40 files changed

+746
-189
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
SOURCE: Developer's name and affiliation
2+
3+
DESCRIPTION OF CHANGES:
4+
- Bullet points or paragraphs describing problem, solution, and required changes.
5+
- Update documentation under `scm/doc` if needed.
6+
7+
ISSUE: # Enter GitHub Issue number after `#`
8+
9+
ASSOCIATED PRs:
10+
<!-- NOTE: add the associated PR number after the # so Github can automatically link to them --->
11+
- NCAR/ccpp-physics#
12+
- NCAR/ccpp-framework#
13+
14+
TESTS CONDUCTED: List tests done as appropriate. Delete if not used.
15+
16+
17+
<!--
18+
Delete the lines after this comment section if this is not a PR bringing in ufs/dev changes.
19+
Otherwise delete the lines before this comment section.
20+
NOTE: add the associated PR number after the # so Github can automatically link to them
21+
--->
22+
23+
24+
This PR catches the NCAR:main branch up with changes from the ufs-community:ufs/dev branch.
25+
26+
Associated ufs/dev PR:
27+
- ufs-community/ccpp-physics#
28+
29+
Associated fv3atm PR:
30+
- NOAA-EMC/fv3atm#
31+
32+
Associated NCAR PR:
33+
- NCAR/ccpp-physics#
34+
35+
---
36+
37+
REGRESSION TEST CHANGES: Enter NONE if not applicable. Otherwise, expected results changes, input data changes, changes to the software, etc.

.github/workflows/ci_build_scm_ubuntu_22.04.yml renamed to .github/workflows/ci_build_scm_ubuntu.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
name: CI test to build the CCPP-SCM on ubuntu v22.04
1+
name: build the CCPP-SCM on latest Ubuntu runner
22

33
on: [pull_request,workflow_dispatch]
44

55
jobs:
66
build_scm:
77

88
# The type of runner that the job will run on
9-
runs-on: ubuntu-22.04
9+
runs-on: ubuntu-latest
1010
strategy:
1111
matrix:
12-
fortran-compiler: [gfortran-10, gfortran-11, gfortran-12]
12+
fortran-compiler: [gfortran-12, gfortran-14]
1313
build-type: [Release, Debug]
14-
py-version: [3.7.13, 3.9.12]
14+
py-version: [3.11.7, '3.x']
1515

1616
# Environmental variables
1717
env:
@@ -73,7 +73,7 @@ jobs:
7373
uses: actions/cache@v4
7474
with:
7575
path: /home/runner/bacio
76-
key: cache-bacio-fortran-${{matrix.fortran-compiler}}-key
76+
key: cache-bacio-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-${{matrix.py-version}}-key
7777

7878
- name: Install bacio library v2.4.1
7979
if: steps.cache-bacio-fortran.outputs.cache-hit != 'true'
@@ -90,7 +90,7 @@ jobs:
9090
uses: actions/cache@v4
9191
with:
9292
path: /home/runner/NCEPLIBS-sp
93-
key: cache-sp-fortran-${{matrix.fortran-compiler}}-key
93+
key: cache-sp-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-${{matrix.py-version}}-key
9494

9595
- name: Install SP-library v2.3.3
9696
if: steps.cache-sp-fortran.outputs.cache-hit != 'true'
@@ -107,7 +107,7 @@ jobs:
107107
uses: actions/cache@v4
108108
with:
109109
path: /home/runner/myw3emc
110-
key: cache-w3emc-fortran-${{matrix.fortran-compiler}}-key
110+
key: cache-w3emc-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-${{matrix.py-version}}-key
111111

112112
- name: Install w3emc library v2.9.2
113113
if: steps.cache-w3emc-fortran.outputs.cache-hit != 'true'
@@ -129,7 +129,7 @@ jobs:
129129
uses: actions/cache@v4
130130
with:
131131
path: /home/runner/netcdf-fortran
132-
key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key
132+
key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-${{matrix.py-version}}-key
133133

134134
- name: Install NetCDF Fortran library
135135
if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true'

.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml renamed to .github/workflows/ci_build_scm_ubuntu_nvidia.yml

Lines changed: 63 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
name: CI test to build the CCPP-SCM on ubuntu v22.04
1+
name: build the CCPP-SCM with Nvidia
22

33
on: [pull_request,workflow_dispatch]
44

55
jobs:
66

77
build_scm:
88
# The type of runner that the job will run on
9-
runs-on: ubuntu-22.04
9+
runs-on: ubuntu-latest
1010
strategy:
1111
fail-fast: false
1212
matrix:
1313
fortran-compiler: [nvfortran]
14-
build-type: [Release]#, Debug]
15-
enable-gpu-acc: [False, True]
16-
py-version: [3.7.13, 3.9.12]
14+
build-type: [Release] #, Debug]
15+
enable-gpu-acc: [False] #, True] # GPUs aren't available for testing
16+
py-version: [3.11.7]
1717

1818
# Environmental variables
1919
env:
@@ -74,13 +74,13 @@ jobs:
7474
with:
7575
python-version: ${{matrix.py-version}}
7676

77-
- name: Add conda to system path
78-
run: |
79-
echo $CONDA/bin >> $GITHUB_PATH
77+
# - name: Add conda to system path
78+
# run: |
79+
# echo $CONDA/bin >> $GITHUB_PATH
8080

81-
- name: Install NetCDF Python libraries
82-
run: |
83-
conda install --yes -c conda-forge h5py>=3.4 netCDF4 f90nml
81+
# - name: Install NetCDF Python libraries
82+
# run: |
83+
# conda install --yes -c conda-forge h5py>=3.4 netCDF4 f90nml
8484

8585
#######################################################################################
8686
# Install Nvidia.
@@ -90,35 +90,41 @@ jobs:
9090
env:
9191
NVCOMPILERS: /home/runner/hpc_sdk
9292
NVARCH: Linux_x86_64
93+
NVYEAR: 2025
94+
NVVERSION: 25.1
95+
CUDA_VERSION: 12.6
96+
NVVERSION_PACKED: 251 # Manually take NVVERSION and remove . because funcationality not in actions
9397
NVHPC_SILENT: true
9498
NVHPC_INSTALL_DIR: /home/runner/hpc_sdk
9599
NVHPC_INSTALL_TYPE: network
96100
NVHPC_INSTALL_LOCAL_DIR: /home/runner/hpc_sdk
97101
run: |
98102
mkdir /home/runner/hpc_sdk && cd /home/runner/hpc_sdk
99-
wget -q https://developer.download.nvidia.com/hpc-sdk/24.1/nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz
100-
tar xpzf nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz
101-
nvhpc_2024_241_Linux_x86_64_cuda_12.3/install
102-
export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/bin
103-
export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/24.1/compilers/man
103+
wget -q https://developer.download.nvidia.com/hpc-sdk/${NVVERSION}/nvhpc_${NVYEAR}_${NVVERSION_PACKED}_Linux_x86_64_cuda_${CUDA_VERSION}.tar.gz
104+
tar xpzf nvhpc_${NVYEAR}_${NVVERSION_PACKED}_Linux_x86_64_cuda_${CUDA_VERSION}.tar.gz
105+
ls
106+
nvhpc_${NVYEAR}_${NVVERSION_PACKED}_Linux_x86_64_cuda_${CUDA_VERSION}/install
107+
export PATH=${PATH}:${NVCOMPILERS}/${NVARCH}/${NVVERSION}/compilers/bin
108+
export MANPATH=${MANPATH}:${NVCOMPILERS}/${NVARCH}/${NVVERSION}/compilers/man
104109
echo "The nvfortran installed is:"
105110
nvfortran --version
106111
echo "The path to nvfortran is:"
107112
command -v nvfortran
108113
echo "Removing tarball"
109-
rm nvhpc_2024_241_Linux_x86_64_cuda_12.3.tar.gz
110-
111-
- name: Set environment for Nvidia compiler.
112-
run: |
113-
echo "CC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV
114-
echo "FC=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV
115-
echo "CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvc" >> $GITHUB_ENV
116-
echo "CMAKE_Fortran_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/24.1/compilers/bin/nvfortran" >> $GITHUB_ENV
114+
rm nvhpc_${NVYEAR}_${NVVERSION_PACKED}_Linux_x86_64_cuda_${CUDA_VERSION}.tar.gz
115+
echo "CC=/home/runner/hpc_sdk/Linux_x86_64/${NVVERSION}/compilers/bin/nvc" >> $GITHUB_ENV
116+
echo "FC=/home/runner/hpc_sdk/Linux_x86_64/${NVVERSION}/compilers/bin/nvfortran" >> $GITHUB_ENV
117+
echo "CMAKE_C_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/${NVVERSION}/compilers/bin/nvc" >> $GITHUB_ENV
118+
echo "CMAKE_Fortran_COMPILER=/home/runner/hpc_sdk/Linux_x86_64/${NVVERSION}/compilers/bin/nvfortran" >> $GITHUB_ENV
117119
118120
#######################################################################################
119121
# Install FORTRAN dependencies
120122
#######################################################################################
121123

124+
- name: Check space (pre dependency install)
125+
run: |
126+
df -h
127+
122128
- name: Install Curl and zlib
123129
run: |
124130
sudo apt-get update
@@ -142,6 +148,8 @@ jobs:
142148
./configure --prefix=${HDF5_ROOT}
143149
make -j
144150
make install
151+
cd ..
152+
rm -rf hdf5-hdf5-1_14_1-2 hdf5-1_14_1-2.tar.gz
145153
146154
- name: Setup HDF5 Paths
147155
run: |
@@ -175,6 +183,8 @@ jobs:
175183
run: |
176184
cd ${HOME}/openmpi-4.1.6
177185
sudo make install -j
186+
cd ..
187+
rm -rf openmpi-4.1.6 openmpi-4.1.6.tar.gz
178188
179189
- name: Setup OpenMPI Paths
180190
run: |
@@ -213,6 +223,8 @@ jobs:
213223
CPPFLAGS="-I/home/runner/hdf5/include" LDFLAGS="-L/home/runner/hdf5/lib" ./configure --prefix=${NETCDF}
214224
make
215225
make install
226+
cd ..
227+
rm -rf netcdf-c-4.7.4 v4.7.4.tar.gz
216228
217229
- name: Install NetCDF Fortran library
218230
if: steps.cache-netcdf.outputs.cache-hit != 'true'
@@ -223,6 +235,8 @@ jobs:
223235
FCFLAGS="-fPIC" FFLAGS="-fPIC" CPPFLAGS="-I/home/runner/hdf5/include -I/home/runner/netcdf/include" LDFLAGS="-L/home/runner/hdf5/lib -L/home/runner/netcdf/lib" ./configure --prefix=${NETCDF}
224236
make
225237
make install
238+
cd ..
239+
rm -rf netcdf-fortran-4.6.1 v4.6.1.tar.gz
226240
227241
- name: Cache bacio library v2.4.1
228242
id: cache-bacio-fortran
@@ -240,6 +254,8 @@ jobs:
240254
make -j
241255
make install
242256
echo "bacio_DIR=/home/runner/bacio/lib/cmake/bacio" >> $GITHUB_ENV
257+
cd ../../
258+
rm -rf bacio
243259
244260
- name: Cache SP-library v2.3.3
245261
id: cache-sp-fortran
@@ -257,6 +273,8 @@ jobs:
257273
make -j
258274
make install
259275
echo "sp_DIR=/home/runner/NCEPLIBS-sp/lib/cmake/sp" >> $GITHUB_ENV
276+
cd ../../
277+
rm -rf NCEPLIBS-sp
260278
261279
- name: Cache w3emc library v2.9.2
262280
id: cache-w3emc-fortran
@@ -274,6 +292,12 @@ jobs:
274292
make -j
275293
make install
276294
echo "w3emc_DIR=/home/runner/myw3emc/lib/cmake/w3emc" >> $GITHUB_ENV
295+
cd ../../
296+
rm -rf NCEPLIBS-w3emc
297+
298+
- name: Check space (pre SCM build)
299+
run: |
300+
df -h
277301
278302
#######################################################################################
279303
# Build and run SCM regression tests (ccpp-scm/test/rt_test_cases.py)
@@ -290,16 +314,20 @@ jobs:
290314
cd ${SCM_ROOT}/scm/bin
291315
make -j
292316
293-
- name: Download data for SCM
294-
if: contains(matrix.enable-gpu-acc, 'False')
317+
- name: Check space (post SCM build)
295318
run: |
296-
cd ${SCM_ROOT}
297-
./contrib/get_all_static_data.sh
298-
./contrib/get_thompson_tables.sh
299-
./contrib/get_aerosol_climo.sh
319+
df -h
300320
301-
- name: Run SCM RTs (w/o GPU)
302-
if: contains(matrix.enable-gpu-acc, 'False')
303-
run: |
304-
cd ${SCM_ROOT}/scm/bin
305-
./run_scm.py --file /home/runner/work/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 -v
321+
# - name: Download data for SCM
322+
# if: contains(matrix.enable-gpu-acc, 'False')
323+
# run: |
324+
# cd ${SCM_ROOT}
325+
# ./contrib/get_all_static_data.sh
326+
# ./contrib/get_thompson_tables.sh
327+
# ./contrib/get_aerosol_climo.sh
328+
329+
# - name: Run SCM RTs (w/o GPU)
330+
# if: contains(matrix.enable-gpu-acc, 'False')
331+
# run: |
332+
# cd ${SCM_ROOT}/scm/bin
333+
# ./run_scm.py --file /home/runner/work/ccpp-scm/ccpp-scm/test/rt_test_cases.py --runtime_mult 0.1 -v

.github/workflows/ci_run_scm_DEPHY.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
name: CI test to run the SCM with DEPHY v1 data
1+
name: run the SCM with DEPHY v1 data
22

33
on: [pull_request,workflow_dispatch]
44

55
jobs:
66
run-scm-DEPHY:
77

88
# The type of runner that the job will run on
9-
runs-on: ubuntu-22.04
9+
runs-on: ubuntu-latest
1010
strategy:
1111
matrix:
1212
fortran-compiler: [gfortran-12]
1313
build-type: [Release, Debug]
14-
py-version: [3.7.13]
14+
py-version: [3.11.7]
1515

1616
# Environmental variables
1717
env:
@@ -72,7 +72,7 @@ jobs:
7272
uses: actions/cache@v4
7373
with:
7474
path: /home/runner/bacio
75-
key: cache-bacio-fortran-${{matrix.fortran-compiler}}-key
75+
key: cache-bacio-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-key
7676

7777
- name: Install bacio library v2.4.1
7878
if: steps.cache-bacio-fortran.outputs.cache-hit != 'true'
@@ -89,7 +89,7 @@ jobs:
8989
uses: actions/cache@v4
9090
with:
9191
path: /home/runner/NCEPLIBS-sp
92-
key: cache-sp-fortran-${{matrix.fortran-compiler}}-key
92+
key: cache-sp-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-key
9393

9494
- name: Install SP-library v2.3.3
9595
if: steps.cache-sp-fortran.outputs.cache-hit != 'true'
@@ -106,7 +106,7 @@ jobs:
106106
uses: actions/cache@v4
107107
with:
108108
path: /home/runner/myw3emc
109-
key: cache-w3emc-fortran-${{matrix.fortran-compiler}}-key
109+
key: cache-w3emc-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-key
110110

111111
- name: Install w3emc library v2.9.2
112112
if: steps.cache-w3emc-fortran.outputs.cache-hit != 'true'
@@ -126,7 +126,7 @@ jobs:
126126
uses: actions/cache@v4
127127
with:
128128
path: /home/runner/netcdf-fortran
129-
key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-key
129+
key: cache-netcdf-fortran-${{matrix.fortran-compiler}}-${{matrix.build-type}}-key
130130

131131
- name: Install NetCDF Fortran library
132132
if: steps.cache-netcdf-fortran.outputs.cache-hit != 'true'
@@ -151,7 +151,7 @@ jobs:
151151
cd ${SCM_ROOT}
152152
./contrib/get_all_static_data.sh
153153
./contrib/get_thompson_tables.sh
154-
154+
155155
- name: Configure build with CMake (Release)
156156
if: contains(matrix.build-type, 'Release')
157157
run: |

0 commit comments

Comments
 (0)