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

Uploaded CPython 3.11+Windows x86-64

rscm-0.2.2-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.2-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.2-cp311-abi3-macosx_11_0_arm64.whl (915.0 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

rscm-0.2.2-cp311-abi3-macosx_10_12_x86_64.whl (935.9 kB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: rscm-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 a2626ca34d2f0db8cce3eb076272678a3c665c192b840093e7ca70f44e6d95e0
MD5 36f9db9c4bc142c2d3819b30528a6317
BLAKE2b-256 791f2b7d8fe74881eac40bc65928ada034fe9b9445ee9089f01862277f8b34e4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rscm-0.2.2-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 716.9 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.2-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ee674fd5ef36a3d1291f8597739b47e1559b2801402ebbff99659771ba5b0637
MD5 e406d5b3e42f35de2c2bb7bb7df100a4
BLAKE2b-256 5249cc5d463dd2b979c0e6a52f35e4fb6d9776e1c76f5db14fff8b51731c5696

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.2.2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39e17ea89d6b8915e4c54e6700fb343121b382abb745432fa0dbca825868ca7a
MD5 a6538e1346539e7d557e8f0fa5dc0fc7
BLAKE2b-256 5608defad461fd0f5b5d7b6ac7fefc53142ba67e1f0ec9b2d191a6f85fb8ff9f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.2.2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ced2199c38cc8c14cab6749d7d134cd55ae93d901ea187a7b9ed32be02ff5941
MD5 8be47009c383a1e702136ab7d78b136b
BLAKE2b-256 8024ef730cfa004c308099f8c16c418b0cf6fdb8b51aaf446f3b20ad47421ba2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rscm-0.2.2-cp311-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 915.0 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.2-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f773bf1b486620d3360ca1c8008ea4620fcb84dd4f56d05ad486d59b5171bf6d
MD5 090f17f341ac4e2e9891a98223e770a1
BLAKE2b-256 e529511b474664b6251beac6159ef2849fdb8c64500e5b4a05bad7264bea2abe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rscm-0.2.2-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d0b5f5670cdc528048782df654ba8aa0b31d3c02beecdfb66103440c34635afc
MD5 910a92de44bddcd5da4ff3787c441411
BLAKE2b-256 65ababbd8d0b125b10bd1d4c1df17b8877ea1081df5d21c34db885269f613dbd

See more details on using hashes here.

Provenance

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