Skip to main content

Simple Climate Model framework implemented in Rust

Project description

Rust Simple Climate Model (RSCM)

This is intended as a PoC of the use of Rust for simple climate models. The aim is to provide a framework for building components in both Rust and Python.

Design goals

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

Getting Started

This project comprises of a Rust library and a Python package (rcsm) 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, 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. These tests can be built and run using the following (or using RustRover):

cargo test

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

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

rscm-0.5.0.tar.gz (234.0 kB view details)

Uploaded Source

Built Distributions

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

rscm-0.5.0-cp311-abi3-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.11+Windows x86-64

rscm-0.5.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

rscm-0.5.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

rscm-0.5.0-cp311-abi3-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

rscm-0.5.0-cp311-abi3-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

Details for the file rscm-0.5.0.tar.gz.

File metadata

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

File hashes

Hashes for rscm-0.5.0.tar.gz
Algorithm Hash digest
SHA256 c4a75148773ed1e034ca5d8b0593db3dd811876c85319e9996650084cbb9f70b
MD5 175237785b320fe720333698513faf74
BLAKE2b-256 157257f5ab671a7daef1cd1601e0c07c1c4b969df2e035f8f5339ca9eb5dc566

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.5.0.tar.gz:

Publisher: release.yaml on lewisjared/rscm

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

File details

Details for the file rscm-0.5.0-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: rscm-0.5.0-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rscm-0.5.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8406730b2a581d2c4513d17fb41c1bffdee77fae63ddb830091c1521c27f87e4
MD5 80f543a76c5101256ed2c94bffece8f1
BLAKE2b-256 99d7d319e7a983ac4bffb8499189cb96eebe094608f02370463d56847b4b85af

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.5.0-cp311-abi3-win_amd64.whl:

Publisher: release.yaml on lewisjared/rscm

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

File details

Details for the file rscm-0.5.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rscm-0.5.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ddf0246ec6ef941a6b728b5ab4731595a3e56af1c906a1afd02fc1a715fdf8a7
MD5 7c12c00e374e43debf922db90f65355f
BLAKE2b-256 47193f9b934868ee31fde790b00584c9d6fb2b0e1a308326b96114f5fa8c91f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.5.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yaml on lewisjared/rscm

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

File details

Details for the file rscm-0.5.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rscm-0.5.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 268360311394783285c712091bc5d34f7e48173183442c8d73327ad21e9ad6fe
MD5 dfc0fd6e2b90ef9bf1d2851b1d0d83c6
BLAKE2b-256 1ddebf95f88e2347b400608ebfc02a4659eebe8a5b10054775ee5afa24e00f7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.5.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yaml on lewisjared/rscm

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

File details

Details for the file rscm-0.5.0-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: rscm-0.5.0-cp311-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.11+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rscm-0.5.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0fc69442499324b9421cc6c2d5d15f25ac8d92c275290bf1f6808080175b8053
MD5 c3f9e28b6c80ed034e2c8cae35d5b4a0
BLAKE2b-256 4bae4c8db4e5106850d688bc4dac65fb337199eaa8a6efbf266d7f0fee806508

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.5.0-cp311-abi3-macosx_11_0_arm64.whl:

Publisher: release.yaml on lewisjared/rscm

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

File details

Details for the file rscm-0.5.0-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rscm-0.5.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1696e94fc447846862370251c7192a697b1418a06cff869bf857e68e3ea59dae
MD5 ab9db9d81a950bc4545e00e55accf76f
BLAKE2b-256 31a936da543eaadf4bcdb6baa7b6a98f5bc5a78f3cc39f9acd537c00638b5102

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.5.0-cp311-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yaml on lewisjared/rscm

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