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

Uploaded CPython 3.11+Windows x86-64

rscm-0.2.3-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.3-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.3-cp311-abi3-macosx_11_0_arm64.whl (914.1 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

rscm-0.2.3-cp311-abi3-macosx_10_12_x86_64.whl (936.6 kB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: rscm-0.2.3.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.3.tar.gz
Algorithm Hash digest
SHA256 be975ea6a3671d9f891a24a8442d9a5fa2c689c218e3867f12e239c49662d7e3
MD5 7c2ad75f50dbeee7b57d81c7cdc1d17b
BLAKE2b-256 579bcf34ee421f2bf318e1d3214ea9291aaebc4136251d3a1581088645375be4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rscm-0.2.3-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 716.4 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.3-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8f0bdf7c1c79e4b8667ab5d62858f36224e10985bee11322ed4e3625a09fa259
MD5 b331a195f4598aca521f37e197f5d739
BLAKE2b-256 33bf5c8137b4e5ea017cbf15e472be39928610c59bf058ae2c185c9cb952f635

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.2.3-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7960abbc9bad3a3e8bf387cd30274df3b6fa1ae7a776fb9430505c31aff3cfa2
MD5 f324ca8ae4546115095cbc8db7ea3821
BLAKE2b-256 72615009764fbff168659f898f326728a508f4fec55ed5d823f42596f5673961

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.2.3-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 de4f985a397f50fd17970bc681d6bfd34aebaf97373dc5a315b8c0899271cfa3
MD5 eed0a0b27a90095fcf029da13c7dae17
BLAKE2b-256 d2111aad1faa96edc2d8a464044f826cd237aa1f1f4c3520c12348499ff5108d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rscm-0.2.3-cp311-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 914.1 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.3-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0673b909f5bc1ddb6f7477a9fb8ab2f2327fba58add0e8420a8fa4b9e9ef65c
MD5 a1e059c55565b0fe7e17428bf3c46fb2
BLAKE2b-256 c3f5c4f844dfe7a5d8b01e91da0fe523821220b28907c7cec15d9fb12601bf37

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.2.3-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ac7ed7eb942eff0445e416e9a2bbb67089995f390ca3116f44dae4ccb3d86206
MD5 c13eb14bfd2bbbe2998db0edda07d8fd
BLAKE2b-256 883efcc557cda9130c13687b88e15d8251c2562f35714c96b4077bc73d9a760f

See more details on using hashes here.

Provenance

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