Calibration algorithm that optimises the error criterion selected as objective function using the provided functions.

# S3 method for InputsModel
Calibration(InputsModel, ...)

Arguments

InputsModel

[object of class InputsModel] see CreateInputsModel for details

...

Further arguments for compatibility with S3 method

Value

[list] see Calibration_Michel

See also

Author

Laurent Coron, Olivier Delaigue

Examples

#> #> Attaching package: 'airGR'
#> The following objects are masked from 'package:airGRiwrm': #> #> Calibration, CreateCalibOptions, CreateInputsCrit, #> CreateInputsModel, CreateRunOptions, RunModel
## loading catchment data data(L0123001) ## preparation of InputsModel object 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"), which(format(BasinObs$DatesR, format = "%Y-%m-%d")=="1999-12-31")) ## preparation of RunOptions object RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J, InputsModel = InputsModel, IndPeriod_Run = Ind_Run)
#> Warning: model warm up period not defined: default configuration used #> the year preceding the run period is used
## calibration criterion: preparation of the InputsCrit object 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(InputsModel = InputsModel, RunOptions = RunOptions, InputsCrit = InputsCrit, CalibOptions = CalibOptions, FUN_MOD = RunModel_GR4J, FUN_CALIB = Calibration_Michel)
#> Grid-Screening in progress (
#> 0%
#> 20%
#> 40%
#> 60%
#> 80%
#> 100%)
#> Screening completed (81 runs)
#> Param = 247.151, -0.020, 83.096, 2.384
#> Crit. NSE[Q] = 0.7688
#> Steepest-descent local search in progress
#> Calibration completed (21 iterations, 234 runs)
#> Param = 257.238, 1.012, 88.235, 2.208
#> Crit. NSE[Q] = 0.7988
## simulation Param <- OutputsCalib$ParamFinalR OutputsModel <- RunModel(InputsModel = InputsModel, RunOptions = RunOptions, Param = Param, FUN = RunModel_GR4J) ## results preview plot(OutputsModel, Qobs = BasinObs$Qmm[Ind_Run])
## efficiency criterion: Nash-Sutcliffe Efficiency InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel, RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run]) OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
#> Crit. NSE[Q] = 0.7988
## efficiency criterion: Kling-Gupta Efficiency InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_KGE, InputsModel = InputsModel, RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run]) OutputsCrit <- ErrorCrit_KGE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
#> Crit. KGE[Q] = 0.7854
#> SubCrit. KGE[Q] cor(sim, obs, "pearson") = 0.8985 #> SubCrit. KGE[Q] sd(sim)/sd(obs) = 0.8161 #> SubCrit. KGE[Q] mean(sim)/mean(obs) = 1.0437