Skip to main content

GALFORM execution helper utilities

Project description

galform_execution

CI License: MIT

A Python-based utility to manage GALFORM N-body simulation submissions to SLURM on COSMA.

galform_execution automates the generation and submission of SLURM batch scripts for GALFORM runs. It handles environment setup, parameter injection into .input.ref files, and conditional post-processing (NETA, LUM_FUN, etc.), providing a robust and reproducible workflow for large-scale galaxy formation simulations.

Key Features

  • Dynamic Script Generation: Generates self-contained tcsh scripts with resolved simulation and model parameters.
  • Config-Driven: Manage simulations, models, and dust parameters via JSON configurations.
  • SLURM Optimized: Automatic job array support and remapping of high subvolume indices.
  • Robustness: Built-in retries with exponential backoff for transient scheduler errors.

Prerequisites

  • Environment: Access to the COSMA HPC cluster (Durham University).
  • Tooling: uv is recommended for fast installation and dependency management.

Installation

# Clone the repository
git clone https://github.com/OscarHickman/galform_execution.git
cd galform_execution

# Install the package and its dependencies using uv
uv pip install -e .

Quick Start

1. Identify your GALFORM directory

You need a compiled version of GALFORM with the standard directory structure (containing build/galform2, *.input.ref, etc.).

2. Preview a submission (Dry Run)

Check the generated SLURM script without submitting to the queue:

submit-galform-job /path/to/your/galform --nbody-sim Mill2 --model lc16 --iz 40 --nvol 1-64 --dry-run

3. Submit a job array

submit-galform-job /path/to/your/galform --nbody-sim Mill2 --model lc16 --iz 40 --nvol 1-64 --output-folder-name MyProject

Configuration

Configurations are stored in galform_execution/config/:

  • simulations/: JSON files defining N-body simulation parameters (tree paths, cosmology).
  • models.json: Maps model names to base input files and dust profiles.
  • redshift_lists/: Redshift mappings for various simulations.

Development

Running Tests

uv run pytest tests

Linting

uv run ruff check galform_execution

License

Distributed under the MIT License. See LICENSE for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

galform_execution-0.1.0.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

galform_execution-0.1.0-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file galform_execution-0.1.0.tar.gz.

File metadata

  • Download URL: galform_execution-0.1.0.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for galform_execution-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f05406b69ad3426166e51c970b425f672736e43cd6b3515708a9df4959569ed8
MD5 ad71c8b7317230b5ce380a28ef7e6160
BLAKE2b-256 6da749930e98585c39681e3302843d7c02f01a38ebb7bd39d6cc717365ef76d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for galform_execution-0.1.0.tar.gz:

Publisher: publish.yml on OscarHickman/galform_execution

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file galform_execution-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for galform_execution-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6fa785a366120c82ce6a50cf8195135e8d2405b8c63844670fae9de7838ec94b
MD5 ab5604f671b9c5db2a2ec41f1e76f486
BLAKE2b-256 6e17c23daccc8a3e405976aeafce8006421b8cfafc42e3a58ea50c96aff899bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for galform_execution-0.1.0-py3-none-any.whl:

Publisher: publish.yml on OscarHickman/galform_execution

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page