DSL Element objfunc
In luca calibration the objfunc element specifies an objective funtion to determine how close the simulation results are to observed values, which is used to calculate a criterion value for each point, a set of parameters, in N dimensional space.
...
// step definitions
step {
parameter {
jh_coef(lower:0.001, upper:0.02, strategy:MEAN)
}
objfunc(method:ABSDIF, timestep:DAILY) {
simulated(file:"out1.csv", table:"EFC-luca", column:"basin_cfs")
observed(file:"$oms_prj/data/data_lucatest.csv", table:"obs",
column:"runoff[0]")
}
// can add more
}
...
Element objfunc
Specification
Name |
objfunc - Defines an objective function
|
Properties | Description | Type | Required |
method | The objective function | NS, RMSE, ABSDIF, LOGABSDIF, PMCC (see note 1 below) | Yes |
timestep | The time step for simulated and observed values | DAILY | No (default: DAILY) |
weight | The objective function weight | Double (0 - 1.0) | No (see note 2 below)
|
Notes
- If the method name is not one of the constants above, it is assumed to be the name of a user defined Java class that (i) implements the oms3.ObjectiveFunction interface, and (ii) is available on the CLASSPATH. A modeler can implement one or more custom objective function and use them in a simulation.
- If the weight is not specified, all provided objective functions will be equally weighted. If specified, it has to be specified for all objective functions. The user has to ensure that the weights sum up to 1.0 for all objective functions.