From 68e55db134c6a621c6defce1b2f26326d0a1f108 Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Thu, 8 Feb 2024 18:13:53 +0000 Subject: [PATCH 01/15] initial additions --- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN | 42 +++++++++++++++++++++++++++ jobs/rocoto/ocnanalecen.sh | 18 ++++++++++++ parm/config/gfs/config.ocnanalecen | 11 +++++++ parm/config/gfs/config.resources | 10 ++++++- 4 files changed, 80 insertions(+), 1 deletion(-) create mode 100755 jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN create mode 100755 jobs/rocoto/ocnanalecen.sh create mode 100644 parm/config/gfs/config.ocnanalecen diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN new file mode 100755 index 0000000000..68291f6270 --- /dev/null +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN @@ -0,0 +1,42 @@ +#!/bin/bash +source "${HOMEgfs}/ush/preamble.sh" +export WIPE_DATA="NO" +export DATA="${DATAROOT}/${RUN}ocnanal_${cyc}" +source "${HOMEgfs}/ush/jjob_header.sh" -e "ocnanalecen" -c "base ocnanalecen" + + +############################################## +# Set variables used in the script +############################################## + +############################################## +# Begin JOB SPECIFIC work +############################################## + + +############################################################### +# Run relevant script + +EXSCRIPT=${GDASOCNRUNSH:-${HOMEgfs}/sorc/gdas.cd/scripts/exgdas_global_marine_analysis_ecen.sh} +${EXSCRIPT} +status=$? +[[ ${status} -ne 0 ]] && exit "${status}" + +############################################## +# End JOB SPECIFIC work +############################################## + +############################################## +# Final processing +############################################## +if [[ -e "${pgmout}" ]] ; then + cat "${pgmout}" +fi + +########################################## +# Remove the Temporary working directory +########################################## +cd "${DATAROOT}" || exit 1 +[[ "${KEEPDATA}" = "NO" ]] && rm -rf "${DATA}" + +exit 0 diff --git a/jobs/rocoto/ocnanalecen.sh b/jobs/rocoto/ocnanalecen.sh new file mode 100755 index 0000000000..dd88c30396 --- /dev/null +++ b/jobs/rocoto/ocnanalecen.sh @@ -0,0 +1,18 @@ +#! /usr/bin/env bash + +source "${HOMEgfs}/ush/preamble.sh" + +############################################################### +# Source UFSDA workflow modules +. "${HOMEgfs}/ush/load_ufsda_modules.sh" +status=$? +[[ ${status} -ne 0 ]] && exit "${status}" + +export job="ocnanalecen" +export jobid="${job}.$$" + +############################################################### +# Execute the JJOB +"${HOMEgfs}"/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN +status=$? +exit "${status}" diff --git a/parm/config/gfs/config.ocnanalecen b/parm/config/gfs/config.ocnanalecen new file mode 100644 index 0000000000..b64c2bcf62 --- /dev/null +++ b/parm/config/gfs/config.ocnanalecen @@ -0,0 +1,11 @@ +#!/bin/bash + +########## config.ocnanalecen ########## +# Ocn Analysis specific + +echo "BEGIN: config.ocnanalecen" + +# Get task specific resources +. "${EXPDIR}/config.resources" ocnanalecen + +echo "END: config.ocnanalecen" diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index 1dcf757de2..38e6f8ff06 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -23,7 +23,7 @@ if (( $# != 1 )); then echo "waveinit waveprep wavepostsbs wavepostbndpnt wavepostbndpntbll wavepostpnt" echo "wavegempak waveawipsbulls waveawipsgridded" echo "postsnd awips gempak npoess" - echo "ocnanalprep prepoceanobs ocnanalbmat ocnanalrun ocnanalchkpt ocnanalpost ocnanalvrfy" + echo "ocnanalprep prepoceanobs ocnanalbmat ocnanalrun ocnanalecen ocnanalchkpt ocnanalpost ocnanalvrfy" exit 1 fi @@ -400,6 +400,14 @@ case ${step} in export memory_ocnanalrun ;; + "ocnanalecen") + export wtime_ocnanalecen="00:10:00" + export npe_ocnanalecen=1 + export nth_ocnanalecen=1 + export npe_node_ocnanalecen=$(( npe_node_max / nth_ocnanalecen )) + export memory_ocnanalecen="24GB" + ;; + "ocnanalchkpt") export wtime_ocnanalchkpt="00:10:00" export npe_ocnanalchkpt=1 From 01857f7027b3a261016dfc75b5743dbc8f368bd1 Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Thu, 8 Feb 2024 19:09:19 +0000 Subject: [PATCH 02/15] fine, keep datadir --- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN index 68291f6270..eb75125bda 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN @@ -34,9 +34,8 @@ if [[ -e "${pgmout}" ]] ; then fi ########################################## -# Remove the Temporary working directory +# Do not remove the Temporary working directory (do this in POST) ########################################## cd "${DATAROOT}" || exit 1 -[[ "${KEEPDATA}" = "NO" ]] && rm -rf "${DATA}" exit 0 From 4a712893c4ddee78b8cb0ef5716d662836c9423f Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Thu, 8 Feb 2024 20:13:32 +0000 Subject: [PATCH 03/15] enriched resources --- parm/config/gfs/config.resources | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index 38e6f8ff06..f37ebb7deb 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -401,11 +401,30 @@ case ${step} in ;; "ocnanalecen") + npes=16 + case ${CASE} in + "C384") + npes=480 + memory_ocnanalecen="128GB" + ;; + "C96") + npes=16 + ;; + "C48") + npes=16 + memory_ocnanalecen="64GB" + ;; + *) + echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${CASE}" + exit 4 + esac + export wtime_ocnanalecen="00:10:00" - export npe_ocnanalecen=1 + export npe_ocnanalecen=${npes} export nth_ocnanalecen=1 + export is_exclusive=True export npe_node_ocnanalecen=$(( npe_node_max / nth_ocnanalecen )) - export memory_ocnanalecen="24GB" + export memory_ocnanalecen ;; "ocnanalchkpt") From b907738f5f727ee31a1bd9eff373c52f016f0ba3 Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA <58948505+AndrewEichmann-NOAA@users.noreply.github.com> Date: Thu, 8 Feb 2024 15:21:29 -0500 Subject: [PATCH 04/15] Update config.resources --- parm/config/gfs/config.resources | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index f37ebb7deb..0dd94d5d56 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -404,15 +404,16 @@ case ${step} in npes=16 case ${CASE} in "C384") - npes=480 - memory_ocnanalecen="128GB" + npes=40 + memory_ocnanalecen="96GB" ;; "C96") npes=16 + memory_ocnanalecen="96GB" ;; "C48") npes=16 - memory_ocnanalecen="64GB" + memory_ocnanalecen="24GB" ;; *) echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${CASE}" From 5aacfa9714135aa4f661d7c101ee2e22a7532c9c Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA <58948505+AndrewEichmann-NOAA@users.noreply.github.com> Date: Thu, 8 Feb 2024 15:22:37 -0500 Subject: [PATCH 05/15] Update config.resources --- parm/config/gfs/config.resources | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index 0dd94d5d56..d402ee25d3 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -377,15 +377,16 @@ case ${step} in npes=16 case ${CASE} in "C384") - npes=480 - memory_ocnanalrun="128GB" + npes=40 + memory_ocnanalrun="96GB" ;; "C96") npes=16 + memory_ocnanalrun="96GB" ;; "C48") npes=16 - memory_ocnanalrun="64GB" + memory_ocnanalrun="24GB" ;; *) echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${CASE}" From ca4918fc5e9cd5c5070da1c78033ab7191a21e22 Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Mon, 12 Feb 2024 20:12:29 +0000 Subject: [PATCH 06/15] changed atm resolutions to ocn in ocn entries --- parm/config/gfs/config.resources | 40 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index d402ee25d3..91212fef7a 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -357,12 +357,12 @@ case ${step} in "ocnanalbmat") npes=16 - case ${CASE} in - "C384") npes=480;; - "C96") npes=16;; - "C48") npes=16;; + case ${OCNRES} in + "500") npes=480;; + "050") npes=16;; + "025") npes=16;; *) - echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${CASE}" + echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${OCNRES}" exit 4 esac @@ -375,21 +375,21 @@ case ${step} in "ocnanalrun") npes=16 - case ${CASE} in - "C384") + case ${OCNRES} in + "500") npes=40 memory_ocnanalrun="96GB" ;; - "C96") + "050") npes=16 memory_ocnanalrun="96GB" ;; - "C48") + "025") npes=16 memory_ocnanalrun="24GB" ;; *) - echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${CASE}" + echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${OCNRES}" exit 4 esac @@ -403,21 +403,21 @@ case ${step} in "ocnanalecen") npes=16 - case ${CASE} in - "C384") + case ${OCNRES} in + "500") npes=40 memory_ocnanalecen="96GB" ;; - "C96") + "050") npes=16 memory_ocnanalecen="96GB" ;; - "C48") + "025") npes=16 memory_ocnanalecen="24GB" ;; *) - echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${CASE}" + echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${OCNRES}" exit 4 esac @@ -434,12 +434,12 @@ case ${step} in export npe_ocnanalchkpt=1 export nth_ocnanalchkpt=1 export npe_node_ocnanalchkpt=$(( npe_node_max / nth_ocnanalchkpt )) - case ${CASE} in - "C384") memory_ocnanalchkpt="128GB";; - "C96") memory_ocnanalchkpt="32GB";; - "C48") memory_ocnanalchkpt="32GB";; + case ${OCNRES} in + "500") memory_ocnanalchkpt="128GB";; + "050") memory_ocnanalchkpt="32GB";; + "025") memory_ocnanalchkpt="32GB";; *) - echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${CASE}" + echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${OCNRES}" exit 4 esac export memory_ocnanalchkpt From be3a6a886826c8b010181bb719aae52300bf4135 Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Mon, 12 Feb 2024 20:39:48 +0000 Subject: [PATCH 07/15] reverse the reversal --- parm/config/gfs/config.resources | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index ca23869aaf..80a2c78757 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -358,9 +358,9 @@ case ${step} in "ocnanalbmat") npes=16 case ${OCNRES} in - "500") npes=480;; + "025") npes=480;; "050") npes=16;; - "025") npes=16;; + "500") npes=16;; *) echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${OCNRES}" exit 4 @@ -376,7 +376,7 @@ case ${step} in "ocnanalrun") npes=16 case ${OCNRES} in - "500") + "025") npes=40 memory_ocnanalrun="96GB" ;; @@ -384,7 +384,7 @@ case ${step} in npes=16 memory_ocnanalrun="96GB" ;; - "025") + "500") npes=16 memory_ocnanalrun="24GB" ;; @@ -404,7 +404,7 @@ case ${step} in "ocnanalecen") npes=16 case ${OCNRES} in - "500") + "025") npes=40 memory_ocnanalecen="96GB" ;; @@ -412,7 +412,7 @@ case ${step} in npes=16 memory_ocnanalecen="96GB" ;; - "025") + "500") npes=16 memory_ocnanalecen="24GB" ;; @@ -435,13 +435,13 @@ case ${step} in export nth_ocnanalchkpt=1 export npe_node_ocnanalchkpt=$(( npe_node_max / nth_ocnanalchkpt )) case ${OCNRES} in - "500") + "025") memory_ocnanalchkpt="128GB" npes=40;; "050") memory_ocnanalchkpt="32GB" npes=16;; - "025") + "500") memory_ocnanalchkpt="32GB" npes=8;; *) From 62b398c05dbd8b151d5db165bf03a8a3447c9843 Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Thu, 15 Feb 2024 17:51:19 +0000 Subject: [PATCH 08/15] sh to py --- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN index eb75125bda..9c819e7879 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN @@ -13,11 +13,12 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "ocnanalecen" -c "base ocnanalecen" # Begin JOB SPECIFIC work ############################################## +export PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush:${PYTHONPATH} ############################################################### # Run relevant script -EXSCRIPT=${GDASOCNRUNSH:-${HOMEgfs}/sorc/gdas.cd/scripts/exgdas_global_marine_analysis_ecen.sh} +EXSCRIPT=${GDASOCNRUNSH:-${HOMEgfs}/sorc/gdas.cd/scripts/exgdas_global_marine_analysis_ecen.py} ${EXSCRIPT} status=$? [[ ${status} -ne 0 ]] && exit "${status}" From 711656d16c4d64e4b91a896b58c7c4745c2d4e62 Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Fri, 16 Feb 2024 16:08:43 +0000 Subject: [PATCH 09/15] bringing in line with g-w --- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN | 4 +--- jobs/rocoto/ocnanalecen.sh | 5 +++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN index 9c819e7879..b2b7b67912 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN @@ -13,12 +13,10 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "ocnanalecen" -c "base ocnanalecen" # Begin JOB SPECIFIC work ############################################## -export PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush:${PYTHONPATH} - ############################################################### # Run relevant script -EXSCRIPT=${GDASOCNRUNSH:-${HOMEgfs}/sorc/gdas.cd/scripts/exgdas_global_marine_analysis_ecen.py} +EXSCRIPT=${GDASOCNCENPY:-${HOMEgfs}/ush/exgdas_global_marine_analysis_ecen.py} ${EXSCRIPT} status=$? [[ ${status} -ne 0 ]] && exit "${status}" diff --git a/jobs/rocoto/ocnanalecen.sh b/jobs/rocoto/ocnanalecen.sh index dd88c30396..015f8d0198 100755 --- a/jobs/rocoto/ocnanalecen.sh +++ b/jobs/rocoto/ocnanalecen.sh @@ -11,6 +11,11 @@ status=$? export job="ocnanalecen" export jobid="${job}.$$" +############################################################### +# Setup Python path for GDASApp ush +PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush:${PYTHONPATH} +export PYTHONPATH + ############################################################### # Execute the JJOB "${HOMEgfs}"/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN From a4c71874a8bada436d10f93d7ccc67a5f2f0bb26 Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Wed, 21 Feb 2024 23:02:03 +0000 Subject: [PATCH 10/15] tweaks --- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN index b2b7b67912..15b3141b23 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN @@ -1,9 +1,6 @@ #!/bin/bash source "${HOMEgfs}/ush/preamble.sh" -export WIPE_DATA="NO" -export DATA="${DATAROOT}/${RUN}ocnanal_${cyc}" -source "${HOMEgfs}/ush/jjob_header.sh" -e "ocnanalecen" -c "base ocnanalecen" - +source "${HOMEgfs}/ush/jjob_header.sh" -e "ocnanalecen" -c "base ocnanal ocnanalecen" ############################################## # Set variables used in the script @@ -33,8 +30,9 @@ if [[ -e "${pgmout}" ]] ; then fi ########################################## -# Do not remove the Temporary working directory (do this in POST) +# Remove the Temporary working directory ########################################## cd "${DATAROOT}" || exit 1 +[[ "${KEEPDATA}" = "NO" ]] && rm -rf "${DATA}" exit 0 From 354618eee2047d6e693bb75ab942e8de592e5ebe Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Tue, 27 Feb 2024 15:50:51 +0000 Subject: [PATCH 11/15] more tweaks --- env/HERA.env | 6 ++++++ jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN | 2 +- jobs/rocoto/ocnanalecen.sh | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/env/HERA.env b/env/HERA.env index 057a2313f8..7c83a9ea5e 100755 --- a/env/HERA.env +++ b/env/HERA.env @@ -107,6 +107,12 @@ elif [[ "${step}" = "ocnanalchkpt" ]]; then export APRUN_OCNANAL="${launcher} -n ${npe_ocnanalchkpt}" +elif [[ "${step}" = "ocnanalecen" ]]; then + + export APRUNCFP="${launcher} -n \$ncmd --multi-prog" + + export APRUN_OCNANALECEN="${launcher} -n ${npe_ocnanalecen}" + elif [[ "${step}" = "anal" ]] || [[ "${step}" = "analcalc" ]]; then export MKL_NUM_THREADS=4 diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN index 15b3141b23..c4ad80c9e3 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN @@ -13,7 +13,7 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "ocnanalecen" -c "base ocnanal ocnanal ############################################################### # Run relevant script -EXSCRIPT=${GDASOCNCENPY:-${HOMEgfs}/ush/exgdas_global_marine_analysis_ecen.py} +EXSCRIPT=${GDASOCNCENPY:-${HOMEgfs}/scripts/exgdas_global_marine_analysis_ecen.py} ${EXSCRIPT} status=$? [[ ${status} -ne 0 ]] && exit "${status}" diff --git a/jobs/rocoto/ocnanalecen.sh b/jobs/rocoto/ocnanalecen.sh index 015f8d0198..c5fdbbbf32 100755 --- a/jobs/rocoto/ocnanalecen.sh +++ b/jobs/rocoto/ocnanalecen.sh @@ -13,7 +13,7 @@ export jobid="${job}.$$" ############################################################### # Setup Python path for GDASApp ush -PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush:${PYTHONPATH} +PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}${HOMEgfs}/sorc/gdas.cd/ush" export PYTHONPATH ############################################################### From ffb3b9febfb912db95fcb442a593d1b4a0cdc07a Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Tue, 27 Feb 2024 16:23:20 +0000 Subject: [PATCH 12/15] adding missed executables for linking --- sorc/link_workflow.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh index 6d5d40a354..0bbe80d942 100755 --- a/sorc/link_workflow.sh +++ b/sorc/link_workflow.sh @@ -308,6 +308,10 @@ if [[ -d "${HOMEgfs}/sorc/gdas.cd/build" ]]; then "fv3jedi_enshofx.x" \ "fv3jedi_hofx_nomodel.x" \ "fv3jedi_testdata_downloader.py" \ + "gdas_ens_handler.x" \ + "gdas_incr_handler.x" \ + "gdas_obsprovider2ioda.x" \ + "gdas_socahybridweights.x" \ "soca_convertincrement.x" \ "soca_error_covariance_training.x" \ "soca_setcorscales.x" \ From 92d2a06236bf8aed747f47fe08a725eef1c0bfaf Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Thu, 7 Mar 2024 19:29:35 +0000 Subject: [PATCH 13/15] remove superfluous APRUNCFP --- env/HERA.env | 2 -- 1 file changed, 2 deletions(-) diff --git a/env/HERA.env b/env/HERA.env index 2fa2dd330e..618bfddee2 100755 --- a/env/HERA.env +++ b/env/HERA.env @@ -109,8 +109,6 @@ elif [[ "${step}" = "ocnanalchkpt" ]]; then elif [[ "${step}" = "ocnanalecen" ]]; then - export APRUNCFP="${launcher} -n \$ncmd --multi-prog" - export APRUN_OCNANALECEN="${launcher} -n ${npe_ocnanalecen}" elif [[ "${step}" = "anal" ]] || [[ "${step}" = "analcalc" ]]; then From 40ef4e3be0e4f877cb0f76dccdec07134762ce21 Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Thu, 7 Mar 2024 19:35:08 +0000 Subject: [PATCH 14/15] adding notional orion capability --- env/ORION.env | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/env/ORION.env b/env/ORION.env index 692fa8ab66..02f3a6c3d3 100755 --- a/env/ORION.env +++ b/env/ORION.env @@ -118,6 +118,10 @@ elif [[ "${step}" = "ocnanalchkpt" ]]; then [[ ${NTHREADS_OCNANAL} -gt ${nth_max} ]] && export NTHREADS_OCNANAL=${nth_max} export APRUN_OCNANAL="${launcher} -n ${npe_ocnanalchkpt} --cpus-per-task=${NTHREADS_OCNANAL}" +elif [[ "${step}" = "ocnanalecen" ]]; then + + export APRUN_OCNANALECEN="${launcher} -n ${npe_ocnanalecen}" + elif [[ "${step}" = "anal" ]] || [[ "${step}" = "analcalc" ]]; then export MKL_NUM_THREADS=4 From 0059d786913932e58f7d4c2108efe8edc581f995 Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA Date: Thu, 7 Mar 2024 20:45:06 +0000 Subject: [PATCH 15/15] resource massaging --- env/HERA.env | 6 +++++- env/ORION.env | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/env/HERA.env b/env/HERA.env index 618bfddee2..f55434e8d9 100755 --- a/env/HERA.env +++ b/env/HERA.env @@ -109,7 +109,11 @@ elif [[ "${step}" = "ocnanalchkpt" ]]; then elif [[ "${step}" = "ocnanalecen" ]]; then - export APRUN_OCNANALECEN="${launcher} -n ${npe_ocnanalecen}" + nth_max=$((npe_node_max / npe_node_ocnanalecen)) + + export NTHREADS_OCNANALECEN=${nth_ocnanalecen:-${nth_max}} + [[ ${NTHREADS_OCNANALECEN} -gt ${nth_max} ]] && export NTHREADS_OCNANALECEN=${nth_max} + export APRUN_OCNANALECEN="${launcher} -n ${npe_ocnanalecen} --cpus-per-task=${NTHREADS_OCNANALECEN}" elif [[ "${step}" = "anal" ]] || [[ "${step}" = "analcalc" ]]; then diff --git a/env/ORION.env b/env/ORION.env index 02f3a6c3d3..17d0d24d97 100755 --- a/env/ORION.env +++ b/env/ORION.env @@ -120,7 +120,11 @@ elif [[ "${step}" = "ocnanalchkpt" ]]; then elif [[ "${step}" = "ocnanalecen" ]]; then - export APRUN_OCNANALECEN="${launcher} -n ${npe_ocnanalecen}" + nth_max=$((npe_node_max / npe_node_ocnanalecen)) + + export NTHREADS_OCNANALECEN=${nth_ocnanalecen:-${nth_max}} + [[ ${NTHREADS_OCNANALECEN} -gt ${nth_max} ]] && export NTHREADS_OCNANALECEN=${nth_max} + export APRUN_OCNANALECEN="${launcher} -n ${npe_ocnanalecen} --cpus-per-task=${NTHREADS_OCNANALECEN}" elif [[ "${step}" = "anal" ]] || [[ "${step}" = "analcalc" ]]; then