Skip to main content

C-Star

Conda Version PyPI Documentation Status Unit tests codecov License: Apache 2.0

C-Star is an open-source system for building, running and sharing regional ocean simulations. It is developed by ocean and biogeochemical modelers and scientific software engineers at [C]Worthy to support Monitoring, Reporting and Verification (MRV) of ocean-based carbon dioxide removal. Today it runs UCLA-ROMS coupled to the MARBL biogeochemistry model, on a laptop or on a supported HPC system, from the same description of the run.

How it works

C-Star is organized around two ideas. An application is something you can run: the ROMS-MARBL model, Forge (the tool that builds a new ROMS-MARBL domain), or a smaller data-transformation or analysis step. A blueprint is a YAML file holding every input an application needs to produce its result: which model code to build, which input files to use, which settings to apply. Given the same blueprint, an application produces the same result on any supported machine, which is what makes a C-Star simulation shareable and reproducible.

A simple ocean modeling project moves through three steps:

  1. Describe the domain. The Forge wizard, a form that runs in your browser or as a Jupyter notebook, walks you through choosing a model configuration, a region and grid, forcing datasets, and a run window. It writes a forge blueprint.
  2. Generate the inputs. Running that forge blueprint downloads the source datasets, builds the grid, initial conditions, boundary and surface forcing, and rivers and tides where requested, and writes the ROMS namelist. Its output is a ROMS-MARBL blueprint pointing at everything the model needs.
  3. Run the simulation. Running the ROMS-MARBL blueprint fetches and compiles the model code and executes the simulation.

To run several simulations as one unit, a workplan lists blueprints as steps with dependencies between them. C-Star schedules the steps, submits them to the cluster's job scheduler, and tracks their status, so a chain such as a spin-up followed by an experiment and its control can be launched and monitored with a single run ID. Reusable pieces of a domain description (model configurations, domains, forcing selections, output settings and saved blueprints) live in a catalog; C-Star ships a small bundled catalog to start from.

Installation

C-Star is published on conda-forge as cstar-ocean. One install gives you the cstar command line, the ROMS-MARBL application and Forge, including its wizard.

On a laptop or workstation, install cstar-ocean-standalone, which bundles the compilers, MPI and netCDF toolchain that ROMS needs:

conda create -n cstar-env -c conda-forge cstar-ocean-standalone
conda activate cstar-env
cstar --version

On a supported HPC system, install cstar-ocean alone and let the site's environment modules provide the toolchain. The installation guide covers the HPC variant, installing from source, and what to set up after installing.

Quick start

The three steps above, on a laptop, with a deliberately tiny Western Indian Ocean domain that processes in minutes:

# 1. Build a forge blueprint in your browser; save or download it when done.
cstar forge wizard

# 2. Generate the domain. The last lines of output name the ROMS-MARBL
#    blueprint Forge wrote and the command to run it.
cstar blueprint run forge_blueprint.yaml

# 3. Compile ROMS-MARBL and run the simulation.
cstar blueprint run ~/cstar/blueprint_runs/forge/<name>/blueprints/B_<name>.yaml

The same command runs every blueprint; the blueprint's application field decides which application handles it. GLORYS ocean reanalysis supplies the initial and boundary conditions, so register for Copernicus Marine before the first run. The end-to-end tutorial walks through each step in detail.

Documentation

The full documentation lives at https://c-star.readthedocs.io.

  • UCLA-ROMS: the Regional Ocean Modeling System with MARBL biogeochemistry, the model C-Star builds and runs
  • ROMS-Tools: generates ROMS input files from source datasets and analyzes model output; Forge drives it
  • MARBL: the Marine Biogeochemistry Library coupled to ROMS

Feedback and contributions

Bug reports and feature requests are welcome as GitHub Issues. We also accept contributions as pull requests; the contributor guide covers the development environment, the test suite and building the documentation.

License

C-Star is openly available and permissively licensed under the Apache License 2.0. Copyright 2026 [C]Worthy LLC.

Metadata

Release files for cstar-ocean 0.16.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cstar-ocean 0.16.1
File Size Uploaded
cstar_ocean-0.16.1.tar.gz 3.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for cstar-ocean 0.16.1
File Interpreter ABI Platform
cstar_ocean-0.16.1-py3-none-any.whl Python 3 none any Details

Total release size: 5.5 MB

Release files / cstar_ocean-0.16.1.tar.gz

Download URL cstar_ocean-0.16.1.tar.gz
Size 3.8 MB
Tags Source
SHA-256 checksum
How to use checksums
d20782b0c38660210b51fb838fd861034f99132ee246699f495194f11da9c02d
BLAKE2b-256 checksum
How to use checksums
6cbd6219b3a92d9edca4ef70d3cf90d835cb3fd4f34e2768e53a73ba4fef93b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / cstar_ocean-0.16.1-py3-none-any.whl

Download URL cstar_ocean-0.16.1-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
a6cb2f96ff9087bc7522cb28078c390ac783606c409b340d69fde9f35b012610
BLAKE2b-256 checksum
How to use checksums
54800ee357186dcf6eb2c6ae4f00f711b7cf059dd6703387bbcbfab47c3dfaef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page