# The Job Submission Form

The submit form is the main way to run jobs on the cluster. Open it from **Submit Job** in the navbar. Every field maps directly to an sbatch option — PowerPortal builds the submission for you.

## Required fields

<table id="bkmrk-field-what-it-sets-j"><thead><tr><th>Field</th><th>What it sets</th></tr></thead><tbody><tr><td>**Job name**</td><td>A label for your job. Appears in the Jobs page and in Slurm output.</td></tr><tr><td>**Partition**</td><td>The queue to submit to. Determines available nodes, time limits, and which accounts and QOS you can use. Select this first — other fields update based on your choice.</td></tr><tr><td>**CPUs per task**</td><td>Number of CPU cores per task. For single-task jobs this is your total core count.</td></tr><tr><td>**Memory (GB)**</td><td>RAM per node in gigabytes.</td></tr><tr><td>**Time limit**</td><td>Maximum wall-clock time in `HH:MM:SS` or `D-HH:MM:SS` format. The job is killed when this limit is reached.</td></tr><tr><td>**Job script**</td><td>The shell commands to run. You do not need a shebang — PowerPortal adds `#!/bin/bash` and `source ~/.bashrc` automatically so `module load` works.</td></tr></tbody></table>

## Optional fields

<table id="bkmrk-field-what-it-sets-a"><thead><tr><th>Field</th><th>What it sets</th></tr></thead><tbody><tr><td>**Account**</td><td>Slurm account to charge. Defaults to your primary account if left blank.</td></tr><tr><td>**QOS**</td><td>Quality of service — controls priority and limits. Only QOS allowed for the selected partition are shown.</td></tr><tr><td>**Nodes**</td><td>Number of nodes to allocate.</td></tr><tr><td>**Node list**</td><td>Request specific nodes by name (comma-separated). Leave blank to let Slurm choose.</td></tr><tr><td>**Exclude nodes**</td><td>Nodes to avoid. Useful if a node is known to be problematic.</td></tr><tr><td>**Constraints**</td><td>Node feature requirements (e.g. a specific CPU generation). Multiple constraints are ANDed.</td></tr><tr><td>**Tasks**</td><td>Total number of MPI tasks. Leave blank for non-MPI jobs.</td></tr><tr><td>**Tasks per node**</td><td>MPI tasks per node. Leave blank for non-MPI jobs.</td></tr><tr><td>**Array**</td><td>Job array specification, e.g. `1-100` or `0-9%5`. See the Job Arrays page.</td></tr><tr><td>**Output file**</td><td>Path for stdout. Defaults to `slurm-%j.out` in your working directory.</td></tr><tr><td>**Error file**</td><td>Path for stderr. Defaults to `slurm-%j.err` in your working directory (a separate file from stdout, not the same file).</td></tr><tr><td>**Working directory**</td><td>Directory the job runs from. Defaults to your home directory. Use absolute paths in your script if your input files are elsewhere.</td></tr><tr><td>**Dependency**</td><td>Wait for other jobs before starting, e.g. `afterany:12345`. Separate multiple jobs with `:`, e.g. `afterany:101:102:103`.</td></tr><tr><td>**Notify email**</td><td>Email address to notify about job events. Defaults to none.</td></tr><tr><td>**Notify on**</td><td>Which events trigger a notification email — Begin, End, Fail, Requeue, Time limit / 90% / 80% / 50% reached, Stage out, Invalid dependency, Array tasks, or All. Requires Notify email to be set.</td></tr><tr><td>**GPU fields**</td><td>GPU count and type appear only when you select a GPU-enabled partition.</td></tr></tbody></table>

## Submitting

Click **Submit Job**. On success, PowerPortal redirects you to the Jobs page after 2 seconds where your new job appears at the top of the list.

## Saving as a template

Click **Save as template** before submitting to store the current configuration for reuse. See the Templates chapter for details.