Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Running

All supported workflows use the single openamundsen-da command tree. Commands accept a project directory, not separate setup/config guesses; the setup is the parent of the project’s projects/ directory.

Single-domain project

Preprocess configured raster observations when their summaries need to be created or refreshed, then prepare and run the project:

openamundsen-da observations snow-cover /data/setup/projects/project_2022_2023
openamundsen-da observations wet-snow /data/setup/projects/project_2022_2023
openamundsen-da prepare /data/setup/projects/project_2022_2023
openamundsen-da run /data/setup/projects/project_2022_2023 --max-workers <MAX_WORKERS>

prepare creates the deterministic step structure and per-step observation inputs. run requires a successful preparation manifest. It resumes only when all hashed inputs match; completed projects are immutable and returned as reused.

Performance monitoring is always enabled and writes results/plots/perf/project_perf_metrics.csv and project_perf.png. Set numeric library thread counts to 1 when using multiple process workers to avoid oversubscription. Replace <MAX_WORKERS> with a value no larger than the CPUs available to the process; do not type the angle brackets. A project with an ensemble of size N has at most N + 1 useful propagation workers, including the open loop. Reduce the value when memory is the limiting resource.

Regenerate configured plots, maps and the project report from a compatible completed project with:

openamundsen-da render /data/setup/projects/project_2022_2023 --max-workers <MAX_WORKERS>

Docker execution

Mount the setup at /data and run the exact release image:

docker run --rm \
  -v "/absolute/path/to/setup:/data" \
  --cpus <CPU_COUNT> \
  -e OMP_NUM_THREADS=1 \
  -e OPENBLAS_NUM_THREADS=1 \
  -e MKL_NUM_THREADS=1 \
  -e NUMEXPR_NUM_THREADS=1 \
  ghcr.io/franzwagner-uibk/openamundsen_da:0.9.0 \
  openamundsen-da run /data/projects/project_2022_2023 --max-workers <MAX_WORKERS>

Replace <CPU_COUNT> and <MAX_WORKERS> before execution. The worker limit must not exceed the CPUs exposed to the container.

On Windows and macOS, assign enough CPU, memory and disk to Docker Desktop. On Linux, add --user "$(id -u):$(id -g)" when mounted outputs should use the current host ownership.

Data assimilation subdomains

Large data assimilation projects use four explicit, resumable stages:

openamundsen-da subdomains prepare PROJECT_DIR
openamundsen-da subdomains run PROJECT_DIR \
  --max-workers <MAX_WORKERS> \
  --inner-max-workers <INNER_MAX_WORKERS>
openamundsen-da subdomains merge PROJECT_DIR
openamundsen-da subdomains render PROJECT_DIR --max-workers <MAX_WORKERS>

Each subdomain is an independent data assimilation problem. This is regional decomposition, not particle-filter localization. See the Subdomain Runbook.

Plain-model subdomains

The intentionally separate model branch tiles one ordinary openAMUNDSEN simulation without projects, ensembles or assimilation:

openamundsen-da subdomains model prepare SETUP_DIR
openamundsen-da subdomains model run SETUP_DIR --max-workers <MAX_WORKERS>
openamundsen-da subdomains model merge SETUP_DIR

Use the CLI guide for all options and Output Data for completion and cleanup semantics.