OBF-file: Difference between revisions

From BlueM
Jump to navigation Jump to search
 
(31 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Vorlage:BlueM.Opt Eingabedateien}}
{{Template:BlueM.Opt input files}}
<div class="info_versionen">
<div class="info_versionen">
'''Versionen:'''
'''Versions:'''
* '''aktuell''' v1.4 (ab r1524)
* '''current''' v1.9
* [{{SERVER}}/bluem/wiki/index.php?title=ZIE-Datei&oldid=6096 v1.3] (ab r1436)
* [{{SERVER}}/index.php?title=OBF-file&oldid=7469 v1.8] (up to r1843)
* [{{SERVER}}/bluem/wiki/index.php?title=ZIE-Datei&oldid=5843 v1.2.x]
* [{{SERVER}}/index.php?title=ZIE-file&oldid=7401 v1.7] (as of r1785)
* [{{SERVER}}/index.php?title=ZIE-file&oldid=7274 v1.6] (as of r1762)
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=6776 v1.4, v1.5] (as of r1524)
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=6096 v1.3] (as of r1436)
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=5843 v1.2.x]
</div>
</div>
<div style="float:left; margin:0 10px 10px 0;">__TOC__</div>
<div style="float:left; margin:0 10px 10px 0;">__TOC__</div>
Diese Datei definiert die Ziele für die Optimierung. Jede Zeile entspricht einer Zielfunktion.
This file defines the objective functions for the optimization.  


Die Datei muss den gleichen Namen wie der Simulations-Datensatz haben, aber mit der Endung '''.ZIE''', und muss sich im Simulations-Arbeitsverzeichnis befinden. <br clear="all"/>
The file must have the same filename as the rest of the dataset's files but have the file extension '''<code>.OBF</code>''', and be located in the same directory as the rest of the dataset. (In version prior to v1.8, this file had the file extension <code>.ZIE</code>.)
 
<br clear="all"/>


The file is divided into several blocks, each of which is optional. Each block is identified by its heading:
The file is divided into several blocks, each of which is optional. Each block is identified by its heading:
* '''Series''': This block defines objective functions that are based on a comparison of simulation time series with a reference time series.
* '''Series''': This block defines objective functions that are based on a comparison of simulation time series with a reference time series.
* '''Values''': This block defines objective functions that are based on a comparison of simulation result values with a reference value (so far only functional for [[SWMM]] applications, see Bug 414).
* '''Values''': This block defines objective functions that are based on a comparison of simulation result values with a reference value (only for [[SWMM]] applications).
* '''ValueFromSeries''': This block defines objective functions that are based on a comparison of values that are computed from simulation time series with reference values.
* '''ValueFromSeries''': This block defines objective functions that are based on a comparison of values that are computed from simulated time series with reference values.
* '''IHA-Analysis''': This block defines objective functions based on the Indicators of Hydrologic Alteration (IHA).
* '''SKos''': Damages and Costs
* '''Aggregate''': Aggregate objective functions
* '''Aggregate''': Aggregate objective functions


Line 27: Line 31:
*------
*------
*
*
*|-----|---------------|---------|---|-------|-------|------------|---------|-------------------|------------------|----------------------------------------|---------|
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------------------------|----------|
*| Opt | Bezeichnung   | Gruppe  | R | OpFak | Datei | SimGröße  | ZielFkt |        Evaluierungs Zeitraum         |         Referenzreihe                  | IstWert |
*| Opt | Name            | Group   | D | OpFac | File  | SimResult  | ObjFunc |           Evaluation period         |       Reference series      | CurValue |
*|    |               |        |  |      |      |            |        |       Start      |    Ende        | RefGröße | Datei                      |         |
*|    |                 |        |  |      |      |            |        |       Start      |    End          | RefName  | RefFile        |         |
*|-----|---------------|---------|---|-------|-------|------------|---------|-------------------|------------------|----------|-----------------------------|---------|
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------|
  |  P | NashSutcliffe |        | - |      |  WEL  | B401       | NashSutt| 30.05.1984 00:00 | 18.06.1984 23:30 |         | Zeitreihe.zre               |         |
|  P  | Kling-Gupta      |        | + |      |  WEL  | B401_1AB  | KGE    | 30.05.1984 00:00 | 18.06.1984 23:30 |          | seriesfile.zre  |         |
*|-----|---------------|---------|---|-------|-------|------------|---------|-------------------|------------------|----------|-----------------------------|---------|
  |  S | NashSutcliffe   |        | + |      |  WEL  | B401_1AB  | NSE    | 30.05.1984 00:00 | 18.06.1984 23:30 |          | seriesfile.zre  |          |
|  S  | VolumeError      |        | - |      |  WEL  | B401_1AB  | BIAS    | 30.05.1984 00:00 | 18.06.1984 23:30 |          | seriesfile.zre  |          |
|  S  | MeanSquaredError |        | - |       | WEL  | B401_1AB  | MSE    | 30.05.1984 00:00 | 18.06.1984 23:30 |           | seriesfile.zre |         |
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------|
*
*
*Values
*Values
*------
*------
*
*
*|-----|---------------|---------|---|-------|-------|------------|---------|------------------|----------------|---------|---------|
*|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------|
*| Opt | Bezeichnung   | Gruppe  | R | OpFak | Datei |   SimGröße | ZielFkt | Zielgröße        | OptGröße      |         | IstWert |
*| Opt | Name          | Group   | D | OpFac | File  | SimResult | ObjFunc | TargetElement | TargetValue |         | CurValue |
*|    |              |        |  |      |      |           |        | (Block)         | (Spalte)       | RefWert |         |
*|    |              |        |  |      |      |           |        | (Block)       | (Column)   | RefValue |         |
*|-----|---------------|---------|---|-------|-------|------------|---------|------------------|----------------|---------|---------|
*|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------|
  |  P | OutfallLoad  |        | - |      |  RPT  |           | Diff  | OutfallNode     | AvgFlow       |    0   |         |
  |  S | OutfallLoad  |        | - |      |  RPT  |           | AE      | OutfallNode   | AvgFlow     |    0   |         |
  |  S  | Speicher      | Becken  | - |   + |  BLZ  | B401       |        | Speicher         | maxVolume     |         |         |
  |  S  | Storage401    | Storage | - |   +   |  BLZ  | B401     |        | Speicher     | maxVolume   |         |         |
  |  S  | Speicher      | Becken  | - |   + |  BLZ  | B701       |        | Speicher         | maxVolume     |         |         |
  |  S  | Storage701    | Storage | - |   +   |  BLZ  | B701     |        | Speicher     | maxVolume   |         |         |
*|-----|---------------|---------|---|-------|-------|------------|---------|------------------|----------------|---------|---------|
*|-----|---------------|---------|---|-------|-------|-----------|---------|-------------- |-------------|----------|----------|
*
*
*ValueFromSeries
*ValueFromSeries
*---------------
*---------------
*
*
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|-------------------|---------|
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|----------------------|----------|
*| Opt | Bezeichnung   | Gruppe  | R | OpFak | Datei |   SimGröße | ZielFkt | EvalZeitraum |  Referenzwert    | IstWert |
*| Opt | Name          | Group   | D | OpFac | File  | SimResult  | ObjFunc | Evaluation period | Reference value      | CurValue |
*|    |              |        |  |      |      |            |        | Start | Ende | WertTyp | RefWert |         |
*|    |              |        |  |      |      |            |        | Start   | Ende   | ValueType | RefValue |         |
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|---------|---------|---------|
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------|
  |  P | OutfallLoad  |        | - |      |  WEL  | B401_2AB  |  Diff   |       |     |        |        |        |
  |  S | OutfallLoad  |        | - |      |  WEL  | B401_1AB   | AE     |        |        |          |         |          |
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|---------|---------|---------|
  |  P  | PeakError     |        | - |      |  WEL  | S3 _1ZU  | SE      |        |        | Max       | 29.33    |          |
*
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------|
*IHA-Analysis
*------------
*
*|-----|---------------|---------|---|-------|-------|------------|-----------|-------------------------------|----------|
*| Opt | Bezeichnung  | Gruppe  | R | OpFak | Datei | SimGröße  | ZielFkt  |        Referenzreihe        | IstWert  |
*|    |              |        |  |      |      |            |          | RefGröße | Datei              |          |
*|-----|---------------|---------|---|-------|-------|------------|-----------|----------|--------------------|----------|
  |  P  | IHAGesamt     |        |   |      | WEL  | S09 _1ZU  |          | TOLF_1ZU | ZRE\Olef_orig.wel |          |
|  S  | IHAQuantity  |        |  |      | WEL   | S09 _1ZU  | Quantity | TOLF_1ZU | ZRE\Olef_orig.wel |          |
|  S  | IHAExtremes  |        |  |      | WEL  | S09 _1ZU  | Extremes  | TOLF_1ZU | ZRE\Olef_orig.wel  |          |
|  S  | IHATiming    |        |  |      | WEL  | S09 _1ZU  | Timing    | TOLF_1ZU | ZRE\Olef_orig.wel  |          |
|  S  | IHAFrequency  |        |   |       | WEL  | S09 _1ZU  | Frequency | TOLF_1ZU | ZRE\Olef_orig.wel  |          |
|  S  | IHARate      |        |  |      | WEL  | S09 _1ZU  | Rate      | TOLF_1ZU | ZRE\Olef_orig.wel  |          |
*|-----|---------------|---------|---|-------|-------|------------|-----------|----------|--------------------|----------|
*
*SKos
*----
*
*|-----|---------------|---------|---|-------|
*| Opt | Bezeichnung  | Gruppe  | R | OpFak |
*|    |              |        |  |      |
*|-----|---------------|---------|---|-------|
|  P  | Baukosten    |        |  |      |
*|-----|---------------|---------|---|-------|
*
*
*Aggregate
*Aggregate
*---------
*---------
*
*
*|-----|---------------|---------|---|
*|-----|--------------|---------|---|----------|
*| Opt | Bezeichnung   | Gruppe  | R |
*| Opt | Name        | Group   | D | CurValue |
*|-----|---------------|---------|---|
*|-----|--------------|---------|---|----------|
  |  P  | Beckengesamt  | Becken  |  |
  |  P  | TotalStorage | Storage |          |
*|-----|---------------|---------|---|
*|-----|--------------|---------|---|----------|
</bluem>
</bluem>


Die Breite der Spalten darf bei Bedarf angepasst werden, nur alle "|"-Zeichen müssen erhalten bleiben!
The width of the columns can be adjusted if necessary, but the column separators (<code>|</code>) must be preserved!


Ein "<code>*</code>" am Anfang einer Zeile führt dazu, dass die Zeile ignoriert wird.
An asterisk (<code>*</code>) at the beginning of the line causes the line to be ignored.


==Explanation==
==Description==
===Common parameters===
===Common parameters===
The blocks "Series", "Values", "ValuesFromSeries" and "IHA-Analyses" share a set of parameters.
The blocks "Series", "Values" and "ValuesFromSeries" share a set of parameters.
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"
|-  
|-  
! width="150" | Parameter !! width="500" | Beschreibung
! width="150" | Parameter !! width="600" | Description
|-
|-
| '''Opt''' || Angabe, ob es sich um ein ''Primärziel'' handelt (<code>P</code>) oder nicht (<code>N</code>). Wenn nicht, handelt es sich um ein ''Sekundärziel'', die zwar immer ausgewertet wird, aber nicht für die Optimierung herangezogen wird.
| '''Opt''' || Specifies, whether the objective function is a '''primary objective function''' (<code>P</code>) or a '''secondary objective function''' (<code>S</code>).<br/>Primary objective functions are used to calculate the fitness of invidual solutions.<br/>Secondary objective functions are evaluated, but are not used to determine the fitness of individuals. Secondary objective functions are useful for specifiying objective functions that are part of an aggregated objective function or for specifying values of interest that should be evaluated, but not optimized towards.
|-
|-
| '''Bezeichnung''' || Bezeichnung des Ziels (beliebig)
| '''Name''' || Arbitrary name of the objective function
|-
|-
| '''Gruppe''' || Group name for aggregated objective functions
| '''Group'''<br/>(optional) || Optional group name, only used for calculating aggregated objective functions. Objective functions with the same group name are aggregated to form one aggregated objective function.
|-
|-
| '''R'''ichtung
| '''D'''irection<br/>(optional)
|
|
*<code>-</code>: Die Zielfunktion soll minimiert werden (Standard)
Direction of desired optimization:
*<code>+</code>: Die Zielfunktion soll maximiert werden (hierzu wird der evaluierte Zielwert mit -1 multipliziert, siehe Bug 303)
*<code>-</code>: The objective function should be minimized (default)
*<code>+</code>: The objective function should be maximized (this causes the objective function values to be multiplied by <code>-1</code> internally).
|-
|-
| '''Op'''erator oder '''Fak'''tor
| '''Op'''erator or '''Fac'''tor<br/>(optional)
|
|
*<code>+</code>: Der Zielwert wird zur Gruppe addiert
Optional, only used for aggregated objective functions
*<code>-</code>: Der Zielwert wird von der Gruppe subtrahiert
*<code>+</code>: The objective function value is added to the group
*<code>2; 0.5; -10</code>: Ein Faktor, mit dem der Zielwert multipliziert und dann zur Gruppe addiert wird.
*<code>-</code>: The objective function value is subtracted from the group
*''number'': The objective function value is multiplied by the given number and then added to the group
|-
|-
| '''Datei''' || Die Ergebnisdatei, aus der das Simulationsergebnis ausgelesen werden soll [WEL, KWL, ASC, <del>BIL, PRB</del> (Bug 220)]
| '''File''' || The file extension of the simulation result file containing the simulation result from which the objective function should be calculated. Supported values:
* <code>WEL</code> (for [[BlueM.Sim]] or [[TALSIM]])
* <code>KWL</code> (only for [[BlueM.Sim]])
* <code>WBL</code> (only for [[TALSIM]])
* <code>KTR.WEL</code>, <code>TEMP.WEL</code>, <code>CHLO.WEL</code> or any other result file with the ending <code>.WEL</code> (only for [[TALSIM]])
* <code>ASC</code> (only for [[SMUSI]] and [[SWMM]])
|-
|-
| '''SimGröße''' || Die Simulationsgröße, auf dessen Basis der Qualitätswert berechnet werden soll
| '''SimResult''' || The identifier of the simulation result from which the objective function should be calculated.
|-
|-
| '''ZielFkt''' || Gibt an welche Zielfunktion verwendet werden soll.
| '''ObjFunc''' || Specifies which objective function to use.  
* <code>AbQuad</code>: Abweichung der Fehlerquadrate
Supported values for comparing values:
* <code>NashSutt</code>: Nash-Sutcliffe Koeffizient{{:Literatur:Nash-Sutcliffe_1970|}}
* <code>SE</code>: Squared error
:abgeänderte Formel mit <code>0 < E < &infin;</code> :
* <code>AE</code>: Absolute error
:<math>E=\frac{\sum_{t=1}^T\left(Q_{gem}^t-Q_{sim}^t\right)^2}{\sum_{t=1}^T\left(Q_{gem}^t-\overline{Q_{gem}}\right)^2}</math>
Supported values for comparing series:
* <code>Diff</code>: Differenz
* <code>MAE</code>: Mean abolute error
* <code>nÜber</code>: Relative Anzahl der Zeitschritte mit Überschreitung des Referenzwerts/der Referenzreihe [%]
* <code>SAE</code>: Sum of absolute errors
* <code>sÜber</code>: Summe der Überschreitungen des Referenzwerts/der Referenzreihe
* <code>MSE</code>: Mean squared error
* <code>nUnter</code>: Relative Anzahl der Zeitschritte mit Unterschreitung des Referenzwerts/der Referenzreihe [%]
* <code>SSE</code>: Sum of squared errors
* <code>sUnter</code>: Summe der Unterschreitungen des Referenzwerts/der Referenzreihe
* <code>NSE</code>: Nash-Sutcliffe efficiency{{:Literatur:Nash-Sutcliffe_1970|}}
* <code>Korr</code>: [http://de.wikipedia.org/wiki/Bestimmtheitsma%C3%9F Bestimmtheitsmaß] (einfache lineare Regression) <code>0 &le; R² &le; 1</code>:
:<code>-&infin; &le; NSE &le; 1</code>. Larger is better.
:<math>NSE=1-\frac{\sum_{t=1}^T\left(Q_{obs}^t-Q_{sim}^t\right)^2}{\sum_{t=1}^T\left(Q_{obs}^t-\overline{Q_{obs}}\right)^2}</math>
* <code>lnNSE</code>: Logarithmic Nash-Sutcliffe efficiency{{:Literatur:Nash-Sutcliffe_1970|}}
:<code>-&infin; &le; lnNSE &le; 1</code>. Larger is better.
:<math>lnNSE=1-\frac{\sum_{t=1}^T\left(ln(Q_{obs}^t+\epsilon)-ln(Q_{sim}^t+\epsilon)\right)^2}{\sum_{t=1}^T\left(ln(Q_{obs}^t+\epsilon)-\overline{ln(Q_{obs}+\epsilon)}\right)^2}</math>
<code>&epsilon;</code> is set to 1% of the average value of <code>Q<sub>obs</sub></code> as recommended by {{:Literatur:Pushpalatha_2012}}.
* <code>KGE</code>: Kling-Gupta efficiency{{:Literatur:Kling_2012|}}
:<code>-&infin; &le; KGE &le; 1</code>. Larger is better.
:<math>\text{KGE} = 1 - \sqrt{ (r - 1)^2 + (\beta - 1)^2 + (\gamma - 1)^2 }</math>
:with
::<code>r</code>: correlation coefficient
::<code>&beta;</code>: bias ratio
::<code>&gamma;</code>: variability ratio
* <code>NGT</code>: Relative number of timesteps in which the simulation result is larger than (exceeds) the value of the reference time series [%]
* <code>SGT</code>: Sum of the simulation values that are larger than the values of the reference time series
* <code>NLT</code>: Relative number of timesteps in which the simulation result is smaller than the value of the reference time series [%]
* <code>SLT</code>: Sum of the simulation values that are smaller than the values of the reference time series
* <code>DET</code>: [https://en.wikipedia.org/wiki/Coefficient_of_determination Coefficient of determination] (simple linear regression) <code>0 &le; R² &le; 1</code>:
:<math>R^2 = \frac{s^2_{xy}}{s^2_x \cdot s^2_y}</math>
:<math>R^2 = \frac{s^2_{xy}}{s^2_x \cdot s^2_y}</math>
* <code>Volf</code>: Volumenfehler [%]
* <code>BIAS</code>: Absolute volume error [%]
The following options are '''deprecated''' and only kept for backwards compatibility:
* <code>NashSutt</code>: Modified Nash-Sutcliffe efficiency
:modified formula with <code>0 &le; NSE<sub>mod</sub> &le; &infin;</code>. Smaller is better.
:<math>NSE_{mod}=1-NSE</math>
* <code>LnNashSutt</code>: Modified logarithmic Nash-Sutcliffe efficiency
:modified formula with <code>0 &le; lnNSE<sub>mod</sub> &le; &infin;</code>. Smaller is better.
:<math>lnNSE_{mod}=1-lnNSE</math>
|-
|-
| '''IstWert'''<br/>(optional) || Ein Wert, der in den Diagrammen als Vergleichswert angezeigt wird.
| '''CurValue'''<br/>(optional) || An optional value that is displayed in diagrams to serve as an indication of improvement.
|}
|}


==="Series"===
==="Series"===
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"
|-  
|-  
! width="150" | Parameter !! width="500" | Beschreibung
! width="150" | Parameter !! width="500" | Description
|-
|-
| '''EvalZeitraum'''<br/>(optional) || Bestimmt den Zeitraum, für den die Zielfunktion ausgewertet werden soll.<br/>
| '''Evaluation period'''<br/>(optional) || Specifies the simulation time period for which the objective function should be evaluated.<br/>
Format: <code>dd.mm.yyyy hh:mm</code><br/>
Format: <code>dd.mm.yyyy hh:mm</code><br/>
Wenn nicht angegeben, wird der Simulationszeitraum verwendet.
If '''Start''' and/or '''End''' are left empty, the start and/or end of the entire simulation time period is used.
|-
|-
| '''RefGröße'''<br/>(nur bei Referenzreihen und .WEL als Referenzdatei) || Gibt an welche Spalte der .WEL Referenzdatei zum Vergleich herangezogen werden soll.
| '''RefName'''<br/>(optional) || Specifies the name of the reference time series. Only necessary if the time series file specified under '''RefFile''' contains multiple series (e.g. [[WEL-format|WEL file]]).  
|-
|-
| '''RefDatei''' || Der Dateiname der Referenzreihe ([[ZRE-Format|.zre]] oder [[WEL-Format|.wel]])<br/><span style="color:red">'''Achtung:''' Die Zeitschrittweite der Referenzreihe muss mit dem Zeitschritt der Simulation übereinstimmen! (siehe Bug 218)</span>
| '''RefFile''' || The filename of the file containing the reference time series<br/><span style="color:red">'''Warning:''' The time step size of the reference series must be identical to that of the simulation result! (see [https://github.com/bluemodel/BlueM.Opt/issues/151 #151])</span>
|}
|}


==="Values"===
==="Values"===
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"
|-  
|-  
! width="150" | Parameter !! width="500" | Beschreibung
! width="150" | Parameter !! width="500" | Description
|-
|-
| '''Zielgröße (Block)''' || Angabe, in welchem Abschnitt (Block) sich die Zielvariable befindet.
| '''TargetElement (Block)''' || Specifies in which section (block) the target variable is located.
|-
|-
| '''OptGröße (Spalte)''' || Angabe der Zielvariablen im Block.
| '''TargetValue (Column)''' || Specifies the target variable within the block.
|-
|-
| '''RefWert''' || Der zu vergleichende Referenzwert
| '''RefValue''' || The reference value with which the simulation result should be compared.
|}
|}


Bei jeder Anwendung ist der Parameter OptGröße an die jeweilige Zielgröße gebunden, es gibt also nur bestimmte Kombinationen.
The parameter TargetElement is dependent on the parameter TargetValue and the simulation tool used, only the following combinations are possible:


:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"
|-  
|-  
! width="100" | Anwendung  !! width="200" | Zielgröße (Block) !! width="200" | OptGröße (Spalte)
! width="100" | Application !! width="200" | TargetElement (Block) !! width="200" | TargetValue (Column)
|-
|-
| '''SWMM''' || NodeFlooding || HoursFlooded
| '''SWMM''' || NodeFlooding || HoursFlooded
|-
|-
| '''SWMM''' || NodeFlooding || MaxFloodRate
| '''SWMM''' || NodeFlooding || FloodVolume
|-
|-
| '''SWMM''' || StorageVolume || AvgVolume
| '''SWMM''' || StorageVolume || AvgVolume
Line 205: Line 217:
|}
|}


Bei der OptGröße Pollutant_[no] können bis zu fünf Stoffe ausgewertet werden, für [no] ist dann entsprechend 01 / 02 / 03 / 04 / 05 einzusetzen, also z.B. Pollutant_02 für den zweiten Stoffparameter.
The TargetValue Pollutant_[no] allows for the evaluation of up to five substances, [no] can take values of 01, 02, 03, 04 or 05, so e.g. specify Pollutant_02 for the second substance.


==="ValueFromSeries"===
==="ValueFromSeries"===
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"
|-  
|-  
! width="150" | Parameter !! width="500" | Beschreibung
! width="150" | Parameter !! width="500" | Description
|-
| '''EvalZeitraum'''<br/>(optional) || Bestimmt den Zeitraum, für den die Zielfunktion ausgewertet werden soll.<br/>
Format: <code>dd.mm.yyyy hh:mm</code><br/>
Wenn nicht angegeben, wird der Simulationszeitraum verwendet.
|-
| '''WertTyp''' || Gibt an wie der Wert, der mit dem Referenzwert verglichen werden soll, aus dem Simulationsergebnis berechnet werden soll.
* <code>MaxWert</code>: Maximaler Wert des Simulationsergebnisses
* <code>MinWert</code>: Minimaler Wert des Simulationsergebnisses
* <code>Average</code>: Durchschnittlicher Wert des Simulationsergebnisses
* <code>AnfWert</code>: Der erste wert des Simulationsergebnisses
* <code>EndWert</code>: Der letzte Wert des Simulationsergebnisses
* <code>Summe</code>: Summe des Simulationsergebnisses
|-
| '''RefWert''' || Der zu vergleichende Referenzwert
|}
 
 
==="IHA-Analysis"===
In an IHA-Analysis, a simulated flow regime as specified under <code>Datei</code> / <code>SimGröße</code> (modified flow regime) is compared to the flow regime of the time series specified under <code>RefGröße</code> / <code>RefDatei</code> (natural flow regime). The hydrologic alteration (HA) calculated for each IHA parameter is transformed from the original values ranging between -1 and &infin; to values between 0 and &infin; as described [[rimax33:Aufbau_und_Optimierung_eines_dynamischen_Betriebsregelkonzeptes#Zielfunktion_hydrologische_Ver.C3.A4nderung | here]]. The transformed values are then averaged for each IHA parameter group.
 
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"
|-
! width="150" | Parameter !! width="500" | Beschreibung
|-
|-
| '''EvalZeitraum'''<br/>(optional) || Bestimmt den Zeitraum, für den die Zielfunktion ausgewertet werden soll.<br/>
| '''Evaluation period'''<br/>(optional) || Specifies the simulation time period for which the objective function should be evaluated.<br/>
Format: <code>dd.mm.yyyy hh:mm</code><br/>
Format: <code>dd.mm.yyyy hh:mm</code><br/>
Wenn nicht angegeben, wird der Simulationszeitraum verwendet.
If '''Start''' and/or '''End''' are left empty, the start and/or end of the entire simulation time period is used.
|-
| '''ZielFkt''' || Specifies whether the evaluation of IHA parameters should be restricted to a single IHA parameter group. An empty value indicates that the average of all IHA parameter values should be used.<br/>
Possible values:
* <code>&nbsp;</code> (empty)
* <code>Quantity</code>
* <code>Extremes</code>
* <code>Timing</code>
* <code>Frequency</code>
* <code>Rate</code>
|-
|-
| '''RefGröße'''<br/>(nur bei Referenzreihen und .WEL als Referenzdatei) || Gibt an welche Spalte der .WEL Referenzdatei zum Vergleich herangezogen werden soll.
| '''ValueType''' || Specifies how to calculate the value from the simulation result series. Supported values:
* <code>Max</code>: Maximum value of the simulation result
* <code>Min</code>: Minimum value of the simulation result
* <code>Avg</code>: Average value of the simulation result
* <code>Start</code>: First value of the simulation result
* <code>End</code>: Last value of the simulation result
* <code>Sum</code>: Sum of the simulation result
|-
|-
| '''RefDatei''' || Der Dateiname der Referenzreihe ([[ZRE-Format|.zre]] oder [[WEL-Format|.wel]])<br/><span style="color:red">'''Achtung:''' Die Zeitschrittweite der Referenzreihe muss mit dem Zeitschritt der Simulation übereinstimmen! (siehe Bug 218)</span>
| '''RefValue''' || The reference value with which the computed simulation result should be compared.
|}
|}


==Literaturangaben==
==Literature==
<references/>
<references/>


[[Kategorie:BlueM.Opt Eingabedateien]]
[[Category:BlueM.Opt input files|O]]

Latest revision as of 23:43, 4 October 2023

EVO.png BlueM.Opt | Download | Usage | Development

BlueM.Opt input files: MOD · OPT · OBF · CON


Versions:

This file defines the objective functions for the optimization.

The file must have the same filename as the rest of the dataset's files but have the file extension .OBF, and be located in the same directory as the rest of the dataset. (In version prior to v1.8, this file had the file extension .ZIE.)


The file is divided into several blocks, each of which is optional. Each block is identified by its heading:

  • Series: This block defines objective functions that are based on a comparison of simulation time series with a reference time series.
  • Values: This block defines objective functions that are based on a comparison of simulation result values with a reference value (only for SWMM applications).
  • ValueFromSeries: This block defines objective functions that are based on a comparison of values that are computed from simulated time series with reference values.
  • Aggregate: Aggregate objective functions

File format

*Objective functions
*===================
*
*Series
*------
*
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------------------------|----------|
*| Opt | Name             | Group   | D | OpFac | File  | SimResult  | ObjFunc |           Evaluation period         |       Reference series      | CurValue |
*|     |                  |         |   |       |       |            |         |       Start      |     End          | RefName   | RefFile         |          |
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------|
 |  P  | Kling-Gupta      |         | + |       |  WEL  | B401_1AB   | KGE     | 30.05.1984 00:00 | 18.06.1984 23:30 |           | seriesfile.zre  |          |
 |  S  | NashSutcliffe    |         | + |       |  WEL  | B401_1AB   | NSE     | 30.05.1984 00:00 | 18.06.1984 23:30 |           | seriesfile.zre  |          |
 |  S  | VolumeError      |         | - |       |  WEL  | B401_1AB   | BIAS    | 30.05.1984 00:00 | 18.06.1984 23:30 |           | seriesfile.zre  |          |
 |  S  | MeanSquaredError |         | - |       |  WEL  | B401_1AB   | MSE     | 30.05.1984 00:00 | 18.06.1984 23:30 |           | seriesfile.zre  |          |
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------|
*
*Values
*------
*
*|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------|
*| Opt | Name          | Group   | D | OpFac | File  | SimResult | ObjFunc | TargetElement | TargetValue |          | CurValue |
*|     |               |         |   |       |       |           |         | (Block)       | (Column)    | RefValue |          |
*|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------|
 |  S  | OutfallLoad   |         | - |       |  RPT  |           | AE      | OutfallNode   | AvgFlow     |     0    |          |
 |  S  | Storage401    | Storage | - |   +   |  BLZ  | B401      |         | Speicher      | maxVolume   |          |          |
 |  S  | Storage701    | Storage | - |   +   |  BLZ  | B701      |         | Speicher      | maxVolume   |          |          |
*|-----|---------------|---------|---|-------|-------|-----------|---------|-------------- |-------------|----------|----------|
*
*ValueFromSeries
*---------------
*
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|----------------------|----------|
*| Opt | Name          | Group   | D | OpFac | File  | SimResult  | ObjFunc | Evaluation period | Reference value      | CurValue |
*|     |               |         |   |       |       |            |         | Start   | Ende    | ValueType | RefValue |          |
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------|
 |  S  | OutfallLoad   |         | - |       |  WEL  | B401_1AB   | AE      |         |         |           |          |          |
 |  P  | PeakError     |         | - |       |  WEL  | S3  _1ZU   | SE      |         |         | Max       | 29.33    |          |
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------|
*
*Aggregate
*---------
*
*|-----|--------------|---------|---|----------|
*| Opt | Name         | Group   | D | CurValue |
*|-----|--------------|---------|---|----------|
 |  P  | TotalStorage | Storage |   |          |
*|-----|--------------|---------|---|----------|

The width of the columns can be adjusted if necessary, but the column separators (|) must be preserved!

An asterisk (*) at the beginning of the line causes the line to be ignored.

Description

Common parameters

The blocks "Series", "Values" and "ValuesFromSeries" share a set of parameters.

Parameter Description
Opt Specifies, whether the objective function is a primary objective function (P) or a secondary objective function (S).
Primary objective functions are used to calculate the fitness of invidual solutions.
Secondary objective functions are evaluated, but are not used to determine the fitness of individuals. Secondary objective functions are useful for specifiying objective functions that are part of an aggregated objective function or for specifying values of interest that should be evaluated, but not optimized towards.
Name Arbitrary name of the objective function
Group
(optional)
Optional group name, only used for calculating aggregated objective functions. Objective functions with the same group name are aggregated to form one aggregated objective function.
Direction
(optional)

Direction of desired optimization:

  • -: The objective function should be minimized (default)
  • +: The objective function should be maximized (this causes the objective function values to be multiplied by -1 internally).
Operator or Factor
(optional)

Optional, only used for aggregated objective functions

  • +: The objective function value is added to the group
  • -: The objective function value is subtracted from the group
  • number: The objective function value is multiplied by the given number and then added to the group
File The file extension of the simulation result file containing the simulation result from which the objective function should be calculated. Supported values:
SimResult The identifier of the simulation result from which the objective function should be calculated.
ObjFunc Specifies which objective function to use.

Supported values for comparing values:

  • SE: Squared error
  • AE: Absolute error

Supported values for comparing series:

  • MAE: Mean abolute error
  • SAE: Sum of absolute errors
  • MSE: Mean squared error
  • SSE: Sum of squared errors
  • NSE: Nash-Sutcliffe efficiency[1]
-∞ ≤ NSE ≤ 1. Larger is better.
[math]\displaystyle{ NSE=1-\frac{\sum_{t=1}^T\left(Q_{obs}^t-Q_{sim}^t\right)^2}{\sum_{t=1}^T\left(Q_{obs}^t-\overline{Q_{obs}}\right)^2} }[/math]
  • lnNSE: Logarithmic Nash-Sutcliffe efficiency[1]
-∞ ≤ lnNSE ≤ 1. Larger is better.
[math]\displaystyle{ lnNSE=1-\frac{\sum_{t=1}^T\left(ln(Q_{obs}^t+\epsilon)-ln(Q_{sim}^t+\epsilon)\right)^2}{\sum_{t=1}^T\left(ln(Q_{obs}^t+\epsilon)-\overline{ln(Q_{obs}+\epsilon)}\right)^2} }[/math]

ε is set to 1% of the average value of Qobs as recommended by Pushpalatha et al. (2012)[2].

  • KGE: Kling-Gupta efficiency[3]
-∞ ≤ KGE ≤ 1. Larger is better.
[math]\displaystyle{ \text{KGE} = 1 - \sqrt{ (r - 1)^2 + (\beta - 1)^2 + (\gamma - 1)^2 } }[/math]
with
r: correlation coefficient
β: bias ratio
γ: variability ratio
  • NGT: Relative number of timesteps in which the simulation result is larger than (exceeds) the value of the reference time series [%]
  • SGT: Sum of the simulation values that are larger than the values of the reference time series
  • NLT: Relative number of timesteps in which the simulation result is smaller than the value of the reference time series [%]
  • SLT: Sum of the simulation values that are smaller than the values of the reference time series
  • DET: Coefficient of determination (simple linear regression) 0 ≤ R² ≤ 1:
[math]\displaystyle{ R^2 = \frac{s^2_{xy}}{s^2_x \cdot s^2_y} }[/math]
  • BIAS: Absolute volume error [%]

The following options are deprecated and only kept for backwards compatibility:

  • NashSutt: Modified Nash-Sutcliffe efficiency
modified formula with 0 ≤ NSEmod ≤ ∞. Smaller is better.
[math]\displaystyle{ NSE_{mod}=1-NSE }[/math]
  • LnNashSutt: Modified logarithmic Nash-Sutcliffe efficiency
modified formula with 0 ≤ lnNSEmod ≤ ∞. Smaller is better.
[math]\displaystyle{ lnNSE_{mod}=1-lnNSE }[/math]
CurValue
(optional)
An optional value that is displayed in diagrams to serve as an indication of improvement.

"Series"

Parameter Description
Evaluation period
(optional)
Specifies the simulation time period for which the objective function should be evaluated.

Format: dd.mm.yyyy hh:mm
If Start and/or End are left empty, the start and/or end of the entire simulation time period is used.

RefName
(optional)
Specifies the name of the reference time series. Only necessary if the time series file specified under RefFile contains multiple series (e.g. WEL file).
RefFile The filename of the file containing the reference time series
Warning: The time step size of the reference series must be identical to that of the simulation result! (see #151)

"Values"

Parameter Description
TargetElement (Block) Specifies in which section (block) the target variable is located.
TargetValue (Column) Specifies the target variable within the block.
RefValue The reference value with which the simulation result should be compared.

The parameter TargetElement is dependent on the parameter TargetValue and the simulation tool used, only the following combinations are possible:

Application TargetElement (Block) TargetValue (Column)
SWMM NodeFlooding HoursFlooded
SWMM NodeFlooding FloodVolume
SWMM StorageVolume AvgVolume
SWMM StorageVolume AvgPctFull
SWMM StorageVolume MaxVolume
SWMM StorageVolume MaxPctFull
SWMM StorageVolume MaxOutflow
SWMM OutfallLoad MaxFlow
SWMM OutfallLoad FlowVolume
SWMM OutfallLoad Pollutant_[no]
SWMM Pumping OnlineTime
SWMM Pumping TotalEnergy
Smusi EntlVolumen SumVol
Smusi MaxAbfluss Qmax
Smusi EntlFracht CSBspez

The TargetValue Pollutant_[no] allows for the evaluation of up to five substances, [no] can take values of 01, 02, 03, 04 or 05, so e.g. specify Pollutant_02 for the second substance.

"ValueFromSeries"

Parameter Description
Evaluation period
(optional)
Specifies the simulation time period for which the objective function should be evaluated.

Format: dd.mm.yyyy hh:mm
If Start and/or End are left empty, the start and/or end of the entire simulation time period is used.

ValueType Specifies how to calculate the value from the simulation result series. Supported values:
  • Max: Maximum value of the simulation result
  • Min: Minimum value of the simulation result
  • Avg: Average value of the simulation result
  • Start: First value of the simulation result
  • End: Last value of the simulation result
  • Sum: Sum of the simulation result
RefValue The reference value with which the computed simulation result should be compared.

Literature

  1. 1.0 1.1 Nash, J. E. and Sutcliffe, J. V. (1970): River flow forecasting through conceptual models part I — A discussion of principles, Journal of Hydrology, 10 (3), 282–290, DOI:10.1016/0022-1694(70)90255-6.
  2. Pushpalatha, Raji, Perrin, Charles, Le Moine, Nicolas, Andréassian, Vazken (2012): A review of efficiency criteria suitable for evaluating low-flow simulations, Journal of Hydrology, Volumes 420–421, 2012, Pages 171-182, ISSN 0022-1694, https://doi.org/10.1016/j.jhydrol.2011.11.055.
  3. Kling, H., Fuchs, M., Paulin, M. (2012): Runoff conditions in the upper Danube basin under an ensemble of climate change scenarios, Journal of Hydrology, Volumes 424–425, Pages 264-277, ISSN 0022-1694, https://doi.org/10.1016/j.jhydrol.2012.01.011.