Configuration Reference
This page is a searchable lookup table for BIOMERO Python client configuration
and shared runtime environment variables. It covers options read by
SlurmClient.from_config() as well as names registered in
biomero.constants.slurm_env for integration layers to forward to BIOMERO
scripts.
Resolution And Precedence
For settings mapped to slurm-config.ini, BIOMERO resolves values in this
order:
built-in defaults
values from
slurm-config.inienvironment variable overrides, when supported
For sacct history settings, relative-day settings override absolute-date settings.
Runtime-only variables have no corresponding ini key. The component identified in the table consumes them directly.
Use this page as the quick lookup companion to SLURM Configuration Guide, which explains when and why you would choose each setting.
Environment Variable Lookup Table
Environment variable |
|
Type |
Runtime effect |
|---|---|---|---|
|
— |
filesystem path |
Enables authoritative-file mode; only this ini file is read instead of merging the default config paths |
|
not applicable |
boolean |
Queues supported BIOMERO workflow scripts for an external supervisor instead of executing them inline; defaults to |
|
not applicable |
integer |
Maximum number of non-batched workflow runs driven concurrently by the detached worker supervisor; defaults to |
|
not applicable |
integer seconds |
Interval between detached workflow queue polls; defaults to |
|
not applicable |
integer seconds |
Delay before the first detached workflow recovery poll, allowing the OMERO processor to register and accept sub-scripts; defaults to |
|
not applicable |
boolean |
Opts BIOMERO.scripts into canonical Zarr caching and shallow-result shallowing when the importer integration is available; defaults to |
|
|
database URL |
Overrides the |
|
not applicable |
subfolder name |
Importer-library setting for new preprocessing outputs and canonical Zarr copies; defaults to |
|
|
string date |
Absolute default start date for job history queries via |
|
|
integer |
Rolling history window in days; overrides absolute start time when valid |
|
|
boolean |
Switches submission from direct env passing to per-job env-file submission |
|
|
boolean |
Enables dynamic GPU flag handling in generated scripts and GPU-aware submissions |
|
|
string |
Default fallback GPU partition for workflow submissions when GPU mode is requested |
|
|
string |
Default fallback |
|
|
string |
Default fallback |
|
|
string |
Default fallback Slurm partition for workflow and conversion jobs that do not already select one |
|
|
boolean |
Switches workflow/converter image pulls from direct remote execution to sbatch jobs |
|
|
string |
CPU request used for sbatch-based image pull/build jobs |
|
|
string |
Memory request used for sbatch-based image pull/build jobs |
|
|
string |
Time limit for the image-pull array; overrides global |
|
|
integer |
Maximum simultaneously running image-pull array tasks |
|
|
string |
Partition for the image-pull array; overrides global |
|
|
string |
Tmp directory exported for Apptainer/Singularity image pull/build commands |
|
|
string |
Cache directory exported for Apptainer/Singularity image pull/build commands |
|
|
string |
Overrides the ZIP command used on the cluster; |
|
|
string date |
Absolute cutoff date ( |
|
|
integer |
Rolling cutoff window in days for analytics view table rebuilds; overrides the absolute date when set |
|
|
string |
Legacy fallback env var for GPU partition; lower priority than |
|
|
string |
Legacy fallback env var for GPU gres; lower priority than |
|
|
string |
Legacy fallback env var for GPU gpus; lower priority than |
slurm-config.ini Lookup Table
Key |
Type |
Default |
Effect |
|---|---|---|---|
|
string |
|
Base path for transferred workflow data on the cluster |
|
string |
|
Base path for workflow containers on the cluster |
|
string |
|
Base path for converter containers on the cluster |
|
string |
|
Base path for generated or cloned job scripts |
|
string or empty |
empty |
If set, BIOMERO clones and updates job scripts from this repository instead of generating scripts locally; use with caution, because external script repos can drift out of sync with newer BIOMERO releases and are not the recommended default |
|
string or empty |
unset |
Injects |
|
string or empty |
unset |
Partition for data conversion jobs; injected as a real |
|
string or empty |
unset |
Generic fallback |
|
string date or empty |
|
Absolute start date used when listing historical jobs |
|
integer or empty |
unset |
Relative history window; takes precedence over |
|
boolean |
|
Uses env-file based submission instead of direct environment propagation |
|
boolean |
|
Enables dynamic GPU submission support in generated scripts |
|
string or empty |
unset |
Shared fallback partition appended for GPU workflow runs when needed |
|
string or empty |
unset |
Shared fallback |
|
string or empty |
unset |
Shared fallback |
|
string or empty |
unset |
Any |
|
boolean |
|
Uses sbatch jobs instead of direct remote execution for workflow/converter image pulls |
|
string or empty |
unset |
CPU request for sbatch-based image pull/build jobs; blank inherits |
|
string or empty |
unset |
Memory request for sbatch-based image pull/build jobs; blank inherits |
|
string or empty |
unset |
Time limit for the image-pull array; blank inherits |
|
integer |
|
Maximum simultaneously running array tasks; configure 2-4 to bound filesystem pressure |
|
string or empty |
unset |
Partition for image initialization; blank inherits |
|
string or empty |
unset |
Fallback build-temp parent when |
|
string or empty |
unset |
Fallback task-cache parent when |
|
string or empty |
|
Command used for ZIP creation and extraction on the HPC. Set to |
|
string date or empty |
unset |
Absolute cutoff date ( |
|
integer or empty |
unset |
Rolling cutoff window in days for analytics view table rebuilds; overrides the absolute date when set. Configured under |
|
boolean |
|
Per-workflow GPU default in |
|
string URL |
— |
GitHub URL for a workflow in |
Behaviour Notes
Parsing scope
The boolean and integer fallback rules below apply to options resolved by
SlurmClient.from_config(). Runtime-only variables define their own parsing
contract. BIOMERO_SHALLOW_ZARR is enabled only by the case-insensitive
literal value true; an absent or different value leaves the opt-in feature
disabled. BIOMERO_DETACHED_WORKFLOWS accepts the case-insensitive values
1, true, yes and on; it is disabled when absent or set to any
other value.
Detached worker supervisor
New in version 2.9.0: BIOMERO_DETACHED_WORKFLOWS is an opt-in feature flag. It is disabled
when absent or false. Existing deployments
retain inline execution until an administrator enables the feature and
provides a compatible worker supervisor.
The four detached variable names are centralized in
biomero.constants.slurm_env and form one deployment contract. The workflow
scripts and worker both read BIOMERO_DETACHED_WORKFLOWS. The three
supervisor settings are consumed only by deployments that provide a detached
workflow supervisor, such as the NL-BIOMERO biomeroworker container; they
do not configure SlurmClient and do not need entries in
slurm-config.ini.
After the launcher has recorded the workflow request, detached execution no longer depends on the browser tab or the OMERO session that submitted it. The Slurm run, monitoring, and result import may therefore outlive ordinary OMERO server and web-session timeouts. Do not increase those timeouts merely to cover the complete workflow duration. They must still be long enough for initial validation and hand-off, and for each OMERO-side transfer or import subprocess. Without a compatible supervisor, keep detached mode disabled: the established inline path still depends on the calling script and session until it finishes.
Supervisor values are converted to integers when the worker process starts, so
non-integer values prevent that process from loading. Use a positive value for
BIOMERO_MAX_ACTIVE_WORKFLOWS and non-negative second values for both timing
settings. A startup grace of 0 skips the initial delay.
PROCESSED_DATA_FOLDER is read by the importer library at module import time,
not from slurm-config.ini. Its value is used as supplied (for example,
.import); an explicitly empty value does not select the default. NL-BIOMERO’s
processor forwards names registered in biomero.constants.slurm_env to OMERO
script subprocesses. The variable must still be present in the worker container’s
environment, and its BIOMERO and importer libraries must support this setting.
Existing canonical locations are read from stored metadata; changing the variable
neither relocates existing data nor rewrites those references.
Boolean parsing
Supported truthy values are:
true1yesyon
Supported falsy values are:
false0nonoff
Invalid boolean env var values fall back to the already resolved ini or default value.
Integer parsing
Invalid integer env var values also fall back to the already resolved ini or default value.
This matters especially for BIOMERO_SACCT_START_DAYS_AGO.
Empty-string handling
Some optional string settings treat an empty value as unset rather than as a literal empty string.
This is relevant for values such as slurm_data_bind_path, slurm_conversion_partition,
slurm_default_partition, gpu_partition, gpu_gres, gpu_gpus, and the optional sacct window settings.
GPU precedence
For workflow submissions, GPU-related settings are applied in this order:
per-workflow sbatch parameters from
[WORKFLOWS](or[MODELS]) such ascellpose_job_partition,cellpose_job_gres, andcellpose_job_gpusglobal sbatch defaults from
sbatch_<key>entries in[SLURM]shared runtime GPU defaults:
gpu_partitionand eithergpu_gres(--gres=) orgpu_gpus(--gpus=); these two are mutually exclusive — set one or the other, never bothno BIOMERO-added GPU resource arguments
Shared GPU defaults (level 3) are considered when GPU mode is active. GPU mode is activated by one of two code paths:
Dynamic path (
inject_gpu_flag=true):use_gpuis resolved at submission time — explicituse_gpuargument wins, otherwise falls back to<name>_use_gpufrom[WORKFLOWS]/[MODELS].GPU_FLAGenv var is set (--nvor empty) at submission time so the script can toggle the container runtime flag.Static path (
inject_gpu_flag=false):--nvis baked into the generated script at script-generation time; only<name>_use_gpu=truein[WORKFLOWS]/[MODELS]triggers GPU sbatch resource param injection, and it cannot be overridden at submission time. NoGPU_FLAGenv var is set.
See SLURM Configuration Guide for a full explanation of the interaction between these settings.
Search Hints
If you are looking for a specific name, try searching the docs for any of these exact identifiers:
BIOMERO_SACCT_START_TIMESQLALCHEMY_URLBIOMERO_DETACHED_WORKFLOWSBIOMERO_MAX_ACTIVE_WORKFLOWSBIOMERO_SUPERVISOR_POLL_SECONDSBIOMERO_SUPERVISOR_STARTUP_GRACE_SECONDSBIOMERO_SHALLOW_ZARRPROCESSED_DATA_FOLDERBIOMERO_SACCT_START_DAYS_AGOBIOMERO_ENV_FILE_SUBMISSIONBIOMERO_INJECT_GPU_FLAGBIOMERO_GPU_PARTITIONBIOMERO_GPU_GRESBIOMERO_GPU_GPUSBIOMERO_DEFAULT_PARTITIONBIOMERO_IMAGE_PULL_VIA_SBATCHBIOMERO_PULL_CPUSBIOMERO_PULL_MEMBIOMERO_APPTAINER_TMPDIRBIOMERO_APPTAINER_CACHEDIRBIOMERO_SLURM_ZIP_CMDBIOMERO_ANALYTICS_REBUILD_START_TIMEBIOMERO_ANALYTICS_REBUILD_DAYS_AGOGPU_PARTITIONGPU_GRESGPU_GPUS
Optional result shallower
The administrator-only CPU helper runs before result ZIP creation. All options
are in [SLURM]; environment values override ini values. Shallow Zarr remains
opt-in; when enabled, remote shallowing is the default. Set
remote_shallow_zarr=false or BIOMERO_REMOTE_SHALLOW_ZARR=false to use
local importer shallowing instead, for example to avoid extra Slurm costs.
The helper requests no GPU; workers
set CPUs per task. Shallowing and recovery share conversion’s resource
merging: the helper partition overrides slurm_default_partition, which
overrides global sbatch_partition. Otherwise Slurm chooses its default.
Global sbatch_* options (including account, reservation, QoS and constraint)
are inherited, except GPU resources, multi-task/node allocation and flags owned
by the helper (array, command, export and log paths). Optional helper memory and
time limits override their global counterparts; otherwise global values apply.
Image pulls use the normal image-pull resource configuration.
The import script owns session keepalive and supplies a heartbeat callback to
the shared SlurmJob monitor for shallowing and recovery.
Callback failures propagate unchanged.
This applies to inline and detached workflows alike.
An existing job ID is adopted without resubmission;
unavailable status pauses retrieval rather than triggering recovery. The helper
task is completed only after its output report has been validated.
Only SLURM_Init_environment acquires the shallower image. Verify setup with
SLURM_check_setup before running workflows. Runtime shallowing validates the
installed image and raises a setup error if it is missing or invalid; it never
downloads an image or silently falls back because setup is incomplete.
Shallowing and recovery have distinct submission identities. Recorded job IDs remain authoritative when resuming older tasks; an unresolved pre-upgrade recovery intent may require administrator reconciliation, rather than automatic resubmission.
Canonical input manifests are published atomically and verified on resume, never overwritten. Missing manifests after submission or changed inputs stop retrieval. New tasks record an input fingerprint and the helper SIF path; existing tasks retain their recorded image and tool version for recovery and receipt validation even when deployment defaults change. Keep the original SIF available until those tasks finish. Resource settings remain configurable.
Ini option |
Default |
Environment variable |
|---|---|---|
|
|
|
|
|
|
|
Unset; read the installed image’s OCI version label |
|
|
|
|
|
Unset (inherit generic partition) |
|
|
Unset (inherit global memory) |
|
|
Unset (inherit global time limit) |
|
Prefer a versioned tag or immutable digest and matching importer/schema/shallower versions. Importer enablement, existing shallow capability, and workflow tracking are required. Safe failures fall back to full transfer and local import; unresolved recovery preserves results and pauses retrieval. These options are administrator settings, not scientific workflow parameters. A compatible OMERO.biomero admin interface exposes them when shallow storage is enabled; environment overrides still take precedence over values saved to the ini file.
Core falls back to our helper’s :latest tag. Prefer an image pin in
[SLURM]; refer to resources/slurm-config.ini for the maintained
release selection. When remote_shallower_version is unset, core reads the
installed SIF’s OCI version label and records it before submitting a new task.
An explicit value overrides discovery and must match the Python package
version written into receipts, including any normalized prerelease suffix.
Existing tasks retain their recorded version for recovery.
An explicit :latest image tag is accepted, as with configured converters,
but is not a reproducible release pin. Initialization reuses an already valid
SIF; it does not refresh that file merely because the registry tag moved.
Keep any explicit expected tool version consistent with the installed image.
Initialization acquires the configured or default image. Missing version
labels require an explicit tool-version setting; receipt validation is not
disabled. Importer trust configuration must still match the selected image and
actual tool version.
For recovery behavior and component responsibilities, see Execution, storage and recovery.