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.0-cp311-abi3-win_amd64.whl (866.0 kB view details)

Uploaded CPython 3.11+Windows x86-64

rscm-0.4.0-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.0-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.0-cp311-abi3-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

rscm-0.4.0-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.0-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: rscm-0.4.0-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 866.0 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.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0526f621595048487eb739f19d3cfc6a11e6240c37e9cde45b19fc9de0334385
MD5 2be5ce2c63adc89aa4c2053f1fa6b15c
BLAKE2b-256 fec4fe65b92b55d40479a9145a463cfc6b50fbd0781cf91baaa1ef39666ae9f1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.4.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8a414b59eccd2d2d1a6f8e41c04b093a082160be99cceb361e2c177f365b422b
MD5 6784ce52fee28af4052162adad4f1084
BLAKE2b-256 098fb46537abaf45553d8b9e6632a0ba7280ebda078d9426327e34015d0b7b91

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.4.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1001666162ef600d73dc223c17ef1fa6c330e7c92df64b96b344efae5b930d24
MD5 4d610f210f2737abeb9cf9d5b39c92b3
BLAKE2b-256 9ce8e9015d8cb12ce135b28828a71c5f1a7da6d2c5d928948b3451c4b2ea1e2f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rscm-0.4.0-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.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1ed38f206a7cb709ff21abb71ae093873bcdf0dc58316528c49b2a9badfbc5b
MD5 6a0108753354c1ba7e1f9759b5eaccdc
BLAKE2b-256 b68388cb3269b33d15dbafab52ed99cf1ea673b0c8c79bb0b03c7bd0466e2ca0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.4.0-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 15a0e4cf6b053166a711897b51710101f15856d186b315bb726e66cbc4f72789
MD5 2fb817c1e771eb59195ad1e0e59cea29
BLAKE2b-256 502bca4e016de29ce271e1505f60aa05c92171f0fe1a0a566cbc3adf2a9fbddd

See more details on using hashes here.

Provenance

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