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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

rscm-0.4.1-cp311-abi3-win_amd64.whl (867.1 kB view details)

Uploaded CPython 3.11+Windows x86-64

rscm-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

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

rscm-0.4.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

rscm-0.4.1-cp311-abi3-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

rscm-0.4.1-cp311-abi3-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: rscm-0.4.1-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 867.1 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.4.1-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 97d248c359f6d0241a5fcc202d984ab4714b1414a763db7aa2c2047c75050e94
MD5 0521f34c72837ad954068dda288ff5d3
BLAKE2b-256 3a89e795df91d46034df26c0fe1bdcdb84b72476a98c74ccce4aebd233214fe7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 da8fb6410b4c10b2ba90da187867d448913009c136646193fd9001466c6cb423
MD5 49f8ae46591a2b590fb6a66b18c9b526
BLAKE2b-256 dc8cd295c0e398a71afc1b8b3e4e8d91e38ced4ef6afb22289074e04a98a588a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.4.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fc59c8d7ef1b9dff3e8c5e39a34bfb3685edf146b3338e2de22ac43b70a9c557
MD5 ad9044efc80a5a494836d484cc2879fe
BLAKE2b-256 f8ba889c8efe949b3c9736c6368be9c552b5271d4d23fc2121bf120013c31dde

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rscm-0.4.1-cp311-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.1 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.4.1-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42241c34979676d9badb8b7b8b22309dae8d6563e74098846bba0f458d867814
MD5 5fbd2e7761e34df1c328bd5f819e338c
BLAKE2b-256 37d689e037e306b1a9f23998e3a96b2f6ff2ea3f3edc78a1b611f80530249493

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.4.1-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9d2ee3d24b4716d2aa770abba86abf7e9ab2777bf15c65f1dfa3bf535a4fdd70
MD5 a8d53f95f06a2652a96598a2f96984bf
BLAKE2b-256 58fb41c8856d0816d513efa1e1c19f9e54dbecc7f206b17b344dfc09ba5791f4

See more details on using hashes here.

Provenance

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