Skip to content

Commit d8d7614

Browse files
Add multiple UFS WM tests to automated build / test (#1629)
Three primary changes: 1. add a test configuration file (rt.conf) for multiple UFS WM tests 2. option to override the UFS WM default setting for variable dprefix (where test results are written) 3. default compiler for orion is now oneAPI - MSU sysadmins removed the Intel classic compiler+MPI modules / will not reinstall them Also: - update a setting for WORK_DIR / `$(dirname $0) - ability to override default settings for SPACK_STACK_URL and SPACK_STACK_BRANCH - fix setting of a return code - updated hercules and orion packages.yaml to build against externally provided Qt - removed entry for oneAPI compiler module for hercules / orion packages_oneapi.yaml files. Its presence led to this issue.
1 parent f43c801 commit d8d7614

File tree

8 files changed

+50
-9
lines changed

8 files changed

+50
-9
lines changed

configs/sites/tier1/hercules/packages.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ packages:
8888
externals:
8989
- spec: pkgconf@1.7.3
9090
prefix: /usr
91+
qt:
92+
externals:
93+
- spec: qt@5.15.14
94+
prefix: /apps/contrib/spack-stack-1.1/gcc-11.3.1/qt-5.15.14-mfeuvcidmyqoi2m5i2tfrk6yd7xtk6pt
9195
sed:
9296
externals:
9397
- spec: sed@4.8

configs/sites/tier1/hercules/packages_oneapi.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ packages:
1515
- spec: intel-oneapi-mpi@2021.13%oneapi@2024.2.1
1616
prefix: /apps/spack-managed-x86_64_v3-v1.0/oneapi-2024.2.1/intel-oneapi-mpi-2021.13.1-3pv63eugwmse2xpeglxib4dr2oeb42g2
1717
modules:
18-
- intel-oneapi-compilers/2024.2.1
1918
- intel-oneapi-mpi/2021.13.1
2019

2120
intel-oneapi-mkl:

configs/sites/tier1/orion/packages.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,10 @@ packages:
103103
externals:
104104
- spec: pkgconf@1.7.3
105105
prefix: /usr
106+
qt:
107+
externals:
108+
- spec: qt@5.15.14
109+
prefix: /apps/spack-managed-x86_64_v3-v1.0/gcc-11.3.1/qt-5.15.14-xsxk4vxuyi4apu36ix6heamra673izdu
106110
sed:
107111
externals:
108112
- spec: sed@4.8

configs/sites/tier1/orion/packages_oneapi.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ packages:
1414
externals:
1515
- spec: intel-oneapi-mpi@2021.13%oneapi@2024.2.1
1616
modules:
17-
- intel-oneapi-compilers/2024.2.1
1817
- intel-oneapi-mpi/2021.13.1
1918
prefix: /apps/spack-managed-x86_64_v3-v1.0/oneapi-2024.2.1/intel-oneapi-mpi-2021.13.1-3pv63eugwmse2xpeglxib4dr2oeb42g2
2019

util/weekly_build/ShellSetup.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function spack_install_wrapper {
3333
}
3434

3535
# Include platform-dependent configuration
36-
. $(dirname $0)/sites/${PLATFORM}.sh
36+
. ${WORK_DIR:-$(dirname $0)}/sites/${PLATFORM}.sh
3737

3838
SOURCE_CACHE=${SOURCE_CACHE:-local-source}
3939
BUILD_CACHE=${BUILD_CACHE:-local-binary}

util/weekly_build/apptests/rt.conf

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
### RT.CONF FORMATTING ###
2+
# COMPILE Line ( Items separated by a | )
3+
# Item 1: COMPILE - This tells rt.conf the following information is to be used in setting up a compile job
4+
# Item 2: Compile name - The rt.sh will add _gnu or _intel to it. There must be no duplicate names for each compiler.
5+
# If two compilations are identical except compiler, please use the same name for each.
6+
# Item 3: Compiler to use in build (intel or gnu)
7+
# Item 4: CMAKE Options - Provide all CMAKE options for the build
8+
# Item 5: Machines to run on (- is used to ignore specified machines, + is used to only run on specified machines)
9+
## -> EX: + hera orion gaea = compile will only run on hera orion and gaea machines
10+
## -> EX: - wcoss2 acorn = compile will NOT be run on wcoss2 or acorn
11+
# Item 6: [set as fv3]. Used to control the compile job only if FV3 was present, previously used to run a test w/o compiling code
12+
#
13+
# RUN Line ( Items separated by a | )
14+
## NOTE: The build resulting from the COMPILE line above the RUN line will be used to run the test
15+
# Item 1: RUN - This tells rt.conf the following information is to be used in setting up a model run
16+
# Item 2: Test name. (Which test in the tests/tests directory should be sourced)
17+
# Item 3: Machines to run on (- is used to ignore specified machines, + is used to only run on specified machines).
18+
## reference example above
19+
# Item 4: Controls whether the run creates its own baseline or it uses the baseline from a different (control) test.
20+
# Item 5: Test name to compare baselines with if not itself.
21+
22+
#############################
23+
### Intel (Classic) Tests ###
24+
#############################
25+
26+
#SFS
27+
COMPILE | s2swa | intel | -DAPP=S2SWA -DCCPP_SUITES=FV3_GFS_v17_coupled_p8,FV3_GFS_v17_coupled_p8_ugwpv1 | | fv3 |
28+
RUN | cpld_control_p8 | - noaacloud | baseline |
29+
30+
### ATM tests ###
31+
COMPILE | atm_dyn32 | intel | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v16,FV3_GFS_v16_flake,FV3_GFS_v17_p8,FV3_GFS_v17_p8_rrtmgp,FV3_GFS_v15_thompson_mynn_lam3km,FV3_WoFS_v0,FV3_GFS_v17_p8_mynn,FV3_GFS_v17_p8_ugwpv1 -D32BIT=ON | | fv3 |
32+
RUN | control_c48 | | baseline |

util/weekly_build/apptests/test_ufswm.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,16 @@ echo "Current directory, in which ufs-weather-model will be cloned: $PWD"
99
UFSWM_BRANCH=${UFSWM_BRANCH:-develop}
1010
UFSWM_URL=${UFSWM_URL:-"https://github.com/ufs-community/ufs-weather-model.git"}
1111

12+
# allow override of UFS WM default location for dprefix
13+
dprefix=${dprefix:-${WORK_DIR:-$(dirname $0)}}
14+
1215
if [ ! -d ufs-weather-model ]; then
1316
git clone --recurse-submodules --single-branch --depth 1 --shallow-submodules ${UFSWM_URL} -b ${UFSWM_BRANCH}
1417
fi
1518
cd ufs-weather-model/tests
1619

1720
# rt.sh will parse arguments passed to it
18-
./rt.sh $RT_ARGS -a ${BATCHACCOUNT:?} -n 'control_c48 intel'
21+
./rt.sh $RT_ARGS -a ${BATCHACCOUNT:?} -l ${WORK_DIR:-$(dirname $0)}/apptests/rt.conf
1922

20-
rc = $?
23+
rc=$?
2124
return $rc

util/weekly_build/sites/orion.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
COMPILERS=${COMPILERS:-"intel"}
2+
COMPILERS=${COMPILERS:-"oneapi"}
33
TEMPLATES=${TEMPLATES:-"unified-dev"}
44

55
function alert_cmd {
@@ -9,8 +9,8 @@ function alert_cmd {
99
module --force purge
1010
umask 0022
1111

12-
SPACK_STACK_URL=https://github.com/JCSDA/spack-stack.git
13-
SPACK_STACK_BRANCH=develop
12+
SPACK_STACK_URL=${SPACK_STACK_URL:-https://github.com/JCSDA/spack-stack.git}
13+
SPACK_STACK_BRANCH=${SPACK_STACK_BRANCH:-develop}
1414

1515
KEEP_WEEKLY_BUILD_DIR="YES"
1616
PADDED_LENGTH=200
@@ -25,6 +25,6 @@ UFSWM_URL="https://github.com/ufs-community/ufs-weather-model.git"
2525

2626
# rt.sh parameters / arguments
2727
BATCHACCOUNT=epic
28-
RT_ARGS="-k -r"
28+
RT_ARGS="-c -k -r"
2929

3030
FIND_CMD="find"

0 commit comments

Comments
 (0)