16. Environmental Variable List
Every environment variable that morloc reads or sets lives in the
MORLOC_ namespace. They fall into two roles:
-
Tunables — read at runtime to override a default. A user (or an orchestrator) sets these; morloc only reads them.
-
Wiring — set by the nexus, the compiler, or
mimand read by the child processes they launch (pools, setup scripts, SLURM re-entry). Users normally do not set these by hand.
The tables below group the variables by topic. The Introduced in
column links to the manual section that introduces the variable; a
(pending) entry marks a variable that is described here but does not
yet have a dedicated home elsewhere in the manual.
16.1. Installation and runtime setup
| Variable | Description | Default | Introduced in |
|---|---|---|---|
|
Morloc install root; base for |
|
|
|
Path to the |
(search) |
|
|
|
(none) |
|
|
Directory where |
|
(pending) |
|
Explicit path to the |
(resolution chain) |
(pending) |
16.2. Module installation (setup-script environment)
Set by the compiler for a module’s setup script child process and
read by that script.
| Variable | Description | Default | Introduced in |
|---|---|---|---|
|
Name of the module being installed. |
(per module) |
|
|
Version of the module being installed. |
(per module) |
|
|
Absolute path to the installed module directory; also the script’s working directory. |
(per module) |
|
|
Active plane name. |
(config) |
|
|
Directory of the active plane’s library path. |
(config) |
|
|
Destination directory a |
(derived from plane/module) |
(pending) |
|
Destination directory a |
(derived from plane/module) |
(pending) |
|
Destination directory a |
(derived from plane/module) |
(pending) |
16.3. Run directory, logging, and reporting
| Variable | Description | Default | Introduced in |
|---|---|---|---|
|
Base directory that activates the per-run directory, stderr log
tee, and |
(none; opt-in) |
|
|
Path to write |
(none) |
|
|
Suppress all morloc-emitted log lines at the source. Equivalent to
|
off |
|
|
Current run’s directory. Set by the runtime and inherited by child morloc processes so their logs interleave. |
(only when active) |
|
|
PID that created the rundir; guards against a stale inherited
|
(own PID) |
|
|
Parent directory of the active run directory. Published by the
runtime for child pools; informational only (a child reconstructs
its run from |
(only when active) |
(pending) |
|
Any non-empty value enables per-stage timing trace lines on stderr (ingest, size-estimate, and emit hot paths) for diagnosing where wall time is spent. |
off |
(pending) |
16.4. Debugging
| Variable | Description | Default | Introduced in |
|---|---|---|---|
|
Explicit output directory for |
(rundir or |
|
|
Maximum disk writes per dispatch ( |
|
|
|
Per-arg size cap on the dumped payload; larger args recorded by hash
only. Equivalent to |
|
|
|
Per-manifold frame limit in a recorded trace ( |
|
16.5. Caching
| Variable | Description | Default | Introduced in |
|---|---|---|---|
|
Override the cache base directory (useful for Docker mounts and shared filesystems). |
|
|
|
zstd level for persisted cache entries. |
|
(pending) |
|
Hex source fingerprint mixed into every cache key so editing the
morloc source (or a |
|
(pending) |
16.6. Data transfer (packets and shared memory)
Set by the nexus from the compiled manifest and read once by
libmorloc on the first packet operation.
| Variable | Description | Default | Introduced in |
|---|---|---|---|
|
Maximum flat byte size embedded inline in a packet; larger payloads spill to shared memory (or a temp file). |
|
(pending) |
|
Set to |
off |
(pending) |
|
Temp directory for file-routed packets (used when a payload exceeds the inline threshold and SHM is disabled or unavailable). |
system temp |
(pending) |
16.7. Streaming and compression
| Variable | Description | Default | Introduced in |
|---|---|---|---|
|
Concurrent stream handles per nexus invocation (each slot uses 512 bytes of SHM). |
|
|
|
Per- |
16 MiB |
|
|
Per-handle SHM cache for decompressed IFile sub-packets ( |
256 MiB |
|
|
Worker threads for parallel zstd frame compression/decompression (capped at 16). |
|
16.8. Nexus and inter-process wiring
Set by the nexus and read by the pools it launches.
| Variable | Description | Default | Introduced in |
|---|---|---|---|
|
Unix-socket path for the SLURM submission bridge; exported by
|
(unset = direct sbatch) |
|
|
Absolute path of the running nexus, exported to every pool so
remote/SLURM dispatch can wrap an |
(from |
(pending) |
|
Absolute (canonicalized) path of the program manifest, exported to pools for tooling that must re-enter the same program. |
(canonical manifest path) |
(pending) |
|
Unix socket the nexus binds for its stdio server; a pool connects to
it to route |
(unset) |
(pending) |
16.9. Nexus inspection tools (view / file)
| Variable | Description | Default | Introduced in |
|---|---|---|---|
|
Override the buffered-path size threshold that the |
1 GiB |
|
|
Cap on sub-packets scanned when classifying a footer-less stream file. |
|
|
|
Data rows Arrow scans to infer a CSV schema. |
|
(pending) |