Skip to content

Commit

Permalink
Update jgdas enkf update job with COMIN or COMOUT prefix instead of C…
Browse files Browse the repository at this point in the history
…OM (#3333)

NCO has requested that each COM variable specify whether it is an input
or an output. This completes that process for the global
JGDAS_ENKF_UPDATE job and associated bash and python scripts

Refs #2451
  • Loading branch information
mingshichen-noaa authored Feb 20, 2025
1 parent 6a287b7 commit c902645
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 26 deletions.
9 changes: 6 additions & 3 deletions jobs/JGDAS_ENKF_UPDATE
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,13 @@ export APREFIX="${RUN}.t${cyc}z."
export GPREFIX="${GDUMP_ENS}.t${gcyc}z."

MEMDIR="ensstat" YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COM_ATMOS_ANALYSIS_STAT:COM_ATMOS_ANALYSIS_TMPL
COMIN_ATMOS_ANALYSIS_STAT:COM_ATMOS_ANALYSIS_TMPL

MEMDIR="ensstat" YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMOUT_ATMOS_ANALYSIS_STAT:COM_ATMOS_ANALYSIS_TMPL

MEMDIR="ensstat" RUN="enkfgdas" YMD=${gPDY} HH=${gcyc} declare_from_tmpl -rx \
COM_ATMOS_HISTORY_STAT_PREV:COM_ATMOS_HISTORY_TMPL
COMIN_ATMOS_HISTORY_STAT_PREV:COM_ATMOS_HISTORY_TMPL


###############################################################
Expand All @@ -43,7 +46,7 @@ status=$?
# Send Alerts
##############################################
if [ ${SENDDBN} = YES ] ; then
"${DBNROOT}/bin/dbn_alert" "MODEL" "ENKF1_MSC_enkfstat" "${job}" "${COM_ATMOS_ANALYSIS_STAT}/${APREFIX}enkfstat"
"${DBNROOT}/bin/dbn_alert" "MODEL" "ENKF1_MSC_enkfstat" "${job}" "${COMOUT_ATMOS_ANALYSIS_STAT}/${APREFIX}enkfstat"
fi


Expand Down
46 changes: 23 additions & 23 deletions scripts/exgdas_enkf_update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ GSI_SOILANAL=${GSI_SOILANAL:-"NO"}

################################################################################

ATMGES_ENSMEAN="${COM_ATMOS_HISTORY_STAT_PREV}/${GPREFIX}atmf006.ensmean.nc"
ATMGES_ENSMEAN="${COMIN_ATMOS_HISTORY_STAT_PREV}/${GPREFIX}atmf006.ensmean.nc"
LONB_ENKF=${LONB_ENKF:-$($NCLEN $ATMGES_ENSMEAN grid_xt)} # get LONB_ENKF
LATB_ENKF=${LATB_ENKF:-$($NCLEN $ATMGES_ENSMEAN grid_yt)} # get LATB_ENFK
LEVS_ENKF=${LEVS_ENKF:-$($NCLEN $ATMGES_ENSMEAN pfull)} # get LEVS_ENFK
Expand Down Expand Up @@ -142,7 +142,7 @@ $NLN $ANAVINFO anavinfo
$NLN $VLOCALEIG vlocal_eig.dat

# Bias correction coefficients based on the ensemble mean
${NLN} "${COM_ATMOS_ANALYSIS_STAT}/${GBIASe}" "satbias_in"
${NLN} "${COMIN_ATMOS_ANALYSIS_STAT}/${GBIASe}" "satbias_in"

################################################################################

Expand All @@ -152,13 +152,13 @@ if [ $USE_CFP = "YES" ]; then
cat > $DATA/untar.sh << EOFuntar
#!/bin/sh
memchar=\$1
COM_ATMOS_ANALYSIS=\$2
COMOUT_ATMOS_ANALYSIS=\$2
flist="$CNVSTAT $OZNSTAT $RADSTAT"
for ftype in \$flist; do
if [ \$memchar = "ensmean" ]; then
fname=\${COM_ATMOS_ANALYSIS}/\${ftype}.ensmean
fname=\${COMOUT_ATMOS_ANALYSIS}/\${ftype}.ensmean
else
fname=\${COM_ATMOS_ANALYSIS}/\${ftype}
fname=\${COMOUT_ATMOS_ANALYSIS}/\${ftype}
fi
tar -xvf \$fname
done
Expand All @@ -171,13 +171,13 @@ fi

flist="$CNVSTAT $OZNSTAT $RADSTAT"
if [ $USE_CFP = "YES" ]; then
echo "${nm} ${DATA}/untar.sh ensmean ${COM_ATMOS_ANALYSIS_STAT}" | tee -a "${DATA}/mp_untar.sh"
echo "${nm} ${DATA}/untar.sh ensmean ${COMIN_ATMOS_ANALYSIS_STAT}" | tee -a "${DATA}/mp_untar.sh"
if [ ${CFP_MP:-"NO"} = "YES" ]; then
nm=$((nm+1))
fi
else
for ftype in $flist; do
fname="${COM_ATMOS_ANALYSIS_STAT}/${ftype}.ensmean"
fname="${COMIN_ATMOS_ANALYSIS_STAT}/${ftype}.ensmean"
tar -xvf $fname
done
fi
Expand All @@ -191,55 +191,55 @@ for imem in $(seq 1 $NMEM_ENS); do
memchar="mem"$(printf %03i $imem)

MEMDIR=${gmemchar} RUN=${GDUMP_ENS} YMD=${gPDY} HH=${gcyc} declare_from_tmpl -x \
COM_ATMOS_HISTORY_MEM_PREV:COM_ATMOS_HISTORY_TMPL
COMIN_ATMOS_HISTORY_MEM_PREV:COM_ATMOS_HISTORY_TMPL

MEMDIR=${memchar} YMD=${PDY} HH=${cyc} declare_from_tmpl -x \
COM_ATMOS_ANALYSIS_MEM:COM_ATMOS_ANALYSIS_TMPL
COMOUT_ATMOS_ANALYSIS_MEM:COM_ATMOS_ANALYSIS_TMPL

if [ $lobsdiag_forenkf = ".false." ]; then
if [ $USE_CFP = "YES" ]; then
echo "${nm} ${DATA}/untar.sh ${memchar} ${COM_ATMOS_ANALYSIS_MEM}" | tee -a "${DATA}/mp_untar.sh"
echo "${nm} ${DATA}/untar.sh ${memchar} ${COMOUT_ATMOS_ANALYSIS_MEM}" | tee -a "${DATA}/mp_untar.sh"
if [ ${CFP_MP:-"NO"} = "YES" ]; then
nm=$((nm+1))
fi
else
for ftype in $flist; do
fname="${COM_ATMOS_ANALYSIS_MEM}/${ftype}"
fname="${COMOUT_ATMOS_ANALYSIS_MEM}/${ftype}"
tar -xvf $fname
done
fi
fi
mkdir -p "${COM_ATMOS_ANALYSIS_MEM}"
mkdir -p "${COMOUT_ATMOS_ANALYSIS_MEM}"
for FHR in $nfhrs; do
${NLN} "${COM_ATMOS_HISTORY_MEM_PREV}/${GPREFIX}atmf00${FHR}${ENKF_SUFFIX}.nc" \
${NLN} "${COMIN_ATMOS_HISTORY_MEM_PREV}/${GPREFIX}atmf00${FHR}${ENKF_SUFFIX}.nc" \
"sfg_${PDY}${cyc}_fhr0${FHR}_${memchar}"
if [ $GSI_SOILANAL = "YES" ]; then
${NLN} "${COM_ATMOS_HISTORY_MEM_PREV}/${GPREFIX}sfcf00${FHR}${ENKF_SUFFIX}.nc" \
${NLN} "${COMIN_ATMOS_HISTORY_MEM_PREV}/${GPREFIX}sfcf00${FHR}${ENKF_SUFFIX}.nc" \
"bfg_${PDY}${cyc}_fhr0${FHR}_${memchar}"
fi
if [ $cnvw_option = ".true." ]; then
${NLN} "${COM_ATMOS_HISTORY_MEM_PREV}/${GPREFIX}sfcf00${FHR}.nc" \
${NLN} "${COMIN_ATMOS_HISTORY_MEM_PREV}/${GPREFIX}sfcf00${FHR}.nc" \
"sfgsfc_${PDY}${cyc}_fhr0${FHR}_${memchar}"
fi
if [ $FHR -eq 6 ]; then
if [ $DO_CALC_INCREMENT = "YES" ]; then
${NLN} "${COM_ATMOS_ANALYSIS_MEM}/${APREFIX}atmanl.nc" \
${NLN} "${COMOUT_ATMOS_ANALYSIS_MEM}/${APREFIX}atmanl.nc" \
"sanl_${PDY}${cyc}_fhr0${FHR}_${memchar}"
else
${NLN} "${COM_ATMOS_ANALYSIS_MEM}/${APREFIX}atminc.nc" \
${NLN} "${COMOUT_ATMOS_ANALYSIS_MEM}/${APREFIX}atminc.nc" \
"incr_${PDY}${cyc}_fhr0${FHR}_${memchar}"
fi
else
if [ $DO_CALC_INCREMENT = "YES" ]; then
${NLN} "${COM_ATMOS_ANALYSIS_MEM}/${APREFIX}atma00${FHR}.nc" \
${NLN} "${COMOUT_ATMOS_ANALYSIS_MEM}/${APREFIX}atma00${FHR}.nc" \
"sanl_${PDY}${cyc}_fhr0${FHR}_${memchar}"
else
${NLN} "${COM_ATMOS_ANALYSIS_MEM}/${APREFIX}atmi00${FHR}.nc" \
${NLN} "${COMOUT_ATMOS_ANALYSIS_MEM}/${APREFIX}atmi00${FHR}.nc" \
"incr_${PDY}${cyc}_fhr0${FHR}_${memchar}"
fi
fi
if [ $GSI_SOILANAL = "YES" ]; then
${NLN} "${COM_ATMOS_ANALYSIS_MEM}/${APREFIX}sfci00${FHR}.nc" \
${NLN} "${COMOUT_ATMOS_ANALYSIS_MEM}/${APREFIX}sfci00${FHR}.nc" \
"sfcincr_${PDY}${cyc}_fhr0${FHR}_${memchar}"
fi
done
Expand All @@ -248,10 +248,10 @@ done
# Ensemble mean guess
for FHR in $nfhrs; do

${NLN} "${COM_ATMOS_HISTORY_STAT_PREV}/${GPREFIX}atmf00${FHR}.ensmean.nc" \
${NLN} "${COMIN_ATMOS_HISTORY_STAT_PREV}/${GPREFIX}atmf00${FHR}.ensmean.nc" \
"sfg_${PDY}${cyc}_fhr0${FHR}_ensmean"
if [ $cnvw_option = ".true." ]; then
${NLN} "${COM_ATMOS_HISTORY_STAT_PREV}/${GPREFIX}sfcf00${FHR}.ensmean.nc" \
${NLN} "${COMIN_ATMOS_HISTORY_STAT_PREV}/${GPREFIX}sfcf00${FHR}.ensmean.nc" \
"sfgsfc_${PDY}${cyc}_fhr0${FHR}_ensmean"
fi
done
Expand Down Expand Up @@ -412,7 +412,7 @@ $APRUN_ENKF ${DATA}/$(basename $ENKFEXEC) 1>stdout 2>stderr
export err=$?; err_chk

# Cat runtime output files.
cat stdout stderr > "${COM_ATMOS_ANALYSIS_STAT}/${ENKFSTAT}"
cat stdout stderr > "${COMOUT_ATMOS_ANALYSIS_STAT}/${ENKFSTAT}"

################################################################################
# Postprocessing
Expand Down

0 comments on commit c902645

Please sign in to comment.