This lesson is being piloted (Beta version)

Batch Computing Basics for DUNE - 2025 transition edition: Short submission with your own code

this collects the sequence of steps for a batch submission with local code which produces both an artroot and root file.

It splits out different functions so you need to examine/adapt all of the support scripts which can be found here.

This sequence assumes you are in your top level mrb directory.

in your top level mrb directory

For example /exp/dune/app/users/$USER/myworkarea

need to have a name for it as you will be making a tarball

export DIRECTORY=myworkarea

copy these scripts into that top level directory

You can access a tarball with them all here.

Download that tarball into the top level directory for your build and

tar xBf usefulcode.tar

to get the code.

here are the scripts..

utilities you need

setup scripts

Script to test and submit jobs

scripts that run on the remote machine

extractor_new.py (this makes metadata for your files)

submit_local_code.jobscript.sh (may need to modify if expert)

How to run these scripts

modify two-three scripts (should not need to change the others)

edit

Then run those scripts to set things up

source setup_before_submit.sh # sets up larsoft

from $DIRECTORY make a tarball and put in rcds

If you have changed any scripts or code, you must redo this.

./maketar.sh $DIRECTORY
./makercds.sh $DIRECTORY

will take a while, produce a tarball on /exp/dune/data/users/$USER/ and put the cvmfs location in cvmfs.location in $DIRECTORY

Configure your job with job_config.sh

Then edit job_config.sh to reflect the # of events you want and other run-time parameters.

Details of job_config.sh

Here is what is in job_config.sh

export FCL_FILE="run_analyseEvents.fcl" # fcl file
export OUTPUT_DATA_TIER1="full-reconstructed" # tier for artroot output
export OUTPUT_DATA_TIER2="root-tuple" # tier for root output
export MQL="files where dune.workflow['workflow_id']=3923 and core.data_tier=full-reconstructed limit 2 ordered " # metacat query for files
export APP_TAG="ana" # application name
export DESCRIPTION="$APP_TAG using $FCL_FILE" # appears as jobname in justin
export USERF=${USER} # make certain the grid knows who your are
export NUM_EVENTS=-1 # process them all
export FNALURL='https://fndcadoor.fnal.gov:2880/dune/scratch/users' # sends output to scratch
export NAMESPACE="usertests" # don't change this unless doing production


Test your jobscript interactively

test_workflow.sh

results will show up in the ‘tmp’ area on your local machine.

Submit the job

submit_workflow.sh

This one writes to /pnfs/dune/scratch

./submit_workflow.sh

submit_workflow_rucio.sh

This one writes to a rucio location specified by $NAMESPACE

./submit_workflow_rucio.sh

after submission

You should get a workflow number back

go to justin

to track your job.