justIN           Dashboard       Workflows       Jobs       AWT       Sites       Storages       Docs       Login

Workflow 4212, Stage 1

Priority50
Processors1
Wall seconds80000
RSS bytes4194304000 (4000 MiB)
Max distance for inputs30.0
Enabled input RSEs CERN_PDUNE_EOS, DUNE_CA_SFU, 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, MONTECARLO, NIKHEF, PRAGUE, QMUL, RAL-PP, RAL_ECHO, SURFSARA, T3_US_NERSC
Enabled output RSEs CERN_PDUNE_EOS, DUNE_CA_SFU, 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, 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, NL_NIKHEF, NL_SURFsara, UK_Bristol, UK_Brunel, UK_Durham, UK_Edinburgh, UK_Imperial, UK_Lancaster, UK_Liverpool, UK_Manchester, UK_Oxford, UK_QMUL, UK_RAL-PPD, 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/ismerio/04212/1*Validation_*.root

Environment variables

NameValue
CODE_TAR_DIR_LOCAL/cvmfs/fifeuser3.opensciencegrid.org/sw/dune/2f8b37bfc4156a3a66f60ed1d7af82fe4c483fdb
DUNE_QUALIFIERe26:prof
DUNE_VERSIONv09_91_02d01
FCL_FILE/cvmfs/fifeuser2.opensciencegrid.org/sw/dune/3ba134ac64f18a518f1cd496c59fbec6944962fc//exp/dune/app/users/ismerio/env-testreco/work/myreco.fcl
HAS_ART_OUTPUTtrue
NUM_EVENTS-1

File states

Total filesFindingUnallocatedAllocatedOutputtingProcessedNot foundFailed
20000200

Job states

TotalSubmittedStartedProcessingOutputtingFinishedNotusedAbortedStalledJobscript errorOutputting failedNone processed
400003000010
Files processed000.20.20.40.40.60.60.80.8111.21.21.41.41.61.61.81.822Nov-21 21:00Nov-21 22:00Nov-21 23:00Files processedBin start timesNumber per binUK_RAL-Tier1UK_Manchester
Replicas per RSE2475.2844450513829189.487499999999982380.0354.5251269.975244.500000000000031324.98749999999995149.21555494861718Replicas per RSEFNAL_DCACHE (33%)PRAGUE (33%)QMUL (16%)DUNE_ES_PIC (16%)

RSEs used

NameInputsOutputs
PRAGUE10
QMUL10

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
:<<'EOF'

To use this jobscript to process 10 files from the dc4-vd-coldbox-bottom
data and put the output in the usertests namespace (MetaCat) and 
scope (Rucio), and in the usertests:output-test-01 dataset in MetaCat and
Rucio, use this command to create the workflow:

justin simple-workflow \
--mql "files from justin-tutorial:justin-tutorial-2024 limit 10" \
--jobscript dc4-vd-coldbox-bottom.jobscript --max-distance 30 --rss-mb 4000 \
--scope usertests --output-pattern '*_reco_data_*.root:output-test-01' \
--lifetime-days 1

The following optional environment variables can be set when creating the
workflow/stage: FCL_FILE, NUM_EVENTS, DUNE_VERSION, DUNE_QUALIFIER 

EOF

# fcl file and DUNE software version/qualifier to be used
FCL_FILE=${FCL_FILE:-myreco_beam.fcl}
DUNE_VERSION=${DUNE_VERSION:-v09_91_02d01}
DUNE_QUALIFIER=${DUNE_QUALIFIER:-e26:prof}
HAS_ART_OUTPUT=${HAS_ART_OUTPUT:true}

# 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

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

# Setup DUNE environment
source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh

# the xroot lib for streaming non-root files is in testproducts, 
# so add it to the start of the path
#export PRODUCTS=/cvmfs/dune.opensciencegrid.org/products/dune/testproducts:${PRODUCTS}
export INPUT_TAR_DIR_LOCAL=${CODE_TAR_DIR_LOCAL}
export PRODUCTS="${INPUT_TAR_DIR_LOCAL}/localProducts_larsoft_v09_91_02_e26_prof/:$PRODUCTS"
setup dunesw "$DUNE_VERSION" -q "$DUNE_QUALIFIER"




#if [ ! -z "$CODE_TAR_DIR_LOCAL" ]; then
#	echo "Using custom sources from $CODE_TAR_DIR_LOCAL"
#	source ${CODE_TAR_DIR_LOCAL}/localProducts*/setup
#	mrbslp
#fi


# 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}'`
outFile=${fname}_reco_data_${now}.root

campaign="justIN.w${JUSTIN_WORKFLOW_ID}s${JUSTIN_STAGE_ID}"
if [ "$HAS_ART_OUTPUT" = true ];then
  OUTPUT_CMD="-o $outFile"
  echo "Art output set to $outFile"
else
  OUTPUT_CMD="-T ${fname}_ana_${now}.root"
fi

echo "Contents of $INPUT_TAR_DIR_LOCAL:"
ls ${CODE_TAR_DIR_LOCAL} 
export FW_SEARCH_PATH=${CODE_TAR_DIR_LOCAL}:$FW_SEARCH_PATH #Necessary for the local path to be searched first for xml files.
#echo "$FW_SEARCH_PATH"

(
# Do the scary preload stuff in a subshell!
export LD_PRELOAD=${XROOTD_LIB}/libXrdPosixPreload.so
echo "$LD_PRELOAD"


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

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

echo '=== Start last 100 lines of lar log file ==='
tail -200 ${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

ls 
ls ${CODE_TAR_DIR_LOCAL} 

# 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-22 01:23:43 UTC       justIN version: 01.01.09