#!/bin/sh #PBS -N obsproc_%JTYP%_prep_%PDY%_%CC%_%DESC% #PBS -j oe #PBS -q dev #PBS -l walltime=00:20:00 #PBS -A OBSPROC-DEV #PBS -l place=vscatter,select=1:ncpus=4:mem=180gb:prepost=true #PBS -l debug=true ############################################## # Submit notes: # Run from [ps]tmp when running manually # When running from cron, output is written to /u/$USER. Bottom of trigger mv's to stmp # For specific PDY: # > jtyp=gdas cyc=00 PDY=20170126 desc=somethingfun /u/Shelley.Melchior/bin/cycqsub /path/to/triggers/jglobal_prep.wc2.pbs # For latest/current PDY: # > jtyp=gdas cyc=00 desc=somethingfun /u/Shelley.Melchior/bin/cycqsub /path/to/triggers/jglobal_prep.wc2.pbs # cycqsub location: /u/Shelley.Melchior/bin ############################################## set -xu export envir=prod export cyc=%CC% DESC=%DESC% JTYP=%JTYP% export job=${JTYP}_prep_$cyc export jobid=$job.$PBS_JOBID export PDY=%PDY% userROOT=/lfs/h2/emc/obsproc/noscrub/$USER export obsNET=obsproc export obsproc_ver=v1.0 export prepobs_ver=1.0.0 PACKAGEROOTpara=/lfs/h1/ops/para/packages #export HOMEobsproc=${PACKAGEROOTpara}/obsproc.${obsproc_ver} # NCO para #export HOMEobsproc=${PACKAGEROOT}/obsproc.${obsproc_ver} # NCO prod #export HOMEobsproc=${userROOT}/install/obsproc-rmprep # local export HOMEobsproc=${userROOT}/wrapper_scripts/JOBS/nsst_sldrn_subpfl/obsproc_run.iss51959.nsst_subpfl # local #VERSION_FILE=${HOMEobsproc}/versions/run.ver VERSION_FILE=${userROOT}/wrapper_scripts/JOBS/nsst_sldrn_subpfl/obsproc/versions/run.ver if [ -f $VERSION_FILE ]; then . $VERSION_FILE else echo Need version info... Exiting... exit 7 fi #Load the modules module load grib_util/${grib_util_ver} module load netcdf/${netcdf_ver} module load bufr_dump/${bufr_dump_ver} # use local prepobs installation #module use ${userROOT}/install/prepobs/modulefiles module use /lfs/h2/emc/obsproc/noscrub/Steve.Stegall/githubrun/prepobs_run/modulefiles module load prepobs/${prepobs_ver} module load intel/${intel_ver} module load craype/${craype_ver} module load cray-mpich/${cray_mpich_ver} module load cray-pals/${cray_pals_ver} module load cfp/${cfp_ver} module unload prepobs # use local prepobs installation #module use ${userROOT}/install/prepobs/modulefiles module use /lfs/h2/emc/obsproc/noscrub/$USER/githubrun/prepobs_run/modulefiles module load prepobs/${prepobs_ver} #Check if they exist if [[ $(echo $LOADEDMODULES | egrep -c "(^|:)grib_util/") -eq 0 ]]; then echo "grib_util is not loaded!"; fi if [[ $(echo $LOADEDMODULES | egrep -c "(^|:)netcdf/") -eq 0 ]]; then echo "netcdf is not loaded!"; fi if [[ $(echo $LOADEDMODULES | egrep -c "(^|:)bufr_dump/") -eq 0 ]]; then echo "bufr_dump is not loaded!"; fi if [[ $(echo $LOADEDMODULES | egrep -c "(^|:)prepobs/") -eq 0 ]]; then echo "prepobs is not loaded!"; fi if [[ $(echo $LOADEDMODULES | egrep -c "(^|:)intel/") -eq 0 ]]; then echo "intel is not loaded!"; fi if [[ $(echo $LOADEDMODULES | egrep -c "(^|:)craype/") -eq 0 ]]; then echo "craype is not loaded!"; fi if [[ $(echo $LOADEDMODULES | egrep -c "(^|:)cray-mpich/") -eq 0 ]]; then echo "cray-mpich is not loaded!"; fi if [[ $(echo $LOADEDMODULES | egrep -c "(^|:)cray-pals/") -eq 0 ]]; then echo "cray-pals is not loaded!"; fi if [[ $(echo $LOADEDMODULES | egrep -c "(^|:)cfp/") -eq 0 ]]; then echo "cfp is not loaded!"; fi export SENDECF=NO # developer export SENDSDM=NO # developer export SENDDBN=NO # developer export DATAROOT=/lfs/h2/emc/ptmp/$USER export jlogfile=/lfs/h2/emc/ptmp/$USER/${JTYP}.$PDY.jlogfile #export HOMEgfs=$PACKAGEROOT/gfs.v16.2.0 export HOMEgfs=$COMROOT/gfs/v16.2 export COMPONENT=atmos export COMIN_ROOT=/lfs/h2/emc/ptmp/$USER/CRON/${DESC}/com #export COMIN_ROOT=/lfs/h2/emc/ptmp/$USER/CRON/${DESC}/com/${obsNET}/${obsproc_ver}/${JTYP}.${PDY}/${cyc}/${COMPONENT} #export COMINgdas=/lfs/h1/ops/canned/com/gfs/v16.2/${JTYP}.${PDY}/${cyc}/${COMPONENT} #export COMINgfs=/lfs/h1/ops/canned/com/gfs/v16.2/${JTYP}.${PDY}/${cyc}/${COMPONENT} export COMOUT_ROOT=/lfs/h2/emc/ptmp/$USER/CRON/${DESC}/com export tstsp=/lfs/h2/emc/ptmp/$USER/CRON/${DESC}/com export DEBUG_LEVEL=3 export KEEPDATA=YES export LOUD=ON $HOMEobsproc/jobs/JOBSPROC_GLOBAL_PREP err=$? # When run from cron, the stdout is written to /u/$USER # mv to stmp pbsjobid=$(echo $PBS_JOBID | cut -d'.' -f1) cronlogfile=/u/$USER/$PBS_JOBNAME.o$pbsjobid outputdir=/lfs/h2/emc/ptmp/${USER}/CRON/${DESC}/output if [ -f "$cronlogfile" ]; then mkdir -p $outputdir mv $cronlogfile ${outputdir}/$PBS_JOBNAME.o$pbsjobid fi # If you wish to only run the prep job, un-comment the exit line below exit # Kick off prep_post job if [ $err -eq 0 ]; then echo "submit jglobal_prep_post:" jtyp=$JTYP PDY=$PDY desc=$DESC bash -l /u/$USER/bin/cycqsub \ /lfs/h2/emc/obsproc/noscrub/Shelley.Melchior/triggers/jglobal_prep_post.wc2.pbs fi exit