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.0

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.0
File Size Uploaded Provenance Actions
rscm-0.6.0.tar.gz 833.9 kB With provenance Details for rscm-0.6.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for rscm 0.6.0
File Actions
rscm-0.6.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for rscm-0.6.0-cp311-abi3-win_amd64.whl
rscm-0.6.0-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.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
rscm-0.6.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64 Details for rscm-0.6.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
rscm-0.6.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details for rscm-0.6.0-cp311-abi3-macosx_11_0_arm64.whl
rscm-0.6.0-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details for rscm-0.6.0-cp311-abi3-macosx_10_12_x86_64.whl

Total release size: 15.5 MB

Release files / rscm-0.6.0.tar.gz

Download URL rscm-0.6.0.tar.gz
Size 833.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e67ed94d31cb33400e54d6c19f4413551b1d51f6a93affa6969ca2b496d4aa6c
BLAKE2b-256 checksum
How to use checksums
3d68a88419c0a7c198aa7a5c8d64767aab8c8cc21dd65aa304358978d2fa4f9e
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.0-cp311-abi3-win_amd64.whl

Download URL rscm-0.6.0-cp311-abi3-win_amd64.whl
Size 2.6 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
170c6d764bc745e57a25f537643f073b9e00fc3d8273b0854bcdb974dd25727e
BLAKE2b-256 checksum
How to use checksums
540bacb2a8acecead69b7effe24527fe5162a0de773cc089263bfa0ea6ecf505
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.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL rscm-0.6.0-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
d6eb27ad9965717a996cf110e9dcdc38dc2fb2acc7576275f23b46b798327dcd
BLAKE2b-256 checksum
How to use checksums
b64f2f5afa3db0cd41a29d428caf1aabcb5fb1a82e9aa35be37d00d6eade0d8a
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.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL rscm-0.6.0-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
5174b35e020ad2fb31b8790269cea34eccf2575602d88cf25e8e38147847ef0d
BLAKE2b-256 checksum
How to use checksums
ad07241d5d355eb289853032454ad10723d7441fe36fecc7136544544d8f5538
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.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL rscm-0.6.0-cp311-abi3-macosx_11_0_arm64.whl
Size 2.8 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e27ccc56d201f500cec640b486b17039adaffae32afe854a6dddc7cc4b6123fd
BLAKE2b-256 checksum
How to use checksums
c82e32d0d9e59980bb0ce9c9945ae5b9fb2b5ac3e91a02dcc6fd41eefb54326c
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.0-cp311-abi3-macosx_10_12_x86_64.whl

Download URL rscm-0.6.0-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
4ec6e26a91d57e7297a1dd4fc6fc09b204662becd89d2d4d6defe16f9e12d5b5
BLAKE2b-256 checksum
How to use checksums
6833195aadc6ef2e96d4e9c63ccfa199d909068437537bd400277ae66d8bbb1c
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.0

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.0.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