justIN           Dashboard       Workflows       Jobs       AWT       Sites       Storages       Docs       Login

Workflow 88, Stage 1

Priority50
Processors1
Wall seconds7200
Image/cvmfs/singularity.opensciencegrid.org/fermilab/fnal-wn-sl7:latest
RSS bytes2097152000 (2000 MiB)
Max distance for inputs100.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, CERN, CH_UNIBE-LHEP, CZ_FZU, ES_CIEMAT, ES_PIC, FR_CCIN2P3, IT_CNAF, NL_NIKHEF, NL_SURFsara, UK_Bristol, UK_Brunel, UK_Durham, UK_Edinburgh, UK_Glasgow, UK_Imperial, UK_Lancaster, UK_Liverpool, UK_Manchester, UK_Oxford, UK_QMUL, UK_RAL-PPD, UK_RAL-Tier1, UK_Sheffield, US_Colorado, US_FNAL-FermiGrid, US_FNAL-T1, US_Michigan, 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 stageRSE expression
1https://fndcadoor.fnal.gov:2880/dune/scratch/users/wwang/fnal/00088/1*_reco_*.root

Environment variables

NameValue
INPUT_TAR_DIR_LOCAL/cvmfs/fifeuser4.opensciencegrid.org/sw/dune/a886bada81cadebf93f4e0c0b90838197bb8f26c
NUM_EVENTS100

File states

Total filesFindingUnallocatedAllocatedOutputtingProcessedNot foundFailed
10100000

Job states

TotalSubmittedStartedProcessingOutputtingFinishedNotusedAbortedStalledJobscript errorOutputting failedNone processed
30000000000030

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 5 files from the dataset fardet-hd__fd_mc_2023a_reco2__full-reconstructed__v09_81_00d02__standard_reco2_dune10kt_nu_1x2x6__prodgenie_nu_dune10kt_1x2x6__out1__validation
data and put the output in the $USER namespace (MetaCat) and saves the output in /scratch
Use this command to create the workflow:

justin simple-workflow \
--mql \
"files from dune:all where core.file_type=detector and core.run_type=hd-protodune and core.data_tier=raw limit 10" \
--jobscript submit_local_fcl.jobscript --rss-mb 4000 --max-distance 30 --scope usertests \
--output-pattern "*_reco_*.root:$FNALURL/$USERF" \
--env INPUT_TAR_DIR_LOCAL="$INPUT_TAR_DIR_LOCAL" --env NUM_EVENTS=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:-$INPUT_TAR_DIR_LOCAL/to_grid/dune10kt_v6_refactored_1x2x6_light_sim.fcl}
#INPUT_STEERING_FILE=${INPUT_STEERING_FILE:-$INPUT_TAR_DIR_LOCAL/to_grid/myLightSourceSteering.txt}
DUNE_VERSION=${DUNE_VERSION:-v10_03_01d02}
DUNE_QUALIFIER=${DUNE_QUALIFIER:-e26:prof}

# 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"

# Setup DUNE environment
source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh
setup dunesw "$DUNE_VERSION" -q "$DUNE_QUALIFIER"
# source $INPUT_TAR_DIR_LOCAL/to_grid/dune_light_sim_v10_03_01d02/localProducts_larsoft_v10_03_01d02_e26_prof/setup
# mrbslp

# 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=${now}_reco_${now}.root

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

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

cp $INPUT_TAR_DIR_LOCAL/to_grid/dune10kt_v6_refactored_1x2x6_light_sim.fcl /tmp/
cp $INPUT_TAR_DIR_LOCAL/to_grid/myLightSourceSteering.txt /tmp/
ls /tmp
chmod a+r /tmp/myLightSourceSteering.txt
chmod a+r /tmp/dune10kt_v6_refactored_1x2x6_light_sim.fcl

cd /tmp/
lar -c /tmp/dune10kt_v6_refactored_1x2x6_light_sim.fcl $events_option -o $outFile > ${now}_reco_${now}.log 2>&1
rm /tmp/myLightSourceSteering.txt
rm /tmp/dune10kt_v6_refactored_1x2x6_light_sim.fcl
)

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


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

if [ $larExit -eq 0 ] ; then
  # Success !
  echo This job is done with output file $outFile created at $now
  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: 2025-08-05 08:47:01 UTC       justIN version: 01.04.00