diff --git a/env/GAEA.env b/env/GAEAC5.env similarity index 86% rename from env/GAEA.env rename to env/GAEAC5.env index 7736e0f1ea..4fdb6d3546 100755 --- a/env/GAEA.env +++ b/env/GAEAC5.env @@ -26,11 +26,11 @@ if [[ -n "${ntasks:-}" && -n "${max_tasks_per_node:-}" && -n "${tasks_per_node:- NTHREADS1=${threads_per_task:-1} [[ ${NTHREADSmax} -gt ${max_threads_per_task} ]] && NTHREADSmax=${max_threads_per_task} [[ ${NTHREADS1} -gt ${max_threads_per_task} ]] && NTHREADS1=${max_threads_per_task} - # This may be useful when Gaea is fully ported, so ignore SC warning + # 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 GAEA.env" + echo "ERROR config.resources must be sourced before sourcing GAEAC5.env" exit 2 fi @@ -38,7 +38,7 @@ if [[ "${step}" = "prep" ]]; then export POE="NO" export BACK="NO" - export sys_tp="GAEA" + export sys_tp="GAEAC5" export launcher_PREP="srun" elif [[ "${step}" = "anal" ]] || [[ "${step}" = "analcalc" ]]; then @@ -86,7 +86,7 @@ elif [[ "${step}" = "upp" ]]; then elif [[ "${step}" = "atmos_products" ]]; then - export USE_CFP="YES" # Use MPMD for downstream product generation on Gaea + export USE_CFP="YES" # Use MPMD for downstream product generation on GaeaC5 elif [[ "${step}" = "oceanice_products" ]]; then @@ -98,4 +98,11 @@ elif [[ "${step}" = "fit2obs" ]]; then export NTHREADS_FIT2OBS=${NTHREADS1} export MPIRUN="${APRUN_default} --cpus-per-task=${NTHREADS_FIT2OBS}" +elif [[ "${step}" = "waveinit" ]] || [[ "${step}" = "waveprep" ]] || [[ "${step}" = "wavepostsbs" ]] || [[ "${step}" = "wavepostbndpnt" ]] || [[ "${step}" = "wavepostbndpntbll" ]] || [[ "${step}" = "wavepostpnt" ]]; then + + export CFP_MP="YES" + if [[ "${step}" = "waveprep" ]]; then export MP_PULSE=0 ; fi + export wavempexec=${launcher} + export wave_mpmd=${mpmd_opt} + fi diff --git a/env/GAEAC6.env b/env/GAEAC6.env new file mode 100755 index 0000000000..09bbd6530b --- /dev/null +++ b/env/GAEAC6.env @@ -0,0 +1,108 @@ +#! /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} + [[ ${NTHREADSmax} -gt ${max_threads_per_task} ]] && NTHREADSmax=${max_threads_per_task} + [[ ${NTHREADS1} -gt ${max_threads_per_task} ]] && NTHREADS1=${max_threads_per_task} + # This may be useful when GaeaC6 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 GAEAC6.env" + exit 2 +fi + +if [[ "${step}" = "prep" ]]; then + + export POE="NO" + export BACK="NO" + export sys_tp="GAEAC6" + export launcher_PREP="srun" + +elif [[ "${step}" = "anal" ]] || [[ "${step}" = "analcalc" ]]; then + + 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} + export APRUN_GSI="${APRUN_default} --cpus-per-task=${NTHREADS_GSI}" + + export NTHREADS_CALCINC=${threads_per_task_calcinc:-1} + [[ ${NTHREADS_CALCINC} -gt ${max_threads_per_task} ]] && export NTHREADS_CALCINC=${max_threads_per_task} + export APRUN_CALCINC="${launcher} \$ncmd --cpus-per-task=${NTHREADS_CALCINC}" + + export NTHREADS_CYCLE=${threads_per_task_cycle:-12} + [[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node} + 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}" + +elif [[ "${step}" = "sfcanl" ]]; then + + export NTHREADS_CYCLE=${threads_per_task:-14} + export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}" + +elif [[ "${step}" = "fcst" ]]; then + + (( 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 + +elif [[ "${step}" = "upp" ]]; then + + export NTHREADS_UPP=${NTHREADS1} + export APRUN_UPP="${APRUN_default} --cpus-per-task=${NTHREADS_UPP}" + +elif [[ "${step}" = "atmos_products" ]]; then + + export USE_CFP="YES" # Use MPMD for downstream product generation on GaeaC6 + +elif [[ "${step}" = "oceanice_products" ]]; then + + export NTHREADS_OCNICEPOST=${NTHREADS1} + export APRUN_OCNICEPOST="${launcher} -n 1 --cpus-per-task=${NTHREADS_OCNICEPOST}" + +elif [[ "${step}" = "fit2obs" ]]; then + + export NTHREADS_FIT2OBS=${NTHREADS1} + export MPIRUN="${APRUN_default} --cpus-per-task=${NTHREADS_FIT2OBS}" + +elif [[ "${step}" = "waveinit" ]] || [[ "${step}" = "waveprep" ]] || [[ "${step}" = "wavepostsbs" ]] || [[ "${step}" = "wavepostbndpnt" ]] || [[ "${step}" = "wavepostbndpntbll" ]] || [[ "${step}" = "wavepostpnt" ]]; then + + export CFP_MP="YES" + if [[ "${step}" = "waveprep" ]]; then export MP_PULSE=0 ; fi + export wavempexec=${launcher} + export wave_mpmd=${mpmd_opt} + +fi diff --git a/modulefiles/module_base.gaea.lua b/modulefiles/module_base.gaeac5.lua similarity index 98% rename from modulefiles/module_base.gaea.lua rename to modulefiles/module_base.gaeac5.lua index f379225380..e7a05fd095 100644 --- a/modulefiles/module_base.gaea.lua +++ b/modulefiles/module_base.gaeac5.lua @@ -1,5 +1,5 @@ help([[ -Load environment to run GFS on Gaea +Load environment to run GFS on Gaea C5 ]]) local spack_mod_path=(os.getenv("spack_mod_path") or "None") diff --git a/modulefiles/module_base.gaeac6.lua b/modulefiles/module_base.gaeac6.lua new file mode 100644 index 0000000000..e0388ac84b --- /dev/null +++ b/modulefiles/module_base.gaeac6.lua @@ -0,0 +1,47 @@ +help([[ +Load environment to run GFS on Gaea C6 +]]) + +local spack_mod_path=(os.getenv("spack_mod_path") or "None") +prepend_path("MODULEPATH", spack_mod_path) + +load(pathJoin("stack-intel", (os.getenv("stack_intel_ver") or "None"))) +load(pathJoin("stack-cray-mpich", (os.getenv("stack_cray_mpich_ver") or "None"))) +load(pathJoin("python", (os.getenv("python_ver") or "None"))) + +load(pathJoin("jasper", (os.getenv("jasper_ver") or "None"))) +load(pathJoin("libpng", (os.getenv("libpng_ver") or "None"))) +load(pathJoin("cdo", (os.getenv("cdo_ver") or "None"))) +load(pathJoin("hdf5", (os.getenv("hdf5_ver") or "None"))) +load(pathJoin("netcdf-c", (os.getenv("netcdf_c_ver") or "None"))) +load(pathJoin("netcdf-fortran", (os.getenv("netcdf_fortran_ver") or "None"))) +load(pathJoin("perlbrew", (os.getenv("perl_ver") or "None"))) + +load(pathJoin("nco", (os.getenv("nco_ver") or "None"))) +load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None"))) +load(pathJoin("grib-util", (os.getenv("grib_util_ver") or "None"))) +load(pathJoin("g2tmpl", (os.getenv("g2tmpl_ver") or "None"))) +load(pathJoin("gsi-ncdiag", (os.getenv("gsi_ncdiag_ver") or "None"))) +load(pathJoin("crtm", (os.getenv("crtm_ver") or "None"))) +load(pathJoin("bufr", (os.getenv("bufr_ver") or "None"))) +load(pathJoin("wgrib2", (os.getenv("wgrib2_ver") or "None"))) +load(pathJoin("py-netcdf4", (os.getenv("py_netcdf4_ver") or "None"))) +load(pathJoin("py-f90nml", (os.getenv("py_f90nml_ver") or "None"))) +load(pathJoin("py-pyyaml", (os.getenv("py_pyyaml_ver") or "None"))) +load(pathJoin("py-jinja2", (os.getenv("py_jinja2_ver") or "None"))) +load(pathJoin("py-pandas", (os.getenv("py_pandas_ver") or "None"))) +load(pathJoin("py-python-dateutil", (os.getenv("py_python_dateutil_ver") or "None"))) +load(pathJoin("met", (os.getenv("met_ver") or "None"))) +load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) +load(pathJoin("py-xarray", (os.getenv("py_xarray_ver") or "None"))) + +setenv("WGRIB2","wgrib2") +setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None")) + +prepend_path("MODULEPATH", pathJoin("/gpfs/f6/bil-fire8/world-shared/global/glopara/git/prepobs/v" .. (os.getenv("prepobs_run_ver") or "None"), "modulefiles")) +load(pathJoin("prepobs", (os.getenv("prepobs_run_ver") or "None"))) + +prepend_path("MODULEPATH", pathJoin("/gpfs/f6/bil-fire8/world-shared/global/glopara/git/Fit2Obs/v" .. (os.getenv("fit2obs_ver") or "None"), "modulefiles")) +load(pathJoin("fit2obs", (os.getenv("fit2obs_ver") or "None"))) + +whatis("Description: GFS run setup environment") diff --git a/modulefiles/module_gwsetup.gaea.lua b/modulefiles/module_gwsetup.gaeac5.lua similarity index 79% rename from modulefiles/module_gwsetup.gaea.lua rename to modulefiles/module_gwsetup.gaeac5.lua index 0bcc689bad..0c1691d30b 100644 --- a/modulefiles/module_gwsetup.gaea.lua +++ b/modulefiles/module_gwsetup.gaeac5.lua @@ -1,5 +1,5 @@ help([[ -Load environment to run GFS workflow setup scripts on Gaea +Load environment to run GFS workflow setup scripts on Gaea C5 ]]) prepend_path("MODULEPATH", "/ncrc/proj/epic/rocoto/modulefiles") @@ -7,7 +7,7 @@ load(pathJoin("rocoto")) prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/spack-stack-1.6.0/envs/unified-env/install/modulefiles/Core") -local stack_intel_ver=os.getenv("stack_intel_ver") or "2023.1.0" +local stack_intel_ver=os.getenv("stack_intel_ver") or "2023.2.0" local python_ver=os.getenv("python_ver") or "3.10.13" load(pathJoin("stack-intel", stack_intel_ver)) diff --git a/modulefiles/module_gwsetup.gaeac6.lua b/modulefiles/module_gwsetup.gaeac6.lua new file mode 100644 index 0000000000..1623e6f1a2 --- /dev/null +++ b/modulefiles/module_gwsetup.gaeac6.lua @@ -0,0 +1,20 @@ +help([[ +Load environment to run GFS workflow setup scripts on Gaea C6 +]]) + +prepend_path("MODULEPATH", "/ncrc/proj/epic/rocoto/modulefiles") +load(pathJoin("rocoto")) + +prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/c6/spack-stack-1.6.0/envs/unified-env/install/modulefiles/Core") + +local stack_intel_ver=os.getenv("stack_intel_ver") or "2023.2.0" +local python_ver=os.getenv("python_ver") or "3.10.13" + +load(pathJoin("stack-intel", stack_intel_ver)) +load(pathJoin("python", python_ver)) +load("py-jinja2") +load("py-pyyaml") +load("py-numpy") +load("git-lfs") + +whatis("Description: GFS run setup environment") diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index eeb33716c0..39610a7b1a 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -47,11 +47,16 @@ case ${machine} in # shellcheck disable=SC2034 mem_node_max="96GB" ;; - "GAEA") + "GAEAC5") max_tasks_per_node=128 # shellcheck disable=SC2034 mem_node_max="251GB" ;; + "GAEAC6") + max_tasks_per_node=192 + # shellcheck disable=SC2034 + mem_node_max="384GB" + ;; "ORION") max_tasks_per_node=40 # shellcheck disable=SC2034 diff --git a/parm/config/gfs/config.resources.GAEA b/parm/config/gfs/config.resources.GAEAC5 similarity index 90% rename from parm/config/gfs/config.resources.GAEA rename to parm/config/gfs/config.resources.GAEAC5 index c50601da00..fe3bc96153 100644 --- a/parm/config/gfs/config.resources.GAEA +++ b/parm/config/gfs/config.resources.GAEAC5 @@ -1,6 +1,6 @@ #! /usr/bin/env bash -# Gaea-specific job resources +# GaeaC5-specific job resources case ${step} in "prep") @@ -26,6 +26,8 @@ case ${step} in esac +export FI_VERBS_PREFER_XRC=0 + unset memory # shellcheck disable=SC2312 for mem_var in $(env | grep '^memory_' | cut -d= -f1); do diff --git a/parm/config/gfs/config.resources.GAEAC6 b/parm/config/gfs/config.resources.GAEAC6 new file mode 100644 index 0000000000..7fc6388159 --- /dev/null +++ b/parm/config/gfs/config.resources.GAEAC6 @@ -0,0 +1,9 @@ +#! /usr/bin/env bash + +# GaeaC6-specific job resources + +unset memory +# shellcheck disable=SC2312 +for mem_var in $(env | grep '^memory_' | cut -d= -f1); do + unset "${mem_var}" +done diff --git a/sorc/gfs_utils.fd b/sorc/gfs_utils.fd index 4848ecbb5e..22ae6c315e 160000 --- a/sorc/gfs_utils.fd +++ b/sorc/gfs_utils.fd @@ -1 +1 @@ -Subproject commit 4848ecbb5e713b16127433e11f7d3edc6ac784c4 +Subproject commit 22ae6c315e14390e1214fd058e26a6de2d2066ba diff --git a/sorc/gsi_enkf.fd b/sorc/gsi_enkf.fd index 9f44c8798c..2136b872cc 160000 --- a/sorc/gsi_enkf.fd +++ b/sorc/gsi_enkf.fd @@ -1 +1 @@ -Subproject commit 9f44c8798c2087aca06df8f629699632e57df431 +Subproject commit 2136b872cc44ccebc92b2f29b7ee45f43b12cafa diff --git a/sorc/gsi_monitor.fd b/sorc/gsi_monitor.fd index 278ee629e8..879f5900d9 160000 --- a/sorc/gsi_monitor.fd +++ b/sorc/gsi_monitor.fd @@ -1 +1 @@ -Subproject commit 278ee629e87558822e8d13b3fb3b0e16006aa856 +Subproject commit 879f5900d9236e144a18cba8e804618fa6c449e3 diff --git a/sorc/gsi_utils.fd b/sorc/gsi_utils.fd index a6ea311e5c..03d4b0ae9e 160000 --- a/sorc/gsi_utils.fd +++ b/sorc/gsi_utils.fd @@ -1 +1 @@ -Subproject commit a6ea311e5c82369d255e3afdc99c1bce0c9a3014 +Subproject commit 03d4b0ae9ec9ff52fe3dca10b0acf498fcf699ab diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh index b70b9e894f..d54ed9a9d6 100755 --- a/sorc/link_workflow.sh +++ b/sorc/link_workflow.sh @@ -76,7 +76,8 @@ case "${machine}" in "hercules") FIX_DIR="/work/noaa/global/glopara/fix" ;; "jet") FIX_DIR="/lfs5/HFIP/hfv3gfs/glopara/FIX/fix" ;; "s4") FIX_DIR="/data/prod/glopara/fix" ;; -"gaea") FIX_DIR="/gpfs/f5/ufs-ard/world-shared/global/glopara/data/fix" ;; +"gaeac5") FIX_DIR="/gpfs/f5/ufs-ard/world-shared/global/glopara/data/fix" ;; +"gaeac6") FIX_DIR="/gpfs/f6/bil-fire8/world-shared/global/glopara/fix" ;; "noaacloud") FIX_DIR="/contrib/global-workflow-shared-data/fix" ;; *) echo "FATAL: Unknown target machine ${machine}, couldn't set FIX_DIR" diff --git a/sorc/ufs_model.fd b/sorc/ufs_model.fd index 63ace62a36..e119370476 160000 --- a/sorc/ufs_model.fd +++ b/sorc/ufs_model.fd @@ -1 +1 @@ -Subproject commit 63ace62a36a263f03b914a92fc5536509e862dbc +Subproject commit e1193704767800bfaece56eb2a4b058bd4d0afbc diff --git a/sorc/ufs_utils.fd b/sorc/ufs_utils.fd index 2323761084..5b2bfa39a5 160000 --- a/sorc/ufs_utils.fd +++ b/sorc/ufs_utils.fd @@ -1 +1 @@ -Subproject commit 23237610845c3a4438b21b25e9b3dc25c4c15b73 +Subproject commit 5b2bfa39a5b1fbe6bb1d247102679885685c9336 diff --git a/ush/detect_machine.sh b/ush/detect_machine.sh index 8ad217140a..9301c8492f 100755 --- a/ush/detect_machine.sh +++ b/ush/detect_machine.sh @@ -21,8 +21,11 @@ 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=gaea ;; ### gaea51-58 - gaea5[1-8].ncrc.gov) MACHINE_ID=gaea ;; ### gaea51-58 + 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 hfe0[1-9]) MACHINE_ID=hera ;; ### hera01-09 hfe1[0-2]) MACHINE_ID=hera ;; ### hera10-12 @@ -81,9 +84,12 @@ elif [[ -d /work ]]; then else MACHINE_ID=orion fi -elif [[ -d /gpfs && -d /ncrc ]]; then - # We are on GAEA. - MACHINE_ID=gaea +elif [[ -d /gpfs/f5 ]]; then + # We are on GAEAC5. + MACHINE_ID=gaeac5 +elif [[ -d /gpfs/f6 ]]; then + # We are on GAEAC6. + MACHINE_ID=gaeac6 elif [[ -d /data/prod ]]; then # We are on SSEC's S4 MACHINE_ID=s4 diff --git a/ush/load_fv3gfs_modules.sh b/ush/load_fv3gfs_modules.sh index ff6f64cece..93098322c4 100755 --- a/ush/load_fv3gfs_modules.sh +++ b/ush/load_fv3gfs_modules.sh @@ -20,7 +20,7 @@ source "${HOMEgfs}/versions/run.ver" module use "${HOMEgfs}/modulefiles" case "${MACHINE_ID}" in - "wcoss2" | "hera" | "orion" | "hercules" | "gaea" | "jet" | "s4" | "noaacloud") + "wcoss2" | "hera" | "orion" | "hercules" | "gaeac5" | "gaeac6" | "jet" | "s4" | "noaacloud") module load "module_base.${MACHINE_ID}" ;; *) diff --git a/ush/load_ufsda_modules.sh b/ush/load_ufsda_modules.sh index 8117d3f359..017ff31d68 100755 --- a/ush/load_ufsda_modules.sh +++ b/ush/load_ufsda_modules.sh @@ -34,13 +34,13 @@ source "${HOMEgfs}/ush/module-setup.sh" module use "${HOMEgfs}/sorc/gdas.cd/modulefiles" case "${MACHINE_ID}" in - ("hera" | "orion" | "hercules" | "wcoss2") + ("hera" | "orion" | "hercules" | "gaeac5" | "gaeac6" | "wcoss2") module load "${MODS}/${MACHINE_ID}" ncdump=$( command -v ncdump ) NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) export NETCDF ;; - ("jet" | "gaea" | "s4" | "acorn") + ("jet" | "s4" | "acorn") echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM ;; *) diff --git a/versions/build.gaea.ver b/versions/build.gaeac5.ver similarity index 100% rename from versions/build.gaea.ver rename to versions/build.gaeac5.ver diff --git a/versions/run.gaea.ver b/versions/build.gaeac6.ver similarity index 91% rename from versions/run.gaea.ver rename to versions/build.gaeac6.ver index 81aa70df57..8b6e641eb6 100644 --- a/versions/run.gaea.ver +++ b/versions/build.gaeac6.ver @@ -1,8 +1,5 @@ export stack_intel_ver=2023.1.0 export stack_cray_mpich_ver=8.1.25 export spack_env=gsi-addon-dev - -export perl_ver=5.38.2 - source "${HOMEgfs:-}/versions/spack.ver" export spack_mod_path="/ncrc/proj/epic/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" diff --git a/versions/run.gaeac5.ver b/versions/run.gaeac5.ver new file mode 100644 index 0000000000..9d4075f334 --- /dev/null +++ b/versions/run.gaeac5.ver @@ -0,0 +1,8 @@ +export stack_intel_ver=2023.2.0 +export stack_cray_mpich_ver=8.1.28 +export spack_env=gsi-addon-dev + +export perl_ver=5.38.2 + +source "${HOMEgfs:-}/versions/spack.ver" +export spack_mod_path="/ncrc/proj/epic/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" diff --git a/versions/run.gaeac6.ver b/versions/run.gaeac6.ver new file mode 100644 index 0000000000..4162cc63e3 --- /dev/null +++ b/versions/run.gaeac6.ver @@ -0,0 +1,8 @@ +export stack_intel_ver=2023.2.0 +export stack_cray_mpich_ver=8.1.29 +export spack_env=gsi-addon + +export perl_ver=5.38.2 + +source "${HOMEgfs:-}/versions/spack.ver" +export spack_mod_path="/ncrc/proj/epic/spack-stack/c6/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" diff --git a/workflow/hosts.py b/workflow/hosts.py index 7bde58f95f..37a7e53066 100644 --- a/workflow/hosts.py +++ b/workflow/hosts.py @@ -16,8 +16,8 @@ class Host: """ SUPPORTED_HOSTS = ['HERA', 'ORION', 'JET', 'HERCULES', - 'WCOSS2', 'S4', 'CONTAINER', 'GAEA', - 'AWSPW', 'AZUREPW', 'GOOGLEPW'] + 'WCOSS2', 'S4', 'CONTAINER', 'GAEAC5', + 'GAEAC6', 'AWSPW', 'AZUREPW', 'GOOGLEPW'] def __init__(self, host=None): @@ -49,7 +49,9 @@ def detect(cls): elif os.path.exists('/data/prod'): machine = 'S4' elif os.path.exists('/gpfs/f5'): - machine = 'GAEA' + machine = 'GAEAC5' + elif os.path.exists('/gpfs/f6'): + machine = 'GAEAC6' elif container is not None: machine = 'CONTAINER' elif pw_csp is not None: diff --git a/workflow/hosts/gaea.yaml b/workflow/hosts/gaeac5.yaml similarity index 76% rename from workflow/hosts/gaea.yaml rename to workflow/hosts/gaeac5.yaml index 23ac75ca03..8131a8642b 100644 --- a/workflow/hosts/gaea.yaml +++ b/workflow/hosts/gaeac5.yaml @@ -3,8 +3,7 @@ DMPDIR: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/dump' BASE_DATA: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data' BASE_IC: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/ICSDIR' PACKAGEROOT: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/nwpara' -COMROOT: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/com' -COMINsyn: '${COMROOT}/gfs/prod/syndat' +COMINsyn: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/com/gfs/prod/syndat' HOMEDIR: '/gpfs/f5/ufs-ard/scratch/${USER}' STMP: '/gpfs/f5/ufs-ard/scratch/${USER}' PTMP: '/gpfs/f5/ufs-ard/scratch/${USER}' @@ -25,5 +24,5 @@ LOCALARCH: 'NO' ATARDIR: '${NOSCRUB}/archive_rotdir/${PSLOT}' MAKE_NSSTBUFR: 'NO' MAKE_ACFTBUFR: 'NO' -SUPPORTED_RESOLUTIONS: ['C1152', 'C768', 'C384', 'C192', 'C96', 'C48'] -AERO_INPUTS_DIR: /gpfs/f5/epic/proj-shared/global/glopara/data/gocart_emissions +SUPPORTED_RESOLUTIONS: ['C384', 'C192', 'C96', 'C48'] +AERO_INPUTS_DIR: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/gocart_emissions' diff --git a/workflow/hosts/gaeac6.yaml b/workflow/hosts/gaeac6.yaml new file mode 100644 index 0000000000..fed31634bf --- /dev/null +++ b/workflow/hosts/gaeac6.yaml @@ -0,0 +1,27 @@ +BASE_GIT: '/gpfs/f6/bil-fire8/world-shared/global/glopara/git' +DMPDIR: '/gpfs/f6/bil-fire8/world-shared/global/glopara/dump' +BASE_DATA: '/gpfs/f6/bil-fire8/world-shared/global/glopara' +BASE_IC: '/gpfs/f6/bil-fire8/world-shared/global/glopara/data/ICSDIR' +PACKAGEROOT: '/gpfs/f6/bil-fire8/world-shared/global/glopara/nwpara' +COMINsyn: '/gpfs/f6/bil-fire8/world-shared/global/glopara/com/syndat' +HOMEDIR: '/gpfs/f6/bil-fire8/scratch/${USER}' +STMP: '/gpfs/f6/bil-fire8/scratch/${USER}' +PTMP: '/gpfs/f6/bil-fire8/scratch/${USER}' +NOSCRUB: $HOMEDIR +ACCOUNT: bil-fire8 +SCHEDULER: slurm +QUEUE: normal +QUEUE_SERVICE: normal +PARTITION_BATCH: batch +PARTITION_SERVICE: batch +RESERVATION: '' +CLUSTERS: 'c6' +CHGRP_RSTPROD: 'NO' +CHGRP_CMD: 'chgrp rstprod' +HPSSARCH: 'NO' +HPSS_PROJECT: emc-global +LOCALARCH: 'NO' +ATARDIR: '${NOSCRUB}/archive_rotdir/${PSLOT}' +MAKE_NSSTBUFR: 'NO' +MAKE_ACFTBUFR: 'NO' +SUPPORTED_RESOLUTIONS: ['C384', 'C192', 'C96', 'C48']