Skip to main content

SCHISM model plugin for rompy

Project description


title: "Relocatable Ocean Modelling in PYthon (rompy)"

DOI GitHub Pages PyPI version GitHub Workflow Status (with event) PyPI - Downloads Code style: black PyPI - Python Version

Introduction

Relocatable Ocean Modelling in PYthon (rompy) is a modular Python library that aims to streamline the setup, configuration, execution, and analysis of coastal ocean models. Rompy combines templated model configuration with powerful xarray-based data handling and pydantic validation, enabling users to efficiently generate model control files and input datasets for a variety of ocean and wave models. The architecture centers on high-level execution control (ModelRun) and flexible configuration objects, supporting both persistent scientific model state and runtime backend selection. Rompy provides unified interfaces for grids, data sources, boundary conditions, and spectra, with extensible plugin support for new models and execution environments. Comprehensive documentation, example Jupyter notebooks, and a robust logging/formatting framework make rompy accessible for both research and operational workflows. Current model support includes SWAN and SCHISM, with ongoing development for additional models and cloud/HPC backends.

Key Features:

  • Modular architecture with clear separation of configuration and execution logic
  • Templated, reproducible model configuration using pydantic and xarray
  • Unified interfaces for grids, data, boundaries, and spectra
  • Extensible plugin system for models, data sources, backends, and postprocessors
  • Robust logging and formatting for consistent output and diagnostics
  • Example notebooks and comprehensive documentation for rapid onboarding
  • Support for local, Docker, and HPC execution backends

rompy is under active development—features, model support, and documentation are continually evolving. Contributions and feedback are welcome!

Documentation

See https://rom-py.github.io/rompy/

Code Formatting and Pre-commit Hooks

This repository enforces Python code formatting using black via the pre-commit framework.

To set up pre-commit hooks locally (required for all contributors)::

pip install pre-commit
pre-commit install

This will automatically check code formatting before each commit. To format your code manually, run::

pre-commit run --all-files

All code must pass black formatting before it can be committed or merged.

Versioning and Release

This project uses tbump for version management.

To bump the version, run::

tbump <new_version>

This will update the version in src/rompy/__init__.py, commit the change, and optionally create a git tag.

tbump is included in the development requirements (requirements_dev.txt).

For more advanced configuration, see tbump.toml in the project root.

Relevant packages

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

rompy_schism-0.6.0.tar.gz (315.1 kB view details)

Uploaded Source

Built Distribution

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

rompy_schism-0.6.0-py3-none-any.whl (269.2 kB view details)

Uploaded Python 3

File details

Details for the file rompy_schism-0.6.0.tar.gz.

File metadata

  • Download URL: rompy_schism-0.6.0.tar.gz
  • Upload date:
  • Size: 315.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rompy_schism-0.6.0.tar.gz
Algorithm Hash digest
SHA256 a15454d27a8b0957d266abc8f1e46c4d47a212d7b1cb05c06b9b56eb71040d89
MD5 1bb1677b2195ecb045843763e237481a
BLAKE2b-256 5e7980f528e3466656494fa28ec60695ee93482e118512cf7a7444af12bdad64

See more details on using hashes here.

Provenance

The following attestation bundles were made for rompy_schism-0.6.0.tar.gz:

Publisher: python-publish.yml on rom-py/rompy-schism

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

File details

Details for the file rompy_schism-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: rompy_schism-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 269.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rompy_schism-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 428be5ac3bc3300c4c53e12e21e07aeaf33215aab2703047caaa289a83ecb721
MD5 4477b7a8a6329eb1d2436db1975c1f9f
BLAKE2b-256 0ebb9117c47de61adee818eaf332b2e31ad3a633a35b851c2c79e9f630acd2cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for rompy_schism-0.6.0-py3-none-any.whl:

Publisher: python-publish.yml on rom-py/rompy-schism

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