https://github.com/connectedsystems/ihacres_nim
IHACRES ported to nim-lang
https://github.com/connectedsystems/ihacres_nim
Last synced: over 1 year ago
JSON representation
IHACRES ported to nim-lang
- Host: GitHub
- URL: https://github.com/connectedsystems/ihacres_nim
- Owner: ConnectedSystems
- License: isc
- Created: 2020-07-18T08:09:51.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2021-10-16T03:49:10.000Z (over 4 years ago)
- Last Synced: 2024-10-12T10:30:23.281Z (over 1 year ago)
- Language: Nim
- Size: 942 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# IHACRES_nim

An experimental implementation of the IHACRES rainfall-runoff model written in
[nim-lang](https://nim-lang.org/).
`IHACRES_nim` provides functions which may be composed to represent different formulations of the IHACRES_CMD model. These functions are intended for use and experimentation across language ecosystems.
The [primer]([primer.md](https://connectedsystems.github.io/ihacres_nim/primer.html)) provides more details on the model itself.
## Compilation
Releases compile a dynamic library (downloads can be found [here](https://github.com/ConnectedSystems/ihacres_nim/releases))
For local development/testing, run from the project root:
`nim c --app:lib -d:release --outdir:./lib ./ihacres/ihacres.nim`
## Tests
Tests can be found under the `tests` directory, and are invoked with the `testament` tool.
`testament pattern "tests/*.nim"`
## Documentation
The User Documentation may be found [here](https://connectedsystems.github.io/ihacres_nim)
API Documentation may be found [here](https://connectedsystems.github.io/ihacres_nim/ihacres.html)
Further information can be found in the publications listed [here](https://connectedsystems.github.io/ihacres_nim/publications.html)
User documentation is generated using [nimib](https://github.com/pietroppeter/nimib)
**TODO:** auto-generation of documentation.
`nim r docs/index.nim`
`nim r docs/primer.nim`
`nim r docs/usage.nim`
`nim r docs/publications.nim`
API documentation is generated from source with the following:
`nim doc --project --outdir=./docs --index:on ihacres/ihacres.nim`
## Examples
Usage examples may be found [here](https://connectedsystems.github.io/ihacres_nim/usage.html)
Use of this package can be found in the [Streamfall.jl](https://github.com/ConnectedSystems/Streamfall.jl) package
[here](https://github.com/ConnectedSystems/Streamfall.jl/blob/d0558990c4c1ffce6f14e914d854ab2b83282867/src/IHACRESNode.jl#L186).
References
----------
Croke, B.F.W., Jakeman, A.J. 2004
A catchment moisture deficit module for the IHACRES rainfall-runoff model,
Environmental Modelling & Software, 19(1), pp. 1–5.
doi: 10.1016/j.envsoft.2003.09.001
Croke, B.F.W., Jakeman, A.J. 2005
Corrigendum to "A Catchment Moisture Deficit module for the IHACRES
rainfall-runoff model [Environ. Model. Softw. 19 (1) (2004) 1–5]"
Environmental Modelling & Software, 20(7), p. 997.
doi: 10.1016/j.envsoft.2004.11.004
Jakeman, A.J., Littlewood, I.G., Whitehead, P.G.
Computation of the instantaneous unit hydrograph and identifiable component flows with application to two small upland catchments
Journal of Hydrology, 117(1), pp. 275-300.
doi: 10.1016/0022-1694(90)90097-H
More publications may be found [here](https://connectedsystems.github.io/ihacres_nim/publications.html)