From 5cf91e9aebda7fb6de587c5d325568c929065ba4 Mon Sep 17 00:00:00 2001 From: NeilBarton-NOAA Date: Thu, 29 Feb 2024 18:17:59 +0000 Subject: [PATCH 1/5] GEFS stage ICs for C384 and with ocean perturbations --- parm/config/gefs/config.stage_ic | 6 ++++++ scripts/exglobal_stage_ic.sh | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/parm/config/gefs/config.stage_ic b/parm/config/gefs/config.stage_ic index e2bb0af2b8..95fa9fcb89 100644 --- a/parm/config/gefs/config.stage_ic +++ b/parm/config/gefs/config.stage_ic @@ -8,6 +8,12 @@ echo "BEGIN: config.stage_ic" source "${EXPDIR}/config.resources" stage_ic case "${CASE}" in + "C348") + export CPL_ATMIC="" + export CPL_ICEIC="" + export CPL_OCNIC="" + export CPL_WAVIC="" + ;; "C48") export CPL_ATMIC="gefs_test" export CPL_ICEIC="gefs_test" diff --git a/scripts/exglobal_stage_ic.sh b/scripts/exglobal_stage_ic.sh index 58b37f3114..7af4bbb45c 100755 --- a/scripts/exglobal_stage_ic.sh +++ b/scripts/exglobal_stage_ic.sh @@ -104,6 +104,15 @@ for MEMDIR in "${MEMDIR_ARRAY[@]}"; do ;; esac + # Ocean Perturbation Files + if [[ "${MEMDIR}" != "mem000" ]]; then + src="${BASE_CPLIC}/${CPL_OCNIC:-}/${PDY}${cyc}/${MEMDIR}/ocean/${PDY}.${cyc}0000.mom6_increment.nc" + tgt="${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.mom6_increment.nc" + ${NCP} "${src}" "${tgt}" + rc=${?} + ((rc != 0)) && error_message "${src}" "${tgt}" "${rc}" + fi + # TODO: Do mediator restarts exists in a ATMW configuration? # TODO: No mediator is presumably involved in an ATMA configuration if [[ ${EXP_WARM_START:-".false."} = ".true." ]]; then From 1c670b05287f3460bb3cd29f9adf2476c8e4f33f Mon Sep 17 00:00:00 2001 From: NeilBarton-NOAA Date: Thu, 29 Feb 2024 21:34:14 +0000 Subject: [PATCH 2/5] edits for option to stage ocean perturbation files --- parm/config/gefs/config.base.emc.dyn | 4 ++++ parm/config/gefs/config.stage_ic | 2 +- scripts/exglobal_stage_ic.sh | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/parm/config/gefs/config.base.emc.dyn b/parm/config/gefs/config.base.emc.dyn index 0062aed163..5ae47e3948 100644 --- a/parm/config/gefs/config.base.emc.dyn +++ b/parm/config/gefs/config.base.emc.dyn @@ -259,6 +259,10 @@ export NMEM_ENS=@NMEM_ENS@ export ENSMEM=${ENSMEM:-"000"} export MEMDIR="mem${ENSMEM}" +# initialize ocean ensemble members with perturbations +# if true, only occurs for members greater than zero +export OCN_ENS_PERTURB_FILES=false + export DOIAU="NO" # While we are not doing IAU, we may want to warm start w/ IAU in the future # Check if cycle is cold starting if [[ "${EXP_WARM_START}" = ".false." ]]; then diff --git a/parm/config/gefs/config.stage_ic b/parm/config/gefs/config.stage_ic index 95fa9fcb89..b332ee1826 100644 --- a/parm/config/gefs/config.stage_ic +++ b/parm/config/gefs/config.stage_ic @@ -8,7 +8,7 @@ echo "BEGIN: config.stage_ic" source "${EXPDIR}/config.resources" stage_ic case "${CASE}" in - "C348") + "C384") export CPL_ATMIC="" export CPL_ICEIC="" export CPL_OCNIC="" diff --git a/scripts/exglobal_stage_ic.sh b/scripts/exglobal_stage_ic.sh index 7af4bbb45c..dade95314f 100755 --- a/scripts/exglobal_stage_ic.sh +++ b/scripts/exglobal_stage_ic.sh @@ -105,7 +105,7 @@ for MEMDIR in "${MEMDIR_ARRAY[@]}"; do esac # Ocean Perturbation Files - if [[ "${MEMDIR}" != "mem000" ]]; then + if [[ "${MEMDIR}" != "mem000" ]] && [[ "${OCN_ENS_PERTURB_FILES}" == "true" ]]; then src="${BASE_CPLIC}/${CPL_OCNIC:-}/${PDY}${cyc}/${MEMDIR}/ocean/${PDY}.${cyc}0000.mom6_increment.nc" tgt="${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.mom6_increment.nc" ${NCP} "${src}" "${tgt}" From cb09d614ea12213414e3469fa95770212a8b992a Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Thu, 29 Feb 2024 16:56:12 -0500 Subject: [PATCH 3/5] Update exglobal_stage_ic.sh --- scripts/exglobal_stage_ic.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/exglobal_stage_ic.sh b/scripts/exglobal_stage_ic.sh index dade95314f..e961c4423f 100755 --- a/scripts/exglobal_stage_ic.sh +++ b/scripts/exglobal_stage_ic.sh @@ -105,7 +105,7 @@ for MEMDIR in "${MEMDIR_ARRAY[@]}"; do esac # Ocean Perturbation Files - if [[ "${MEMDIR}" != "mem000" ]] && [[ "${OCN_ENS_PERTURB_FILES}" == "true" ]]; then + if [[ "${MEMDIR}" != "mem000" ]] && [[ "${OCN_ENS_PERTURB_FILES:-}" == "true" ]]; then src="${BASE_CPLIC}/${CPL_OCNIC:-}/${PDY}${cyc}/${MEMDIR}/ocean/${PDY}.${cyc}0000.mom6_increment.nc" tgt="${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.mom6_increment.nc" ${NCP} "${src}" "${tgt}" From a975e7938fd4136f3632cedee51e3528eb3e770c Mon Sep 17 00:00:00 2001 From: Neil Barton <103681022+NeilBarton-NOAA@users.noreply.github.com> Date: Fri, 1 Mar 2024 11:01:26 -0500 Subject: [PATCH 4/5] Update scripts/exglobal_stage_ic.sh Co-authored-by: Walter Kolczynski - NOAA --- scripts/exglobal_stage_ic.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/exglobal_stage_ic.sh b/scripts/exglobal_stage_ic.sh index e961c4423f..7240d48ed4 100755 --- a/scripts/exglobal_stage_ic.sh +++ b/scripts/exglobal_stage_ic.sh @@ -105,7 +105,8 @@ for MEMDIR in "${MEMDIR_ARRAY[@]}"; do esac # Ocean Perturbation Files - if [[ "${MEMDIR}" != "mem000" ]] && [[ "${OCN_ENS_PERTURB_FILES:-}" == "true" ]]; then + # Extra zero on MEMDIR ensure we have a number even if the string is empty + if (( 0${MEMDIR:3} > 0 )) && [[ "${OCN_ENS_PERTURB_FILES:-false}" == "true" ]]; then src="${BASE_CPLIC}/${CPL_OCNIC:-}/${PDY}${cyc}/${MEMDIR}/ocean/${PDY}.${cyc}0000.mom6_increment.nc" tgt="${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.mom6_increment.nc" ${NCP} "${src}" "${tgt}" From 03ed0ca643166ce82f9c87f05219efe0159efb9d Mon Sep 17 00:00:00 2001 From: Neil Barton <103681022+NeilBarton-NOAA@users.noreply.github.com> Date: Fri, 1 Mar 2024 11:01:35 -0500 Subject: [PATCH 5/5] Update scripts/exglobal_stage_ic.sh Co-authored-by: Walter Kolczynski - NOAA --- scripts/exglobal_stage_ic.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/exglobal_stage_ic.sh b/scripts/exglobal_stage_ic.sh index 7240d48ed4..c12eaa84e0 100755 --- a/scripts/exglobal_stage_ic.sh +++ b/scripts/exglobal_stage_ic.sh @@ -112,6 +112,7 @@ for MEMDIR in "${MEMDIR_ARRAY[@]}"; do ${NCP} "${src}" "${tgt}" rc=${?} ((rc != 0)) && error_message "${src}" "${tgt}" "${rc}" + err=$((err + rc)) fi # TODO: Do mediator restarts exists in a ATMW configuration?