DSL Element luca{}
Luca (Let us calibrate) is a multiple-objective, stepwise, automated procedure for model calibration. The calibration procedure uses the Shuffled Complex Evolution global search algorithm to calibrate any OMS3 model. Luca defines a OMS simulation type for building and performing a procedure to calibrate parameters for a model. Although common in hydrologic modeling, the procedure is useful for other types of models. It integrates the following features:
• Multiple-objective, step-wise calibration
• Shuffled Complex Evolution (SCE), a global-search parameter optimization; and
• OMS model interoperability.
Shuffled Complex Evolution (SCE)
The purpose of Shuffled Complex Evolution (SCE) is to calibrate model parameters so that the model, which requires those parameters, gives better results. SCE consists of the following steps:
- Generating points. The set of parameters to be calibrated is considered as a point in N dimension space where N is the number of parameters. SCE generates many points, in which each parameter has a random value within its lower and upper bound values.
- Assigning criterion values. The model is run with every point (a set of parameters) generated in SCE Step 1 as an input. An objective function that determines how close the simulation results are to observed values is used to calculate a criterion value for each point.
- Creating complexes. The points are divided into smaller groups called complexes such that points of good and bad criterion values are equally distributed.
- Complex evolution. Each complex is evolved in the following way: Several points are selected from the complex to construct a sub-complex. In the sub-complex, a new point is generated, and a point that has a bad criterion value is replaced with this new point. This evolution step is repeated several times with different random points in a sub-complex.
- Combining complexes. All points in the complexes are combined together to be one group.
- SCE Steps (3) – (5) are called a shuffling loop. It is repeated until the results of the complex evolution meet one of the following end conditions:
- The number of model executions reaches the maximum number of model execution
- The percent change in the best criterion value of the current shuffling loop and that of several shuffling loops before is less than a specified percentage.
The points converge into a very small region, which is less than 0.1% of the space within the lower and upper bounds of parameters. The number of complexes used in SCE Step 3 decreases by 1 for every shuffling loop. This decrease stops when the number of complexes reaches the minimum number of complex required. The output is the parameter file containing the point (a parameter set) that has the best criterion value.
Luca Rounds and Steps
In the multi-step calibration technique, a step and a round are defined as follows:
- A step is associated with a parameter set, which contains one or more parameter values.
- A round consists of one or more steps.
Element luca{}
Specification
Name |
luca - Defines a Luca calibration simulation.
|
Properties | Description | Type | Required |
name | The name of the simulation | String | Yes |
Sub-Elements | Description | Type | Default | Occurrences |
model{} | The model to execute | | | One, required |
outputstrategy | Output management | | Standard output | Zero or one, optional |
resource | Simulation resource definition | String | | Zero or many |
calibration_start | Start date of calibration | ISO Date String | - | One, required |
rounds | Number of rounds | Integer | One | Zero or one, optional |
step{} | Calibration step definition | | | One or many |