diff --git a/dev/ci/Jenkinsfile b/dev/ci/Jenkinsfile index af508d63427..20c3e39a629 100644 --- a/dev/ci/Jenkinsfile +++ b/dev/ci/Jenkinsfile @@ -6,9 +6,9 @@ def HOMEgfs_dev = 'none' def CI_CASES = '' def GH = 'none' // Map of the machine names (MACHINE_ID) to the Jenkins Node names -def NodeName = [hera: 'Hera-EMC', ursa: 'Ursa-EMC', orion: 'Orion-EMC', hercules: 'Hercules-EMC', gaeac5: 'GaeaC5', gaeac6: 'Gaeac6-EMC'] +def NodeName = [hera: 'Hera-EMC', ursa: 'Ursa-EMC', orion: 'Orion-EMC', hercules: 'Hercules-EMC', gaeac6: 'Gaeac6-EMC'] // Location of the custom workspaces for each machine in the CI system. They are persistent for each iteration of the PR. -def custom_workspace = [hera: '/scratch3/NCEPDEV/global/role.glopara/CI/HERA', ursa: '/scratch3/NCEPDEV/global/role.glopara/CI/URSA', orion: '/work2/noaa/global/role-global/GFS_CI_CD/ORION/CI', hercules: '/work2/noaa/global/role-global/GFS_CI_CD/HERCULES/CI', gaeac5: '/gpfs/f5/epic/proj-shared/global/CI', gaeac6: '/gpfs/f6/drsa-precip3/world-shared/global/CI'] +def custom_workspace = [hera: '/scratch3/NCEPDEV/global/role.glopara/CI/HERA', ursa: '/scratch3/NCEPDEV/global/role.glopara/CI/URSA', orion: '/work2/noaa/global/role-global/GFS_CI_CD/ORION/CI', hercules: '/work2/noaa/global/role-global/GFS_CI_CD/HERCULES/CI', gaeac6: '/gpfs/f6/drsa-precip3/world-shared/global/CI'] def repo_url = 'git@github.com:NOAA-EMC/global-workflow.git' def STATUS = 'Passed' @@ -87,7 +87,7 @@ pipeline { Machine = machine[0].toUpperCase() + machine.substring(1) echo "Getting Common Workspace for ${Machine}" ws("${custom_workspace[machine]}/${env.CHANGE_ID}") { - properties([parameters([[$class: 'NodeParameterDefinition', allowedSlaves: ['built-in', 'hercules-emc', 'hera-emc', 'ursa-emc', 'orion-emc', 'gaeaC5', 'gaeaC6-emc'], defaultSlaves: ['built-in'], name: '', nodeEligibility: [$class: 'AllNodeEligibility'], triggerIfResult: 'allCases']])]) + properties([parameters([[$class: 'NodeParameterDefinition', allowedSlaves: ['built-in', 'hercules-emc', 'hera-emc', 'ursa-emc', 'orion-emc', 'gaeaC6-emc'], defaultSlaves: ['built-in'], name: '', nodeEligibility: [$class: 'AllNodeEligibility'], triggerIfResult: 'allCases']])]) GH = sh(script: "which gh || echo '~/bin/gh'", returnStdout: true).trim() CUSTOM_WORKSPACE = "${WORKSPACE}" HOMEgfs = "${CUSTOM_WORKSPACE}/global-workflow" diff --git a/dev/ci/Jenkinsfile4AWS b/dev/ci/Jenkinsfile4AWS index 62237587a18..ff519270456 100644 --- a/dev/ci/Jenkinsfile4AWS +++ b/dev/ci/Jenkinsfile4AWS @@ -86,7 +86,7 @@ pipeline { Machine = machine[0].toUpperCase() + machine.substring(1) echo "Getting Common Workspace for ${Machine}" ws("${custom_workspace[machine]}/${env.CHANGE_ID}") { - properties([parameters([[$class: 'NodeParameterDefinition', allowedSlaves: ['built-in', 'Hercules-EMC', 'Hera-EMC', 'Orion-EMC', 'GaeaC5', 'GaeaC6-EMC', 'Awsepicglobalworkflow'], defaultSlaves: ['built-in'], name: '', nodeEligibility: [$class: 'AllNodeEligibility'], triggerIfResult: 'allCases']])]) + properties([parameters([[$class: 'NodeParameterDefinition', allowedSlaves: ['built-in', 'Hercules-EMC', 'Hera-EMC', 'Orion-EMC', 'GaeaC6-EMC', 'Awsepicglobalworkflow'], defaultSlaves: ['built-in'], name: '', nodeEligibility: [$class: 'AllNodeEligibility'], triggerIfResult: 'allCases']])]) GH = sh(script: "which gh || echo '~/bin/gh'", returnStdout: true).trim() CUSTOM_WORKSPACE = "${custom_workspace[machine]}/${env.CHANGE_ID}/${aws_gw_name}" HOMEgfs = "${CUSTOM_WORKSPACE}/${aws_gw_name}" diff --git a/dev/ci/cases/pr/C48_ATM_ecflow.yaml b/dev/ci/cases/pr/C48_ATM_ecflow.yaml index eae20d5a591..7f996fcfdbd 100644 --- a/dev/ci/cases/pr/C48_ATM_ecflow.yaml +++ b/dev/ci/cases/pr/C48_ATM_ecflow.yaml @@ -14,7 +14,6 @@ skip_ci_on_hosts: - wcoss2 - hera - ursa - - gaeac5 - gaeac6 - orion - hercules diff --git a/dev/ci/cases/pr/C48_S2SWA_gefs_RT.yaml b/dev/ci/cases/pr/C48_S2SWA_gefs_RT.yaml index ba6749b1e03..55b0fa15c7f 100644 --- a/dev/ci/cases/pr/C48_S2SWA_gefs_RT.yaml +++ b/dev/ci/cases/pr/C48_S2SWA_gefs_RT.yaml @@ -21,7 +21,6 @@ experiment: # Add this to run the stage ic job 'icsdir: /lfs/h2/emc/ens/noscrub/eric.sinsky/RETRO_ICS' skip_ci_on_hosts: - gaeac6 - - gaeac5 - hercules - wcoss2 - hera diff --git a/dev/ci/cases/pr/C48_S2SW_extended.yaml b/dev/ci/cases/pr/C48_S2SW_extended.yaml index c6e0c29f25c..af676b4dbe6 100644 --- a/dev/ci/cases/pr/C48_S2SW_extended.yaml +++ b/dev/ci/cases/pr/C48_S2SW_extended.yaml @@ -14,7 +14,6 @@ experiment: skip_ci_on_hosts: - hera - ursa - - gaeac5 - gaeac6 - orion - hercules diff --git a/dev/ci/cases/pr/C48mx500_3DVarAOWCDA.yaml b/dev/ci/cases/pr/C48mx500_3DVarAOWCDA.yaml index 720bac1f691..74ba40c7d85 100644 --- a/dev/ci/cases/pr/C48mx500_3DVarAOWCDA.yaml +++ b/dev/ci/cases/pr/C48mx500_3DVarAOWCDA.yaml @@ -16,7 +16,6 @@ experiment: yaml: {{ HOMEgfs }}/dev/ci/cases/yamls/soca_gfs_defaults_ci.yaml skip_ci_on_hosts: - - gaeac5 - orion - awsepicglobalworkflow diff --git a/dev/ci/cases/pr/C48mx500_hybAOWCDA.yaml b/dev/ci/cases/pr/C48mx500_hybAOWCDA.yaml index 905ed594f54..20fcd9001a1 100644 --- a/dev/ci/cases/pr/C48mx500_hybAOWCDA.yaml +++ b/dev/ci/cases/pr/C48mx500_hybAOWCDA.yaml @@ -17,7 +17,6 @@ experiment: yaml: {{ HOMEgfs }}/dev/ci/cases/yamls/soca_hyb_gfs_defaults_ci.yaml skip_ci_on_hosts: - - gaeac5 - orion - awsepicglobalworkflow diff --git a/dev/ci/cases/pr/C96C48_hybatmDA.yaml b/dev/ci/cases/pr/C96C48_hybatmDA.yaml index 66cb2168658..a5bc5763415 100644 --- a/dev/ci/cases/pr/C96C48_hybatmDA.yaml +++ b/dev/ci/cases/pr/C96C48_hybatmDA.yaml @@ -18,7 +18,6 @@ experiment: skip_ci_on_hosts: - awsepicglobalworkflow - - gaeac5 workflow: engine: rocoto diff --git a/dev/ci/cases/pr/C96C48_hybatmsnowDA.yaml b/dev/ci/cases/pr/C96C48_hybatmsnowDA.yaml index 59ea35b979e..781e62a6579 100644 --- a/dev/ci/cases/pr/C96C48_hybatmsnowDA.yaml +++ b/dev/ci/cases/pr/C96C48_hybatmsnowDA.yaml @@ -17,7 +17,6 @@ experiment: skip_ci_on_hosts: - orion - - gaeac5 - hercules - awsepicglobalworkflow diff --git a/dev/ci/cases/pr/C96C48_hybatmsoilDA.yaml b/dev/ci/cases/pr/C96C48_hybatmsoilDA.yaml index 155e67a414c..6e58fcae15b 100644 --- a/dev/ci/cases/pr/C96C48_hybatmsoilDA.yaml +++ b/dev/ci/cases/pr/C96C48_hybatmsoilDA.yaml @@ -18,7 +18,6 @@ experiment: skip_ci_on_hosts: - orion - hercules - - gaeac5 - awsepicglobalworkflow workflow: diff --git a/dev/ci/cases/pr/C96C48_ufs_hybatmDA.yaml b/dev/ci/cases/pr/C96C48_ufs_hybatmDA.yaml index eaafc4b3853..f1d660c62bf 100644 --- a/dev/ci/cases/pr/C96C48_ufs_hybatmDA.yaml +++ b/dev/ci/cases/pr/C96C48_ufs_hybatmDA.yaml @@ -16,7 +16,6 @@ experiment: yaml: {{ HOMEgfs }}/dev/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml skip_ci_on_hosts: - - gaeac5 - gaeac6 - orion - hercules diff --git a/dev/ci/cases/pr/C96C48_ufsgsi_hybatmDA.yaml b/dev/ci/cases/pr/C96C48_ufsgsi_hybatmDA.yaml index 14cc30db214..3b41c87dd8b 100644 --- a/dev/ci/cases/pr/C96C48_ufsgsi_hybatmDA.yaml +++ b/dev/ci/cases/pr/C96C48_ufsgsi_hybatmDA.yaml @@ -16,7 +16,6 @@ experiment: yaml: {{ HOMEgfs }}/dev/ci/cases/yamls/ufsgsi_hybatmDA_defaults.ci.yaml skip_ci_on_hosts: - - gaeac5 - gaeac6 - orion - hercules diff --git a/dev/ci/cases/pr/C96C48mx500_S2SW_cyc_gfs.yaml b/dev/ci/cases/pr/C96C48mx500_S2SW_cyc_gfs.yaml index f7184a4b228..704d53b5835 100644 --- a/dev/ci/cases/pr/C96C48mx500_S2SW_cyc_gfs.yaml +++ b/dev/ci/cases/pr/C96C48mx500_S2SW_cyc_gfs.yaml @@ -17,7 +17,6 @@ experiment: yaml: {{ HOMEgfs }}/dev/ci/cases/yamls/gfs_cyc_defaults_ci.yaml skip_ci_on_hosts: - - gaeac5 workflow: engine: rocoto diff --git a/dev/ci/cases/pr/C96_atm3DVar.yaml b/dev/ci/cases/pr/C96_atm3DVar.yaml index 63568627a34..692caffe758 100644 --- a/dev/ci/cases/pr/C96_atm3DVar.yaml +++ b/dev/ci/cases/pr/C96_atm3DVar.yaml @@ -15,7 +15,6 @@ experiment: yaml: {{ HOMEgfs }}/dev/ci/cases/yamls/gfs_metp_ci.yaml skip_ci_on_hosts: - - gaeac5 - awsepicglobalworkflow - wcoss2 diff --git a/dev/ci/cases/pr/C96_atm3DVar_extended.yaml b/dev/ci/cases/pr/C96_atm3DVar_extended.yaml index fda4f62d1c6..3a7c9323656 100644 --- a/dev/ci/cases/pr/C96_atm3DVar_extended.yaml +++ b/dev/ci/cases/pr/C96_atm3DVar_extended.yaml @@ -17,7 +17,6 @@ experiment: skip_ci_on_hosts: - hera - ursa - - gaeac5 - gaeac6 - orion - hercules diff --git a/dev/ci/cases/pr/C96_gcafs_cycled.yaml b/dev/ci/cases/pr/C96_gcafs_cycled.yaml index 3a261feb198..2defe20e480 100644 --- a/dev/ci/cases/pr/C96_gcafs_cycled.yaml +++ b/dev/ci/cases/pr/C96_gcafs_cycled.yaml @@ -15,7 +15,6 @@ experiment: yaml: {{ HOMEgfs }}/dev/ci/cases/yamls/gcafs_cycled_defaults_ci.yaml skip_ci_on_hosts: - - gaeac5 - awsepicglobalworkflow workflow: diff --git a/dev/ci/cases/pr/C96_gcafs_cycled_noDA.yaml b/dev/ci/cases/pr/C96_gcafs_cycled_noDA.yaml index dbe69605e7f..2bc791ca89c 100644 --- a/dev/ci/cases/pr/C96_gcafs_cycled_noDA.yaml +++ b/dev/ci/cases/pr/C96_gcafs_cycled_noDA.yaml @@ -16,7 +16,6 @@ experiment: skip_ci_on_hosts: - orion - - gaeac5 - hercules - awsepicglobalworkflow diff --git a/dev/ci/cases/pr/C96mx100_S2S.yaml b/dev/ci/cases/pr/C96mx100_S2S.yaml index 6049ccdd43e..304ffc57043 100644 --- a/dev/ci/cases/pr/C96mx100_S2S.yaml +++ b/dev/ci/cases/pr/C96mx100_S2S.yaml @@ -16,7 +16,6 @@ experiment: yaml: {{ HOMEgfs }}/dev/ci/cases/yamls/sfs_defaults.yaml skip_ci_on_hosts: - - gaeac5 - awsepicglobalworkflow workflow: diff --git a/dev/ci/cases/sfsv1/C96mx025_S2S.yaml b/dev/ci/cases/sfsv1/C96mx025_S2S.yaml index 04510e59ce6..f4632cc0193 100644 --- a/dev/ci/cases/sfsv1/C96mx025_S2S.yaml +++ b/dev/ci/cases/sfsv1/C96mx025_S2S.yaml @@ -16,7 +16,6 @@ experiment: yaml: {{ HOMEgfs }}/dev/ci/cases/yamls/sfs_CPC_defaults.yaml skip_ci_on_hosts: - - gaeac5 - awsepicglobalworkflow workflow: diff --git a/dev/ci/platforms/config.gaeac5 b/dev/ci/platforms/config.gaeac5 deleted file mode 100644 index afae735a0f6..00000000000 --- a/dev/ci/platforms/config.gaeac5 +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/bash - -export GFS_CI_ROOT=/gpfs/f5/epic/proj-shared/global/GFS_CI_ROOT -export ICSDIR_ROOT=/gpfs/f5/epic/proj-shared/global/glopara/data/ICSDIR -export HPC_ACCOUNT=${HPC_ACCOUNT:-epic} -export max_concurrent_cases=5 -export max_concurrent_pr=4 diff --git a/dev/ci/scripts/utils/gitlab/launch_gitlab_runner.sh b/dev/ci/scripts/utils/gitlab/launch_gitlab_runner.sh index 93eb80e1fb6..21bfd657f03 100755 --- a/dev/ci/scripts/utils/gitlab/launch_gitlab_runner.sh +++ b/dev/ci/scripts/utils/gitlab/launch_gitlab_runner.sh @@ -26,7 +26,7 @@ host="$(hostname)" source "${HOMEgfs_}/ush/detect_machine.sh" # Check the MACHINE_ID and set up the environment accordingly case "${MACHINE_ID}" in - hera | orion | hercules | wcoss2 | gaeac5 | gaeac6) + hera | orion | hercules | wcoss2 | gaeac6) echo "Running GitLab Runner script on ${MACHINE_ID}" ;; noaacloud) diff --git a/dev/ci/scripts/utils/launch_java_agent.sh b/dev/ci/scripts/utils/launch_java_agent.sh index 5df17cf1784..572668efa5c 100755 --- a/dev/ci/scripts/utils/launch_java_agent.sh +++ b/dev/ci/scripts/utils/launch_java_agent.sh @@ -79,7 +79,7 @@ host=$(hostname) source "${HOMEgfs_}/ush/detect_machine.sh" case ${MACHINE_ID} in - hera | orion | hercules | wcoss2 | gaeac5 | gaeac6) + hera | orion | hercules | wcoss2 | gaeac6) echo "Launch Jenkins Java Controler on ${MACHINE_ID}" ;; noaacloud) diff --git a/dev/parm/config/gcafs/config.resources b/dev/parm/config/gcafs/config.resources index 5ef6de40077..3bd2ed049c8 100644 --- a/dev/parm/config/gcafs/config.resources +++ b/dev/parm/config/gcafs/config.resources @@ -51,10 +51,6 @@ case ${machine} in max_tasks_per_node=192 mem_node_max="360GB" ;; - "GAEAC5") - max_tasks_per_node=128 - mem_node_max="251GB" - ;; "GAEAC6") max_tasks_per_node=192 mem_node_max="384GB" diff --git a/dev/parm/config/gcafs/config.resources.GAEAC5 b/dev/parm/config/gcafs/config.resources.GAEAC5 deleted file mode 120000 index 7fdc9591603..00000000000 --- a/dev/parm/config/gcafs/config.resources.GAEAC5 +++ /dev/null @@ -1 +0,0 @@ -../gfs/config.resources.GAEAC5 \ No newline at end of file diff --git a/dev/parm/config/gefs/config.resources b/dev/parm/config/gefs/config.resources index 600685925b4..66b53a63f6b 100644 --- a/dev/parm/config/gefs/config.resources +++ b/dev/parm/config/gefs/config.resources @@ -22,7 +22,6 @@ case ${machine} in "URSA") max_tasks_per_node=192;; "ORION") max_tasks_per_node=40;; "HERCULES") max_tasks_per_node=80;; - "GAEAC5") max_tasks_per_node=128;; "GAEAC6") max_tasks_per_node=192;; "AWSPW") export PARTITION_BATCH="compute" diff --git a/dev/parm/config/gefs/config.resources.GAEAC5 b/dev/parm/config/gefs/config.resources.GAEAC5 deleted file mode 120000 index 7fdc9591603..00000000000 --- a/dev/parm/config/gefs/config.resources.GAEAC5 +++ /dev/null @@ -1 +0,0 @@ -../gfs/config.resources.GAEAC5 \ No newline at end of file diff --git a/dev/parm/config/gfs/config.resources b/dev/parm/config/gfs/config.resources index 9229d742f9c..5afb46b7c34 100644 --- a/dev/parm/config/gfs/config.resources +++ b/dev/parm/config/gfs/config.resources @@ -49,10 +49,6 @@ case ${machine} in max_tasks_per_node=192 mem_node_max="360GB" ;; - "GAEAC5") - max_tasks_per_node=128 - mem_node_max="251GB" - ;; "GAEAC6") max_tasks_per_node=192 mem_node_max="384GB" diff --git a/dev/parm/config/gfs/config.resources.GAEAC5 b/dev/parm/config/gfs/config.resources.GAEAC5 deleted file mode 100644 index cbf1cc85b1c..00000000000 --- a/dev/parm/config/gfs/config.resources.GAEAC5 +++ /dev/null @@ -1,9 +0,0 @@ -#! /usr/bin/env bash -# shellcheck disable=SC2034 - -# GaeaC5-specific job resources - -export FI_VERBS_PREFER_XRC=0 - -unset memory -unset "memory_${RUN}" diff --git a/dev/ush/load_modules.sh b/dev/ush/load_modules.sh index 673122d95d0..91039d23816 100755 --- a/dev/ush/load_modules.sh +++ b/dev/ush/load_modules.sh @@ -98,7 +98,7 @@ case "${MODULE_TYPE}" in module use "${HOMEgfs}/sorc/gdas.cd/modulefiles" case "${MACHINE_ID}" in - "hera" | "orion" | "hercules" | "wcoss2" | "gaeac5" | "gaeac6" | "ursa" | "noaacloud") + "hera" | "orion" | "hercules" | "wcoss2" | "gaeac6" | "ursa" | "noaacloud") #TODO: Remove LMOD_TMOD_FIND_FIRST line when spack-stack on WCOSS2 if [[ "${MACHINE_ID}" == "wcoss2" ]]; then export LMOD_TMOD_FIND_FIRST=yes diff --git a/dev/workflow/hosts.py b/dev/workflow/hosts.py index 0093674df89..2a2fcf42cb6 100644 --- a/dev/workflow/hosts.py +++ b/dev/workflow/hosts.py @@ -16,7 +16,7 @@ class Host: """ SUPPORTED_HOSTS = ['HERA', 'URSA', 'ORION', 'HERCULES', 'WCOSS2', 'CONTAINER', - 'GAEAC5', 'GAEAC6', 'AWSPW', 'AZUREPW', 'GOOGLEPW'] + 'GAEAC6', 'AWSPW', 'AZUREPW', 'GOOGLEPW'] def __init__(self, host=None): @@ -84,8 +84,6 @@ def detect(self) -> None: self.machine = socket.gethostname().split("-", 1)[0].upper() elif os.path.exists('/lfs/f1'): self.machine = 'WCOSS2' - elif os.path.exists('/gpfs/f5'): - self.machine = 'GAEAC5' elif os.path.exists('/gpfs/f6'): self.machine = 'GAEAC6' elif container is not None: diff --git a/dev/workflow/hosts/gaeac5.yaml b/dev/workflow/hosts/gaeac5.yaml deleted file mode 100644 index 785f0c61149..00000000000 --- a/dev/workflow/hosts/gaeac5.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# Paths -DMPDIR: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/dump' -IODADIR: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/dump' -BASE_GIT: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/git' -BASE_DATA: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data' -BASE_IC: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/ICSDIR' -AERO_INPUTS_DIR: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/GEFS_ExtData/20250310' -PACKAGEROOT: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/nwpara' -HOMEDIR: '/gpfs/f5/${ACCOUNT}/scratch/${USER}' -STMP: '/gpfs/f5/${ACCOUNT}/scratch/${USER}' -PTMP: '/gpfs/f5/${ACCOUNT}/scratch/${USER}' -NOSCRUB: '${HOMEDIR}' -COMINsyn: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/com/gfs/prod/syndat' -# BQS properties -SCHEDULER: slurm -QUEUE: normal -QUEUE_SERVICE: normal -QUEUE_DTN: 'hpss' -PARTITION_BATCH: batch -PARTITION_SERVICE: batch -PARTITION_DTN: 'dtn_f5_f6' -CLUSTERS: 'c5' -CLUSTERS_DTN: 'es' -CONSTRAINT_DTN: 'f5' -RESERVATION: '' -# HPSS properties -HPSS_PROJECT: emc-global -ARCHCOM_TO: 'local' -ATARDIR: '${NOSCRUB}/archive_rotdir/${PSLOT}' -CHGRP_RSTPROD: 'NO' -CHGRP_CMD: 'chgrp rstprod' -# Features -SUPPORTED_RESOLUTIONS: ['C384', 'C192', 'C96', 'C48'] -DO_ARCHCOM: 'NO' diff --git a/env/GAEAC5.env b/env/GAEAC5.env deleted file mode 100755 index e4e7dcf2e7d..00000000000 --- a/env/GAEAC5.env +++ /dev/null @@ -1,330 +0,0 @@ -#! /usr/bin/env bash - -if [[ $# -ne 1 ]]; then - - echo "Must specify an input argument to set runtime environment variables!" - exit 1 - -fi - -step=$1 - -export launcher="srun -l --export=ALL" -export mpmd_opt="--multi-prog --output=mpmd.%j.%t.out" - -export OMP_STACKSIZE=2048000 -export NTHSTACK=1024000000 - -ulimit -s unlimited -ulimit -a - -# Calculate common variables -# Check first if the dependent variables are set -if [[ -n "${ntasks:-}" && -n "${max_tasks_per_node:-}" && -n "${tasks_per_node:-}" ]]; then - max_threads_per_task=$((max_tasks_per_node / tasks_per_node)) - NTHREADSmax=${threads_per_task:-${max_threads_per_task}} - NTHREADS1=${threads_per_task:-1} - if [[ ${NTHREADSmax} -gt ${max_threads_per_task} ]]; then - NTHREADSmax=${max_threads_per_task} - fi - if [[ ${NTHREADS1} -gt ${max_threads_per_task} ]]; then - NTHREADS1=${max_threads_per_task} - fi - # This may be useful when GaeaC5 is fully ported, so ignore SC warning - # shellcheck disable=SC2034 - APRUN_default="${launcher} -n ${ntasks}" -else - echo "ERROR config.resources must be sourced before sourcing GAEAC5.env" - exit 2 -fi - -case ${step} in - "prep" | "prepbufr") - - export POE="NO" - export BACK=${BACK:-"YES"} - export sys_tp="GAEAC5" - export launcher_PREP="srun" - ;; - "prep_emissions") - - export NTHREADS_PREP_EMISSIONS=${NTHREADSmax} - export APRUN="${APRUN_default} --cpus-per-task=${NTHREADS_PREP_EMISSIONS}" - ;; - "waveinit" | "waveprep" | "wavepostsbs" | "wavepostbndpnt" | "wavepostpnt" | "wavepostbndpntbll" | "wave_stat" | "wave_stat_pnt" ) - - export USE_CFP="YES" - if [[ "${step}" == "waveprep" ]]; then - export MP_PULSE=0 - fi - export wavempexec=${launcher} - export wave_mpmd=${mpmd_opt} - - ;; - "atmanlvar") - - export NTHREADS_ATMANLVAR=${NTHREADSmax} - export APRUN_ATMANLVAR="${APRUN_default} --cpus-per-task=${NTHREADS_ATMANLVAR}" - ;; - "atmanlfv3inc") - - export NTHREADS_ATMANLFV3INC=${NTHREADSmax} - export APRUN_ATMANLFV3INC="${APRUN_default} --cpus-per-task=${NTHREADS_ATMANLFV3INC}" - ;; - "atmensanlobs") - - export NTHREADS_ATMENSANLOBS=${NTHREADSmax} - export APRUN_ATMENSANLOBS="${APRUN_default} --cpus-per-task=${NTHREADS_ATMENSANLOBS}" - ;; - "atmensanlsol") - - export NTHREADS_ATMENSANLSOL=${NTHREADSmax} - export APRUN_ATMENSANLSOL="${APRUN_default} --cpus-per-task=${NTHREADS_ATMENSANLSOL}" - ;; - "atmensanlletkf") - - export NTHREADS_ATMENSANLLETKF=${NTHREADSmax} - export APRUN_ATMENSANLLETKF="${APRUN_default} --cpus-per-task=${NTHREADS_ATMENSANLLETKF}" - ;; - "atmensanlfv3inc") - - export NTHREADS_ATMENSANLFV3INC=${NTHREADSmax} - export APRUN_ATMENSANLFV3INC="${APRUN_default} --cpus-per-task=${NTHREADS_ATMENSANLFV3INC}" - ;; - "aeroanlvar") - - export APRUNCFP="${launcher} -n \$ncmd ${mpmd_opt}" - - export NTHREADS_AEROANL=${NTHREADSmax} - export APRUN_AEROANL="${APRUN_default} --cpus-per-task=${NTHREADS_AEROANL}" - ;; - "aeroanlgenb") - - export NTHREADS_AEROANLGENB=${NTHREADSmax} - export APRUN_AEROANLGENB="${APRUN_default} --cpus-per-task=${NTHREADS_AEROANLGENB}" - ;; - - "snowanl") - - export APRUN_CALCFIMS="${launcher} -n 1" - - export NTHREADS_SNOWANL=${NTHREADSmax} - export APRUN_SNOWANL="${APRUN_default} --cpus-per-task=${NTHREADS_SNOWANL}" - - export APRUN_APPLY_INCR="${launcher} -n 6" - ;; - "esnowanl") - - export APRUN_CALCFIMS="${launcher} -n 1" - - export NTHREADS_ESNOWANL=${NTHREADSmax} - export APRUN_ESNOWANL="${APRUN_default} --cpus-per-task=${NTHREADS_ESNOWANL}" - - export APRUN_APPLY_INCR="${launcher} -n 6" - ;; - "marinebmat") - - export APRUNCFP="${launcher} -n \$ncmd ${mpmd_opt}" - export APRUN_MARINEBMAT="${APRUN_default}" - ;; - "marineanlvar") - - export APRUNCFP="${launcher} -n \$ncmd ${mpmd_opt}" - export APRUN_MARINEANLVAR="${APRUN_default}" - ;; - "marineanlecen") - - export APRUN_MARINEANLECEN="${APRUN_default}" - ;; - "marineanlchkpt") - - export APRUNCFP="${launcher} -n \$ncmd ${mpmd_opt}" - - export NTHREADS_OCNANAL=${NTHREADSmax} - export APRUN_MARINEANLCHKPT="${APRUN_default} --cpus-per-task=${NTHREADS_OCNANAL}" - - export APRUN_MARINEANLOBSSTATS="${launcher} -n 1" - ;; - "marineanlletkf") - - export NTHREADS_MARINEANLLETKF=${NTHREADSmax} - export APRUN_MARINEANLLETKF="${APRUN_default}" - ;; - "ecen_fv3jedi") - - export NTHREADS_ECEN_FV3JEDI=${NTHREADSmax} - export APRUN_CORRECTION_INCREMENT="${launcher} -n ${ntasks_correction_increment} --cpus-per-task=${NTHREADS_ECEN_FV3JEDI}" - export APRUN_ENSEMBLE_RECENTER="${launcher} -n ${ntasks_ensemble_recenter} --cpus-per-task=${NTHREADS_ECEN_FV3JEDI}" - ;; - "analcalc_fv3jedi") - - export NTHREADS_ANALCALC_FV3JEDI=${NTHREADSmax} - export APRUN_ANALCALC_FV3JEDI="${APRUN_default} --cpus-per-task=${NTHREADS_ANALCALC_FV3JEDI}" - ;; - "anal" | "analcalc") - - export MKL_NUM_THREADS=4 - export MKL_CBWR=AUTO - - export CFP_MP=${CFP_MP:-"YES"} - export USE_CFP=${USE_CFP:-"YES"} - export APRUNCFP="${launcher} -n \$ncmd ${mpmd_opt}" - - export NTHREADS_GSI=${threads_per_task_anal:-${max_threads_per_task}} - export APRUN_GSI="${APRUN_default} --cpus-per-task=${NTHREADS_GSI}" - - export NTHREADS_CALCINC=${threads_per_task_calcinc:-1} - if [[ ${NTHREADS_CALCINC} -gt ${max_threads_per_task} ]]; then - export NTHREADS_CALCINC=${max_threads_per_task} - fi - export APRUN_CALCINC="${launcher} \$ncmd --cpus-per-task=${NTHREADS_CALCINC}" - - export NTHREADS_CYCLE=${threads_per_task_cycle:-12} - if [[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]]; then - export NTHREADS_CYCLE=${max_tasks_per_node} - fi - ntasks_cycle=${ntiles:-6} - export APRUN_CYCLE="${launcher} -n ${ntasks_cycle} --cpus-per-task=${NTHREADS_CYCLE}" - - export NTHREADS_GAUSFCANL=1 - ntasks_gausfcanl=${ntasks_gausfcanl:-1} - export APRUN_GAUSFCANL="${launcher} -n ${ntasks_gausfcanl} --cpus-per-task=${NTHREADS_GAUSFCANL}" - ;; - "sfcanl") - - export NTHREADS_CYCLE=${threads_per_task:-14} - if [[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]]; then - export NTHREADS_CYCLE=${max_tasks_per_node} - fi - export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}" - - # REGRID requires 6 tasks for reproducibility - ntasks_regrid=6 - export APRUN_REGRID="${launcher} -n ${ntasks_regrid} " - - ;; - "eobs") - - export MKL_NUM_THREADS=4 - export MKL_CBWR=AUTO - - export CFP_MP=${CFP_MP:-"YES"} - export USE_CFP=${USE_CFP:-"YES"} - export APRUNCFP="${launcher} -n \$ncmd ${mpmd_opt}" - - - export NTHREADS_GSI=${NTHREADSmax} - if [[ ${NTHREADS_GSI} -gt ${max_threads_per_task} ]]; then - export NTHREADS_GSI=${max_threads_per_task} - fi - export APRUN_GSI="${APRUN_default} --cpus-per-task=${NTHREADS_GSI}" - ;; - "eupd") - - export CFP_MP=${CFP_MP:-"YES"} - export USE_CFP=${USE_CFP:-"YES"} - export APRUNCFP="${launcher} -n \$ncmd ${mpmd_opt}" - - - export NTHREADS_ENKF=${NTHREADSmax} - export APRUN_ENKF="${launcher} -n ${ntasks_enkf:-${ntasks}} --cpus-per-task=${NTHREADS_ENKF}" - ;; - "fcst" | "efcs") - - export OMP_STACKSIZE=512M - - (( nnodes = (ntasks+tasks_per_node-1)/tasks_per_node )) - (( ufs_ntasks = nnodes*tasks_per_node )) - # With ESMF threading, the model wants to use the full node - export APRUN_UFS="${launcher} -n ${ufs_ntasks}" - unset nnodes ufs_ntasks - ;; - "upp") - - export NTHREADS_UPP=${NTHREADS1} - export APRUN_UPP="${APRUN_default} --cpus-per-task=${NTHREADS_UPP}" - ;; - "atmos_products") - - export USE_CFP="YES" # Use MPMD for downstream product generation - ;; - "oceanice_products") - - export NTHREADS_OCNICEPOST=${NTHREADS1} - export APRUN_OCNICEPOST="${launcher} -n 1 --cpus-per-task=${NTHREADS_OCNICEPOST}" - ;; - "ecen") - - export NTHREADS_ECEN=${NTHREADSmax} - export APRUN_ECEN="${APRUN_default} --cpus-per-task=${NTHREADS_ECEN}" - - export NTHREADS_CHGRES=${threads_per_task_chgres:-12} - if [[ ${NTHREADS_CHGRES} -gt ${max_tasks_per_node} ]]; then - export NTHREADS_CHGRES=${max_tasks_per_node} - fi - export APRUN_CHGRES="time" - - export NTHREADS_CALCINC=${threads_per_task_calcinc:-1} - if [[ ${NTHREADS_CALCINC} -gt ${max_threads_per_task} ]]; then - export NTHREADS_CALCINC=${max_threads_per_task} - fi - export APRUN_CALCINC="${APRUN_default} --cpus-per-task=${NTHREADS_CALCINC}" - - ;; - "esfc") - - export NTHREADS_ESFC=${NTHREADSmax} - export APRUN_ESFC="${APRUN_default} --cpus-per-task=${NTHREADS_ESFC}" - - export NTHREADS_CYCLE=${threads_per_task_cycle:-14} - if [[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]]; then - export NTHREADS_CYCLE=${max_tasks_per_node} - fi - export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}" - - # REGRID requires 6*NMEM_ENS tasks for reproducibility - export APRUN_REGRID="${launcher} -n ${ntasks}" - - ;; - "epos") - - export NTHREADS_EPOS=${NTHREADSmax} - export APRUN_EPOS="${APRUN_default} --cpus-per-task=${NTHREADS_EPOS}" - - ;; - "postsnd") - - export CFP_MP="YES" - - export NTHREADS_POSTSND=${NTHREADS1} - export APRUN_POSTSND="${APRUN_default} --cpus-per-task=${NTHREADS_POSTSND}" - - export NTHREADS_POSTSNDCFP=${threads_per_task_postsndcfp:-1} - if [[ ${NTHREADS_POSTSNDCFP} -gt ${max_threads_per_task} ]]; then - export NTHREADS_POSTSNDCFP=${max_threads_per_task} - fi - export APRUN_POSTSNDCFP="${launcher} -n ${ntasks_postsndcfp} ${mpmd_opt}" - - ;; - "awips") - - export NTHREADS_AWIPS=${NTHREADS1} - export APRUN_AWIPSCFP="${APRUN_default} ${mpmd_opt}" - - ;; - "gempak") - - echo "WARNING: ${step} is not enabled on ${machine}!" - - ;; - "fit2obs") - - export NTHREADS_FIT2OBS=${NTHREADS1} - export MPIRUN="${APRUN_default} --cpus-per-task=${NTHREADS_FIT2OBS}" - - ;; - *) - # Some other job not yet defined here - echo "WARNING: The job step ${step} does not specify GAEAC5-specific resources" - ;; -esac diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh index c75d9ca605b..ee17db4784b 100755 --- a/sorc/link_workflow.sh +++ b/sorc/link_workflow.sh @@ -74,7 +74,6 @@ case "${machine}" in "hera" | "ursa") FIX_DIR="/scratch3/NCEPDEV/global/role.glopara/fix" ;; "orion") FIX_DIR="/work2/noaa/global/role-global/fix" ;; "hercules") FIX_DIR="/work2/noaa/global/role-global/fix" ;; - "gaeac5") FIX_DIR="/gpfs/f5/ufs-ard/world-shared/global/glopara/data/fix" ;; "gaeac6") FIX_DIR="/gpfs/f6/drsa-precip3/world-shared/role.glopara/fix" ;; "noaacloud") FIX_DIR="/lustre/fix" ;; *) diff --git a/ush/detect_machine.sh b/ush/detect_machine.sh index 070904eb683..05cd7187207 100755 --- a/ush/detect_machine.sh +++ b/ush/detect_machine.sh @@ -23,9 +23,6 @@ case $(hostname -f) in dlogin0[1-9].dogwood.wcoss2.ncep.noaa.gov) MACHINE_ID=wcoss2 ;; ### dogwood01-9 dlogin10.dogwood.wcoss2.ncep.noaa.gov) MACHINE_ID=wcoss2 ;; ### dogwood10 - gaea5[1-8]) MACHINE_ID=gaeac5 ;; ### gaea51-58 - gaea5[1-8].ncrc.gov) MACHINE_ID=gaeac5 ;; ### gaea51-58 - gaea6[1-8]) MACHINE_ID=gaeac6 ;; ### gaea61-68 gaea6[1-8].ncrc.gov) MACHINE_ID=gaeac6 ;; ### gaea61-68 @@ -98,9 +95,6 @@ elif [[ -d /work ]]; then else MACHINE_ID=orion fi -elif [[ -d /gpfs/f5 ]]; then - # We are on GAEAC5. - MACHINE_ID=gaeac5 elif [[ -d /gpfs/f6 ]]; then # We are on GAEAC6. MACHINE_ID=gaeac6 diff --git a/ush/module-setup.sh b/ush/module-setup.sh index 13e41879804..d15f152809e 100755 --- a/ush/module-setup.sh +++ b/ush/module-setup.sh @@ -63,17 +63,6 @@ elif [[ ${MACHINE_ID} = stampede* ]]; then fi module purge -elif [[ ${MACHINE_ID} = gaeac5 ]]; then - # We are on GAEA C5. - if (! eval module help > /dev/null 2>&1); then - # We cannot simply load the module command. The GAEA - # /etc/profile modifies a number of module-related variables - # before loading the module command. Without those variables, - # the module command fails. Hence we actually have to source - # /etc/profile here. - source /etc/profile - fi - module reset elif [[ ${MACHINE_ID} = gaeac6 ]]; then # We are on GAEA C6. if (! eval module help > /dev/null 2>&1); then