Workflow 1773, Stage 1
Priority | 50 |
Processors | 1 |
Wall seconds | 80000 |
Image | /cvmfs/singularity.opensciencegrid.org/fermilab/fnal-wn-sl7:latest |
RSS bytes | 4194304000 (4000 MiB) |
Max distance for inputs | 3000.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 |
Scope | usertests |
Events for this stage |
Output patterns
| Destination | Pattern | Lifetime | For next stage | RSE expression |
---|
1 | https://fndcadoor.fnal.gov:2880/dune/scratch/users/ichong/fnal/01773/1 | caf_normalvtx* | | | |
Environment variables
Name | Value |
---|
CODE_TAR_DIR_LOCAL | /cvmfs/fifeuser3.opensciencegrid.org/sw/dune/1f8f8aaded68cc7c3e873196b083ca84b933f518 |
DUNE_QUALIFIER | e26:prof |
DUNE_VERSION | v10_10_00d00 |
FCL_SECONDARY | cafmaker_atmos_dune10kt_1x2x6_runreco-nuenergy-nuangular_geov5.fcl |
NUM_EVENTS | 200 |
File states
Total files | Finding | Unallocated | Allocated | Outputting | Processed | Not found | Failed |
---|
|
1000 | 0 | 0 | 0 | 0 | 980 | 0 | 20 |
Job states
Total | Submitted | Started | Processing | Outputting | Finished | Notused | Aborted | Stalled | Jobscript error | Outputting failed | None processed |
---|
2629 | 0 | 0 | 0 | 0 | 1582 | 0 | 941 | 105 | 0 | 0 | 1 |
RSEs used
Name | Inputs | Outputs |
---|
PRAGUE | 1065 | 0 |
NIKHEF | 209 | 0 |
QMUL | 196 | 0 |
RAL_ECHO | 182 | 0 |
RAL-PP | 181 | 0 |
SURFSARA | 153 | 0 |
DUNE_FR_CCIN2P3_DISK | 26 | 0 |
DUNE_ES_PIC | 14 | 0 |
None | 0 | 980 |
Stats of processed input files as CSV or JSON, and of uploaded output files as CSV or JSON (up to 10000 files included)
File reset events, by site
Site | Allocated | Outputting |
---|
UK_RAL-Tier1 | 296 | 0 |
UK_Manchester | 162 | 0 |
ES_PIC | 148 | 0 |
FR_CCIN2P3 | 68 | 0 |
UK_RAL-PPD | 66 | 0 |
CERN | 46 | 0 |
UK_QMUL | 40 | 0 |
US_FNAL-FermiGrid | 34 | 0 |
UK_Durham | 26 | 0 |
US_UChicago | 25 | 0 |
UK_Glasgow | 18 | 0 |
CZ_FZU | 18 | 0 |
UK_Imperial | 16 | 0 |
NL_SURFsara | 16 | 0 |
US_UCSD | 11 | 0 |
NL_NIKHEF | 10 | 0 |
UK_Oxford | 6 | 0 |
IT_CNAF | 6 | 0 |
BR_CBPF | 5 | 0 |
US_Wisconsin | 4 | 0 |
US_FNAL-T1 | 2 | 0 |
UK_Bristol | 2 | 0 |
UK_Lancaster | 1 | 0 |
Jobscript
#!/bin/bash
:<<'EOF'
This jobscript runs ONLY the CAF-making step on an input file from JustIn.
Required environment variables:
- FCL_SECONDARY (FHiCL for CAF making) [REQUIRED]
- DUNE_VERSION
- DUNE_QUALIFIER
- CODE_TAR_DIR_LOCAL (optional: path to localProducts/... for custom code)
- NUM_EVENTS (optional: limit events, e.g. -n 10)
EOF
# === Require FCL_SECONDARY ===
if [ -z "${FCL_SECONDARY:-}" ]; then
echo "ERROR: FCL_SECONDARY is not set. Exiting."
exit 2
fi
# === Number of events option ===
events_option=""
if [ -n "${NUM_EVENTS:-}" ]; then
events_option="-n $NUM_EVENTS"
fi
# === Get a file from JustIn ===
did_pfn_rse=$($JUSTIN_PATH/justin-get-file)
if [ -z "$did_pfn_rse" ]; then
echo "No file assigned. Exiting jobscript."
exit 0
fi
# === Track input DID for MetaCat ===
echo "$did_pfn_rse" | cut -f1 -d' ' >> all-input-dids.txt
# === Parse PFN from DID ===
pfn=$(echo "$did_pfn_rse" | cut -d' ' -f2)
echo "Input PFN = $pfn"
fname=$(basename "$pfn" .root)
# === Setup DUNE software ===
source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh
setup dunesw "$DUNE_VERSION" -q "$DUNE_QUALIFIER"
echo " dunesw setup successful"
echo " Version = $DUNE_VERSION"
echo " Qualifier = $DUNE_QUALIFIER"
setup duneana v10_10_00d00 -q e26:prof
setup duneanaobj v03_10_00 -q e26:prof
# Verify
if ups active | grep -q duneana; then
echo " duneana setup successful"
fi
if ups active | grep -q duneanaobj; then
echo " duneanaobj setup successful"
fi
echo "Currently active DUNE products:"
ups active | grep dune
# === Mirror CODE_TAR_DIR_LOCAL ===
INPUT_TAR_DIR_LOCAL="$CODE_TAR_DIR_LOCAL"
echo "INPUT_TAR_DIR_LOCAL = $INPUT_TAR_DIR_LOCAL"
# === Timestamp for outputs ===
timestamp=$(date -u +"%Y-%m-%dT_%H%M%SZ")
# === CAF output & log names ===
secondary_out="caf_${fname}_${timestamp}.root"
secondary_log="caf_${fname}_${timestamp}.log"
# === Run CAF step ===
export LD_PRELOAD=${XROOTD_LIB}/libXrdPosixPreload.so
echo "Running CAF step with FCL_SECONDARY: $FCL_SECONDARY"
echo "Output: $secondary_out"
lar -c "$FCL_SECONDARY" $events_option -o "$secondary_out" -s "$pfn" > "$secondary_log" 2>&1
# === Rename CAF output root file to include timestamp if needed ===
new_caf_out="caf_normalvtx_${timestamp}.root"
mv caf.root "$new_caf_out"
echo "Renamed caf.root -> $new_caf_out"
cafExit=$?
mv jobscript.log jobscript_$(date +%Y%m%d_%H%M%S).log
# === Show last 100 lines of CAF log ===
echo '=== Start last 100 lines of CAF log file ==='
tail -100 "$secondary_log" || true
echo '=== End last 100 lines of CAF log file ==='
# === Mark processed if success ===
if [ $cafExit -eq 0 ]; then
echo "$pfn" > justin-processed-pfns.txt
jobscriptExit=0
else
jobscriptExit=1
fi
# === Package logs ===
tar zcf "${JUSTIN_JOBSUB_ID//[@]/_}.logs.tgz" *.log
# === Display output summary ===
echo "=== Generated output files ==="
ls -1 *.* 2>/dev/null | grep -v 'all-input-dids.txt' || echo "No output files found."
exit $jobscriptExit