SMARTcpp: a C++ extension of the rainfall-runoff SMART for Python
Project description
SMARTcpp - a C++ accelerator extension of the rainfall-runoff SMART for Python
SMARTcpp is an open-source C++ accelerator extension for the hydrological catchment model SMART in Python. It is licensed under GNU GPL-3.0 (see licence file provided). SMART (Soil Moisture Accounting and Routing for Transport) is a top-down rainfall-runoff model composed of a soil moisture accounting component and a linear routing component. It requires rainfall and potential evapotranspiration time series, it features a set of ten parameters, and it yields a discharge time series. This C++ extension is giving access to the calculation of the states, processes, and outputs of the model for one simulation time step or for all time steps. SMARTcpp is intended to be used in combination with a wrapping script in Python.
How to Install
SMARTcpp is available on PyPI for Python 2.7 and Python 3.6 (both for macOS and Windows 64 bits), so you can simply use pip:
python -m pip install smartcpp
You can also use a link to the GitHub repository directly:
python -m pip install git+https://github.com/ThibHlln/smartcpp.git
Alternatively, you can download the source code (i.e. the GitHub repository) and, from the downloaded directory itself, run the command:
python setup.py install
Model Specifications
Model Inputs
- rainfall time series [mm/time step]
- potential evapotranspiration time series [mm/time step]
Model Parameters
- T: rainfall aerial correction coefficient [-]
- C: evaporation decay parameter [-]
- H: quick runoff coefficient [-]
- D: drain flow parameter - fraction of saturation excess diverted to drain flow [-]
- S: soil outflow coefficient [-]
- Z: effective soil depth [mm]
- SK: surface routing parameter [hours]
- FK: inter flow routing parameter [hours]
- GK: groundwater routing parameter [hours]
- RK: river channel routing parameter [hours]
Model Outputs
- discharge time series at catchment outlet [m3/s]
- groundwater contribution to catchment runoff [-]
References
Mockler, E., O’Loughlin, F., and Bruen, M.: Understanding hydrological flow paths in conceptual catchment models using uncertainty and sensitivity analysis, Computers & Geosciences, 90, 66–77,doi:10.1016/j.cageo.2015.08.015, 2016
Version History
- 0.2.0 [15 Nov 2018]: Version capable of running all steps
- Adds method allsteps that brings the loop into C++
- 0.1.2 [18 Jul 2018]: Version with proper PyPI display
- Fixes display issue of README.md on PyPI
- 0.1.1 [18 Jul 2018]: Version with Python 3.x compatibility
- Adds compatibility with Python 3.x extensions
- 0.1.0 [09 Jul 2018]: First version of SMARTcpp
Acknowledgment
This tool was developed with the financial support of Ireland's Environmental Protection Agency (Grant Number 2014-W-LS-5).
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
Built Distributions
File details
Details for the file smartcpp-0.2.0-cp36-cp36m-win_amd64.whl
.
File metadata
- Download URL: smartcpp-0.2.0-cp36-cp36m-win_amd64.whl
- Upload date:
- Size: 26.0 kB
- Tags: CPython 3.6m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/2.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df1e02e3a7480cb14682a629f94f899872f4188a3acc857dd79ad7d7a5d41b04 |
|
MD5 | c57711f965f47f59235f55fa6d51865f |
|
BLAKE2b-256 | 50a0cffc8d15aae5c7a84884ed52f7bcf6ef390e98d78d3b3f728e1f75aa5bcc |
File details
Details for the file smartcpp-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: smartcpp-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 21.9 kB
- Tags: CPython 3.6m, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/2.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dafe3f2a13e3f0a146b89299c66835bf6b94cd068a0f4d24176035760d963668 |
|
MD5 | b45471d8747644aa84bc3713f20861f5 |
|
BLAKE2b-256 | 3abf4948629941a5e7c26fdb810ab00315ea543f33e657eca435b57adb2b7ca1 |
File details
Details for the file smartcpp-0.2.0-cp27-cp27m-win_amd64.whl
.
File metadata
- Download URL: smartcpp-0.2.0-cp27-cp27m-win_amd64.whl
- Upload date:
- Size: 10.3 kB
- Tags: CPython 2.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/2.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47f5b713c476dae5cbd6f1147d01a4fd072776ff274f91d1ca4835074b3b7a1f |
|
MD5 | db7b364afc0b2d2df333b417dddb2772 |
|
BLAKE2b-256 | d3e1c956673a91b463a52149ad6511c0b72ee2ee232252f27f8e17b93701cfa3 |
File details
Details for the file smartcpp-0.2.0-cp27-cp27m-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: smartcpp-0.2.0-cp27-cp27m-macosx_10_9_x86_64.whl
- Upload date:
- Size: 21.8 kB
- Tags: CPython 2.7m, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/2.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae524c47c342eeb03710bc156edac9ea28872d49f395921ce7e555fb9d9772f5 |
|
MD5 | c97912d17c18661dd98d59067f5cd4b3 |
|
BLAKE2b-256 | 8cf098200db8716b8278bec8cb971cfa4e7fc0af6b37af705f2b41c74df426d6 |