fuse

fuse: An R package for ensemble Hydrological Modelling - Published in JOSS (2016)

https://github.com/cvitolo/fuse

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 6 months ago · JSON representation

Repository

fuse: an R package implementing the Framework for Understanding Structural Errors

Basic Info
Statistics
  • Stars: 13
  • Watchers: 0
  • Forks: 1
  • Open Issues: 4
  • Releases: 2
Created over 9 years ago · Last pushed over 7 years ago
Metadata Files
Readme Changelog

README.Rmd

---
output: github_document
---



```{r echo=FALSE}
knitr::opts_chunk$set(
  comment = '#>',
  collapse = TRUE,
  warning = FALSE,
  message = FALSE,
  eval = FALSE,
  cache = FALSE
)
```

fuse: an R package implementing the Framework for Understanding Structural Errors
=================================================================================

[![DOI](https://zenodo.org/badge/67341718.svg)](https://zenodo.org/badge/latestdoi/67341718) [![status](http://joss.theoj.org/papers/392a55daada04a86f95eaa8da134a28d/status.svg)](http://joss.theoj.org/papers/392a55daada04a86f95eaa8da134a28d)

[![Build Status](https://travis-ci.org/cvitolo/fuse.svg)](https://travis-ci.org/cvitolo/fuse.svg?branch=master) [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/cvitolo/fuse?branch=master&svg=true)](https://ci.appveyor.com/project/cvitolo/fuse) [![codecov.io](https://codecov.io/github/cvitolo/fuse/coverage.svg?branch=master)](https://codecov.io/github/cvitolo/fuse?branch=master)

The Framework for Understanding Structural Errors (FUSE) was developed by Clark et al. (2008) and is a state-of-the-art modelling toolbox. It includes 1248 hydrological model structures, amongst which some well established models for rainfall-runoff simulations (i.e. PRMS, SACRAMENTO, TOPMODEL and ARNO/VIC, also defined as parent models). Each model is characterised by a different architecture of the upper and lower soil layers and parameterisation of processes such as: evaporation, vertical percolation, interflow, base flow and surface runoff.

Fuse takes as input rainfall and potential evapotranspiration time series (areal averages over the river catchment area) and returns a simulated time series of river discharges. It can be used to understand the variability of expected hydrological responses based on model structures.

This package is a re-implementation of the framework described in Clark et al. (2008) and based on the Fortran code provided by M. Clark in 2011. The package consists of two modules: Soil Moisture Accounting module (fusesma.sim) and Gamma routing module (fuserouting.sim). It also contains default parameter ranges (fusesma.ranges and fuserouting.ranges) and three data objects: fuse\_hydrological\_timeseries (sample input dataset), parameters (sample parameters) and modlist (list of FUSE model structures).

### Dependencies

The fuse package, as well as the examples in the vignette, depend on a number of CRAN packages. Check for missing dependencies and install them:

```{r}
packs <- c("dplyr", "zoo", "tgp", "stats", "utils", "BH", "Rcpp", "testthat",
           "qualV", "devtools")
new.packages <- packs[!(packs %in% installed.packages()[, "Package"])]
if(length(new.packages)) install.packages(new.packages)
```

### Installation

You can install this package from Github with [devtools](https://github.com/hadley/devtools):

```{r}
devtools::install_github("cvitolo/fuse")
```

Load the package:

```{r}
library("fuse")
```

### Usage

The simplest way to test `fuse` is to use the dummy data provided with this package, sample the parameter range using the built-in function `generateParameters()` and run the model with 1 model structure (e.g. TOPMODEL):

```{r}
# Load the dummy data
data(fuse_hydrological_timeseries)

# Sample the parameter range
parameters <- generateParameters(1)

# Run fuse
streamflow <- fuse(DATA = fuse_hydrological_timeseries,
                   mid = 60,       # Model structure = TOPMODEL
                   deltim = 1,     # Daily time step
                   ParameterSet = parameters)

plot(streamflow, xlab = "", ylab = "Streamflow [mm/day]")
```

For details and more complex examples (e.g. multi-model ensemble), please refer to the [vignette](https://cvitolo.github.io/fuse/articles/fuse_vignette.html).

Fortran users are advised to refer to the latest version of fuse available [here](https://github.com/naddor/fuse).

### Meta

-   Code contributions are welcome! Please note that this project is released with a [Contributor Code of Conduct](CONDUCT.md). By participating in this project you agree to abide by its terms.
-   Please [report any issues or bugs](https://github.com/cvitolo/fuse/issues).
-   License: [GPL-3](https://opensource.org/licenses/GPL-3.0)
-   Get citation information for the `fuse` package in R doing `citation(package = 'fuse')`
-   This package was reviewed by [Maëlle Salmon](https://github.com/masalmon) for the Journal of Open Source Software, see review [here](https://github.com/openjournals/joss-reviews/issues/52).

Owner

  • Name: Claudia Vitolo
  • Login: cvitolo
  • Kind: user
  • Location: Europe
  • Company: @esa

JOSS Publication

fuse: An R package for ensemble Hydrological Modelling
Published
December 20, 2016
Volume 1, Issue 8, Page 52
Authors
Claudia Vitolo ORCID
Imperial College London
Peter Wells
Lutra Consulting
Martin Dobias
Lutra Consulting
Wouter Buytaert ORCID
Imperial College London
Editor
Arfon Smith ORCID
Tags
hydrological modelling

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 82
  • Total Committers: 1
  • Avg Commits per committer: 82.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Claudia Vitolo c****o@g****m 82

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 20
  • Total pull requests: 0
  • Average time to close issues: about 14 hours
  • Average time to close pull requests: N/A
  • Total issue authors: 3
  • Total pull request authors: 0
  • Average comments per issue: 2.35
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • maelle (16)
  • cvitolo (3)
  • manivmk (1)
Pull Request Authors
Top Labels
Issue Labels
help wanted (4)
Pull Request Labels