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 backendsDAGGER
,pytopotoolbox
,fastscapelib
,numba
andtaichi
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b719addd75a51237030c6789f389ec95dbb9b99e9bfdbee2639a100f64d1827d |
|
MD5 | ccceb999acd9b7b2ad905c11c9acc65b |
|
BLAKE2b-256 | b280bde953ee7a9f4bba1750b2e3da37943023f111a56437132b58f733e6615b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73b35cce657d287b1475944372d719da47d76d90d9a8cb95025183922ef79253 |
|
MD5 | dc80df948cbe2ff95cdc748e29028c4b |
|
BLAKE2b-256 | 6862852509a1f4cc3e27dde861eecf2eafd9bfdebbcda7d1b46864b1cce9344f |