Skip to main content

Suite of Hydrodynamic, topographic analysis, Landscape Evolution model and visualisation tools

Project description

Scabbard

Python package to design, use or visualise topographic analysis, landscape evolution models and hydro/morphodynamics simulations. Among other, home of GraphFlood (CPU and GPU) and CHONK. This framework is also building a GPU backend for general purpose landscape modeling.

Built on the shoulder of giants

scabbard started as a personal codebase and evolved toward a fully-fledge numerical Framework. It uses the robust and battle-tested scientific python stack (e.g. numpy, scipy, numba, ...) and geospatial python (e.g. rasterio, geopandas, libgdal, ...). It also relies on multiple domain-specific libraries to built a future-proof and community-compatible backend: libtopotoolbox and pytopotoolbox, fastscapelib, LSDTopoTool as well as my own collection of c++ and numba routines. All the GPU backends use taichi to ensure cross-platform/hardware compatibility and user-friendly code.

  • Free software: MIT license

How to install

pip install pyscabbard

As simple as that. Thanks to github actions allowing smooth CI, you do not have to compile anything yourself.

NOTE: pytopotoolbox official installation procedure is still WIP. I provide binary wheels within this project (./wheels/pytopotoolbox ). At first import, scabbard will provide instruction (i.e. a single command line to run).

Features

  • General geomorphic routines

  • Graphflood: Efficient hydrodynamic modelling, tailored for large scale. CPU and GPU version.

  • CHONK/trackscape/popscape: Long term Landscape Evolution Models.

Usage

Documentation is WIP and will be online soon

Credits

This package was created with Cookiecutter_ and the audreyr/cookiecutter-pypackage_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter .. _audreyr/cookiecutter-pypackage: https://github.com/audreyr/cookiecutter-pypackage

======= History

0.0.13 (2024-11-20)

  • Adding an option for changing the exponent in Riverdale friction equation (e.g. migrating from manning to chezy)

0.0.12 (2024-11-20)

  • Adapting the install process to pip topotoolbox
  • Migrating to new ttb
  • Minor fixes and additions
  • Adding the start of a multi-backend unified graphflood interface

0.0.11 (2024-11-05)

  • Loads of minor fixes in the install process
  • Adding an hdf5 io/helper
  • Refactor part of the ray tracing 3D plotter
  • Adding orthographic projection

0.0.9 (2024-10-25)

  • More fixes on the setup process
  • Added a simple GPU ray tracing engine for 3D plots
  • Started a unified interface for graphflood

0.0.8 (2024-10-15)

  • Cleaning the install process
  • Removing problematic legacy imports
  • Trimming requirements
  • Deprecating older tools relying on packages I do not use anymore

0.0.5 - 0.0.7 (2024-10-15)

  • Total refactoring. As Simple as that.
  • scabbard is the main tool now, it uses multiple backends DAGGER, pytopotoolbox, fastscapelib, numba and taichi

0.0.3 - 0.0.4 (2023-10-23)

  • Fixing couple of bugs on the grid
  • Experimental support for DAGGER's experimental stuff
  • Adding environment object (WIP, future main structure)

0.0.2 (2023-07-31)

  • Adding drainage divide quick extraction tools
  • Fixing sea_level/Z0 stuff

0.0.1 (2023-07-25)

  • First release on PyPI.
  • Adding tools for quick river extraction
  • Started a big behind-the-scene refactoring and standardisation (invisible at top level)
  • Maintenance and bug fixes

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

pyscabbard-0.0.13.tar.gz (114.5 kB view details)

Uploaded Source

Built Distribution

pyscabbard-0.0.13-py2.py3-none-any.whl (163.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pyscabbard-0.0.13.tar.gz.

File metadata

  • Download URL: pyscabbard-0.0.13.tar.gz
  • Upload date:
  • Size: 114.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for pyscabbard-0.0.13.tar.gz
Algorithm Hash digest
SHA256 b719addd75a51237030c6789f389ec95dbb9b99e9bfdbee2639a100f64d1827d
MD5 ccceb999acd9b7b2ad905c11c9acc65b
BLAKE2b-256 b280bde953ee7a9f4bba1750b2e3da37943023f111a56437132b58f733e6615b

See more details on using hashes here.

File details

Details for the file pyscabbard-0.0.13-py2.py3-none-any.whl.

File metadata

  • Download URL: pyscabbard-0.0.13-py2.py3-none-any.whl
  • Upload date:
  • Size: 163.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for pyscabbard-0.0.13-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 73b35cce657d287b1475944372d719da47d76d90d9a8cb95025183922ef79253
MD5 dc80df948cbe2ff95cdc748e29028c4b
BLAKE2b-256 6862852509a1f4cc3e27dde861eecf2eafd9bfdebbcda7d1b46864b1cce9344f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page