diff --git a/DESCRIPTION b/DESCRIPTION index f154b4872ea4c033489bf0435d3e56a0b0bcf4b2..385ae2593ee9ce9ab92aeb9867ed4b17071e62fe 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: airGR Type: Package Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling -Version: 1.6.8.39 +Version: 1.6.8.40 Date: 2021-01-06 Authors@R: c( person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")), diff --git a/NEWS.md b/NEWS.md index 05ae3222ccde3b16dbbba4c2878cbb90ea3e37b9..446d3337ab07139961a5d9968e484cb99649bfb0 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,7 +2,7 @@ -### 1.6.8.39 Release Notes (2021-01-06) +### 1.6.8.40 Release Notes (2021-01-06) #### New features diff --git a/man/Calibration_Michel.Rd b/man/Calibration_Michel.Rd index c632822809e1d2b86998f4f22dc2d9599ca46ebd..60439df643b4e82a52b8e7a59051b3fdfaa66d9b 100644 --- a/man/Calibration_Michel.Rd +++ b/man/Calibration_Michel.Rd @@ -11,7 +11,7 @@ \description{ Calibration algorithm that optimises the error criterion selected as objective function. \cr \cr -The algorithm combines a global and a local approach. +The algorithm combines a global and a local approach. First, a screening is performed using either a rough predefined grid or a list of parameter sets. Then a steepest descent local search algorithm is performed, starting from the result of the screening procedure. } @@ -59,18 +59,18 @@ Calibration_Michel(InputsModel, RunOptions, InputsCrit, CalibOptions, \details{ -A screening is first performed either based on a rough predefined grid (considering various initial +A screening is first performed either based on a rough predefined grid (considering various initial values for each parameter) or from a list of initial parameter sets. \cr -The best set identified in this screening is then used as a starting point for the steepest +The best set identified in this screening is then used as a starting point for the steepest descent local search algorithm. \cr For this search, since the ranges of parameter values can be quite different, simple mathematical transformations are applied to parameters to make them vary in a similar range and get a similar sensitivity to a predefined search step. This is done using the TransfoParam functions. \cr -During the steepest descent method, at each iteration, we start from a parameter set of NParam values (NParam being the number of -free parameters of the chosen hydrological model) and we determine the 2*NParam-1 new candidates +During the steepest descent method, at each iteration, we start from a parameter set of NParam values (NParam being the number of +free parameters of the chosen hydrological model) and we determine the 2*NParam-1 new candidates by changing one by one the different parameters (+/- search step). \cr -All these candidates are tested and the best one kept to be the starting point for the next -iteration. At the end of each iteration, the the search step is either increased or decreased to adapt +All these candidates are tested and the best one kept to be the starting point for the next +iteration. At the end of each iteration, the the search step is either increased or decreased to adapt the progression speed. A composite step can occasionally be done. \cr The calibration algorithm stops when the search step becomes smaller than a predefined threshold. } @@ -83,27 +83,27 @@ library(airGR) data(L0123001) ## preparation of InputsModel object -InputsModel <- CreateInputsModel(FUN_MOD = RunModel_GR4J, DatesR = BasinObs$DatesR, +InputsModel <- CreateInputsModel(FUN_MOD = RunModel_GR4J, DatesR = BasinObs$DatesR, Precip = BasinObs$P, PotEvap = BasinObs$E) ## calibration period selection -Ind_Run <- seq(which(format(BasinObs$DatesR, format = "\%Y-\%m-\%d")=="1990-01-01"), +Ind_Run <- seq(which(format(BasinObs$DatesR, format = "\%Y-\%m-\%d")=="1990-01-01"), which(format(BasinObs$DatesR, format = "\%Y-\%m-\%d")=="1999-12-31")) ## preparation of RunOptions object -RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J, InputsModel = InputsModel, +RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J, InputsModel = InputsModel, IndPeriod_Run = Ind_Run) ## calibration criterion: preparation of the InputsCrit object -InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel, +InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel, RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run]) ## preparation of CalibOptions object CalibOptions <- CreateCalibOptions(FUN_MOD = RunModel_GR4J, FUN_CALIB = Calibration_Michel) ## calibration -OutputsCalib <- Calibration_Michel(InputsModel = InputsModel, RunOptions = RunOptions, - InputsCrit = InputsCrit, CalibOptions = CalibOptions, +OutputsCalib <- Calibration_Michel(InputsModel = InputsModel, RunOptions = RunOptions, + InputsCrit = InputsCrit, CalibOptions = CalibOptions, FUN_MOD = RunModel_GR4J) ## simulation @@ -115,19 +115,19 @@ OutputsModel <- RunModel_GR4J(InputsModel = InputsModel, plot(OutputsModel, Qobs = BasinObs$Qmm[Ind_Run]) ## efficiency criterion: Nash-Sutcliffe Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel, +InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel, RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run]) OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel) ## efficiency criterion: Kling-Gupta Efficiency -InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_KGE, InputsModel = InputsModel, +InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_KGE, InputsModel = InputsModel, RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run]) OutputsCrit <- ErrorCrit_KGE(InputsCrit = InputsCrit, OutputsModel = OutputsModel) } \author{ -Laurent Coron, Claude Michel, Charles Perrin, Thibault Mathevet, Olivier Delaigue, Guillaume Thirel +Laurent Coron, Claude Michel, Charles Perrin, Thibault Mathevet, Olivier Delaigue, Guillaume Thirel, David Dorchies } @@ -141,7 +141,7 @@ Michel, C. (1991), \seealso{ \code{\link{Calibration}}, \code{\link{RunModel_GR4J}}, \code{\link{TransfoParam}}, \code{\link{ErrorCrit_RMSE}}, -\code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, +\code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}. } diff --git a/man/CreateCalibOptions.Rd b/man/CreateCalibOptions.Rd index 0d9bbf3f569cf45642f4877ca24c8f91dee05fbb..b418995a04c37002f14ad8bc3bfb6332167f725f 100644 --- a/man/CreateCalibOptions.Rd +++ b/man/CreateCalibOptions.Rd @@ -141,7 +141,7 @@ OutputsCrit <- ErrorCrit_KGE(InputsCrit = InputsCrit, OutputsModel = OutputsMode \author{ -Laurent Coron, Olivier Delaigue, Guillaume Thirel +Laurent Coron, Olivier Delaigue, Guillaume Thirel, David Dorchies } diff --git a/man/RunModel_Lag.Rd b/man/RunModel_Lag.Rd index 1bbd897d3f8a4581d7042a6a4bb57d39006a9d02..f2fffafb4f3af425f19a3e8d931aa91e423e890d 100644 --- a/man/RunModel_Lag.Rd +++ b/man/RunModel_Lag.Rd @@ -90,7 +90,7 @@ plot(OutputsModel, Qobs = OutputsModel$QsimDown) \author{ -Olivier Delaigue, David Dorchies +Olivier Delaigue, David Dorchies, Guillaume Thirel }