From 200e64d5d9eb784a998d4fd327cf4a6d5fffaf00 Mon Sep 17 00:00:00 2001 From: Terry McGuinness Date: Tue, 12 Dec 2023 14:46:41 -0600 Subject: [PATCH 1/7] added platform config file in CI for Hercules --- ci/platforms/config.hercules | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 ci/platforms/config.hercules diff --git a/ci/platforms/config.hercules b/ci/platforms/config.hercules new file mode 100644 index 0000000000..3e87ef97a1 --- /dev/null +++ b/ci/platforms/config.hercules @@ -0,0 +1,8 @@ +#!/usr/bin/bash + +export GFS_CI_ROOT=/work2/noaa/stmp/GFS_CI_ROOT +export ICSDIR_ROOT=/work/noaa/global/glopara/data/ICSDIR +export STMP="/work2/noaa/stmp/${USER}" +export SLURM_ACCOUNT=nems +export max_concurrent_cases=5 +export max_concurrent_pr=4 From a5240980287ba859cb08363ab6d4949fff293d9f Mon Sep 17 00:00:00 2001 From: Terry McGuinness Date: Wed, 13 Dec 2023 11:26:51 -0600 Subject: [PATCH 2/7] removed cycled cases from Hercules and added subfolder in GFS_CI_ROOT for Hercules and Orion --- ci/cases/pr/C96C48_hybatmDA.yaml | 3 +++ ci/cases/pr/C96_atm3DVar.yaml | 3 +++ ci/platforms/config.hercules | 2 +- ci/platforms/config.orion | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ci/cases/pr/C96C48_hybatmDA.yaml b/ci/cases/pr/C96C48_hybatmDA.yaml index c3aa6e8892..1f3e973ae7 100644 --- a/ci/cases/pr/C96C48_hybatmDA.yaml +++ b/ci/cases/pr/C96C48_hybatmDA.yaml @@ -16,3 +16,6 @@ arguments: gfs_cyc: 1 start: cold yaml: {{ HOMEgfs }}/ci/platforms/gfs_defaults_ci.yaml + +skip_ci_on_hosts: + - hercules diff --git a/ci/cases/pr/C96_atm3DVar.yaml b/ci/cases/pr/C96_atm3DVar.yaml index 5215cb0d90..360e81e9d7 100644 --- a/ci/cases/pr/C96_atm3DVar.yaml +++ b/ci/cases/pr/C96_atm3DVar.yaml @@ -15,3 +15,6 @@ arguments: gfs_cyc: 1 start: cold yaml: {{ HOMEgfs }}/ci/platforms/gfs_defaults_ci.yaml + +skip_ci_on_hosts: + - hercules diff --git a/ci/platforms/config.hercules b/ci/platforms/config.hercules index 3e87ef97a1..e5a638a827 100644 --- a/ci/platforms/config.hercules +++ b/ci/platforms/config.hercules @@ -1,6 +1,6 @@ #!/usr/bin/bash -export GFS_CI_ROOT=/work2/noaa/stmp/GFS_CI_ROOT +export GFS_CI_ROOT=/work2/noaa/stmp/GFS_CI_ROOT/HERCULES export ICSDIR_ROOT=/work/noaa/global/glopara/data/ICSDIR export STMP="/work2/noaa/stmp/${USER}" export SLURM_ACCOUNT=nems diff --git a/ci/platforms/config.orion b/ci/platforms/config.orion index 3e87ef97a1..3ddd05c034 100644 --- a/ci/platforms/config.orion +++ b/ci/platforms/config.orion @@ -1,6 +1,6 @@ #!/usr/bin/bash -export GFS_CI_ROOT=/work2/noaa/stmp/GFS_CI_ROOT +export GFS_CI_ROOT=/work2/noaa/stmp/GFS_CI_ROOT/ORION export ICSDIR_ROOT=/work/noaa/global/glopara/data/ICSDIR export STMP="/work2/noaa/stmp/${USER}" export SLURM_ACCOUNT=nems From ca3187ff0685aa409ccb4a7337ff11e6116c879b Mon Sep 17 00:00:00 2001 From: tmcguinness Date: Thu, 14 Dec 2023 19:38:49 +0000 Subject: [PATCH 3/7] updated ocean post config in parm to include HERCULES to exclude it becuse NCL module is not there yet --- parm/config/gfs/config.ocnpost | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/gfs/config.ocnpost b/parm/config/gfs/config.ocnpost index 2505431401..7393e3d1a1 100644 --- a/parm/config/gfs/config.ocnpost +++ b/parm/config/gfs/config.ocnpost @@ -17,7 +17,7 @@ case "${OCNRES}" in *) export MAKE_OCN_GRIB="NO";; esac -if [[ "${machine}" = "WCOSS2" ]]; then +if [[ "${machine}" = "WCOSS2" ]] || [[ "${machine}" = "HERCULES" ]]; then #Currently the conversion to netcdf uses NCL which is not on WCOSS2 #This should be removed when this is updated export MAKE_OCN_GRIB="NO" From 254a993f8450d4498c7b011e10fae58d05e93239 Mon Sep 17 00:00:00 2001 From: tmcguinness Date: Thu, 14 Dec 2023 19:41:06 +0000 Subject: [PATCH 4/7] updated comment in ocean post to include HERCULES as well as WCOSS --- parm/config/gfs/config.ocnpost | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/gfs/config.ocnpost b/parm/config/gfs/config.ocnpost index 7393e3d1a1..851c476e6c 100644 --- a/parm/config/gfs/config.ocnpost +++ b/parm/config/gfs/config.ocnpost @@ -18,7 +18,7 @@ case "${OCNRES}" in esac if [[ "${machine}" = "WCOSS2" ]] || [[ "${machine}" = "HERCULES" ]]; then - #Currently the conversion to netcdf uses NCL which is not on WCOSS2 + #Currently the conversion to netcdf uses NCL which is not on WCOSS2 or HERCULES #This should be removed when this is updated export MAKE_OCN_GRIB="NO" fi From e428616b78ab34cdf0289c4c148314dd1ef05954 Mon Sep 17 00:00:00 2001 From: Terry McGuinness Date: Wed, 20 Dec 2023 16:11:13 -0600 Subject: [PATCH 5/7] added hercules in support lines and added FF build only for Hercules --- ci/scripts/check_ci.sh | 2 +- ci/scripts/clone-build_ci.sh | 8 +++++++- ci/scripts/driver.sh | 4 ++-- ci/scripts/driver_weekly.sh | 2 +- ci/scripts/run_ci.sh | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ci/scripts/check_ci.sh b/ci/scripts/check_ci.sh index 164d423c67..d7d302280c 100755 --- a/ci/scripts/check_ci.sh +++ b/ci/scripts/check_ci.sh @@ -22,7 +22,7 @@ REPO_URL="https://github.com/NOAA-EMC/global-workflow.git" source "${ROOT_DIR}/ush/detect_machine.sh" case ${MACHINE_ID} in - hera | orion) + hera | orion | hercules) echo "Running Automated Testing on ${MACHINE_ID}" source "${ROOT_DIR}/ci/platforms/config.${MACHINE_ID}" ;; diff --git a/ci/scripts/clone-build_ci.sh b/ci/scripts/clone-build_ci.sh index 798c98bf50..a7be78ddfc 100755 --- a/ci/scripts/clone-build_ci.sh +++ b/ci/scripts/clone-build_ci.sh @@ -74,7 +74,13 @@ set +e source "${HOMEgfs}/ush/module-setup.sh" export BUILD_JOBS=8 rm -rf log.build -./build_all.sh -gu >> log.build 2>&1 +# TODO until full cycle port on Hercules is complete +# we only build for FF for now on Hercules +if [[ "${MACHINE_ID}" == "HERCULES" ]]; then + ./build_all.sh >> log.build 2>&1 +else + ./build_all.sh -gu >> log.build 2>&1 +fi build_status=$? DATE=$(date +'%D %r') diff --git a/ci/scripts/driver.sh b/ci/scripts/driver.sh index a0edb4b4c3..5fc13ea524 100755 --- a/ci/scripts/driver.sh +++ b/ci/scripts/driver.sh @@ -34,7 +34,7 @@ export PS4='+ $(basename ${BASH_SOURCE})[${LINENO}]' source "${ROOT_DIR}/ush/detect_machine.sh" case ${MACHINE_ID} in - hera | orion) + hera | orion | hercules) echo "Running Automated Testing on ${MACHINE_ID}" source "${ROOT_DIR}/ci/platforms/config.${MACHINE_ID}" ;; @@ -173,7 +173,7 @@ for pr in ${pr_list}; do # we need to exit this instance of the driver script ################################################################# if [[ ${ci_status} -ne 0 ]]; then - build_PID_check=$("${ROOT_DIR}/ci/scripts/pr_list_database.py" --display "{pr}" --dbfile "${pr_list_dbfile}" | awk '{print $4}' | cut -d":" -f1) || true + build_PID_check=$("${ROOT_DIR}/ci/scripts/pr_list_database.py" --display "${pr}" --dbfile "${pr_list_dbfile}" | awk '{print $4}' | cut -d":" -f1) || true if [[ "${build_PID_check}" -ne "$$" ]]; then echo "Driver build PID: ${build_PID_check} no longer running this build ... exiting" exit 0 diff --git a/ci/scripts/driver_weekly.sh b/ci/scripts/driver_weekly.sh index 88b027d100..9460e0b0a4 100755 --- a/ci/scripts/driver_weekly.sh +++ b/ci/scripts/driver_weekly.sh @@ -38,7 +38,7 @@ export PS4='+ $(basename ${BASH_SOURCE[0]})[${LINENO}]' source "${ROOT_DIR}/ush/detect_machine.sh" case ${MACHINE_ID} in - hera | orion) + hera | orion | hercules) echo "Running Automated Testing on ${MACHINE_ID}" source "${ROOT_DIR}/ci/platforms/config.${MACHINE_ID}" ;; diff --git a/ci/scripts/run_ci.sh b/ci/scripts/run_ci.sh index cdaafb337f..4a390a23f2 100755 --- a/ci/scripts/run_ci.sh +++ b/ci/scripts/run_ci.sh @@ -20,7 +20,7 @@ export PS4='+ $(basename ${BASH_SOURCE})[${LINENO}]' source "${ROOT_DIR}/ush/detect_machine.sh" case ${MACHINE_ID} in - hera | orion) + hera | orion | hercules) echo "Running Automated Testing on ${MACHINE_ID}" source "${ROOT_DIR}/ci/platforms/config.${MACHINE_ID}" ;; From eb3b19a21efa5ea0901320fed2e8f16cd3f2d0d0 Mon Sep 17 00:00:00 2001 From: Terry McGuinness Date: Wed, 20 Dec 2023 16:14:29 -0600 Subject: [PATCH 6/7] lowercase for MACHINE_ID in clone build script --- ci/scripts/clone-build_ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/scripts/clone-build_ci.sh b/ci/scripts/clone-build_ci.sh index a7be78ddfc..cb143103b5 100755 --- a/ci/scripts/clone-build_ci.sh +++ b/ci/scripts/clone-build_ci.sh @@ -76,7 +76,7 @@ export BUILD_JOBS=8 rm -rf log.build # TODO until full cycle port on Hercules is complete # we only build for FF for now on Hercules -if [[ "${MACHINE_ID}" == "HERCULES" ]]; then +if [[ "${MACHINE_ID}" == "hercules" ]]; then ./build_all.sh >> log.build 2>&1 else ./build_all.sh -gu >> log.build 2>&1 From 9f0360e594166d1d963e594ebe3f4fcaa83172e1 Mon Sep 17 00:00:00 2001 From: Terry McGuinness Date: Mon, 8 Jan 2024 10:46:49 -0600 Subject: [PATCH 7/7] removed not building gdas --- ci/scripts/clone-build_ci.sh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ci/scripts/clone-build_ci.sh b/ci/scripts/clone-build_ci.sh index cb143103b5..798c98bf50 100755 --- a/ci/scripts/clone-build_ci.sh +++ b/ci/scripts/clone-build_ci.sh @@ -74,13 +74,7 @@ set +e source "${HOMEgfs}/ush/module-setup.sh" export BUILD_JOBS=8 rm -rf log.build -# TODO until full cycle port on Hercules is complete -# we only build for FF for now on Hercules -if [[ "${MACHINE_ID}" == "hercules" ]]; then - ./build_all.sh >> log.build 2>&1 -else - ./build_all.sh -gu >> log.build 2>&1 -fi +./build_all.sh -gu >> log.build 2>&1 build_status=$? DATE=$(date +'%D %r')