Skip to main content

SMARTcpp: a C++ extension of the rainfall-runoff SMART for Python

Project description

License: GPL v3 PyPI Version

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

smartcpp-0.2.0-cp36-cp36m-win_amd64.whl (26.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

smartcpp-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl (21.9 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

smartcpp-0.2.0-cp27-cp27m-win_amd64.whl (10.3 kB view details)

Uploaded CPython 2.7m Windows x86-64

smartcpp-0.2.0-cp27-cp27m-macosx_10_9_x86_64.whl (21.8 kB view details)

Uploaded CPython 2.7m macOS 10.9+ x86-64

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

Hashes for smartcpp-0.2.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 df1e02e3a7480cb14682a629f94f899872f4188a3acc857dd79ad7d7a5d41b04
MD5 c57711f965f47f59235f55fa6d51865f
BLAKE2b-256 50a0cffc8d15aae5c7a84884ed52f7bcf6ef390e98d78d3b3f728e1f75aa5bcc

See more details on using hashes here.

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

Hashes for smartcpp-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dafe3f2a13e3f0a146b89299c66835bf6b94cd068a0f4d24176035760d963668
MD5 b45471d8747644aa84bc3713f20861f5
BLAKE2b-256 3abf4948629941a5e7c26fdb810ab00315ea543f33e657eca435b57adb2b7ca1

See more details on using hashes here.

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

Hashes for smartcpp-0.2.0-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 47f5b713c476dae5cbd6f1147d01a4fd072776ff274f91d1ca4835074b3b7a1f
MD5 db7b364afc0b2d2df333b417dddb2772
BLAKE2b-256 d3e1c956673a91b463a52149ad6511c0b72ee2ee232252f27f8e17b93701cfa3

See more details on using hashes here.

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

Hashes for smartcpp-0.2.0-cp27-cp27m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ae524c47c342eeb03710bc156edac9ea28872d49f395921ce7e555fb9d9772f5
MD5 c97912d17c18661dd98d59067f5cd4b3
BLAKE2b-256 8cf098200db8716b8278bec8cb971cfa4e7fc0af6b37af705f2b41c74df426d6

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