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.2.1.tar.gz (629.6 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.2.1-cp311-abi3-win_amd64.whl (716.7 kB view details)

Uploaded CPython 3.11+Windows x86-64

rscm-0.2.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

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

rscm-0.2.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

rscm-0.2.1-cp311-abi3-macosx_11_0_arm64.whl (915.2 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

rscm-0.2.1-cp311-abi3-macosx_10_12_x86_64.whl (936.1 kB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for rscm-0.2.1.tar.gz
Algorithm Hash digest
SHA256 179c70e890be03503a9f066fae9bc7232824408bef045c64a9b626d52ae33a08
MD5 8ec518dc17e5f2e669728916a16f761f
BLAKE2b-256 8b1669c74894311db1cbae8d174b32250fa6a63fa379cbf47e7bda18ec0c4a60

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.2.1.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.2.1-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: rscm-0.2.1-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 716.7 kB
  • 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.2.1-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8ffa1702e2b4b556726cfbb454260b9e72f442855a4c9f2ea5a1c79b8793d5f1
MD5 b42cbde8f4f004c32a6a155e42edc6af
BLAKE2b-256 7d740c83f895616e56d501e6bb38b5648751a3366249b13d3e48098872fbc263

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.2.1-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.2.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rscm-0.2.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2224fb1f7fa757d61408020fb9ff3dce77dcf3ebb21f6d4cff494aa8f59994ff
MD5 768b039567f1a303d38726ebbdc78e3f
BLAKE2b-256 905bdde5c4ad0194b08ec0169d06fc2393443d46c750b753148344129de04342

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.2.1-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.2.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rscm-0.2.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1f00eae1f32a808b358fd9737b7b77843c018068ed317452cbbded03f23bd029
MD5 a694d4de2204a135b1d074d9285b1311
BLAKE2b-256 14df2a38043e0f5ed39c091f4930b72b8e96be16d0c3f982b75d73c669022bee

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.2.1-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.2.1-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: rscm-0.2.1-cp311-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 915.2 kB
  • 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.2.1-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 350c8724053224659477d23f9507326c786dcb021e9b84fc9d02a887aa92efbf
MD5 81a33d5940d2ee05c6f13aa9f12c9db6
BLAKE2b-256 d430353ddd1114bfc3273e468ba37c9d480b54dd7040001335c827f672e5c244

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.2.1-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.2.1-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rscm-0.2.1-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1aca3786126ef52660a10c01b19b4be879b30e67ada265af7249686f70d9f611
MD5 5140b996bf7369c502296164b65e0d95
BLAKE2b-256 d12a690da6aa4097666b1d41cd33ab68877a92afcee02423831a496307aa71f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rscm-0.2.1-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