justIN           Dashboard       Workflows       Jobs       AWT       Sites       Storages       Docs       Login

Workflow 3857, Stage 1

Priority50
Processors1
Wall seconds43200
RSS bytes4194304000 (4000 MiB)
Max distance for inputs30.0
Enabled input RSEs CERN_PDUNE_EOS, DUNE_CERN_EOS, DUNE_ES_PIC, DUNE_FR_CCIN2P3_DISK, DUNE_IN_TIFR, DUNE_IT_INFN_CNAF, DUNE_UK_GLASGOW, DUNE_UK_LANCASTER_CEPH, DUNE_UK_MANCHESTER_CEPH, DUNE_US_BNL_SDCC, DUNE_US_FNAL_DISK_STAGE, FNAL_DCACHE, FNAL_DCACHE_STAGING, FNAL_DCACHE_TEST, MANCHESTER, MONTECARLO, NIKHEF, PRAGUE, QMUL, RAL-PP, RAL_ECHO, SURFSARA, T3_US_NERSC
Enabled output RSEs CERN_PDUNE_EOS, DUNE_CERN_EOS, DUNE_ES_PIC, DUNE_FR_CCIN2P3_DISK, DUNE_IN_TIFR, DUNE_IT_INFN_CNAF, DUNE_UK_GLASGOW, DUNE_UK_LANCASTER_CEPH, DUNE_UK_MANCHESTER_CEPH, DUNE_US_BNL_SDCC, DUNE_US_FNAL_DISK_STAGE, FNAL_DCACHE, FNAL_DCACHE_STAGING, FNAL_DCACHE_TEST, MANCHESTER, NIKHEF, PRAGUE, QMUL, RAL-PP, RAL_ECHO, SURFSARA, T3_US_NERSC
Enabled sites BR_CBPF, CA_SFU, CA_Victoria, CERN, CH_UNIBE-LHEP, CZ_FZU, ES_CIEMAT, ES_PIC, FR_CCIN2P3, IN_TIFR, IT_CNAF, UK_Bristol, UK_Brunel, UK_Durham, UK_Edinburgh, UK_Imperial, UK_Lancaster, UK_Liverpool, UK_Manchester, UK_Oxford, UK_RAL-Tier1, UK_Sheffield, US_BNL, US_Caltech, US_Colorado, US_FNAL-FermiGrid, US_FNAL-T1, US_Michigan, US_MIT, US_Nebraska, US_NotreDame, US_PuertoRico, US_SU-ITS, US_Swan, US_UChicago, US_UConn-HPC, US_UCSD, US_Wisconsin
Scopeusertests
Events for this stage

Output patterns

 DestinationPatternLifetimeFor next stage
1https://fndcadoor.fnal.gov:2880/dune/scratch/users/imawby/ccnuselection_SAM_nutau_0/03857/1*ccnutree*.root

Environment variables

NameValue
INPUT_TAR_DIR_LOCAL/cvmfs/fifeuser2.opensciencegrid.org/sw/dune/068e2db5a8f70a67926a084a2d95341a26884c22
NUM_EVENTS100

File states

Total filesFindingUnallocatedAllocatedOutputtingProcessedNot foundFailed
500000050000

Job states

TotalSubmittedStartedProcessingOutputtingFinishedNotusedAbortedStalledJobscript errorOutputting failedNone processed
119600001191000401
Files processed002020404060608080100100120120140140160160180180200200220220Oct-28 09:00Oct-28 10:00Oct-28 11:00Oct-28 12:00Oct-28 13:00Oct-28 14:00Files processedBin start timesNumber per binUS_ColoradoCERNES_PICUK_ImperialUK_LancasterUK_ManchesterCZ_FZUUK_LiverpoolUS_FNAL-T1UK_EdinburghUS_NotreDameUS_UChicagoUS_WisconsinCA_SFU
Replicas per RSE500473.5723397696131186.62795293125046500336.7339046987368314.29303730122706101284.2439977771486192.7409580237407585306.789414465669154.5395708342791536329.5043986389647136.5199743148611732344.2491536194307129.493576772260221356.4160284939559125.7292123740321913364.432875965087124.137052810005513370.6356065265924123.3619015565244412376.63417535856007122.981335815267241379.7595392845407122.92528745432915Replicas per RSEDUNE_US_FNAL_DISK_S…DUNE_US_FNAL_DISK_STAGE (38%)FNAL_DCACHE (38%)DUNE_US_BNL_SDCC (7…DUNE_US_BNL_SDCC (7%)RAL_ECHO (6%)RAL-PP (2%)NIKHEF (2%)DUNE_ES_PIC (1%)PRAGUE (0%)QMUL (0%)DUNE_UK_LANCASTER_C…DUNE_UK_LANCASTER_CEPH (0%)SURFSARA (0%)

RSEs used

NameInputsOutputs
DUNE_US_FNAL_DISK_STAGE2350
RAL_ECHO850
DUNE_US_BNL_SDCC810
RAL-PP360
NIKHEF320
DUNE_ES_PIC210
PRAGUE130
SURFSARA10

Stats of processed input files as CSV or JSON, and of uploaded output files as CSV or JSON (up to 10000 files included)

Jobscript

#!/bin/bash

# FCL file and DUNE software version/qualifier to be used
FCL_FILE=${FCL_FILE:-$INPUT_TAR_DIR_LOCAL/runCCNuSelection_sam.fcl}
DUNE_VERSION=${DUNE_VERSION:-v09_91_02d00}
DUNE_QUALIFIER=${DUNE_QUALIFIER:-e26:prof}

# Make sure that we're not beeing greedy with resources...
if [ -z ${JUSTIN_PROCESSORS} ]; then
 JUSTIN_PROCESSORS=1
fi

echo "Justin processors: ${JUSTIN_PROCESSORS}"

export TF_NUM_THREADS=${JUSTIN_PROCESSORS}
export OPENBLAS_NUM_THREADS=${JUSTIN_PROCESSORS}
export JULIA_NUM_THREADS=${JUSTIN_PROCESSORS}
export MKL_NUM_THREADS=${JUSTIN_PROCESSORS}
export NUMEXPR_NUM_THREADS=${JUSTIN_PROCESSORS}
export OMP_NUM_THREADS=${JUSTIN_PROCESSORS}

# setup the DUNE environment
source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh
source $INPUT_TAR_DIR_LOCAL/setup-grid
setup dunesw "$DUNE_VERSION" -q "$DUNE_QUALIFIER"
mrbslp

export FW_SEARCH_PATH=.:${INPUT_TAR_DIR_LOCAL}:$FW_SEARCH_PATH
export FHICL_FILE_PATH=.:${INPUT_TAR_DIR_LOCAL}:$FHICL_FILE_PATH

# number of events to process from the input file
if [ "$NUM_EVENTS" != "" ] ; then
 events_option="-n $NUM_EVENTS"
fi

# First get an unprocessed file from this stage
did_pfn_rse=`$JUSTIN_PATH/justin-get-file`

if [ "$did_pfn_rse" = "" ] ; then
  echo "Nothing to process - exit jobscript"
  exit 0
fi

# Keep a record of all input DIDs, for pdjson2meta file -> DID mapping
echo "$did_pfn_rse" | cut -f1 -d' ' >>all-input-dids.txt

# pfn is also needed when creating justin-processed-pfns.txt
pfn=`echo $did_pfn_rse | cut -f2 -d' '`
echo "Input PFN = $pfn"

# Construct outFile from input $pfn 
now=$(date -u +"%Y-%m-%dT_%H%M%SZ")
Ffname=`echo $pfn | awk -F/ '{print $NF}'`
fname=`echo $Ffname | awk -F. '{print $1}'`

campaign="justIN.w${JUSTIN_WORKFLOW_ID}s${JUSTIN_STAGE_ID}"

# Here is where the LArSoft command is call it 
(
# Do the scary preload stuff in a subshell!
export LD_PRELOAD=${XROOTD_LIB}/libXrdPosixPreload.so

lar -c $FCL_FILE $events_option "$pfn" > ${fname}_reco_${now}.log 2>&1
)

# Subshell exits with exit code of last command
larExit=$?
echo "lar exit code $larExit"

echo '=== Start last 100 lines of lar log file ==='
tail -100 ${fname}_reco_${now}.log
echo '=== End last 100 lines of lar log file ==='

if [ $larExit -eq 0 ] ; then
  # Success !
  echo "$pfn" > justin-processed-pfns.txt
  jobscriptExit=0
else
  # Oh :(
  jobscriptExit=1
fi

# Create compressed tar file with all log files 
tar zcf `echo "$JUSTIN_JOBSUB_ID.logs.tgz" | sed 's/@/_/g'` *.log
exit $jobscriptExit

justIN time: 2024-11-23 14:04:32 UTC       justIN version: 01.01.09