SMARTcpp: a C++ extension of the rainfall-runoff SMART for Python
Project description
SMARTcpp - a C++ extension of the rainfall-runoff SMART for Python
SMARTcpp is an open-source C++ extension for the hydrological catchment model SMART in Python. It is licensed under GNU GPL-3.0 (see licence file provided). SMART is a top-down rainfall-runoff model composed of a soil moisture accounting component and a 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. It is intended to be used in combination with a wrapping script in Python, where the loop through the simulation time series is defined.
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
How to Install
SMARTcpp is available on PyPI for Python 2.7 and Python 3.6 (both for macOS and Windows), so you can simply use pip:
python -m pip install smartcpp
Alternatively, you can download the source code (i.e. this repository) and use the command:
python setup.py install
Model Specifications
Model Inputs
- aerial 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]
Version History
- 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 Distribution
Built Distributions
Hashes for smartcpp-0.1.2-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2519019b0d5328ebad3ba31b872ae6dc8143c71a9b0fea2fa3a42a3e5b5daf9c |
|
MD5 | 1f801441f05c8b26cfde606387e1d6b3 |
|
BLAKE2b-256 | 62c1a2a695f2b0018cc55f0bf68414e18cb27772b7d8efed37831016be957f46 |
Hashes for smartcpp-0.1.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 937c3e1e3923c8f734b71188fa1abb1b0866b54441bc136fe21c054aed06976c |
|
MD5 | a406942f4365cb4b0572217c5458ca57 |
|
BLAKE2b-256 | fcf55996f7bcb1f713d677595b791b17df8a1cb6f577819b03c7a7625be6fde3 |
Hashes for smartcpp-0.1.2-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dce3acaae1c3d39071666f6c9ffc5d893c64247b3d6d670a7de3076c23b117c9 |
|
MD5 | 3e8f08fc30a3fb3aba101e10fc642e61 |
|
BLAKE2b-256 | 5093b82f88f97d6faa38c126c181e4fafdefab935609a625f86e26b589cbfe6d |
Hashes for smartcpp-0.1.2-cp27-cp27m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fcb0c81874f201ba31426f635b4dfe0e8d81eb12ca20c76cec4b3dd6fb44998 |
|
MD5 | 1327ffbfcb4153826c688d56bd78c612 |
|
BLAKE2b-256 | c18eb574dbae74bd695fb4bfb74db19f58a236e5136bd998adef3864a48f46cc |