Calibration {airGR} | R Documentation

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

### Description

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

### Usage

    Calibration(InputsModel, RunOptions, InputsCrit, CalibOptions, FUN_MOD,
      FUN_CRIT, FUN_CALIB = Calibration_Michel, FUN_TRANSFO = NULL,
      verbose = TRUE)

### Arguments

`InputsModel` | [object of class InputsModel] see `CreateInputsModel` for details
`RunOptions` | [object of class RunOptions] see `CreateRunOptions` for details
`InputsCrit` | [object of class InputsCrit] see `CreateInputsCrit` for details
`CalibOptions` | [object of class CalibOptions] see `CreateCalibOptions` for details
`FUN_MOD` | [function] hydrological model function (e.g. `RunModel_GR4J`, `RunModel_CemaNeigeGR4J`)
`FUN_CRIT` | [function] error criterion function (e.g. `ErrorCrit_RMSE`, `ErrorCrit_NSE`)
`FUN_CALIB` | (deprecated) [function] calibration algorithm function (e.g. `Calibration_Michel`), `default = Calibration_Michel`
`FUN_TRANSFO` | (optional) [function] model parameters transformation function, if the `FUN_MOD` used is native in the package `FUN_TRANSFO` is automatically defined
`verbose` | (optional) [boolean] boolean indicating if the function is run in verbose mode or not, default = `TRUE`

### Value

[list] see `Calibration_Michel`

### Author(s)

Laurent Coron, Olivier Delaigue

### See Also

`Calibration_Michel`, `ErrorCrit`, `TransfoParam`, `CreateInputsModel`, `CreateRunOptions`, `CreateInputsCrit`, `CreateCalibOptions`.

### Examples

    library(airGR)

    ## 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)

    ## 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)

    ## 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)

    ## 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)

[Package airGR version 1.3.2.23 Index]