Commit fe8b508f authored by unknown's avatar unknown
Browse files

v1.0.5.8 modification tosucceed the CRAN check (vignette, CITATION, etc.)

parent 77f28f73
Package: airGR
Type: Package
Title: Suite of GR hydrological models for precipitation-runoff modelling
Version: 1.0.5.6
Date: 2017-01-19
Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling
Version: 1.0.5.8
Date: 2017-01-20
Authors@R: c(
person("Laurent", "Coron", role = c("aut", "trl")),
person("Charles", "Perrin", role = c("aut", "ths")),
......@@ -25,7 +25,7 @@ Author: Laurent Coron, Charles Perrin, with contributions
Based on earlier work by Claude Michel.
Maintainer: Olivier Delaigue <airGR@irstea.fr>
Depends: R (>= 3.0.1)
Description: This package brings into R the hydrological modelling tools developed
Description: Hydrological modelling tools developed
at Irstea-Antony (HBAN Research Unit, France). The package includes several conceptual
rainfall-runoff models (GR4H, GR4J, GR5J, GR6J, GR2M, GR1A), a snowmelt module (CemaNeige)
and the associated functions for their calibration and evaluation. Use help(airGR) for package description.
......
citHeader("To cite airGR in publications use these two references:")
citEntry(entry="Article",
bibentry(bibtype="Article",
title = "airGR: A suite of lumped hydrological models in an R-package",
author = personList(as.person("L. Coron"), as.person("G. Thirel"), as.person("O. Delaigue"), as.person("C. Perrin"), as.person("V. Andréassian")),
journal = "Environmental Modelling and software",
......@@ -13,18 +13,18 @@ citEntry(entry="Article",
sep = " ")
)
citEntry(entry="Manual",
bibentry(bibtype="Manual",
title = "airGR: Suite of GR hydrological models for precipitation-runoff modelling",
author = personList(as.person("L. Coron"), as.person("C. Perrin"), as.person("C. Michel")),
journal = "R News",
year = "2017",
note = "R package version 1.0.5.6",
year = substr(packageDescription("airGR", fields = "Date"), 1, 4),
note = sprintf("R package version %s", packageVersion("airGR")),
url = "https://webgr.irstea.fr/airGR/?lang=en",
textVersion =
paste("Coron, L., Perrin, C. and Michel, C.",
"(2017).",
substr(packageDescription("airGR", fields = "Date"), 1, 4),
"airGR: Suite of GR hydrological models for precipitation-runoff modelling.",
"R package version 1.0.5.6.",
sprintf("R package version %s.", packageVersion("airGR")),
"https://webgr.irstea.fr/airGR/?lang=en.",
sep = " ")
)
## ------------------------------------------------------------------------
library(airGR)
## ------------------------------------------------------------------------
data(L0123001)
summary(BasinObs)
## ------------------------------------------------------------------------
InputsModel <- CreateInputsModel(FUN_MOD = RunModel_GR4J, DatesR = BasinObs$DatesR,
Precip = BasinObs$P, PotEvap = BasinObs$E)
str(InputsModel)
## ------------------------------------------------------------------------
Ind_Run <- seq(which(format(BasinObs$DatesR, format = "%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
which(format(BasinObs$DatesR, format = "%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
str(Ind_Run)
## ------------------------------------------------------------------------
RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J,
InputsModel = InputsModel, IndPeriod_Run = Ind_Run,
IniStates = NULL, IniResLevels = NULL, IndPeriod_WarmUp = NULL)
str(RunOptions)
## ------------------------------------------------------------------------
InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel,
RunOptions = RunOptions, Qobs = BasinObs$Qmm[Ind_Run])
str(InputsCrit)
## ------------------------------------------------------------------------
CalibOptions <- CreateCalibOptions(FUN_MOD = RunModel_GR4J, FUN_CALIB = Calibration_Michel)
str(CalibOptions)
## ------------------------------------------------------------------------
OutputsCalib <- Calibration_Michel(InputsModel = InputsModel, RunOptions = RunOptions,
InputsCrit = InputsCrit, CalibOptions = CalibOptions,
FUN_MOD = RunModel_GR4J, FUN_CRIT = ErrorCrit_NSE)
Param <- OutputsCalib$ParamFinalR
Param
## ------------------------------------------------------------------------
OutputsModel <- RunModel_GR4J(InputsModel = InputsModel, RunOptions = RunOptions, Param = Param)
str(OutputsModel)
## ----eval=F--------------------------------------------------------------
# plot(OutputsModel, Qobs = BasinObs$Qmm[Ind_Run])
## ------------------------------------------------------------------------
OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
## ------------------------------------------------------------------------
OutputsCrit <- ErrorCrit_KGE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
---
title: "airGR -- Overview"
output: rmarkdown::html_vignette
vignette: >
%\VignetteEngine{knitr::rmarkdown}
%\VignetteIndexEntry{airGR}
%\VignetteEncoding{UTF-8}
---
# Introduction
**airGR** is a package which brings into the [**R software**](https://cran.r-project.org/) the hydrological modelling tools used and developed at the [Catchment Hydrology Team](https://webgr.irstea.fr/?lang=en) at [Irstea (France)](http://www.irstea.fr/en/), including the [**GR rainfall-runoff models**](https://webgr.irstea.fr/modeles/?lang=en) and a snowmelt and accumulation model, **CemaNeige**. Each model core is coded in **Fortran** to ensure low computational time. The other package functions (i.e. mainly the calibration algorithm and the efficiency criteria calculation) are coded in **R**.
The **airGR** package has been designed to fulfil two major requirements: to facilitate the use by non-expert users and to allow flexibility regarding the addition of external criteria, models or calibration algorithms. The names of the functions and their arguments were chosen to this end. **airGR** also contains basics plotting facilities.
Six hydrological models and one snowmelt and accumulation model are implemented in **airGR**. The snow model can be used alone or together with the daily hydrological models.
The models can be called within **airGR** using the following functions:
* `RunModel_GR4H()`: four-parameter hourly lumped hydrological model [@mathevet_quels_2005]
* `RunModel_GR4J()`: four-parameter daily lumped hydrological model [@perrin_improvement_2003]
* `RunModel_GR5J()`: five-parameter daily lumped hydrological model [@le_moine_bassin_2008]
* `RunModel_GR6J()`: six-parameter daily lumped hydrological model [@pushpalatha_downward_2011]
* `RunModel_GR2M()`: two-parameter monthly lumped hydrological model [@mouelhi_vers_2003; @mouelhi_stepwise_2006]
* `RunModel_GR1A()`: one-parameter yearly lumped hydrological model [@mouelhi_vers_2003; @mouelhi_linking_2006]
* `RunModel_CemaNeige()`: two-parameter degree-day snowmelt and accumulation model [@valery_as_2014]
* `RunModel_CemaNeigeGR4J()`: combined use of **GR4J** and **CemaNeige**
* `RunModel_CemaNeigeGR5J()`: combined use of **GR5J** and **CemaNeige**
* `RunModel_CemaNeigeGR6J()`: combined use of **GR6J** and **CemaNeige**
The [**GRP**](https://webgr.irstea.fr/modeles/modele-de-prevision-grp/?lang=en) forecasting model and the [**Otamin**](https://webgr.irstea.fr/modeles/otamin/?lang=en) predictive uncertainty tool are not availabe in **airGR**.
# Loading data
In the following example, we use a data sample contained in the package. For real applications, the user has to import its data into **R** and to prepare it with an adequate data.frame format as described below.
First, it is necessary to load the **airGR** package:
```{r}
library(airGR)
```
This is an example of a `data.frame` of hydrometeorological observations time series for a fictional catchment included in the **airGR** package that contains:
* *DatesR*: dates in the POSIXt format
* *P*: average precipitation [mm/day]
* *T*: catchment average air temperature [&#8451;]
* *E*: catchment average potential evapotranspiration [mm/day]
* *Qls*: outlet discharge [l/s]
* *Qmm*: outlet discharge [mm/day]
```{r}
data(L0123001)
summary(BasinObs)
```
The usual functions (e.g. `read.table()`) can be used to load real-case datasets.
# Preparation of functions inputs
To run a model, the functions of the **airGR** package (e.g. the models, calibration and criteria calculation functions) require data and options with specific formats.
To facilitate the use of the package, there are several functions dedicated to the creation of these objects:
* `CreateInputsModel()`: prepares the inputs for the different hydrological models (times series of dates, rainfall, observed streamflow, etc.)
* `CreateRunOptions()`: prepares the options for the hydrological model run (warm-up period, calibration period, etc.)
* `CreateInputsCrit()`: prepares the options in order to compute efficiency criterions (choice of the criterion, choice of the transformation on streamflows: "log", "root", etc.)
* `CreateCalibOptions()`: prepares the options for the hydrological model calibration algorithm (choice of parameters to optimize, predefined values for uncalibrated parameters, etc.)
## InputsModel object
To run a GR hydrologic model, the user has to prepare the input data with the `CreateInputsModel()` function.
As arguments, this function needs the function name corresponding to the model the user wants to run, a vector of dates, a vector of precipitation and a vector of potential evapotranspiration.
In the example below, we already have the potential evapotranspiration. If the user doesn't have these data, it is possible to compute it with the [Oudin's formula](http://dx.doi.org/10.1016/j.jhydrol.2004.08.026) with the `PEdaily_Oudin()` function (this function only needs julian days, daily average air temperature and latitude).
Missing values (`NA`) of precipitation (or potential evapotranspiration) are **not allowed**.
```{r}
InputsModel <- CreateInputsModel(FUN_MOD = RunModel_GR4J, DatesR = BasinObs$DatesR,
Precip = BasinObs$P, PotEvap = BasinObs$E)
str(InputsModel)
```
## RunOptions object
The `CreateRunOptions()` function allows to prepare the options required to the `RunModel*()` functions, which are the actual models functions.
The user must at least define the following arguments:
* `FUN_MOD`: the name of the model function to run
* `InputsModel`: the associated inputs data
* `IndPeriod_Run`: the period on which the model is run
To select a period for which the user wants to run the model, select the corresponding indexes for different time periods (not the POSIXt dates), as follows:
```{r}
Ind_Run <- seq(which(format(BasinObs$DatesR, format = "%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
which(format(BasinObs$DatesR, format = "%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
str(Ind_Run)
```
The intialization of hydrological models is of the utmost importance. Indeed, an inaccurate intialisation causes poor quality streamflow simulations during the earliest stages of the running period. For example, in the GR models, the reservoirs levels are by default set to 50 % of their capacity, which may be far from their ideal value. Two solutions are offered to accurately initialize the GR models in **airGR**: manually predefining the initial states or running the models during a warm up period before the actual running period. It is generally advised to set up this warm up period to be equal or superior to one year.
As a consequence, it is possible to define in `CreateRunOptions()` the following arguments:
* `IniStates`: the initial states of the 2 unit hydrographs (20 + 40 = 60 units)
* `IniResLevels`: the initial levels of the production and routing stores
* `IndPeriod_WarmUp`: the warm-up period used to run the model, to be defined in the same format as `IndPeriod_Run`
```{r}
RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J,
InputsModel = InputsModel, IndPeriod_Run = Ind_Run,
IniStates = NULL, IniResLevels = NULL, IndPeriod_WarmUp = NULL)
str(RunOptions)
```
The `CreateRunOptions()` function returns warnings if the default initialization options are used:
* `IniStates` and `IniResLevels` are automatically set to initialize all the model states at 0, except for the production and routing stores which are initialised at 50 % of their capacity
* `IndPeriod_WarmUp` default setting ensures a one-year warm-up using the time steps preceding the `IndPeriod_Run`, if available
## InputsCrit object
The `CreateInputsCrit()` function allows to prepare the input in order to calculate a criterion. It is possible to define the following arguments:
* `FUN_CRIT`: the name of the error criterion function (they are introduced later on)
* `InputsModel`: the inputs of the hydrological model previously prepared by the `CeateInputsModel()` function
* `RunOptions`: the options of the hydrological model previously prepared by the `CreateRunOptions()` function
* `Qobs`: the observed streamflows expressed in *mm/time step*
Missing values (`NA`) are **allowed** for observed streamflows.
```{r}
InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel,
RunOptions = RunOptions, Qobs = BasinObs$Qmm[Ind_Run])
str(InputsCrit)
```
## CalibOptions object
The user needs to prepare the calibration options with the `CreateCalibOptions()`function. For that, it is necessary to define the following arguments:
* `FUN_MOD`: the name of the model function
* `FUN_CALIB`: the name of the calibration algorithm
```{r}
CalibOptions <- CreateCalibOptions(FUN_MOD = RunModel_GR4J, FUN_CALIB = Calibration_Michel)
str(CalibOptions)
```
# Criteria
The evaluation of the quality of a simulation is estimated through the calculation of criteria. These criteria can be used both as objective-functions during the calibration of the model, or as a measure for evaluating its control performance.
The package offers the possibility to use different criteria:
* `ErrorCrit_RMSE()`: Root mean square error (RMSE)
* `ErrorCrit_NSE()`: Nash-Sutcliffe model efficiency coefficient (NSE)
* `ErrorCrit_KGE()`: Kling-Gupta efficiency criterion (KGE)
* `ErrorCrit_KGE2()`: modified Kling-Gupta efficiency criterion (KGE')
It is also possible to create user-defined criteria. For doing that, it is only necessary to define the function in **R** following the same syntax that the criteria functions included in **airGR**.
# Calibration
The objective of the calibration algorithm is to identify the model parameters: by comparing the model outputs with observed data, this algorithm determines the combination of parameters that represents the best the behavior of the watershed.
In the **airGR** package, a function called `Calibration_Michel()` is implemented. This functions allows running a calibration with the package models.
The calibration algorithm optimizes the error criterion selected as objective-function. This algorithm works in two steps:
1. a screening of the parameters space is performed using either a rough predefined grid or a user-defined list of parameter sets
2. a simple steepest descent local search algorithm is performed from the best set of parameters found at the first step
```{r}
OutputsCalib <- Calibration_Michel(InputsModel = InputsModel, RunOptions = RunOptions,
InputsCrit = InputsCrit, CalibOptions = CalibOptions,
FUN_MOD = RunModel_GR4J, FUN_CRIT = ErrorCrit_NSE)
Param <- OutputsCalib$ParamFinalR
Param
```
The `Calibration_Michel()` function is the only one implemented in the **airGR** package to calibrate the model, but the user can implement its own calibration function.
This function returns a vector with the parameters of the chosen model, which means that the number of values can differ depending on the model that is used. It is possible to use the `Calibration_Michel()` function with user-implemented hydrological models.
# Validation
This step assess the predictive capacity of the model. Validation is defined as the estimation of the accuracy of the model on datasets that are not used in its construction, and in particular its calibration.
The classical way to perform a validation is to keep data from a period separated from the calibration period. If possible, this control period should correspond to climatic situations rather that differ from those of the calibration period in order to better point out the qualities and weakness of the model. This exercise is necessary for assessing the robustness of the model, that is to say its ability to keep stable performances outside the calibration conditions.
Performing a model validation with **airGR** is similar to running a simulation (see below).
# Simulation
## Simulation run
To run a model, the user has to use the `RunModel*()` functions (`InputsModel`, `RunOptions` and parameters).
All the data needed have already been prepared.
```{r}
OutputsModel <- RunModel_GR4J(InputsModel = InputsModel, RunOptions = RunOptions, Param = Param)
str(OutputsModel)
```
## Results preview
Although it is possible for the user to design its own graphics from the outputs of the `RunModel*()` functions, the **airGR** package offers the possibility to make use of the `plot.OutputsModel()` function (or `plotl()` with a `OutputsModel` object). This function returns a dashboard of results including various graphs (depending on the model used):
* time series of total precipitation and simulated streamflows (and observed streamflows if provided)
* interannual median monthly simulated streamflows (and monthly observed streamflows if provided)
* cumulative frequency plot for simulated streamflows (and for observed streamflows if provided)
* correlation plot between simulated and observed streamflows (if observed streamflows provided)
```{r,eval=F}
plot(OutputsModel, Qobs = BasinObs$Qmm[Ind_Run])
```
Moreover, if the CemaNeige model is used, the temperature and the simulated snowpack time series are plotted.
## Efficiency criterion
To evaluate the efficiency of the model, it is possible to use the same criterion as defined at the calibration step or to use an other criterion.
```{r}
OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
```
```{r}
OutputsCrit <- ErrorCrit_KGE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
```
This diff is collapsed.
#### 1.0.2 RELEASE NOTES ###########################
- The RunModel_GR6J() and RunModel_CemaNeigeGR6J() models were modified back to versions previous to 1.0.1 to prevent from unwanted efficiency criteria deterioration related to the calibration with Calibration_Michel().
The actual model codes were not modified but the TransfoParam_GR6J() and CreateCalibOptions() functions were modified regarding the X5 parameter.
It is strongly advised to use airGR 1.0.2 for the RunModel_GR6J() and RunModel_CemaNeigeGR6J() functions if you are using Calibration_Michel(), as they are much more efficient.
In case you were using your own calibration algorithm, you will not notice any difference.
- The value "sort" for the transfo argument of CreateInputsCrit() was not taken into account. It is now fixed.
- SeriesAggreg() gains a TimeLag argument that corresponds to a numeric value indicating a time lag (in seconds) for the time series aggregation (useful to aggregate hourly time series to the daily time step for instance).
In addition, the function now accepts input dates in both POSIX formats (POSIXct and POSIXlt). The output is in POSIXct format.
- CreateInputsModel() and DataAltiExtrapolation_Valery() functions now allow both POSIX formats (POSIXct and POSIXlt).
- plot_OutputsModel() gains a log_scale argument in order to plot the flow with a log scale.
- CreateCalibOptions() loses the OptimParam argument that was redundant with the FixedParam argument. Calibration_Michel() was modified to take into account this change by using directly FixedParam, but this is transparent to the user.
- CreateCalibOptions() loses the StartParam argument that was not used.
#### 1.0.1 RELEASE NOTES ###########################
- The GR5J model has been modified: previously, two unit hydrographs were used, now only one is remaining.
As a consequence, simulations from the GR5J (RunModel_GR5J() function) and CemaNeige (RunModel_CemaNeigeGR5J() function) models will be different
- An important proportion of the transformations of the parameters have been modified (TransfoParam*() functions). Since this modifies the local search, calibration results will be different
- The quantiles of the parameters have been recalculated with the new transformations (CreateCalibOptions() function). Since these quantiles constitute the starting point of the calibration algorithm, calibration results will be different
- The Calibration_HBAN() and DataAltiExtrapolation_HBAN() functions have respectively been renamed as Calibration_Michel() and DataAltiExtrapolation_Valery() after the names of their creators
- The Calibration_optim() function has been removed from the package
- The silent mode is now defined by the "verbose = TRUE" argument (formerly quiet = "FALSE") in the following functions :
Calibration(), Calibration_Michel(), CreateInputsModel(), CreateRunOptions(), DataAltiExtrapolation_Valery(),
ErrorCrit(), ErrorCrit_KGE(), ErrorCrit_KGE2(), ErrorCrit_NSE(), ErrorCrit_RMSE(), plot_OutputsModel(), SeriesAggreg(),
- The FORTRAN model core codes have been modified:
- optimisation of the codes for fastening of computation
- simplification of the internal variables for easier reading and understanding
- The list of the contributors and authors is now full
- The references of the package has been updated ; they are returned by the following R-command > citation("airGR")
#### 0.8.1 RELEASE NOTES ###########################
- 0.8.1.2 vs 0.8.1.1 : Modification of namespace file to ensure proper use under linux whithout compilation issues
- 0.8.1.1 vs 0.8.1.0 : Correction of a bug in CreateInputsModel related to the handling of missing values
- Correction of a bug preventing the correct use of the IniResLevels argument (to manually set the filling rate of the production and routing stores)
- Removal of an unnecessary warning when IndPeriod_WarmUp=0
#### 0.8.0 RELEASE NOTES ###########################
- 0.8.0.1 vs 0.8.0.0 : Correction of formatting issue in airGR-advanced-example regarding the "List_HypsoData.txt" file
- Three new hydrological models : GR4H (hourly), GR2M (monthly) and GR1A (yearly)
- New function SeriesAggreg() to easily aggreg timesteps
- Update of the functions CreateRunOptions, CreateCalibOptions() and plot_OutputsModel() to handle the new models
- Improvement of the plot_OutputsModel() function to allow a selection among available plots
- Modification of CemaNeige Fortran code to add an update of Gratio after the SnowPack update (no impact on snow simulation)
- Update of the scripts in airGR-advanced-example to match the structures of the BasinData objects
- Bug correction in ErrorCrit_RMSE() which led to incorrect calibration (the criterion was maximised instead of minimised)
- Minor update in ErrorCrit_KGE() and ErrorCrit_KGE2() to handle case when only one values in not NA
#### 0.7.4 RELEASE NOTES ###########################
- Stable version stemming from version 0.7.3
#### 0.7.3 RELEASE NOTES ###########################
- Series of minor improvements allowing the arrival of new models
- Minor improvements of the argument verifications in CreateInputsModel(), CreateRunOptions(), CreateInputsCrit(), CreateCalibOptions()
- Minor improvements of all the ErrorCrit functions to better account for the cases with constant flow values or local zeros
#### 0.7.2 RELEASE NOTES ###########################
- CemaNeige users must now specify one MeanAnSolidPrecip for each elevation layer.
The CreateRunOptions function is impacted
- CemaNeige users can now specify the mean elevation of the input series
(before it was always considered equal to the catchment median elevation)
The impacted functions are CreateInputsModel() and DataAltiExtrapolation_HBAN()
- Bug correction in CreateCalibOptions to handle models with only one parameter
- New argument in many functions (quiet = TRUE or FALSE) to choose if the warnings should be suppressed or not
- Improvement of the plot_OutputsModel function (to handle 0 in Qobs and Qsim)
- Improved documentation
#### 0.7.1 RELEASE NOTES ###########################
- New architecture with better format verification procedure (using classes) and simpler setting of default configuration
- New architecture where the model, calibration and error functions are in the arguments of the functions
(the exotic use of "generic function" created by the users has been removed)
- Better help pages and examples
- The CalibrationAlgo_XXX() functions were renamed into Calibration_XXX
- Bug correction: the Calibration_HBAN() function was not working properly with models having only one parameter
#### 0.7.0 RELEASE NOTES ###########################
- unfinished version used for development purpose
#### 0.6.1 RELEASE NOTES ###########################
- RC11 bug correction: the automatic selection of the warm-up period was not working properly when no data was available from warm-up (i.e. when the user had set the run to start at the very first index)
- RC10 bug correction: the CalibrationAlgo_HBAN function was not working in the very rare case when the diagonal search was activated and lead to a set outside the authorised range
- RC9 bug correction: the CalibrationAlgo_HBAN function was not working properly with models having only one parameter
- RC8 bug correction of the "ModelDefaultIniOptions" function (this bug was introduced in the RC7 and caused an error when IndPeriod_WarmUp was defined as NULL)
- RC7 bug correction of the "ModelDefaultIniOptions" function (the automatic selection of one year for warm-up was not handling properly missing data)
- RC6 correction of the help files (the description of CemaNeige parameters were inverted)
- RC5 differs from previous releases in the way the data are read and stored (in a list instead of individual vectors).
The package is similar, only the examples of Main and the files in MyScriptBlocks have changed.
=> All basin data are now stored inside a list named "BasinData". This will greatly ease the future use of Rdata files (instead of txt files)
as storage format for the time series of observation.
#### 0.6.1 RELEASE NOTES ###########################
- Code improvements to reduce the computation time
- Additional functions for results plotting (the "zoo" package is required for some of them)
- Multi-objective calibration using "nsga2" (the "mco" package is required)
- The definition of the generic function is now made in a much simpler way (e.g. see DefineFunctions_Model.R or DefineFunctions_ErrorCrit.R)
- Improvements of the documentation
- Clearer instructions for the adding and modification of a model
#### 0.6.0 RELEASE NOTES ###########################
- EfficiencyCrit() have been replaced by ErrorCrit() to avoid misunderstanding (by default, the algorithms minimise the error criterion)
- The field Multiplier has been added in the ErrorCrit() outputs, to indicate whether the criterion is an error (to minimise) or and efficiency (to maximise)
this permits to provide real efficiency values in the outputs e.g. NSE[Q] instead of (-1)*NSE[Q]
#### 0.5.2 RELEASE NOTES ###########################
- Correction of the above mentioned bugs
- R 2.15 in not supported by default
- Check of the model functioning time step
- Name of the calibration criterion provided in OutputsAlgo()
- Missing values in Fortran are now -999.999 instead of -9.999
- The check that SelectPer_Run() is continuous is now made in the CheckArg() functions
- The SelectPer arguments are replaced by IndPeriod to ease understanding
- The PE arguments are replaced by PotEvap() to ease understanding
- The Fsol arguments are replaced by FracSolidPrecip to ease understanding
#### 0.5.1 BUGS ###########################
- The function EfficiencyCrit_NSE_sqrtQ() was missing in the first release of airGR 0.5.1
- Incorrect arguments in the call to RunModelAndCrit from CalibrationAlgo_optim_stats and CalibrationAlgo_nlminb_stats
- CalibrationAlgo_nlminb_stats() wrongly defined in DefineFunctions_CalibrationAlgo() ("optim" instead of "nlminb")
- Format checking for RunOptions incorrectly made in CheckArg function
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment