Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
28c5fb3
Improve messaging for snogrb setting
KateFriedman-NOAA Feb 11, 2025
dad2758
Add FATAL ERROR exit and update COM variables
KateFriedman-NOAA Feb 11, 2025
e6c5e05
Move new INFO message inside if-block
KateFriedman-NOAA Feb 11, 2025
5a55a10
Resolve shellcheck warnings
KateFriedman-NOAA Feb 11, 2025
500aeca
Update new snow file messaging to clarify cycle
KateFriedman-NOAA Feb 11, 2025
742e376
Merge branch 'NOAA-EMC:develop' into feature/bugzilla_1373
KateFriedman-NOAA Feb 14, 2025
134ba21
Merge branch 'NOAA-EMC:develop' into feature/bugzilla_1373
KateFriedman-NOAA Feb 19, 2025
80ab616
Merge branch 'NOAA-EMC:develop' into feature/bugzilla_1373
KateFriedman-NOAA Feb 20, 2025
bfd9ff4
Merge branch 'NOAA-EMC:develop' into feature/bugzilla_1373
KateFriedman-NOAA Feb 24, 2025
d3c197f
Merge branch 'NOAA-EMC:develop' into feature/bugzilla_1373
KateFriedman-NOAA Feb 25, 2025
caf08c1
Merge branch 'NOAA-EMC:develop' into feature/bugzilla_1373
KateFriedman-NOAA Feb 25, 2025
136f338
Remove reference to getges
KateFriedman-NOAA Mar 10, 2025
cd86c5f
Remove getges and replace snoprv with FNSNOG
KateFriedman-NOAA Mar 10, 2025
6de1f91
Merge remote-tracking branch 'origin/develop' into feature/bugzilla_1373
KateFriedman-NOAA Mar 10, 2025
135930b
Change FATAL to WARNING
KateFriedman-NOAA Mar 12, 2025
1a3a727
Merge branch 'NOAA-EMC:develop' into feature/bugzilla_1373
KateFriedman-NOAA Mar 12, 2025
2cd7d9f
Merge branch 'NOAA-EMC:develop' into feature/bugzilla_1373
KateFriedman-NOAA Mar 13, 2025
c2d77ea
Merge branch 'develop' into feature/bugzilla_1373
KateFriedman-NOAA Mar 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions jobs/JGDAS_ENKF_SFC
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,13 @@ export APREFIX_ENS="${RUN}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export GPREFIX_ENS="${GDUMP_ENS}.t${gcyc}z."

RUN=${RUN/enkf} YMD=${PDY} HH=${cyc} declare_from_tmpl -rx COM_OBS \
COM_ATMOS_ANALYSIS_DET:COM_ATMOS_ANALYSIS_TMPL
RUN=${RUN/enkf} YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMIN_OBS:COM_OBS_TMPL \
COMIN_ATMOS_ANALYSIS_DET:COM_ATMOS_ANALYSIS_TMPL

RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} declare_from_tmpl -rx \
COM_OBS_PREV:COM_OBS_TMPL \
COM_ATMOS_ANALYSIS_DET_PREV:COM_ATMOS_ANALYSIS_TMPL
COMIN_OBS_PREV:COM_OBS_TMPL \
COMIN_ATMOS_ANALYSIS_DET_PREV:COM_ATMOS_ANALYSIS_TMPL

###############################################################
# Run relevant script
Expand Down
2 changes: 1 addition & 1 deletion jobs/JGLOBAL_WAVE_POST_BNDPNT
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export errchk=${errchk:-err_chk}

export MP_PULSE=0

# Set COM Paths and GETGES environment
# Set COM Paths
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMIN_WAVE_PREP:COM_WAVE_PREP_TMPL \
COMIN_WAVE_HISTORY:COM_WAVE_HISTORY_TMPL \
Expand Down
2 changes: 1 addition & 1 deletion jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export CDATE=${PDY}${cyc}

export MP_PULSE=0

# Set COM Paths and GETGES environment
# Set COM Paths
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMIN_WAVE_PREP:COM_WAVE_PREP_TMPL \
COMIN_WAVE_HISTORY:COM_WAVE_HISTORY_TMPL \
Expand Down
2 changes: 1 addition & 1 deletion jobs/JGLOBAL_WAVE_POST_PNT
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export errchk=${errchk:-err_chk}

export MP_PULSE=0

# Set COM Paths and GETGES environment
# Set COM Paths
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMIN_WAVE_PREP:COM_WAVE_PREP_TMPL \
COMIN_WAVE_HISTORY:COM_WAVE_HISTORY_TMPL \
Expand Down
2 changes: 1 addition & 1 deletion jobs/JGLOBAL_WAVE_POST_SBS
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export errchk=${errchk:-err_chk}

export MP_PULSE=0

# Set COM Paths and GETGES environment
# Set COM Paths
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMIN_WAVE_PREP:COM_WAVE_PREP_TMPL \
COMIN_WAVE_HISTORY:COM_WAVE_HISTORY_TMPL \
Expand Down
2 changes: 1 addition & 1 deletion jobs/JGLOBAL_WAVE_PREP
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export MP_PULSE=0
# CDO required for processing RTOFS currents
export CDO=${CDO_ROOT}/bin/cdo

# Set COM Paths and GETGES environment
# Set COM Paths
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMIN_OBS:COM_OBS_TMPL \
COMIN_WAVE_PREP:COM_WAVE_PREP_TMPL \
Expand Down
73 changes: 41 additions & 32 deletions scripts/exgdas_enkf_sfc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -79,45 +79,53 @@ bPDY=${BDATE:0:8}
bcyc=${BDATE:8:2}

# Get dimension information based on CASE
res=${CASE:2:}
res=${CASE:1}
JCAP_CASE=$((res*2-2))
LATB_CASE=$((res*2))
LONB_CASE=$((res*4))

# Global cycle requires these files
export FNTSFA=${FNTSFA:-' '}
export FNACNA=${FNACNA:-${COM_OBS}/${OPREFIX}seaice.5min.blend.grb}
export FNSNOA=${FNSNOA:-${COM_OBS}/${OPREFIX}snogrb_t${JCAP_CASE}.${LONB_CASE}.${LATB_CASE}}
if [[ ! -f "${FNSNOA}" ]]; then
export FNSNOA="${COM_OBS}/${OPREFIX}snogrb_t1534.3072.1536"
export FNACNA=${FNACNA:-${COMIN_OBS}/${OPREFIX}seaice.5min.blend.grb}
export FNSNOA=${FNSNOA:-${COMIN_OBS}/${OPREFIX}snogrb_t${JCAP_CASE}.${LONB_CASE}.${LATB_CASE}}
# Check if resolution specific FNSNOA exists, if not use t1534 version
if [[ ! -f ${FNSNOA} ]]; then
export FNSNOA="${COMIN_OBS}/${OPREFIX}snogrb_t1534.3072.1536"
fi
FNSNOG=${FNSNOG:-${COM_OBS_PREV}/${GPREFIX}snogrb_t${JCAP_CASE}.${LONB_CASE}.${LATB_CASE}}
if [[ ! -f "${FNSNOG}" ]]; then
FNSNOG="${COM_OBS_PREV}/${GPREFIX}snogrb_t1534.3072.1536"
if [[ ! -f ${FNSNOA} ]]; then
echo "WARNING: Current cycle snow file ${FNSNOA} is missing. Snow coverage will not be updated."
else
echo "INFO: Current cycle snow file is ${FNSNOA}"
fi

# Set CYCLVARS by checking grib date of current snogrb vs that of prev cycle
if [ ${RUN_GETGES:-"NO"} = "YES" ]; then
# Ignore possible spelling error (nothing is misspelled)
# shellcheck disable=SC2153
snoprv=$($GETGESSH -q -t snogrb_$JCAP_CASE -e $gesenvir -n $GDUMP -v $GDATE)
export FNSNOG=${FNSNOG:-${COMIN_OBS_PREV}/${GPREFIX}snogrb_t${JCAP_CASE}.${LONB_CASE}.${LATB_CASE}}
# Check if resolution specific FNSNOG exists, if not use t1534 version
if [[ ! -f ${FNSNOG} ]]; then
export FNSNOG="${COMIN_OBS_PREV}/${GPREFIX}snogrb_t1534.3072.1536"
fi
if [[ ! -f ${FNSNOG} ]]; then
echo "WARNING: Previous cycle snow file ${FNSNOG} is missing. Snow coverage will not be updated."
else
snoprv=${snoprv:-$FNSNOG}
echo "INFO: Previous cycle snow file is ${FNSNOG}"
fi

if [ $($WGRIB -4yr $FNSNOA 2>/dev/null | grep -i snowc | awk -F: '{print $3}' | awk -F= '{print $2}') -le \
$($WGRIB -4yr $snoprv 2>/dev/null | grep -i snowc | awk -F: '{print $3}' | awk -F= '{print $2}') ] ; then
export FNSNOA=" "
export CYCLVARS="FSNOL=99999.,FSNOS=99999.,"
# If any snow files are missing, don't apply snow in the global_cycle step.
if [[ ! -f ${FNSNOA} ]] || [[ ! -f ${FNSNOG} ]]; then
export FNSNOA=" "
export CYCLVARS="FSNOL=99999.,FSNOS=99999.,"
# Set CYCLVARS by checking grib date of current snogrb vs that of prev cycle
elif [ $($WGRIB -4yr $FNSNOA 2>/dev/null | grep -i snowc | awk -F: '{print $3}' | awk -F= '{print $2}') -le \
$($WGRIB -4yr $FNSNOG 2>/dev/null | grep -i snowc | awk -F: '{print $3}' | awk -F= '{print $2}') ] ; then
export FNSNOA=" "
export CYCLVARS="FSNOL=99999.,FSNOS=99999.,"
else
export SNOW_NUDGE_COEFF=${SNOW_NUDGE_COEFF:-0.}
export CYCLVARS="FSNOL=${SNOW_NUDGE_COEFF},$CYCLVARS"
export SNOW_NUDGE_COEFF=${SNOW_NUDGE_COEFF:-0.}
export CYCLVARS="FSNOL=${SNOW_NUDGE_COEFF},$CYCLVARS"
fi

if [ $DONST = "YES" ]; then
export NST_FILE=${NST_FILE:-${COM_ATMOS_ANALYSIS_DET}/${APREFIX}dtfanl.nc}
export NST_FILE=${NST_FILE:-${COMIN_ATMOS_ANALYSIS_DET}/${APREFIX}dtfanl.nc}
else
export NST_FILE="NULL"
export NST_FILE="NULL"
fi

# regrid the surface increment files
Expand Down Expand Up @@ -160,7 +168,7 @@ if [ $DOIAU = "YES" ]; then
memchar="mem$cmem"

MEMDIR=${memchar} YMD=${PDY} HH=${cyc} declare_from_tmpl \
COM_ATMOS_RESTART_MEM:COM_ATMOS_RESTART_TMPL
COMOUT_ATMOS_RESTART_MEM:COM_ATMOS_RESTART_TMPL

MEMDIR=${gmemchar} RUN=${GDUMP_ENS} YMD=${gPDY} HH=${gcyc} declare_from_tmpl \
COMIN_ATMOS_RESTART_MEM_PREV:COM_ATMOS_RESTART_TMPL
Expand All @@ -179,7 +187,7 @@ if [ $DOIAU = "YES" ]; then
fi

if [[ ${TILE_NUM} -eq 1 ]]; then
mkdir -p "${COM_ATMOS_RESTART_MEM}"
mkdir -p "${COMOUT_ATMOS_RESTART_MEM}"
fi
${NCP} "${sfcdata_dir}/${bPDY}.${bcyc}0000.sfc_data.tile${n}.nc" \
"${DATA}/fnbgsi.${cmem}"
Expand Down Expand Up @@ -208,12 +216,13 @@ if [ $DOIAU = "YES" ]; then
memchar="mem$cmem"

MEMDIR=${memchar} YMD=${PDY} HH=${cyc} declare_from_tmpl \
COM_ATMOS_RESTART_MEM:COM_ATMOS_RESTART_TMPL
COMOUT_ATMOS_RESTART_MEM:COM_ATMOS_RESTART_TMPL

if [[ ${TILE_NUM} -eq 1 ]]; then
mkdir -p "${COM_ATMOS_RESTART_MEM}"
mkdir -p "${COMOUT_ATMOS_RESTART_MEM}"
fi
cpfs "${DATA}/fnbgso.${cmem}" "${COM_ATMOS_RESTART_MEM}/${bPDY}.${bcyc}0000.sfcanl_data.tile${n}.nc"

cpfs "${DATA}/fnbgso.${cmem}" "${COMOUT_ATMOS_RESTART_MEM}/${bPDY}.${bcyc}0000.sfcanl_data.tile${n}.nc"

done # ensembles

Expand Down Expand Up @@ -278,13 +287,13 @@ if [[ "${DOSFCANL_ENKF}" == "YES" ]]; then
memchar="mem${cmem}"

MEMDIR=${memchar} YMD=${PDY} HH=${cyc} declare_from_tmpl \
COM_ATMOS_RESTART_MEM:COM_ATMOS_RESTART_TMPL
COMOUT_ATMOS_RESTART_MEM:COM_ATMOS_RESTART_TMPL

if [[ ! -d "${COM_ATMOS_RESTART_MEM}" ]]; then
mkdir -p "${COM_ATMOS_RESTART_MEM}"
if [[ ! -d "${COMOUT_ATMOS_RESTART_MEM}" ]]; then
mkdir -p "${COMOUT_ATMOS_RESTART_MEM}"
fi

cpfs "${DATA}/fnbgso.${cmem}" "${COM_ATMOS_RESTART_MEM}/${PDY}.${cyc}0000.sfcanl_data.tile${n}.nc"
cpfs "${DATA}/fnbgso.${cmem}" "${COMOUT_ATMOS_RESTART_MEM}/${PDY}.${cyc}0000.sfcanl_data.tile${n}.nc"

done

Expand Down
2 changes: 0 additions & 2 deletions scripts/exglobal_atmos_analysis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,6 @@ CALCINCPY=${CALCINCPY:-${USHgfs}/calcinc_gfs.py}
RUN=${RUN:-""}
SENDECF=${SENDECF:-"NO"}
SENDDBN=${SENDDBN:-"NO"}
RUN_GETGES=${RUN_GETGES:-"NO"}
GETGESSH=${GETGESSH:-"getges.sh"}
export gesenvir=${gesenvir:-${envir}}

export hofx_2m_sfcfile=${hofx_2m_sfcfile:-".false."}
Expand Down
36 changes: 22 additions & 14 deletions scripts/exglobal_atmos_sfcanl.sh
Comment thread
KateFriedman-NOAA marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,6 @@ export FHOUR=${FHOUR:-0}
export DELTSFC=${DELTSFC:-6}

# Other info used in this script
RUN_GETGES=${RUN_GETGES:-"NO"}
GETGESSH=${GETGESSH:-"getges.sh"}
export gesenvir=${gesenvir:-${envir}}
# Ignore possible spelling error (nothing is misspelled)
# shellcheck disable=SC2153
Expand All @@ -63,23 +61,33 @@ LONB_CASE=$((res*4))
export FNTSFA=${FNTSFA:-${COMIN_OBS}/${OPREFIX}rtgssthr.grb}
export FNACNA=${FNACNA:-${COMIN_OBS}/${OPREFIX}seaice.5min.blend.grb}
export FNSNOA=${FNSNOA:-${COMIN_OBS}/${OPREFIX}snogrb_t${JCAP_CASE}.${LONB_CASE}.${LATB_CASE}}
if [[ ! -f "${FNSNOA}" ]]; then
export FNSNOA="${COMIN_OBS}/${OPREFIX}snogrb_t1534.3072.1536"
# Check if resolution specific FNSNOA exists, if not use t1534 version
if [[ ! -f ${FNSNOA} ]]; then
export FNSNOA="${COMIN_OBS}/${OPREFIX}snogrb_t1534.3072.1536"
fi
FNSNOG=${FNSNOG:-${COMIN_OBS_PREV}/${GPREFIX}snogrb_t${JCAP_CASE}.${LONB_CASE}.${LATB_CASE}}
if [[ ! -f "${FNSNOG}" ]]; then
FNSNOG="${COMIN_OBS_PREV}/${GPREFIX}snogrb_t1534.3072.1536"
if [[ ! -f ${FNSNOA} ]]; then
echo "WARNING: Current cycle snow file ${FNSNOA} is missing. Snow coverage will not be updated."
else
echo "INFO: Current cycle snow file is ${FNSNOA}"
fi

# Set CYCLVARS by checking grib date of current snogrb vs that of prev cycle
if [[ ${RUN_GETGES} = "YES" ]]; then
snoprv=$(${GETGESSH} -q -t "snogrb_${JCAP_CASE}" -e "${gesenvir}" -n "${GDUMP}" -v "${GDATE}")
export FNSNOG=${FNSNOG:-${COMIN_OBS_PREV}/${GPREFIX}snogrb_t${JCAP_CASE}.${LONB_CASE}.${LATB_CASE}}
# Check if resolution specific FNSNOG exists, if not use t1534 version
if [[ ! -f ${FNSNOG} ]]; then
export FNSNOG="${COMIN_OBS_PREV}/${GPREFIX}snogrb_t1534.3072.1536"
fi
if [[ ! -f ${FNSNOG} ]]; then
echo "WARNING: Previous cycle snow file ${FNSNOG} is missing. Snow coverage will not be updated."
else
snoprv=${snoprv:-${FNSNOG}}
echo "INFO: Previous cycle snow file is ${FNSNOG}"
fi

if [[ $(${WGRIB} -4yr "${FNSNOA}" 2>/dev/null | grep -i snowc | awk -F: '{print $3}' | awk -F= '{print $2}') -le \
$(${WGRIB} -4yr "${snoprv}" 2>/dev/null | grep -i snowc | awk -F: '{print $3}' | awk -F= '{print $2}') ]] ; then
# If any snow files are missing, don't apply snow in the global_cycle step.
if [[ ! -f ${FNSNOA} ]] || [[ ! -f ${FNSNOG} ]]; then
export FNSNOA=" "
export CYCLVARS="FSNOL=99999.,FSNOS=99999.,"
# Set CYCLVARS by checking grib date of current snogrb vs that of prev cycle
elif [[ $(${WGRIB} -4yr "${FNSNOA}" 2>/dev/null | grep -i snowc | awk -F: '{print $3}' | awk -F= '{print $2}') -le \
$(${WGRIB} -4yr "${FNSNOG}" 2>/dev/null | grep -i snowc | awk -F: '{print $3}' | awk -F= '{print $2}') ]] ; then
export FNSNOA=" "
export CYCLVARS="FSNOL=99999.,FSNOS=99999.,"
else
Expand Down