Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 3 additions & 1 deletion jobs/JOBSPROC_GLOBAL_DUMP
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,9 @@ fi
#########################################################
# Specify variables specific to this execution of script
#########################################################
export PROCESS_GRIBFLDS=${PROCESS_GRIBFLDS:-YES} # normally runs
export JOB_NUMBER=1

export PROCESS_GRIBFLDS=${PROCESS_GRIBFLDS:-NO} # GRIBFLDS run in JOB_NUMBER=2
export PROCESS_DUMP=${PROCESS_DUMP:-YES} # normally runs
export prepssmi=NO # "spssmi" reprocessed dump no longer generated
# since SSM/I instrument on F-13 has failed (11/2009)
Expand Down
285 changes: 285 additions & 0 deletions jobs/JOBSPROC_GLOBAL_DUMP2
Original file line number Diff line number Diff line change
@@ -0,0 +1,285 @@
#!/bin/bash
set -xa
date -u

###################################################################
# Set DEBUG LEVEL - modifies info in execution trace prompt string
###################################################################
export DEBUG_LEVEL=${DEBUG_LEVEL:-1}
case $DEBUG_LEVEL in
1) export PS4='+ ${SECONDS}s + ' ;; # add seconds (this is typical case)
0) export PS4='+ ';; # don't include seconds (useful if
# want to diff output from 2 runs)
2) export PS4='+ ${SECONDS}s:L$LINENO + ';; # add script line #
3) export PS4='+ ${SECONDS}s:${0##*/}:L$LINENO + ';;# add script name & line #
4) export PS4='+ ${0##*/}:L$LINENO + ';; # script name & line (no seconds)
*) echo "Unrecognized DEBUG_LEVEL. Stay with current PS4 setting";;
esac

########################################
# Check that required variables are set
########################################
set +x
echo
echo cyc is ${cyc:?"###FATAL ERROR \"cyc\" is not set"}
echo envir is ${envir:?"###FATAL ERROR \"envir\" is not set"}
echo job is ${job:?"###FATAL ERROR \"job\" is not set"}
echo DATAROOT is ${DATAROOT:?"###FATAL ERROR \"DATAROOT\" is not set"}
echo
set -x

################################
# Print out version information
################################
set +x
echo
echo "####################################################################"
echo
echo "OBSPROC version is ${obsproc_ver:-not set}" #Set at trigger script level,outside of obsproc code
echo "BUFR_DUMP version used by this job, for dump and dumplist, is " \
"${bufr_dump_ver:-not set}" #Set at trigger script level like obsproc_ver
echo "grib_util module version used by this job is ${grib_util_ver:-not set}"
echo
if [[ $(echo $LOADEDMODULES | egrep -c "(^|:)bufr_dump/") -eq 0 ]];
then echo "bufr_dump is required but not loaded! Exiting...";
exit;
fi
echo
echo "####################################################################"

echo
set -x

#####################################################################
# List modules loaded for this job
# May need to initialize Modules package to find the module command.
#####################################################################
set +x
echo
echo "####################################################################"
echo
module list
echo
echo "####################################################################"
echo
set -x

######################
# Specify NET and RUN
######################
export obsNET=${obsNET:-obsproc}
export NET=${NET:-gfs}
echo $job | grep gfs
err_gfs=$?
echo $job | grep gdas
err_gdas=$?
if [ $err_gfs = 0 ]; then
export RUN=${RUN:-gfs} # GFS
elif [ $err_gdas = 0 ]; then
export RUN=${RUN:-gdas} # GDAS
fi
set +x
echo
echo obsNET is ${obsNET:?"###FATAL ERROR \"obsNET\" is not set"}
echo NET is ${NET:?"###FATAL ERROR \"NET\" is not set"}
echo RUN is ${RUN:?"###FATAL ERROR \"RUN\" is not set"}
echo
set -x

##############################
# Specify cycle and time-mark
##############################
export cycle=t${cyc}z
export tmmark=tm00

###############################
# Create new working directory
###############################
jobid=${jobid:-${job}.$(hostname -s).$$}
export DATA=${DATA:-$DATAROOT/${jobid}}
rm -rf $DATA
mkdir -p $DATA
cd $DATA
export pgmout=OUTPUT.$$
if [[ "$RUN_ENVIR" != nco ]]; then
TMPDIR=$DATAROOT # In the event TMPDIR is reset to a temporary LSF
# directory when batch jobs are submitted, set it to
# $DATAROOT so ensure it remains under the user's control
# (normally needed only if child script dumpjb executed)
fi

######################################
# Set job log file for postmsg output
######################################
jlogfile=${jlogfile:-${DATA}/jlogfile}

#################################################
# SENDCOM - Copy files to $COMOUT directory
# SENDECF - Flag Events on ECFLOW
# SENDDBN - Alert output file to TOC
#################################################
export SENDCOM=${SENDCOM:-YES}
export SENDECF=${SENDECF:-YES}
export SENDDBN=${SENDDBN:-YES}

##########################
# Specify Execution Areas
##########################

# -------------------------------
# Paths for obsproc items
# -------------------------------
export HOMEobsproc=${HOMEobsproc:\
-${PACKAGEROOT:?}/${obsNET}/${obsproc_ver:?\
"###FATAL ERROR \"obsproc_ver\" is not set"}}

export SCRIPTSobsproc=${SCRIPTSobsproc:-$HOMEobsproc/scripts}

# ---------------------------------------
# Paths for dump and bufr_dumplist items
# ---------------------------------------
# NOTE: defaults defined in bufr_dump module
# NOTE: path to dump executables defaults to $HOMEbufr_dump/exec in dumpjb

export USHbufr_dump=${USHbufr_dump:-$HOMEbufr_dump/ush}
export FIXbufr_dump=${FIXbufr_dump:=$HOMEbufr_dump/fix}

# directory path to data dump script executed in model script
# -----------------------------------------------------------
export ushscript_dump=${ushscript_dump:-$USHbufr_dump}

# ------------------------------------------
# Paths for combined obsproc and dump items
# ------------------------------------------

# directory paths to SSMI dump re-processing executed in bufr_dump_obs
# --------------------------------------------------------------------
export EXECPREP=${EXECPREP:-$HOMEbufr_dump/exec}
export PARMPREP=${PARMPREP:-$HOMEobsproc/parm}
export FIXPREP=${FIXPREP:-$HOMEbufr_dump/fix}

# directory paths to ERS, QuikSCAT & ASCAT dump re-processing executed in
# bufr_dump_obs
# -----------------------------------------------------------------------
export EXECWAVE=${EXECWAVE:-$HOMEbufr_dump/exec}
export PARMWAVE=${PARMWAVE:-$HOMEobsproc/parm}
export FIXWAVE=${FIXWAVE:-$HOMEbufr_dump/fix}

# directory paths to SSMI & WindSAT dump re-processing executed in bufr_dump_obs
# ------------------------------------------------------------------------------
export EXECbufr=${EXECbufr:-$HOMEbufr_dump/exec}
export PARMbufr=${PARMbufr:-$HOMEobsproc/parm}
export FIXbufr=${FIXbufr:-$HOMEbufr_dump/fix}

# ---------------------------
# Paths for non-obsproc items
# ---------------------------

# TANK is root directory path to observational database used in dumpjb
# --------------------------------------------------------------------
export DCOMROOT=${DCOMROOT:-/lfs/h1/ops/prod/dcom}
export TANK=${TANK:-${DCOMROOT}}

# directory paths to ice, sst & snowdepth grib files used in model script
# -----------------------------------------------------------------------
export COM_ENGICE=${COM_ENGICE:-$(compath.py $envir/seaice_analysis/$seaice_analysis_ver)/seaice_analysis}
export COM_ICE5MIN=${COM_ICE5MIN:-$(compath.py $envir/seaice_analysis/$seaice_analysis_ver)/seaice_analysis}
export COM_SSTOI=${COM_SSTOI:-$(compath.py $envir/nsst/${nsst_ver})/nsst}
export COM_SSTRTG=${COM_SSTRTG:-$(compath.py $envir/nsst/${nsst_ver})/nsst}
export TANK_GRIBFLDS=${TANK_GRIBFLDS:-${DCOMROOT}}

#########################################################################
# Add some prod utilities to working directory
#########################################################################
echo "step ############# break ##############################" > ./break
cp $UTILROOT/ush/err_chk .; chmod +x err_chk
cp $UTILROOT/ush/err_exit .; chmod +x err_exit
cp $UTILROOT/ush/prep_step .; chmod +x prep_step
cp $UTILROOT/ush/postmsg .; chmod +x postmsg
cp $UTILROOT/ush/setpdy.sh .; chmod +x setpdy.sh

##########################################
# Run setpdy and initialize PDY variables
##########################################
./setpdy.sh
. PDY

#########################
# Define COM directories
#########################
export COMIN_ROOT=${COMIN_ROOT:-${COMROOT:-""}}
export COMPONENT=${COMPONENT:-atmos}
if [[ "$RUN_ENVIR" == nco ]]; then
export COMIN=${COMIN:-$(compath.py ${envir}/${obsNET}/${obsproc_ver}/${RUN}.${PDY}/${cyc}/${COMPONENT})}
export COMOUT=${COMOUT:-$(compath.py -o ${obsNET}/${obsproc_ver}/${RUN}.${PDY}/${cyc}/${COMPONENT})}
mkdir -m 775 -p $COMOUT
else
export COMIN=${COMIN:-${COMIN_ROOT:?}/${obsNET}/${obsproc_ver}/${RUN}.${PDY}/${cyc}/${COMPONENT}}

# COMOUT_ROOT for developers defaults to unique $DATA/com directory as root to
# prevent job from writing into a non-unique directory that might already have
# output in it from a previous checkout run for the same cycle
# -----------------------------------------------------------------------------
export COMOUT_ROOT=${COMOUT_ROOT:-${DATA}/com}
export COMOUT=${COMOUT:-${COMOUT_ROOT}/${obsNET}/${obsproc_ver}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
mkdir -m 755 -p $COMOUT
fi

###################################################
# SETUP GDAS OR GFS DATA DUMP PROCESSING VARIABLES
###################################################

#########################################################
# Specify variables specific to this execution of script
#########################################################
export JOB_NUMBER=2

export PROCESS_GRIBFLDS=${PROCESS_GRIBFLDS:-YES} # GRIBFLDS run in JOB_NUMBER=2
export PROCESS_DUMP=${PROCESS_DUMP:-YES} # normally runs
export prepssmi=NO # "spssmi" reprocessed dump no longer generated
# since SSM/I instrument on F-13 has failed (11/2009)
export KEEP_NEARDUP_ACFT=${KEEP_NEARDUP_ACFT:-NO} # toss near-dupl. acft rpts

# During the period where both Goodberlet and NN3 SSM/I products are
# being dumped, switch PREPSSMI_PROD_TYPE will direct the PREPSSMI
# program to process from SSM/I data dumps that are either all GOODBERLET,
# all NEURAL_NET3 or some COMBINATION of these two
# -- rendered meaningless after 11/2009 since prepssmi now set to "no" (above)

export PREPSSMI_PROD_TYPE=COMBINATION

# POE must be set to on if running poe
##export POE=on

# -- or -- BACK must be set to on if running background shells
export BACK=on # "on" is default

env

[ $RUN = gdas ] && export NET=gdas
#####################
# Execute the script
#####################
$SCRIPTSobsproc/exglobal_dump.sh
eval err_${RUN}_dump2=$?
eval [[ \$err_${RUN}_dump2 -ne 0 ]] && $DATA/err_exit

echo "$SITE `hostname` -- `date -u`" > $COMOUT/where_${cycle}_${RUN}_dump2_ran

> $COMOUT/obsproc_version_for_${cycle}_${RUN}_dump2_run
[ -n "$obsproc_ver" ] && \
echo "OBSPROC version is $obsproc_ver" >> \
$COMOUT/obsproc_version_for_${cycle}_${RUN}_dump2_run
[ -n "$bufr_dump_ver" ] && \
echo "BUFR_DUMP version used by this job is $bufr_dump_ver" >> \
$COMOUT/obsproc_version_for_${cycle}_${RUN}_dump2_run
echo "Version of module \"grib_util\" used by this job is $grib_util_ver" \
>> $COMOUT/obsproc_version_for_${cycle}_${RUN}_dump2_run

if [ "$KEEPDATA" != YES ]; then
cd $DATAROOT
rm -rf $DATA
fi
date -u

exit
2 changes: 2 additions & 0 deletions jobs/JOBSPROC_RAP_DUMP
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,8 @@ fi
#########################################################
# Specify variables specific to this execution of script
#########################################################
export JOB_NUMBER=1

if [ $RUN = rap_p ]; then
#if [ $RUN = rap_p -o $RUN = rap_eh ]; then # 10/2019; rap_eh disabled for HRRRv4
export PROCESS_GRIBFLDS=${PROCESS_GRIBFLDS:-NO} # defaults to NO in
Expand Down
Loading