From eabc82ad30c118645c0e6e216162d823882a8139 Mon Sep 17 00:00:00 2001 From: Guillaume Vernieres Date: Mon, 30 Oct 2023 10:31:27 -0400 Subject: [PATCH 1/2] Make the early cycle work with the coupled UFS configured as S2S (#1954) --- jobs/JGLOBAL_FORECAST | 4 ++-- jobs/JGLOBAL_STAGE_IC | 4 ++++ scripts/exglobal_stage_ic.sh | 4 ++-- workflow/rocoto/gfs_tasks.py | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/jobs/JGLOBAL_FORECAST b/jobs/JGLOBAL_FORECAST index 7fb0fbe4f7..e42c81eaa4 100755 --- a/jobs/JGLOBAL_FORECAST +++ b/jobs/JGLOBAL_FORECAST @@ -61,13 +61,13 @@ fi if [[ ${DO_OCN} == "YES" ]]; then YMD=${PDY} HH=${cyc} generate_com -rx COM_MED_RESTART COM_OCEAN_RESTART COM_OCEAN_INPUT \ COM_OCEAN_HISTORY COM_OCEAN_ANALYSIS - RUN=${CDUMP} YMD="${gPDY}" HH="${gcyc}" generate_com -rx \ + RUN=${rCDUMP} YMD="${gPDY}" HH="${gcyc}" generate_com -rx \ COM_OCEAN_RESTART_PREV:COM_OCEAN_RESTART_TMPL fi if [[ ${DO_ICE} == "YES" ]]; then YMD=${PDY} HH=${cyc} generate_com -rx COM_ICE_HISTORY COM_ICE_INPUT COM_ICE_RESTART - RUN=${CDUMP} YMD="${gPDY}" HH="${gcyc}" generate_com -rx \ + RUN=${rCDUMP} YMD="${gPDY}" HH="${gcyc}" generate_com -rx \ COM_ICE_RESTART_PREV:COM_ICE_RESTART_TMPL fi diff --git a/jobs/JGLOBAL_STAGE_IC b/jobs/JGLOBAL_STAGE_IC index 437c8f40a0..317231871e 100755 --- a/jobs/JGLOBAL_STAGE_IC +++ b/jobs/JGLOBAL_STAGE_IC @@ -3,6 +3,10 @@ source "${HOMEgfs}/ush/preamble.sh" source "${HOMEgfs}/ush/jjob_header.sh" -e "stage_ic" -c "base stage_ic" +# Restart conditions for GFS cycle come from GDAS +# shellcheck disable=SC2153 +rCDUMP=${CDUMP} +[[ ${CDUMP} = "gfs" ]] && export rCDUMP="gdas" # Execute the Script "${HOMEgfs}/scripts/exglobal_stage_ic.sh" diff --git a/scripts/exglobal_stage_ic.sh b/scripts/exglobal_stage_ic.sh index fc95fa6654..43812adc89 100755 --- a/scripts/exglobal_stage_ic.sh +++ b/scripts/exglobal_stage_ic.sh @@ -52,7 +52,7 @@ for MEMDIR in "${MEMDIR_ARRAY[@]}"; do # Stage ocean initial conditions to ROTDIR (warm start) if [[ "${DO_OCN:-}" = "YES" ]]; then - YMD=${gPDY} HH=${gcyc} generate_com COM_OCEAN_RESTART + RUN=${rCDUMP} YMD=${gPDY} HH=${gcyc} generate_com COM_OCEAN_RESTART [[ ! -d "${COM_OCEAN_RESTART}" ]] && mkdir -p "${COM_OCEAN_RESTART}" src="${BASE_CPLIC}/${CPL_OCNIC}/${PDY}${cyc}/${MEMDIR}/ocean/${PDY}.${cyc}0000.MOM.res.nc" tgt="${COM_OCEAN_RESTART}/${PDY}.${cyc}0000.MOM.res.nc" @@ -63,7 +63,7 @@ for MEMDIR in "${MEMDIR_ARRAY[@]}"; do fi # Stage ice initial conditions to ROTDIR (warm start) if [[ "${DO_ICE:-}" = "YES" ]]; then - YMD=${gPDY} HH=${gcyc} generate_com COM_ICE_RESTART + RUN=${rCDUMP} YMD=${gPDY} HH=${gcyc} generate_com COM_ICE_RESTART [[ ! -d "${COM_ICE_RESTART}" ]] && mkdir -p "${COM_ICE_RESTART}" src="${BASE_CPLIC}/${CPL_ICEIC}/${PDY}${cyc}/${MEMDIR}/ice/${PDY}.${cyc}0000.cice_model.res.nc" tgt="${COM_ICE_RESTART}/${PDY}.${cyc}0000.cice_model.res.nc" diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index d5c5ba2ed1..55055a46ee 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -363,7 +363,7 @@ def landanl(self): def ocnanalprep(self): - ocean_hist_path = self._template_to_rocoto_cycstring(self._base["COM_OCEAN_HISTORY_TMPL"]) + ocean_hist_path = self._template_to_rocoto_cycstring(self._base["COM_OCEAN_HISTORY_TMPL"], {'RUN': 'gdas'}) deps = [] data = f'{ocean_hist_path}/gdas.t@Hz.ocnf009.nc' From 7086ddc4bece6fb2a8c1c2e6090800d4293e410e Mon Sep 17 00:00:00 2001 From: AndrewEichmann-NOAA <58948505+AndrewEichmann-NOAA@users.noreply.github.com> Date: Mon, 30 Oct 2023 19:58:43 -0400 Subject: [PATCH 2/2] Add ocean analysis files to HPSS archiving task (#1985) This PR adds the files under `analysis/ocean` (except those in `bump` and `vrfy`) to the HPSS archiving job, in `gdasocean_analysis.tar`, which were previously not archived. Resolves NOAA-EMC/GDASApp/issues/693 --- jobs/JGLOBAL_ARCHIVE | 1 + scripts/exglobal_archive.sh | 2 +- ush/hpssarch_gen.sh | 9 +++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/jobs/JGLOBAL_ARCHIVE b/jobs/JGLOBAL_ARCHIVE index 1ea8fdfeef..f2828a9fdd 100755 --- a/jobs/JGLOBAL_ARCHIVE +++ b/jobs/JGLOBAL_ARCHIVE @@ -17,6 +17,7 @@ YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_ANALYSIS COM_ATMOS_BUFR COM_ATMO COM_ICE_HISTORY COM_ICE_INPUT COM_ICE_RESTART \ COM_OBS COM_TOP \ COM_OCEAN_HISTORY COM_OCEAN_INPUT COM_OCEAN_RESTART COM_OCEAN_XSECT COM_OCEAN_2D COM_OCEAN_3D \ + COM_OCEAN_ANALYSIS \ COM_WAVE_GRID COM_WAVE_HISTORY COM_WAVE_STATION for grid in "0p25" "0p50" "1p00"; do diff --git a/scripts/exglobal_archive.sh b/scripts/exglobal_archive.sh index 54323a0dd0..dcc864e223 100755 --- a/scripts/exglobal_archive.sh +++ b/scripts/exglobal_archive.sh @@ -238,7 +238,7 @@ if [[ ${HPSSARCH} = "YES" || ${LOCALARCH} = "YES" ]]; then #gdasocean if [ "${DO_OCN}" = "YES" ]; then - targrp_list="${targrp_list} gdasocean" + targrp_list="${targrp_list} gdasocean gdasocean_analysis" fi #gdasice diff --git a/ush/hpssarch_gen.sh b/ush/hpssarch_gen.sh index 138a5ff656..f09c816e93 100755 --- a/ush/hpssarch_gen.sh +++ b/ush/hpssarch_gen.sh @@ -454,6 +454,8 @@ if [[ ${type} == "gdas" ]]; then touch gdasocean.txt rm -rf gdasocean_restart.txt touch gdasocean_restart.txt + rm -rf gdasocean_analysis.txt + touch gdasocean_analysis.txt head="gdas.t${cyc}z." @@ -468,6 +470,13 @@ if [[ ${type} == "gdas" ]]; then echo "${COM_MED_RESTART/${ROTDIR}\//}/*" } >> gdasocean_restart.txt + { + echo "${COM_OCEAN_ANALYSIS/${ROTDIR}\//}/${head}*" + echo "${COM_OCEAN_ANALYSIS/${ROTDIR}\//}/gdas.t??z.ocngrid.nc" + echo "${COM_OCEAN_ANALYSIS/${ROTDIR}\//}/diags" + echo "${COM_OCEAN_ANALYSIS/${ROTDIR}\//}/yaml" + } >> gdasocean_analysis.txt + fi if [[ ${DO_ICE} = "YES" ]]; then