From 238d08aa8a3980a8311733b49b1b82a162bb3962 Mon Sep 17 00:00:00 2001 From: David Burrows Date: Tue, 18 Jun 2024 11:58:39 -0400 Subject: [PATCH 01/14] add CLUSTERS to tasks.py --- workflow/rocoto/tasks.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index ad135be713..11cdcf8f94 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -217,6 +217,8 @@ def get_resource(self, task_name): native = '--export=NONE' if task_config['RESERVATION'] != "": native += '' if task_name in Tasks.SERVICE_TASKS else ' --reservation=' + task_config['RESERVATION'] + if task_config['CLUSTERS'] != "": + native += ' --clusters=' + task_config['CLUSTERS'] queue = task_config['QUEUE_SERVICE'] if task_name in Tasks.SERVICE_TASKS else task_config['QUEUE'] From 9cb6d43c807aebaa424b165e3e66c899f248c60b Mon Sep 17 00:00:00 2001 From: David Burrows Date: Tue, 18 Jun 2024 12:04:00 -0400 Subject: [PATCH 02/14] point link_workflow to proj:ufs-ard for mom6 and cice updates --- sorc/link_workflow.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh index 4973ab8d7d..8694f856b5 100755 --- a/sorc/link_workflow.sh +++ b/sorc/link_workflow.sh @@ -75,7 +75,7 @@ case "${machine}" in "hercules") FIX_DIR="/work/noaa/global/glopara/fix" ;; "jet") FIX_DIR="/lfs4/HFIP/hfv3gfs/glopara/git/fv3gfs/fix" ;; "s4") FIX_DIR="/data/prod/glopara/fix" ;; - "gaea") FIX_DIR="/gpfs/f5/epic/proj-shared/global/glopara/data/fix" ;; + "gaea") FIX_DIR="/gpfs/f5/ufs-ard/world-shared/global/glopara/data/fix" ;; *) echo "FATAL: Unknown target machine ${machine}, couldn't set FIX_DIR" exit 1 From 6616cbee3cba07971643aa3eef9ce94ba93ecc62 Mon Sep 17 00:00:00 2001 From: David Burrows Date: Tue, 18 Jun 2024 12:12:08 -0400 Subject: [PATCH 03/14] update gaea.yaml paths from epic to ufs-ard --- workflow/hosts/gaea.yaml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/workflow/hosts/gaea.yaml b/workflow/hosts/gaea.yaml index 7ca8420997..ff9877e77b 100644 --- a/workflow/hosts/gaea.yaml +++ b/workflow/hosts/gaea.yaml @@ -1,19 +1,22 @@ -BASE_GIT: '/gpfs/f5/epic/proj-shared/global/glopara/data/git' -DMPDIR: '/gpfs/f5/epic/proj-shared/global/glopara/data/dump' -BASE_CPLIC: '/gpfs/f5/epic/proj-shared/global/glopara/data/ICSDIR/prototype_ICs' -PACKAGEROOT: '/gpfs/f5/epic/proj-shared/global/glopara/data/nwpara' -COMROOT: '/gpfs/f5/epic/proj-shared/global/glopara/data/com' +BASE_GIT: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/git' +DMPDIR: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/dump' +BASE_CPLIC: '/gpfs/f5/ufs-ard/world-shared/global/glopara/data/ICSDIR/prototype_ICs' +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' -HOMEDIR: '/gpfs/f5/epic/scratch/${USER}' -STMP: '/gpfs/f5/epic/scratch/${USER}' -PTMP: '/gpfs/f5/epic/scratch/${USER}' +HOMEDIR: '/gpfs/f5/ufs-ard/scratch/${USER}' +STMP: '/gpfs/f5/ufs-ard/scratch/${USER}' +PTMP: '/gpfs/f5/ufs-ard/scratch/${USER}' NOSCRUB: $HOMEDIR -ACCOUNT: epic +ACCOUNT: ufs-ard +ACCOUNT_SERVICE: ufs-ard SCHEDULER: slurm QUEUE: normal QUEUE_SERVICE: normal PARTITION_BATCH: batch PARTITION_SERVICE: batch +RESERVATION: '' +CLUSTERS: 'c5' CHGRP_RSTPROD: 'NO' CHGRP_CMD: 'chgrp rstprod' HPSSARCH: 'NO' From d032e8549f9422a2d6364abbc07520b0347429ad Mon Sep 17 00:00:00 2001 From: David Burrows Date: Tue, 18 Jun 2024 12:29:58 -0400 Subject: [PATCH 04/14] add CLUSTERS to config.base --- parm/config/gfs/config.base | 1 + 1 file changed, 1 insertion(+) diff --git a/parm/config/gfs/config.base b/parm/config/gfs/config.base index f893eaaf4e..282a567178 100644 --- a/parm/config/gfs/config.base +++ b/parm/config/gfs/config.base @@ -19,6 +19,7 @@ export QUEUE_SERVICE="@QUEUE_SERVICE@" export PARTITION_BATCH="@PARTITION_BATCH@" export PARTITION_SERVICE="@PARTITION_SERVICE@" export RESERVATION="@RESERVATION@" +export CLUSTERS="@CLUSTERS@" # Project to use in mass store: export HPSS_PROJECT="@HPSS_PROJECT@" From 15bcd33e1d4ccd49b72cc5ffbe3b3c1afb5f7cf6 Mon Sep 17 00:00:00 2001 From: David Burrows Date: Tue, 18 Jun 2024 12:31:22 -0400 Subject: [PATCH 05/14] remove memory statements for Gaea --- parm/config/gfs/config.resources | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index e5f741cf7e..9076e9d0e8 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -113,7 +113,11 @@ case ${step} in export nth_waveinit=1 export npe_node_waveinit=$(( npe_node_max / nth_waveinit )) export NTASKS=${npe_waveinit} - export memory_waveinit="2GB" + if [[ "${machine}" == "GAEA" ]]; then + export memory_waveinit="" + else + export memory_waveinit="2GB" + fi ;; "waveprep") @@ -137,8 +141,13 @@ case ${step} in export nth_wavepostsbs=1 export npe_node_wavepostsbs=$(( npe_node_max / nth_wavepostsbs )) export NTASKS=${npe_wavepostsbs} - export memory_wavepostsbs="10GB" - export memory_wavepostsbs_gfs="10GB" + if [[ "${machine}" == "GAEA" ]]; then + export memory_wavepostsbs="" + export memory_wavepostsbs_gfs="" + else + export memory_wavepostsbs="10GB" + export memory_wavepostsbs_gfs="10GB" + fi ;; # The wavepost*pnt* jobs are I/O heavy and do not scale well to large nodes. @@ -777,7 +786,11 @@ case ${step} in export npe_oceanice_products=1 export npe_node_oceanice_products=1 export nth_oceanice_products=1 - export memory_oceanice_products="96GB" + if [[ "${machine}" == "GAEA" ]]; then + export memory_oceanice_products="" + elif + export memory_oceanice_products="96GB" + fi ;; "upp") @@ -935,6 +948,8 @@ case ${step} in declare -x "memory_${step}"="4096M" if [[ "${machine}" == "WCOSS2" ]]; then declare -x "memory_${step}"="50GB" + elif [[ "${machine}" == "GAEA" ]]; then + declare -x "memory_${step}"="" fi ;; @@ -943,7 +958,11 @@ case ${step} in export npe_cleanup=1 export npe_node_cleanup=1 export nth_cleanup=1 - export memory_cleanup="4096M" + if [[ "${machine}" == "GAEA" ]]; then + export memory_cleanup="" + elif + export memory_cleanup="4096M" + fi ;; "stage_ic") From bfe74a7476cf3b3efda47452fc6a41d8415865b0 Mon Sep 17 00:00:00 2001 From: David Burrows Date: Tue, 18 Jun 2024 12:38:40 -0400 Subject: [PATCH 06/14] add S2SW jobs to GAEA.env --- env/GAEA.env | 58 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 55 insertions(+), 3 deletions(-) diff --git a/env/GAEA.env b/env/GAEA.env index c19fecc934..bb35aaf9a7 100755 --- a/env/GAEA.env +++ b/env/GAEA.env @@ -4,7 +4,10 @@ if [[ $# -ne 1 ]]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "fcst atmos_products" + echo "atmanlrun atmensanlrun aeroanlrun snowanl" + echo "anal sfcanl fcst post metp" + echo "eobs eupd ecen efcs epos" + echo "postsnd awips gempak" exit 1 fi @@ -14,10 +17,43 @@ step=$1 export launcher="srun -l --export=ALL" export mpmd_opt="--multi-prog --output=mpmd.%j.%t.out" +#export POSTAMBLE_CMD='report-mem' + +# Configure MPI environment +#export I_MPI_ADJUST_ALLREDUCE=5 +#export MPI_BUFS_PER_PROC=2048 +#export MPI_BUFS_PER_HOST=2048 +#export MPI_GROUP_MAX=256 +#export MPI_MEMMAP_OFF=1 +#export MP_STDOUTMODE="ORDERED" +export OMP_STACKSIZE=2048000 +export NTHSTACK=1024000000 +#export LD_BIND_NOW=1 + ulimit -s unlimited ulimit -a -if [[ "${step}" = "fcst" ]]; then +if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then + + nth_max=$((npe_node_max / npe_node_prep)) + + export POE="NO" + export BACK="NO" + export sys_tp="HERA" + export launcher_PREP="srun" + +elif [[ "${step}" = "prepsnowobs" ]]; then + + export APRUN_CALCFIMS="${launcher} -n 1" + +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} + +elif [[ "${step}" = "fcst" ]] || [[ "${step}" = "efcs" ]]; then if [[ "${CDUMP}" =~ "gfs" ]]; then nprocs="npe_${step}_gfs" @@ -32,8 +68,24 @@ if [[ "${step}" = "fcst" ]]; then export APRUN_UFS="${launcher} -n ${ntasks}" unset nprocs ppn nnodes ntasks + +elif [[ "${step}" = "upp" ]]; then + + nth_max=$((npe_node_max / npe_node_upp)) + + export NTHREADS_UPP=${nth_upp:-1} + [[ ${NTHREADS_UPP} -gt ${nth_max} ]] && export NTHREADS_UPP=${nth_max} + export APRUN_UPP="${launcher} -n ${npe_upp} --cpus-per-task=${NTHREADS_UPP}" + elif [[ "${step}" = "atmos_products" ]]; then - export USE_CFP="YES" # Use MPMD for downstream product generation + export USE_CFP="YES" # Use MPMD for downstream product generation on Hera + +elif [[ "${step}" = "oceanice_products" ]]; then + + nth_max=$((npe_node_max / npe_node_oceanice_products)) + + export NTHREADS_OCNICEPOST=${nth_oceanice_products:-1} + export APRUN_OCNICEPOST="${launcher} -n 1 --cpus-per-task=${NTHREADS_OCNICEPOST}" fi From d889fc3b9ef73014095636c4d4f66601e25526f3 Mon Sep 17 00:00:00 2001 From: David Burrows Date: Tue, 18 Jun 2024 12:50:25 -0400 Subject: [PATCH 07/14] fix syntax error in config.resources --- parm/config/gfs/config.resources | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index 9076e9d0e8..3b0538976b 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -788,7 +788,7 @@ case ${step} in export nth_oceanice_products=1 if [[ "${machine}" == "GAEA" ]]; then export memory_oceanice_products="" - elif + else export memory_oceanice_products="96GB" fi ;; @@ -960,7 +960,7 @@ case ${step} in export nth_cleanup=1 if [[ "${machine}" == "GAEA" ]]; then export memory_cleanup="" - elif + else export memory_cleanup="4096M" fi ;; From ebed2f268f04d3eab2967f7f61af028d74c30a91 Mon Sep 17 00:00:00 2001 From: David Burrows Date: Thu, 20 Jun 2024 08:55:32 -0400 Subject: [PATCH 08/14] trim GAEA.env --- env/GAEA.env | 49 ++----------------------------------------------- 1 file changed, 2 insertions(+), 47 deletions(-) diff --git a/env/GAEA.env b/env/GAEA.env index bb35aaf9a7..ccee241970 100755 --- a/env/GAEA.env +++ b/env/GAEA.env @@ -4,10 +4,7 @@ if [[ $# -ne 1 ]]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "atmanlrun atmensanlrun aeroanlrun snowanl" - echo "anal sfcanl fcst post metp" - echo "eobs eupd ecen efcs epos" - echo "postsnd awips gempak" + echo "fcst atmos_products" exit 1 fi @@ -17,43 +14,10 @@ step=$1 export launcher="srun -l --export=ALL" export mpmd_opt="--multi-prog --output=mpmd.%j.%t.out" -#export POSTAMBLE_CMD='report-mem' - -# Configure MPI environment -#export I_MPI_ADJUST_ALLREDUCE=5 -#export MPI_BUFS_PER_PROC=2048 -#export MPI_BUFS_PER_HOST=2048 -#export MPI_GROUP_MAX=256 -#export MPI_MEMMAP_OFF=1 -#export MP_STDOUTMODE="ORDERED" -export OMP_STACKSIZE=2048000 -export NTHSTACK=1024000000 -#export LD_BIND_NOW=1 - ulimit -s unlimited ulimit -a -if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then - - nth_max=$((npe_node_max / npe_node_prep)) - - export POE="NO" - export BACK="NO" - export sys_tp="HERA" - export launcher_PREP="srun" - -elif [[ "${step}" = "prepsnowobs" ]]; then - - export APRUN_CALCFIMS="${launcher} -n 1" - -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} - -elif [[ "${step}" = "fcst" ]] || [[ "${step}" = "efcs" ]]; then +if [[ "${step}" = "fcst" ]]; then if [[ "${CDUMP}" =~ "gfs" ]]; then nprocs="npe_${step}_gfs" @@ -68,15 +32,6 @@ elif [[ "${step}" = "fcst" ]] || [[ "${step}" = "efcs" ]]; then export APRUN_UFS="${launcher} -n ${ntasks}" unset nprocs ppn nnodes ntasks - -elif [[ "${step}" = "upp" ]]; then - - nth_max=$((npe_node_max / npe_node_upp)) - - export NTHREADS_UPP=${nth_upp:-1} - [[ ${NTHREADS_UPP} -gt ${nth_max} ]] && export NTHREADS_UPP=${nth_max} - export APRUN_UPP="${launcher} -n ${npe_upp} --cpus-per-task=${NTHREADS_UPP}" - elif [[ "${step}" = "atmos_products" ]]; then export USE_CFP="YES" # Use MPMD for downstream product generation on Hera From af633d880c3ac33ac247c54b0696c4aa677aae3e Mon Sep 17 00:00:00 2001 From: David Burrows Date: Thu, 20 Jun 2024 09:05:33 -0400 Subject: [PATCH 09/14] remove Hera from GAEA.env --- env/GAEA.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env/GAEA.env b/env/GAEA.env index ccee241970..a7b48c497a 100755 --- a/env/GAEA.env +++ b/env/GAEA.env @@ -34,7 +34,7 @@ if [[ "${step}" = "fcst" ]]; then elif [[ "${step}" = "atmos_products" ]]; then - export USE_CFP="YES" # Use MPMD for downstream product generation on Hera + export USE_CFP="YES" # Use MPMD for downstream product generation elif [[ "${step}" = "oceanice_products" ]]; then From 45771a75e4f6c43afabe3ed0eb3082563048db4a Mon Sep 17 00:00:00 2001 From: David Burrows Date: Thu, 20 Jun 2024 09:22:34 -0400 Subject: [PATCH 10/14] github bot: removing unused variable in GAEA.env --- env/GAEA.env | 2 -- 1 file changed, 2 deletions(-) diff --git a/env/GAEA.env b/env/GAEA.env index a7b48c497a..9b065e2a4f 100755 --- a/env/GAEA.env +++ b/env/GAEA.env @@ -38,8 +38,6 @@ elif [[ "${step}" = "atmos_products" ]]; then elif [[ "${step}" = "oceanice_products" ]]; then - nth_max=$((npe_node_max / npe_node_oceanice_products)) - export NTHREADS_OCNICEPOST=${nth_oceanice_products:-1} export APRUN_OCNICEPOST="${launcher} -n 1 --cpus-per-task=${NTHREADS_OCNICEPOST}" From ee934cf7d43f02f8e57416babd59bdfb01785e27 Mon Sep 17 00:00:00 2001 From: David Burrows Date: Mon, 24 Jun 2024 09:54:07 -0400 Subject: [PATCH 11/14] revert config.resources and remove all memory variables in xml setup for Gaea-C5 --- parm/config/gfs/config.resources | 35 ++++++++++---------------------- 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index 3b0538976b..2a32e79364 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -113,11 +113,7 @@ case ${step} in export nth_waveinit=1 export npe_node_waveinit=$(( npe_node_max / nth_waveinit )) export NTASKS=${npe_waveinit} - if [[ "${machine}" == "GAEA" ]]; then - export memory_waveinit="" - else - export memory_waveinit="2GB" - fi + export memory_waveinit="2GB" ;; "waveprep") @@ -141,13 +137,8 @@ case ${step} in export nth_wavepostsbs=1 export npe_node_wavepostsbs=$(( npe_node_max / nth_wavepostsbs )) export NTASKS=${npe_wavepostsbs} - if [[ "${machine}" == "GAEA" ]]; then - export memory_wavepostsbs="" - export memory_wavepostsbs_gfs="" - else - export memory_wavepostsbs="10GB" - export memory_wavepostsbs_gfs="10GB" - fi + export memory_wavepostsbs="10GB" + export memory_wavepostsbs_gfs="10GB" ;; # The wavepost*pnt* jobs are I/O heavy and do not scale well to large nodes. @@ -786,11 +777,7 @@ case ${step} in export npe_oceanice_products=1 export npe_node_oceanice_products=1 export nth_oceanice_products=1 - if [[ "${machine}" == "GAEA" ]]; then - export memory_oceanice_products="" - else - export memory_oceanice_products="96GB" - fi + export memory_oceanice_products="96GB" ;; "upp") @@ -948,8 +935,6 @@ case ${step} in declare -x "memory_${step}"="4096M" if [[ "${machine}" == "WCOSS2" ]]; then declare -x "memory_${step}"="50GB" - elif [[ "${machine}" == "GAEA" ]]; then - declare -x "memory_${step}"="" fi ;; @@ -958,11 +943,7 @@ case ${step} in export npe_cleanup=1 export npe_node_cleanup=1 export nth_cleanup=1 - if [[ "${machine}" == "GAEA" ]]; then - export memory_cleanup="" - else - export memory_cleanup="4096M" - fi + export memory_cleanup="4096M" ;; "stage_ic") @@ -1326,4 +1307,10 @@ case ${step} in esac +if [[ "${machine}" == "GAEA" ]]; then + for mem_var in $(env | grep '^memory_' | cut -d= -f1); do + unset "${mem_var}" + done +fi + echo "END: config.resources" From 25a7c853a8932c4c354a5c3ec16adbb47716d89d Mon Sep 17 00:00:00 2001 From: David Burrows Date: Tue, 2 Jul 2024 12:50:30 -0400 Subject: [PATCH 12/14] update config.resources.MACHINE_ID for gaea --- env/GAEA.env | 40 +++++++++++++++++++++++---- parm/config/gfs/config.resources.GAEA | 4 +++ 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/env/GAEA.env b/env/GAEA.env index 4b3b0cea02..9369ad111f 100755 --- a/env/GAEA.env +++ b/env/GAEA.env @@ -3,6 +3,11 @@ if [[ $# -ne 1 ]]; then echo "Must specify an input argument to set runtime environment variables!" + echo "argument can be any one of the following:" + echo "atmanlrun atmensanlrun aeroanlrun snowanl" + echo "anal sfcanl fcst post metp" + echo "eobs eupd ecen efcs epos" + echo "postsnd awips gempak" exit 1 fi @@ -12,29 +17,52 @@ 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 -if [[ "${step}" = "fcst" ]]; then +if [[ "${step}" = "waveinit" ]]; then + + export CFP_MP="YES" + if [[ "${step}" = "waveprep" ]]; then export MP_PULSE=0 ; fi + export wavempexec=${launcher} + export wave_mpmd=${mpmd_opt} - ppn="npe_node_${step}_${RUN}" - [[ -z "${!ppn+0}" ]] && ppn="npe_node_${step}" - nprocs="npe_${step}_${RUN}" - [[ -z ${!nprocs+0} ]] && nprocs="npe_${step}" +elif [[ "${step}" = "fcst" ]]; then + if [[ "${CDUMP}" =~ "gfs" ]]; then + nprocs="npe_${step}_gfs" + ppn="npe_node_${step}_gfs" || ppn="npe_node_${step}" + else + nprocs="npe_${step}" + ppn="npe_node_${step}" + fi (( nnodes = (${!nprocs}+${!ppn}-1)/${!ppn} )) (( ntasks = nnodes*${!ppn} )) # With ESMF threading, the model wants to use the full node export APRUN_UFS="${launcher} -n ${ntasks}" unset nprocs ppn nnodes ntasks + elif [[ "${step}" = "atmos_products" ]]; then - export USE_CFP="YES" # Use MPMD for downstream product generation + export USE_CFP="YES" # Use MPMD for downstream product generation on Hera elif [[ "${step}" = "oceanice_products" ]]; then + nth_max=$((npe_node_max / npe_node_oceanice_products)) + export NTHREADS_OCNICEPOST=${nth_oceanice_products:-1} export APRUN_OCNICEPOST="${launcher} -n 1 --cpus-per-task=${NTHREADS_OCNICEPOST}" +elif [[ "${step}" = "fit2obs" ]]; then + + nth_max=$((npe_node_max / npe_node_fit2obs)) + + export NTHREADS_FIT2OBS=${nth_fit2obs:-1} + [[ ${NTHREADS_FIT2OBS} -gt ${nth_max} ]] && export NTHREADS_FIT2OBS=${nth_max} + export MPIRUN="${launcher} -n ${npe_fit2obs} --cpus-per-task=${NTHREADS_FIT2OBS}" + fi diff --git a/parm/config/gfs/config.resources.GAEA b/parm/config/gfs/config.resources.GAEA index 64990b299f..aa33db8201 100644 --- a/parm/config/gfs/config.resources.GAEA +++ b/parm/config/gfs/config.resources.GAEA @@ -20,3 +20,7 @@ case ${step} in ;; esac + +for mem_var in $(env | grep '^memory_' | cut -d= -f1); do + unset "${mem_var}" +done From 4c79540f96b80cf7d00ed8c81414ba16f1cdc7f7 Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Tue, 2 Jul 2024 12:54:37 -0400 Subject: [PATCH 13/14] Update env/GAEA.env --- env/GAEA.env | 5 ----- 1 file changed, 5 deletions(-) diff --git a/env/GAEA.env b/env/GAEA.env index 9369ad111f..d72be6ba22 100755 --- a/env/GAEA.env +++ b/env/GAEA.env @@ -3,11 +3,6 @@ if [[ $# -ne 1 ]]; then echo "Must specify an input argument to set runtime environment variables!" - echo "argument can be any one of the following:" - echo "atmanlrun atmensanlrun aeroanlrun snowanl" - echo "anal sfcanl fcst post metp" - echo "eobs eupd ecen efcs epos" - echo "postsnd awips gempak" exit 1 fi From 7fd0d793634c935d75809aa325cad8976104acec Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Tue, 2 Jul 2024 12:55:46 -0400 Subject: [PATCH 14/14] Update parm/config/gfs/config.resources.GAEA --- parm/config/gfs/config.resources.GAEA | 1 + 1 file changed, 1 insertion(+) diff --git a/parm/config/gfs/config.resources.GAEA b/parm/config/gfs/config.resources.GAEA index aa33db8201..3f0934edc2 100644 --- a/parm/config/gfs/config.resources.GAEA +++ b/parm/config/gfs/config.resources.GAEA @@ -21,6 +21,7 @@ case ${step} in esac +# shellcheck disable=SC2312 for mem_var in $(env | grep '^memory_' | cut -d= -f1); do unset "${mem_var}" done