Skip to main content

Rust Simple Climate Model (RSCM)

RSCM is a framework for building reduced-complexity climate models in Rust and Python. Models are assembled from components that are coupled through named variables, and solved on a common time axis. It is also a testbed for modularising MAGICC and reimplementing it in Rust.

Design goals

  • Fast
  • Easy to extend
  • Understandable by non-Rust developers
  • Can be driven from Python

What ships

  • A two-layer energy balance model (rscm.two_layer).
  • Example components for a one-box carbon cycle, CO2 forcing and four-box ocean heat uptake (rscm.components).
  • MAGICC7 components (rscm.magicc) for:
    • CH4, N2O and halocarbon chemistry.
    • The terrestrial carbon cycle with nitrogen limitation, ocean carbon, CO2 budget and permafrost.
    • GHG, ozone and aerosol forcing, and forcing aggregation with efficacies.
    • The upwelling-diffusion climate and sea level rise.
  • rscm.magicc.full.run_magicc7, which runs the full MAGICC7 chain from emissions. It matches MAGICC7 v7.5.3 on its default SSP245 run.
  • Simpler MAGICC runners for concentration-driven and emissions-driven experiments.
  • MCMC calibration and point estimation (rscm.calibrate).

Getting Started

This project comprises a Rust workspace in crates/ and a Python package (rscm) which includes a Python extension module to provide access to the Rust library.

Dependencies

The following dependencies are required to build the project:

  • Rust
  • uv (Python package management)

After these dependencies have been installed the local Python environment can be initialised using:

make virtual-environment

Rust is a compiled language, so the Python extension module must be recompiled after any changes to the Rust code. This can be done using:

make build-dev

Tests

Rust unit tests are embedded alongside the implementation files. The rscm crate holds the Python bindings, so it is excluded when running the Rust tests directly:

cargo test --workspace --exclude rscm

make test rebuilds the extension and runs both the Python and Rust test suites.

Documentation

A mkdocs-based documentation site is in the docs/ directory. These docs provide an overview of the whole project and provide reference documentation for the Python interface with some example notebooks.

These docs can be built using:

make docs

The documentation for the Rust codebase can be built using:

make docs-rust

Metadata

Release files for rscm 0.6.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 rscm 0.6.1
File Size Uploaded Provenance Actions
rscm-0.6.1.tar.gz 837.3 kB With provenance Details for rscm-0.6.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for rscm 0.6.1
File Actions
rscm-0.6.1-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for rscm-0.6.1-cp311-abi3-win_amd64.whl
rscm-0.6.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-64 Details for rscm-0.6.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
rscm-0.6.1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64 Details for rscm-0.6.1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
rscm-0.6.1-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details for rscm-0.6.1-cp311-abi3-macosx_11_0_arm64.whl
rscm-0.6.1-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details for rscm-0.6.1-cp311-abi3-macosx_10_12_x86_64.whl

Total release size: 15.6 MB

Release files / rscm-0.6.1.tar.gz

Download URL rscm-0.6.1.tar.gz
Size 837.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9cb6d17c4581ca8196f8c6e1222bfbb879904cffd55af771bf0c334153196ed5
BLAKE2b-256 checksum
How to use checksums
ddbfa79cfddc83fa621f030c8d48083d392187e40c97142e74b87e013bf3a988
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / rscm-0.6.1-cp311-abi3-win_amd64.whl

Download URL rscm-0.6.1-cp311-abi3-win_amd64.whl
Size 2.6 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
5398bed4a47ae3313953e276635e56212f32d79be6a310bd3aaff3f4386d9a98
BLAKE2b-256 checksum
How to use checksums
7ce15d217cd8b8a9a3e22286e03b9c1f56ce32cdfa8d11433fc663abbe1bad5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / rscm-0.6.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL rscm-0.6.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 3.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
d82d0922b6c26a4a6c1ba3baa807174c1dbb9aa4a93ff3837be1a4d33b64bcfe
BLAKE2b-256 checksum
How to use checksums
6e5fe0ce3e7167882bf4ab64c0ec0a9755b67eb99e32a84663a95fe5da97843d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / rscm-0.6.1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL rscm-0.6.1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 3.3 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
722e29e7f1b94e172b629f216e66ff87ac5163c769c002b9dd4442eca7626fd2
BLAKE2b-256 checksum
How to use checksums
9111fad097517e7fbde0655725bce0f59ad3b1e3876b3555c05bb9fa54c79a47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / rscm-0.6.1-cp311-abi3-macosx_11_0_arm64.whl

Download URL rscm-0.6.1-cp311-abi3-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f0ce7fa2246fda374b773f11bc36fbfb8a4c4ca6adc668a9b78530c8554de82d
BLAKE2b-256 checksum
How to use checksums
8e2392a087863251751cf94655cee9a4dc915211ae0dd4be54cc576fc512c6c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / rscm-0.6.1-cp311-abi3-macosx_10_12_x86_64.whl

Download URL rscm-0.6.1-cp311-abi3-macosx_10_12_x86_64.whl
Size 2.9 MB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
0a1646ccc7f94a1d85f144a3c44e3f93d46a6142c18c227eb95af856c7762d82
BLAKE2b-256 checksum
How to use checksums
648c5e21e16bc618486c99c0405a1a26b923eede380d333940ebf3af68c69cd1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Security for rscm 0.6.1

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.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for rscm-0.6.1.tar.gz

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 Nov 4, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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