Skip to main content

Sample Jobs

HPCBOX ClusterApp ships with sample jobs you can copy to your own directory and run immediately. Each sample demonstrates a specific workflow feature using Generic Script steps that require no licensed applications.

Sample jobs are installed at:

/opt/drz/apps/hpcbox/latest/clusterapp/hpcbox-cluster-app-latest/dist/electron/HPCBOX-CLUSTER-APP-linux-x64/resources/app/statics/samples/

Step Data Passing

Location: samples/step-data-passing/

This sample demonstrates how workflow steps can pass values to downstream steps using the HPCBOX step environment file mechanism. It uses three Generic Script steps that form a simple pipeline:

StepNameWhat it does
1GenerateCreates a batch of result files, exports BATCH_ID, RESULT_DIR, ITEM_COUNT
2ProcessReads Step 1's values, processes each file, exports PROCESSED_COUNT, TOTAL_VALUE, SUMMARY_FILE
3ReportReads values from both Step 1 and Step 2, assembles a final report

No simulation software is required — the scripts use only standard bash and bc.

Files

step-data-passing/
├── step-data-passing.hpcbox Workflow file (open this in ClusterApp)
├── step1-generate.sh Generates data, writes drz_step_env.Generate
├── step2-process.sh Processes data, writes drz_step_env.Process
└── step3-report.sh Reads all upstream variables, writes final report

Running the Sample

1. Copy the sample directory to your home directory:

cp -r /opt/drz/apps/hpcbox/latest/clusterapp/hpcbox-cluster-app-latest/dist/electron/HPCBOX-CLUSTER-APP-linux-x64/resources/app/statics/samples/step-data-passing \
~/step-data-passing

2. Make the scripts executable:

chmod +x ~/step-data-passing/*.sh

3. Open the workflow in ClusterApp:

Open step-data-passing.hpcbox from the File menu or drag it into the editor.

4. Set the working directory:

Click the gear icon in the toolbar to open Workflow Properties. Set the Working Directory to the directory where you copied the sample — for example /home/alice/step-data-passing.

This is the only configuration required. The DRZ_GSC_SCRIPT option in each step is set to $DRZ_WD/stepN-name.sh, so it resolves automatically to the correct script once you set the working directory.

5. Enable Step Data Passing:

In Workflow Properties, make sure Enable Step Data Passing is checked. This is what allows each step's exported variables to be injected into downstream steps automatically.

6. Run the workflow:

Click Start in the toolbar. The three steps run in sequence. When complete, check your working directory for the output:

~/step-data-passing/
├── results/
│ ├── batch-YYYYMMDD-HHMMSS/
│ │ ├── item_1.csv Generated by Step 1
│ │ ├── item_2.csv
│ │ └── ...
│ ├── summary_batch-....csv Written by Step 2
│ └── report_batch-....txt Written by Step 3
├── drz_step_env.Generate Step 1's exported variables
└── drz_step_env.Process Step 2's exported variables

The final report (report_batch-....txt) summarises the entire pipeline — batch ID, items generated, items processed, total and average values — assembled from variables passed across all three steps.

How the Variable Passing Works

Each step writes a drz_step_env.<StepName> file to the working directory:

Step 1 writes drz_step_env.Generate:

BATCH_ID=batch-20260421-143022
RESULT_DIR=/home/alice/step-data-passing/results/batch-20260421-143022
ITEM_COUNT=5

Step 2 writes drz_step_env.Process:

PROCESSED_COUNT=5
TOTAL_VALUE=197.3920
SUMMARY_FILE=/home/alice/step-data-passing/results/summary_batch-20260421-143022.csv

After each step, the HPCBOX executor reads the env file and injects all variables into the environment of every downstream step — no manual sourcing or file reading needed in the scripts. Step 3 simply uses $BATCH_ID, $RESULT_DIR, $PROCESSED_COUNT, etc. as regular environment variables.

See Inter-Step Data Passing for the full feature reference.