https://wiki.bluemodel.org/api.php?action=feedcontributions&user=Froehlich&feedformat=atomBlueM - User contributions [en]2024-03-28T23:36:42ZUser contributionsMediaWiki 1.39.3https://wiki.bluemodel.org/index.php?title=BlueM.Sim_compilation&diff=7878BlueM.Sim compilation2024-03-02T12:46:35Z<p>Froehlich: mention Intel Fortran Compiler Extension for Visual Studio</p>
<hr />
<div>{{BlueM.Sim nav}}<br />
<div style="float:right; margin:0 0 10px 10px;">__TOC__</div><br />
<br />
==Compilation==<br />
BlueM.Sim is written in FORTRAN. Additional components such as [[BlueM.DLLAdapter]] and [[BlueM.Wave]] are written in C# and VB.NET, while [[BlueM.LaPipe]] is written in C++.<br />
<br />
Recommended software setup for compiling BlueM.Sim:<br />
* [https://visualstudio.microsoft.com/ Microsoft Visual Studio 2019 or 2022] (Community Edition is sufficient)<br />
** Select at least the "Desktop Development with C++" component<br />
* Intel Fortran Compiler:<br />
** [https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html Intel oneAPI Base Toolkit], select at a minimum "Intel Distribution for GDB". This provides the Fortran debugger support for Visual Studio.<br />
** [https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html Intel oneAPI HPC Toolkit], select at a minimum "Intel Fortran Compiler".<br />
:Or, use the new Intel Fortran Compiler Extension for Visual Studio: https://marketplace.visualstudio.com/items?itemName=intel-corporation.fortranonline<br />
<br />
Further reading:<br />
* [https://www.intel.com/content/www/us/en/developer/articles/guide/installing-microsoft-visual-studio-2019-for-use-with-intel-compilers.html Installing Microsoft Visual Studio* for Use with Intel® Compilers]<br />
* [https://www.intel.com/content/www/us/en/developer/articles/training/intel-fortran-compiler-in-ms-visual-studio.html How to Select oneAPI Intel® Fortran Compiler and Compiler Version in Microsoft* Visual Studio]<br />
<br />
==Compiler settings==<br />
[[Bild:RECLinBytes.jpg|thumb|Use Bytes as RECL]]<br />
Required compiler settings (''Flags''): <br />
* <code>/assume:byterecl</code><br />
: This causes Intel Fortran to interpret the record length of unformatted files (e.g. time series in [[BIN-Format]]) in bytes instead of in 4 byte units (longwords). This flag is set by setting ''Use Bytes as RECL unit for unformatted files:'' to '''Yes''' (see image). <br />
The compiler settings are stored in the project file <code>BlueM.Sim.vfproj</code> and normally do not have to be adjusted.<br />
<br />
==Build configurations==<br />
The following build configurations for BlueM.Sim are defined in the project file:<br />
* '''Debug''': Debug version, no optimizations<br />
* '''Release''': Release version with optimizations<br />
<br />
[[Kategorie:BlueM.Sim Development]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Template:BlueM.Opt_nav&diff=7877Template:BlueM.Opt nav2024-02-11T18:33:48Z<p>Froehlich: remove download link from navigation</p>
<hr />
<div><div style="text-align:center; background-color:#CFFFD1; padding:2px; margin-bottom:5px; border:1px solid black;"><br />
{{EVO Icon}} '''[[BlueM.Opt]]''' | [[BlueM.Opt Usage|Usage]] | [[BlueM.Opt Development|Development]]<br />
</div></div>Froehlichhttps://wiki.bluemodel.org/index.php?title=BlueM.Opt&diff=7876BlueM.Opt2024-02-11T18:33:11Z<p>Froehlich: /* Downloads */ Update download locations</p>
<hr />
<div>__NOTOC__<br />
{{BlueM.Opt_nav}}<br />
[[File:Simulation-based-optimization.png|thumb|Simulation-based optimization]]<br />
[[File:EVO Box screenshot.png|thumb|Screenshot]]<br />
[[File:Scatterplot screenshot.png|thumb|Scatterplot Matrix]]<br />
==Description==<br />
BlueM.Opt is an optimization framework that can be coupled with an arbitrary simulation software (only current requirement: input data and results are to be stored in ASCII format). The optimization parameters, objective functions and (optionally) contraints can be defined in a flexible manner.<br />
<br />
Optimization results are stored in a [[BlueM.Opt output files|database]]. <br />
<br />
BlueM.Opt integrates a graphing feature for displaying the optimization progress and results. Optimization results can also be analyzed in detail.<br />
<br />
Where possible, BlueM.Opt utilizes multithreading in order to evaluate multiple parameter sets simultaneously. <br />
<br />
List of currently implemented applications (simulation models):<br />
* '''[[BlueM.Sim]]'''<br />
* '''[[TALSIM|Talsim-NG]]'''<br />
* '''<del>[[SMUSI]]</del>''' (''currently not included [https://github.com/bluemodel/BlueM.Opt/issues/184 #184]'')<br />
* '''[[SWMM]]'''<br />
* '''[[Test problems]]'''<br />
* '''[[Traveling Salesman]]'''<br />
<br />
List of available methods (optimization algorithms):<br />
* '''[[PES]]''': Parametric Evolution Strategy<br />
* '''[[Hooke & Jeeves]]''': Hillclimbing Algorithm<br />
* '''[[MetaEvo]]''': multicritera, hybrid optimization algorithm<br />
* '''[[DDS]]''': Dynamically Dimensioned Search<br />
other included methods are<br />
* '''[[SensiPlot]]''': Sensitivity analysis (no optimization)<br />
* '''[[TSP]]''' (only for [[Traveling Salesman]])<br />
<br />
==Downloads==<br />
Download BlueM.Opt from GitHub: https://github.com/bluemodel/BlueM.Opt/releases/latest<br />
<br />
==Usage==<br />
* '''[[BlueM.Opt Usage]]'''<br />
** Documentation of the [[BlueM.Opt input files| input files]]<br />
** Documentation of the [[BlueM.Opt output files| output files]]<br />
<br />
==Literature==<br />
* {{:Literatur:Muschalla 2006}}<br />
* {{:Literatur:Muschalla 2008}}<br />
* {{:Literatur:Muschalla et al. 2009}}<br />
* {{:Literatur:Kerber_2009}}<br />
* {{:Literatur:Froehlich & Hübner 2009}}<br />
<br />
==Development==<br />
* [[BlueM.Opt Development]]<br />
** [[BlueM.Opt Begriffsklärung | Glossary]]<br />
** Documentation of the [[BlueM.Opt Code|code]]<br />
<br />
==Literature==<br />
<references/><br />
<br />
[[Category:BlueM.Opt]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=BlueM.Opt_Development&diff=7875BlueM.Opt Development2024-02-11T18:12:14Z<p>Froehlich: restructure</p>
<hr />
<div>{{BlueM.Opt_nav}}<br />
<div style="float:right; margin-left:10px;">__TOC__</div><br />
<br />
==Source code==<br />
BlueM.Opt is written in VB.NET and C#. The source code and issues are managed on GitHub: https://github.com/bluemodel/BlueM.Opt<br />
<br />
[[BlueM.Sim]] and [[BlueM.DLLAdapter]] as well as [[TALSIM|Talsim-NG]] and [[SWMM]] are included in the repository as precompiled binaries, and [[BlueM.Wave]] is included as a submodule.<br />
<br />
==Compilation==<br />
When compiling BlueM.Opt, a [https://www.steema.com/product/net TeeChart .NET] Pro license is required.<br />
<br />
For testing purposes, you can use the evaluation version of TeeChart by removing the files <code>My Project\TeeChart.licenses</code> from the project within Visual Studio or by adding a files in their place. This will allow you to compile, but any charts will be displayed with a watermark.<br />
<br />
<div class="info"><br />
'''Note:'''<br />
<br />
BlueM.Wave is set up to be output to a subdirectory <code>BlueM.Wave</code>. For this to work, the following settings have been made:<br />
* set <code><probing privatePath="BlueM.Wave"/></code> in <code>app.config</code><br />
* set the "Copy Local" property of all project references to Wave to False (corresponds to <code><Private>False</Private></code> in the project files).<br />
* the main Wave assembly output is copied to the subdirectory in the post-build event<br />
* additional assemblies used by Wave that are unfortunately automatically output to the main output folder (no idea why?) are moved to the subdirectory individually, also in the post-build event<br />
<br />
This could probably be done better, but that's the way it is right now.<br />
</div><br />
<br />
===Documentation===<br />
* [[BlueM.Opt Code|Code]]<br />
* [[BlueM.Opt Multithreading|Multithreading]]<br />
* [[BlueM.Opt Monitor|Monitor]]<br />
* [[BlueM.Opt Evaluierung|Evaluation]]<br />
<br />
[[Kategorie:BlueM.Opt Development]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=BlueM.Opt_Development&diff=7874BlueM.Opt Development2024-02-11T18:10:23Z<p>Froehlich: update and add some explanations</p>
<hr />
<div>{{BlueM.Opt_nav}}<br />
<div style="float:right; margin-left:10px;">__TOC__</div><br />
<br />
==Source code==<br />
BlueM.Opt is written in VB.NET and C#. The source code and issues are managed on GitHub: https://github.com/bluemodel/BlueM.Opt<br />
<br />
[[BlueM.Sim]] and [[BlueM.DLLAdapter]] as well as [[TALSIM|Talsim-NG]] and [[SWMM]] are included in the repository as precompiled binaries, and [[BlueM.Wave]] is included as a submodule.<br />
<br />
When compiling BlueM.Opt and BlueM.Wave, a [https://www.steema.com/product/net TeeChart .NET] Pro license is required.<br />
<br />
For testing purposes, you can use the evaluation version of TeeChart by removing the file <code>My Project\TeeChart.licenses</code> from the project within Visual Studio or by adding an empty file in its place. This will allow you to compile, but any charts will be displayed with a watermark.<br />
<br />
==Compilation==<br />
To compile, open the solution file <code>BlueM.Opt.sln</code> in Visual Studio and just build it.<br />
<br />
<div class="info"><br />
'''Note:'''<br />
<br />
BlueM.Wave is set up to be output to a subdirectory <code>BlueM.Wave</code>. For this to work, the following settings have been made:<br />
* set <code><probing privatePath="BlueM.Wave"/></code> in <code>app.config</code><br />
* set the "Copy Local" property of all project references to Wave to False (corresponds to <code><Private>False</Private></code> in the project files).<br />
* the main Wave assembly output is copied to the subdirectory in the post-build event<br />
* additional assemblies used by Wave that are unfortunately automatically output to the main output folder (no idea why?) are moved to the subdirectory individually, also in the post-build event<br />
<br />
This could probably be done better, but that's the way it is right now.<br />
</div><br />
<br />
===Documentation===<br />
* [[BlueM.Opt Code|Code]]<br />
* [[BlueM.Opt Multithreading|Multithreading]]<br />
* [[BlueM.Opt Monitor|Monitor]]<br />
* [[BlueM.Opt Evaluierung|Evaluation]]<br />
<br />
[[Kategorie:BlueM.Opt Development]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=TAL-File&diff=7873TAL-File2024-01-26T12:01:33Z<p>Froehlich: /* Reservoir characteristics */</p>
<hr />
<div>{{Eingabedateien}}<br />
<br />
<div style="float:left; margin-right:10px;">__TOC__</div><br />
<br />
<big>Dams</big><br />
<br />
''also refer to [[Speicher|Theory: Reservoirs]] and[[Betriebsregelkonzept|Theorie:Betriebsregelkonzept]]''<br />
<br />
The TAL-File is split into sections.<br clear="all"/><br />
<br />
==General Information==<br />
<bluem><br />
*Talsperren (*.TAL)<br />
*==================<br />
*<br />
*|------|------------|------------|-----|----------|-----------------------|-----------------------|<br />
*| Bez | Anfangs- | Maximal | Ge- | Sohle | HW-Entlastung | Krone |<br />
*| | volumen | volumen |wicht| | Kante S-Vol | Kante S-Vol |<br />
*|------|------------|------------|-----|----------|-----------------------|-----------------------|<br />
*| | [Tsd.cbm] | [Tsd.cbm] | - | [mNN] | [mNN] | [Tsd.cbm] | [mNN] | [Tsd.cbm] |<br />
*|-<-->-|-<-------->-|-<-------->-|-<->-|-<------>-|-<------>-|-<-------->-|-<------>-|-<-------->-|<br />
| T100 | 25060 | 30641 | 1 | 208 | 251.8 | 25060 | 255 | 30641 |<br />
*|------|------------|------------|-----|----------|-----------------------|-----------------------|<br />
</bluem><br />
<br />
This segment is self-explanatory. If there is more than one dam this line must be repeated for each dam.<br/><br />
The Identification of a dam must begin with a '''T'''.<br />
<br />
===Translations===<br />
Bez = ID of the Dam <br /><br />
Anfangsvolumen = initial volume <br /><br />
Maximalvolumen = maximum volume <br /><br />
Sohle = (reservoir)bed height <br /><br />
HW-Entlastung = spillway <br /><br />
Kante = crest height <br /><br />
S-Vol = reservoir volume <br /><br />
Krone = crest <br /><br />
<br />
==Number of functions==<br />
<bluem><br />
0Funktionen für T100<br />
*===================<br />
*<br />
*|------|------------------------------|------------------------------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
*| Bez.-| Beschreibung | F u n k t i o n e n | | | | | |<br />
*|------| | Anz. Anz. Anz. Anz. | | | | | |<br />
*| - | | Spe Str Grz Abh | | | | | |<br />
*|-<-->-|-<-------------------------->-|-<->--<->--<->--<->-----------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
| A | B | C D E F | | | |<br />
*| |------------------------------|------------------------------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
</bluem><br />
*A: ID of the dam (same as in the first segment)<br />
*B: Description of the dam (optional)<br />
*C: Number of reservoir surface area functions (has to correspond to the number of functions defined in the relevant section below)<br />
*D: Number of dam-reservoir regulation functions (has to correspond to the number of functions defined in the relevant section below)<br />
*E: Number of limit functions (has to correspond to the number of functions defined in the relevant section below)<br />
*F: Number of internal dependencies<br />
<br />
==Reservoir characteristics==<br />
<bluem><br />
1| |----------------------- SPEICHERKENNLINIE -------------------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
*| | | WSP Volumen Oberfl. | | | | | |<br />
*| | | mNN [0-1] ha | | | | | |<br />
*| |------------------------------|-<----->-<-------->-<------>--------|------|-----|------------|------------------------------|--------------------------------------------|<br />
| | | 208 0 0 | | | | | |<br />
| | | 210 0.00032636 1 | | | | | |<br />
| | | 215 0.01338076 7.5 | | | | | |<br />
| | | 220 0.02676153 15.5 | | | | | |<br />
| | | 225 0.05874482 29.7 | | | | | |<br />
| | | 230 0.1220587 43.1 | | | | | |<br />
| | | 235 0.2056069 63.9 | | | | | |<br />
| | | 240 0.3348455 88 | | | | | |<br />
| | | 245 0.499331 116.9 | | | | | |<br />
| | | 250 0.719624 149.5 | | | | | |<br />
| | | 251.8 0.8178584 162.5 | | | | | |<br />
| | | 255 1 190.5 | | | | | |<br />
*| |------------------------------|------------------------------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
</bluem><br />
;Attention!<br />
:There can only be a maximum of 40 supporting points (see [https://github.com/bluemodel/BlueM.Sim/issues/32 #32]). If more supporting points are entered, an error will occur. Fehler 2231:<br />
<pre style="margin-left:25px;"><br />
2231 Beim Systemelement ..................... XXXX<br />
bei den Funktionswerten fuer ........... Vol<br />
muss der letzte Volumen-Wert = Smax sein!<br />
</pre><br />
<br />
===Translations===<br />
WSP = water level <br /><br />
Volumen = volume <br /><br />
Oberfläche = surface area<br />
<br />
==Limit functions==<br />
<bluem><br />
2| |------------------------- GRENZFUNKTIONEN -------------------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
*| | | | | | | | |<br />
*| | Funktion | lfd Fkt | Min-Wert Zeiger | | | | | |<br />
*| | | Nr. Kng | m3/s Nr. | | | y-Pos | | |<br />
*| |<------------------>|-<->-<->-|-<------>-<->-----------------------|------|-----|-<-------->-|<-------------><------------->|--------------------------------------------|<br />
| | A B C D E F G H |<br />
*| |--------------------|---------|------------------------------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
</bluem><br />
*A: Description of the limit function<br />
*B: ongoing number (starts with 1)<br />
*C: Unique ID of function<br />
*D: minimum discharge<br />
*E: ???<br />
*F, G, H: nur für graphische Oberfläche<br />
<br />
The function itself is defined in the [[FKT-Datei|FKT-File]] under its unique ID.<br />
<br />
''(Bei mir wurde der Wert für den minimalen Abfluss nicht ordnungsgemäß aus TALSIM exportiert! [[Benutzer:Froehlich|Froehlich]] 11:50, 9. Aug 2006 (CEST))''<br />
<br />
==Reservoir surface area function==<br />
<bluem><br />
3| |----------------- SPEICHEROBERFLAECHEN - FUNKTIONEN ---------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
*| | | | | | | | (1) | (2) | | | |<br />
*| | Funktion |Bezug ist| Fkt | | Kng | JGG WGG TGG | QM |Datei| | | |<br />
*| | | Oberfl. | Kng | | 1/2 | - - - | mm/d | Nr. | | | |<br />
*| |<------------------>|---------|-<->-|----------|-<->-|-<->-<->-<->-|<---->|-<->-|------------|------------------------------|--------------------------------------------|<br />
| | A | | B | | C | D E F | G | H | | | |<br />
*| |--------------------|---------|-----|----------|-----|-------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
</bluem><br />
Reservoir surface area functions are inputs and outputs into/ out of the reservoir, which are proportional to the reservoir surface area, e.g. evaporation and precipitation out of or into the reservoir. Like this the calculation of the infiltration can be achieved in a simplified way. <br / ><br />
*A: Name/Description of the reservoir surface area function <br />
*B: Unique ID of the function<br />
*C: Calculation type: [1 | 2]<br />
'''Calculation type 1: mean discharge with optional [[TSIM.JGG | annual]]/[[TSIM.WGG | weekly]]/[[TSIM.TGG | daily pattern]]''':<br />
*D, E, F: Number of the [[TSIM.JGG | annual]]/[[TSIM.WGG | weekly]]/[[TSIM.TGG | daily pattern]]to be used<br />
*G: Mean value of the function [mm/d is converted internaly to m³/s.ha]<br />
'''Calculation type 2: time series out of a file'''<br />
*H: Number of the utilized time series(defined in [[EXT-Datei]])<br />
<br />
==Dam-reservoir regulation functions==<br />
<bluem><br />
4| |----------------------- STEUER - FUNKTIONEN ---|-----|-------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
*| | | | | |A |(3,4,5) | (1) | (2) | | | W E R T E A E N D E R U N G |<br />
*| | Funktion |gibt KTR | Fkt | S Z F Grz| Kng |HYA J W T | QM |Datei| | Achsenbeschriftung |Kng|Intervall Bezugsdatum | konst.Gang |<br />
*| | |nach ID | Kng | J/N ID | 1-5 |ID GG GG GG| m3/s | Nr. | y-Pos | X-Achse Y-Achse |0-3|Typ Faktor Bezugsdatum |JGG WGG TGG |<br />
*| |<------------------>|<-->-<-->|-<->-|-+-+-+-<->|+<->-|<->-<-><-><->|<---->|-<->-|-<-------->-|<-------------><------------->|<->|<->-<---->-TT.MM.JJJJ hh:mm|<->-<->-<->-|<br />
| | A | B C | D | E F G H |I J | K L M N | O | P | Q | R S | T| U V | W | X Y Z |<br />
*| |--------------------|---------|-----|----------|-----|-------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
</bluem><br />
<br />
The function itself is defined in the [[FKT-Datei|FKT-File]] under its distinctive identifier.<br />
*A: Name/Description of the dam-reservoir regulation function<br />
*B: ID the downstream receptacle, which receives the discharge(must be defined as downstream receptacle in the[[SYS-Datei|SYS-File]]!)<br />
*C: (optional) ID of the control function, with which the function shall be scaled (multiplied) (refer to [[KTR-Datei|-File]])<br />
*D: unique ID of the function <br />
*E: Interpolation between supporting points? (J/N)<br />
*F: Interpolation in time? (J/N)<br />
*G: [[Funktionsarten|function-type]]<br />
*H: (optional) Number of the limit(ing) function(refer to [[#Grenzfunktionen | limit functions]]), which is assigned to this dam-reservoir regulation function.<br />
*I: dam-reservoir regulation function active(J/N) (if no, the discharge of this function will be set to 0)<br />
*J: Calculation type (Scaletype):<br />
'''Calculation type 0: direct discharge''' ''(does not work, refer to Bug 15)''<br />
<br />
'''Calculation type 1: mean discharge with optional [[TSIM.JGG | annual]]/[[TSIM.WGG | weekly]]/[[TSIM.TGG | daily pattern]]''':<br />
*L, M, N: Number of the utilized [[TSIM.JGG | annual]]/[[TSIM.WGG | weekly]]/[[TSIM.TGG | daily pattern]]<br />
*O: Mean discharge value <br />
'''Calculation type 2: time series:'''<br />
*P: Number of the utilized time series (defined in [[EXT-Datei|EXT-File]])<br />
'''Calculation type 3, 4 and 5: Hydraulics: overflow (3), pipe (4) and turbine (5):'''<br/><br />
*K: ID of the hydraulic element (refer to the[[HYA-Datei|HYA-File]], the calculation type chosen there must be identical with the chosen type here!)<br />
<br />
*Q, R, S: for graphical surfaces<br />
*T, U, V, W, X, Y, Z: Value alteration (?) ''(does not work, refer to Bug 5)''<br />
<br />
==Internal dependencies==<br />
<bluem><br />
5| |--------------------- INTERNE ABHAENGIGKEITEN ---------------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
*| | | | | | | |<br />
*| | Fkt | QM JGG WGG TGG | Speicher JGG WGG | Fkt Fkt Fkt Fkt | | | | | |<br />
*| | Kng | cbm/s | Tsd.cbm | Nam Nam Nam Nam | | | | | |<br />
*| |-<->-|--<---->-<->-<->-<->-|--<-------->-<->-<->-|-<->-<->-<->-<->-|------|-----|------------|------------------------------|--------------------------------------------|<br />
| | A |>= B C D E |<= F G H | I J K L | | | | | |<br />
*|------|-----|---------------------|---------------------|-----------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
</bluem><br />
'''A - E: First condition:'''<br />
*A: Function ID<br />
*B: Discharge, which must be surpassed in order for a reduction to occur<br />
*C, D, E: Number of the utilized [[TSIM.JGG | annual]]/[[TSIM.WGG | weekly]]/[[TSIM.TGG | daily pattern]] to scale QM <br />
'''F - H: Second condition:'''<br />
*F: reservoir volume,which must be undershot in order for a reduction to occur <br />
*G, H: Number of the utilized [[TSIM.JGG | annual]]/[[TSIM.WGG | weekly pattern]] to scale the reservoir volume <br />
'''I - L: function ID and order of the dam-reservoir regulation functions, which are to be reduced'''<br />
<br />
===Example===<br />
<bluem><br />
5| |--------------------- INTERNE ABHAENGIGKEITEN ---------------------|------|-----|------------|------------------------------|--------------------------------------------|<br />
*| | | | | | | |<br />
*| | Fkt | QM JGG WGG TGG | Speicher JGG WGG | Fkt Fkt Fkt Fkt | | | | | |<br />
*| | Kng | cbm/s | Tsd.cbm | Nam Nam Nam Nam | | | | | |<br />
*| |-<->-|--<---->-<->-<->-<->-|--<-------->-<->-<->-|-<->-<->-<->-<->-|------|-----|------------|------------------------------|--------------------------------------------| <br />
| | QH1 |>= 0 |<= 30641 | QM1 QM2 QM3 | | | | | |<br />
</bluem><br />
;Meaning:If the Discharge from QH1 is greater or equal to 0 and the reservoir volume is less or equal to 30641 thsd. m³, then reduce QM1 and if this is not sufficient, also reduce QM2 and then QM3 until a total reduction amounting to the value of QH1 has been achieved.<br />
<br />
[[Category:BlueM.Sim input files]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Talk:OBF-file&diff=7872Talk:OBF-file2023-12-16T09:32:29Z<p>Froehlich: links</p>
<hr />
<div><div style="float:right; margin-left:10px">__TOC__</div><br />
==Eingabedateien im XML-Format==<br />
https://github.com/bluemodel/BlueM.Opt/issues/197<br />
<br />
;Anmerkung: Wenn möglich sollten alle Werte in Attribute gepackt werden. Deshalb ist z.B. das Element "Bezeichnung" besser als Attribut dargestellt (es sei den, es sollen noch Unterelemente gebildet werden).<br />
<br />
So könnte eine ZIE-Datei im XML-Format aussehen:<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<Zielliste xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://130.83.196.154/BlueM"><br />
<Ziel isOpt="true" ZielTyp="Reihe"><br />
<Bezeichnung>SumFehlQ</Bezeichnung><br />
<ZielFkt>AbQuad</ZielFkt><br />
<SimReihe><br />
<Datei Spalte="S3 _1ZU">WEL</Datei><br />
</SimReihe><br />
<Evaluierungszeitraum><br />
<Start>1959-01-01T07:30:00</Start><br />
<Ende>1973-12-31T07:30:00</Ende><br />
</Evaluierungszeitraum><br />
<ZielReihe><br />
<Datei Spalte="">ZRE\OlefT_Zufl.zre</Datei><br />
</ZielReihe><br />
</Ziel><br />
<Ziel isOpt="true" ZielTyp="Reihe"><br />
<Bezeichnung>VolFehler</Bezeichnung><br />
<ZielFkt>Volf</ZielFkt><br />
<SimReihe><br />
<Datei Spalte="S3 _1ZU">WEL</Datei><br />
</SimReihe><br />
<Evaluierungszeitraum><br />
<Start>1959-01-01T07:30:00</Start><br />
<Ende>1973-12-31T07:30:00</Ende><br />
</Evaluierungszeitraum><br />
<ZielReihe><br />
<Datei Spalte="">ZRE\OlefT_Zufl.zre</Datei><br />
</ZielReihe><br />
</Ziel><br />
</Zielliste><br />
</source><br />
<br />
und so das zugehörige Schema (erstellt mit [http://msdn2.microsoft.com/en-us/library/x6c1kb0s(VS.80).aspx xsd.exe]):<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="Zielliste" nillable="true" type="Zielliste" /><br />
<xs:complexType name="Zielliste"><br />
<xs:sequence><br />
<xs:element minOccurs="0" maxOccurs="1" name="List_Ziele" type="ArrayOfZiel" /><br />
</xs:sequence><br />
</xs:complexType><br />
<xs:complexType name="ArrayOfZiel"><br />
<xs:sequence><br />
<xs:element minOccurs="0" maxOccurs="unbounded" name="Ziel" nillable="true" type="Ziel" /><br />
</xs:sequence><br />
</xs:complexType><br />
<xs:complexType name="Ziel"><br />
<xs:sequence><br />
<xs:element minOccurs="0" maxOccurs="1" name="Bezeichnung" type="xs:string" /><br />
<xs:element minOccurs="0" maxOccurs="1" name="ZielFkt" type="xs:string" /><br />
<xs:element minOccurs="0" maxOccurs="1" name="SimReihe" type="Reihe" /><br />
<xs:element minOccurs="1" maxOccurs="1" name="Evaluierungszeitraum" type="Struct_EvalZeitraum" /><br />
<xs:element minOccurs="0" maxOccurs="1" name="ZielWert" type="ZielWert" /><br />
<xs:element minOccurs="0" maxOccurs="1" name="ZielReihe" type="Reihe" /><br />
</xs:sequence><br />
<xs:attribute name="isOpt" type="xs:boolean" use="required" /><br />
<xs:attribute name="ZielTyp" type="xs:string" /><br />
</xs:complexType><br />
<xs:complexType name="Reihe"><br />
<xs:sequence><br />
<xs:element minOccurs="1" maxOccurs="1" name="Datei" type="Struct_ReihenInfo" /><br />
</xs:sequence><br />
</xs:complexType><br />
<xs:complexType name="Struct_ReihenInfo"><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="Spalte" type="xs:string" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
<xs:complexType name="Struct_EvalZeitraum"><br />
<xs:sequence><br />
<xs:element minOccurs="1" maxOccurs="1" name="Start" type="xs:dateTime" /><br />
<xs:element minOccurs="1" maxOccurs="1" name="Ende" type="xs:dateTime" /><br />
</xs:sequence><br />
</xs:complexType><br />
<xs:complexType name="ZielWert"><br />
<xs:simpleContent><br />
<xs:extension base="xs:double"><br />
<xs:attribute name="WertTyp" type="xs:string" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:schema><br />
</source><br />
<br />
==Aggregation von Zielen==<br />
https://github.com/bluemodel/BlueM.Opt/issues/176<br />
<br />
'''ZIE-Datei:'''<br />
<pre><br />
*Optimierungsziele<br />
*=================<br />
*<br />
*|------|--------------|---------|-------|----------|---------|--------------|--------------------|---------------------------|<br />
*| Eval | Ziel/Subziel | ZielTyp | Datei | SimGröße | ZielFkt | EvalZeitraum | Zielwert ODER Zielreihe |<br />
*| | | | | | | Start | Ende | WertTyp | ZielWert | ZielGröße | Datei |<br />
*|------|--------------|---------|-------|----------|---------|-------|------|---------|----------|-----------|---------------|<br />
| J | QSpitze | Wert | WEL | S100_1ZU | Diff | | | MaxWert | 50 | | |<br />
| J | SumFehlQ | Reihe | WEL | S100_1ZU | AbQuad | | | | | | Zeitreihe.zre |<br />
| N | Volfehler1 | Reihe | WEL | S100_1ZU | Volf | | | | | S100_ZU | Zeitreihe.wel |<br />
| N | Volfehler2 | Reihe | WEL | S101_1ZU | Volf | | | | | S101_ZU | Zeitreihe.wel |<br />
*|------|--------------|---------|-------|----------|---------|-------|------|---------|----------|-----------|---------------|<br />
</pre><br />
'''ZIG-Datei:'''<br />
<pre><br />
*Optimierungszielgruppen<br />
*=======================<br />
*<br />
*|------|-----------------|----------|------------|--------|<br />
*| Eval | Gruppe | Operator | Ziel | Faktor |<br />
*| | | | | |<br />
*|------|-----------------|----------|------------|--------|<br />
| J | VolfehlerMittel | + | Volfehler1 | 0.5 |<br />
| | | + | Volfehler2 | 0.5 |<br />
*|------|-----------------|----------|------------|--------|<br />
</pre><br />
<br />
<pre><br />
*Optimierungszielgruppen<br />
*=======================<br />
*<br />
*|------|-----------------|--------------|----------|--------|<br />
*| Eval | Ziel | SubZiel | Operator | Faktor |<br />
*| | | | | |<br />
*|------|-----------------|--------------|----------|--------|<br />
| J | VolfehlerMittel | Volfehler1 | + | 0.5 |<br />
| | VolfehlerMittel | Volfehler2 | + | 0.5 |<br />
*|------|-----------------|--------------|----------|--------|<br />
</pre> <br />
<br />
<br />
Dieses Beispiel hätte 3 Optimierungsziele (2 normale und ein aggregiertes), wobei das aggregierte aus dem Mittelwert von zwei normalen gebildet wird. ([[Benutzer:Froehlich|Froehlich]] 16:39, 12. Dez. 2007 (CET))</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Talk:OBF-file&diff=7871Talk:OBF-file2023-12-16T09:28:26Z<p>Froehlich: formatting</p>
<hr />
<div><div style="float:right; margin-left:10px">__TOC__</div><br />
==XML==<br />
<br />
;Anmerkung: Wenn möglich sollten alle Werte in Attribute gepackt werden. Deshalb ist z.B. das Element "Bezeichnung" besser als Attribut dargestellt (es sei den, es sollen noch Unterelemente gebildet werden).<br />
<br />
<br />
<br />
So könnte eine ZIE-Datei im XML-Format aussehen:<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<Zielliste xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://130.83.196.154/BlueM"><br />
<Ziel isOpt="true" ZielTyp="Reihe"><br />
<Bezeichnung>SumFehlQ</Bezeichnung><br />
<ZielFkt>AbQuad</ZielFkt><br />
<SimReihe><br />
<Datei Spalte="S3 _1ZU">WEL</Datei><br />
</SimReihe><br />
<Evaluierungszeitraum><br />
<Start>1959-01-01T07:30:00</Start><br />
<Ende>1973-12-31T07:30:00</Ende><br />
</Evaluierungszeitraum><br />
<ZielReihe><br />
<Datei Spalte="">ZRE\OlefT_Zufl.zre</Datei><br />
</ZielReihe><br />
</Ziel><br />
<Ziel isOpt="true" ZielTyp="Reihe"><br />
<Bezeichnung>VolFehler</Bezeichnung><br />
<ZielFkt>Volf</ZielFkt><br />
<SimReihe><br />
<Datei Spalte="S3 _1ZU">WEL</Datei><br />
</SimReihe><br />
<Evaluierungszeitraum><br />
<Start>1959-01-01T07:30:00</Start><br />
<Ende>1973-12-31T07:30:00</Ende><br />
</Evaluierungszeitraum><br />
<ZielReihe><br />
<Datei Spalte="">ZRE\OlefT_Zufl.zre</Datei><br />
</ZielReihe><br />
</Ziel><br />
</Zielliste><br />
</source><br />
<br />
und so das zugehörige Schema (erstellt mit [http://msdn2.microsoft.com/en-us/library/x6c1kb0s(VS.80).aspx xsd.exe]):<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="Zielliste" nillable="true" type="Zielliste" /><br />
<xs:complexType name="Zielliste"><br />
<xs:sequence><br />
<xs:element minOccurs="0" maxOccurs="1" name="List_Ziele" type="ArrayOfZiel" /><br />
</xs:sequence><br />
</xs:complexType><br />
<xs:complexType name="ArrayOfZiel"><br />
<xs:sequence><br />
<xs:element minOccurs="0" maxOccurs="unbounded" name="Ziel" nillable="true" type="Ziel" /><br />
</xs:sequence><br />
</xs:complexType><br />
<xs:complexType name="Ziel"><br />
<xs:sequence><br />
<xs:element minOccurs="0" maxOccurs="1" name="Bezeichnung" type="xs:string" /><br />
<xs:element minOccurs="0" maxOccurs="1" name="ZielFkt" type="xs:string" /><br />
<xs:element minOccurs="0" maxOccurs="1" name="SimReihe" type="Reihe" /><br />
<xs:element minOccurs="1" maxOccurs="1" name="Evaluierungszeitraum" type="Struct_EvalZeitraum" /><br />
<xs:element minOccurs="0" maxOccurs="1" name="ZielWert" type="ZielWert" /><br />
<xs:element minOccurs="0" maxOccurs="1" name="ZielReihe" type="Reihe" /><br />
</xs:sequence><br />
<xs:attribute name="isOpt" type="xs:boolean" use="required" /><br />
<xs:attribute name="ZielTyp" type="xs:string" /><br />
</xs:complexType><br />
<xs:complexType name="Reihe"><br />
<xs:sequence><br />
<xs:element minOccurs="1" maxOccurs="1" name="Datei" type="Struct_ReihenInfo" /><br />
</xs:sequence><br />
</xs:complexType><br />
<xs:complexType name="Struct_ReihenInfo"><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="Spalte" type="xs:string" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
<xs:complexType name="Struct_EvalZeitraum"><br />
<xs:sequence><br />
<xs:element minOccurs="1" maxOccurs="1" name="Start" type="xs:dateTime" /><br />
<xs:element minOccurs="1" maxOccurs="1" name="Ende" type="xs:dateTime" /><br />
</xs:sequence><br />
</xs:complexType><br />
<xs:complexType name="ZielWert"><br />
<xs:simpleContent><br />
<xs:extension base="xs:double"><br />
<xs:attribute name="WertTyp" type="xs:string" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:schema><br />
</source><br />
<br />
==Aggregation von Zielen==<br />
Siehe Bug 256<br />
<br />
'''ZIE-Datei:'''<br />
<pre><br />
*Optimierungsziele<br />
*=================<br />
*<br />
*|------|--------------|---------|-------|----------|---------|--------------|--------------------|---------------------------|<br />
*| Eval | Ziel/Subziel | ZielTyp | Datei | SimGröße | ZielFkt | EvalZeitraum | Zielwert ODER Zielreihe |<br />
*| | | | | | | Start | Ende | WertTyp | ZielWert | ZielGröße | Datei |<br />
*|------|--------------|---------|-------|----------|---------|-------|------|---------|----------|-----------|---------------|<br />
| J | QSpitze | Wert | WEL | S100_1ZU | Diff | | | MaxWert | 50 | | |<br />
| J | SumFehlQ | Reihe | WEL | S100_1ZU | AbQuad | | | | | | Zeitreihe.zre |<br />
| N | Volfehler1 | Reihe | WEL | S100_1ZU | Volf | | | | | S100_ZU | Zeitreihe.wel |<br />
| N | Volfehler2 | Reihe | WEL | S101_1ZU | Volf | | | | | S101_ZU | Zeitreihe.wel |<br />
*|------|--------------|---------|-------|----------|---------|-------|------|---------|----------|-----------|---------------|<br />
</pre><br />
'''ZIG-Datei:'''<br />
<pre><br />
*Optimierungszielgruppen<br />
*=======================<br />
*<br />
*|------|-----------------|----------|------------|--------|<br />
*| Eval | Gruppe | Operator | Ziel | Faktor |<br />
*| | | | | |<br />
*|------|-----------------|----------|------------|--------|<br />
| J | VolfehlerMittel | + | Volfehler1 | 0.5 |<br />
| | | + | Volfehler2 | 0.5 |<br />
*|------|-----------------|----------|------------|--------|<br />
</pre><br />
<br />
<pre><br />
*Optimierungszielgruppen<br />
*=======================<br />
*<br />
*|------|-----------------|--------------|----------|--------|<br />
*| Eval | Ziel | SubZiel | Operator | Faktor |<br />
*| | | | | |<br />
*|------|-----------------|--------------|----------|--------|<br />
| J | VolfehlerMittel | Volfehler1 | + | 0.5 |<br />
| | VolfehlerMittel | Volfehler2 | + | 0.5 |<br />
*|------|-----------------|--------------|----------|--------|<br />
</pre> <br />
<br />
<br />
Dieses Beispiel hätte 3 Optimierungsziele (2 normale und ein aggregiertes), wobei das aggregierte aus dem Mittelwert von zwei normalen gebildet wird. ([[Benutzer:Froehlich|Froehlich]] 16:39, 12. Dez. 2007 (CET))</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=BlueM.Wave&diff=7870BlueM.Wave2023-12-11T19:10:32Z<p>Froehlich: /* link= Import time series */ restructure and add HYBNAT</p>
<hr />
<div>{{Wave_nav}}<br />
<div style="float:right; margin:0.5em 0 0.5em 0.5em;">__TOC__</div><br />
[[Bild:Wave_screenshot.png|thumb|Screenshot]]<br />
<br />
==Description==<br />
Wave is a tool for displaying, analyzing and importing and exporting time series.<br />
<br />
==Features==<br />
<br />
===[[File:Icon_chart_line_add.png|link=]] Import time series===<br />
'''Supported file formats:'''<br />
* [[WEL-Format_(BlueM)|BlueM.Sim result files]]: <code>*.WEL</code>, <code>*.KWL</code><br />
* [[DFS0-Format | DHI MIKE DFS0 format]]: <code>*.DFS0</code><br />
* [[WEL-Format (GISMO)|GISMO result files]]: <code>*.WEL</code><br />
* [[HYBNAT result files]]: <code>*.WEL</code>, <code>*.BCS</code><br />
* [[HYDRO_AS-2D result files]]: <code>*.DAT</code><br />
* [[Hystem-Extran file formats]]: Regendatei (<code>*.REG</code>, <code>*.DAT</code>) and Wellendatei (<code>*.WEL</code>)<br />
* [[JAMS result files]]: JAMS/J2000/J2K/J2000g timeseries results (<code>*.DAT</code>)<br />
* [[PRMS result files]]: annual summary, monthly summary, DPOUT (<code>*.OUT</code>) and statistic variables result file (<code>*.DAT</code>)<br />
* [[SMUSI file formats]]: <code>*.ASC</code> result files and <code>*.REG</code> input files<br />
* [[SWMM file formats]]: SWMM5 binary output format (<code>*.OUT</code>), routing interface files (<code>*.TXT</code>), LID report files (<code>*.TXT</code>), SWMM time series files (<code>*.DAT</code>)<br />
* [[SMB-Format | SIMBA file format]]: <code>*.SMB</code><br />
* [[Talsim-NG file formats]]: time series results (<code>*.WEL</code>, <code>*.WBL</code>) and binary input time series (<code>*.BIN</code>)<br />
* [[UVF-Format | UVF format]]: Universelles Variables Format (<code>*.UVF</code>)<br />
* [[ZRE-Format | ZRE format]]: <code>*.ZRE</code><br />
* [[ZRXP-Format | ZRXP format]]: <code>*.ZRX</code>, <code>*.ZRXP</code><br />
* and [[CSV-Format|generic text files]] (e.g. <code>*.CSV</code>, <code>*.TXT</code>)<br />
<br />
[[File:Icon_chart_curve_link.png|link=]] Use a '''[[Wave project file]]''' (<code>*.WVP</code>) to quickly import multiple series from multiple files at once.<br />
<br />
'''Drag&Drop''' files onto Wave to import them quickly.<br />
<br />
It is also possible to manually [[File:Icon_chart_line_edit.png|link=]] '''enter time series''', or [[File:Icon_page_paste.png|link=]] '''paste clipboard data''' from Excel and [http://www.talsim.de Talsim-NG].<br />
<br />
===Visualization & Navigation===<br />
Display time series in a highly [[File:Icon_chart_curve_edit.png|link=]] '''customizable chart''' (provided by [http://www.steema.com/products/teechart/overview.html TeeChart])<br />
<br />
[[Image:TimeSeriesValues.png|thumb|Time series values and markers ([[Media:TimeSeriesValues_animation.gif|animation]])]]<br />
* [[File:Icon_application_split.png|link=]] An '''overview''' chart shows you the full extent of the time series and the period currently displayed in the main chart.<br />
* [[File:Icons_zoom.png|link=]] Use the toolbar buttons or the mouse to '''zoom or pan''' either in the main chart or the overview chart. Use the left mouse button or the mouse scroll wheel to zoom, hold the right mouse button to pan.<br />
* [[File:Icon_controller.png|link=]] Use the '''navigation bar''' to set a custom display period and to navigate by a fixed time period or to the start/end [[File:Icons_navigate.png|link=]].<br />
* [[File:Icon_table.png|link=]] Display tabular '''time series values''' and optionally show markers [[File:Icon_comments.png|link=]] for selected rows in the main chart<br />
<br />
===Series management===<br />
[[File:Wave TimeSeries Properties.png|thumb|right|Time series properties]]<br />
* [[File:Icon_accept_split.png|link=]] Quickly switch time series on and off using the '''check boxes''' in the legend or activate/deactivate all series at once using the button in the toolbar.<br />
* [[File:Icon_table_edit.png|link=]] Display and edit '''time series properties''' in a table with optional statistics.<br />
* [[File:Icon_shape_align_bottom.png|link=]] '''Manage axes''': When importing time series, series are automatically assigned to different axes depending on their unit.<br />
<br />
===Save & Export===<br />
[[File:Icon_chart_curve_link.png|link=]] '''Save [[Wave project file|project files]]''' (<code>*.wvp</code>) with references to time series from file sources.<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Save charts''' to the native TeeChart format (TEN-File) to preserve all data and formatting (for exceptions, see known issues below).<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Export charts''' as image files (PNG, JPG, BMP). <br />
<br />
[[File:Icon page copy.png|link=]] '''Copy''' the chart to the clipboard as a PNG image.<br />
<br />
'''[[File:Icon_page_white_go.png|link=]] Export time series''' to the following formats:<br />
* [[CSV-Format | CSV]]<br />
* [[BIN-Format | BIN]]<br />
* [[DFS0-Format | DFS0]]<br />
* [[SWMM file formats|SWMM routing interface and time series files]]<br />
* [[SMUSI REG-Format | SMUSI REG]]<br />
* [[UVF-Format | UVF]]<br />
* [[ZRE-Format | ZRE]]<br />
* [[ZRXP-Format | ZRXP]]<br />
<br />
===Edit & Analyze===<br />
Editing functions:<br />
* [[File:Icon_cut.png|link=]] '''Cut''' time series to a specified time period or to another series' extent<br />
* [[File:Icon_error_convert.png|link=]] '''Convert error values''' of a time series<br />
* [[File:Icon_arrow_join_right.png|link=]] '''Merge''' multiple time series into one while respecting priorities<br />
<br />
'''[[File:Icon_calculator.png|link=]] Analysis functions:'''<br />
* [[Wave:Accumulate|Accumulate]]: Compute a new time series that contains the cumulative values of the original series<br />
* [[Wave:Autocorrelation|Autocorrelation]]: Autocorrelation analysis for analyzing time series periodicity<br />
* [[Wave:AnnualRecurrenceProbability|Annual recurrence probability]]: Annual recurrence probability of annual maxima using plotting position<br />
* [[Wave:AnnualStatistics|Annual statistics]]: Compute various statistical parameters (min, max, average) of a time series<br />
* [[Wave:Calculator|Calculator]]: Performs a mathematical operation on one or more time series<br />
* [[Wave:ChangeTimestep|Change timestep]]: Make a time series equidistant with a user-specified timestep<br />
* [[Wave:Comparison|Comparison]]: Plot two time series against each other and compute a linear regression line<br />
* [[Wave:Decumulate|Decumulate]]: Compute a new time series that consists of the decumulated values of the original series<br />
* [[Wave:DoubleSumCurve|Double sum curve]]<br />
* [[Wave:GoodnessOfFit|Goodness of fit]] (volume error, sum of squares error, Nash-Sutcliffe efficiency, etc.)<br />
* [[Wave:Histogram|Histogram]]<br />
* [[Wave:LinearRegression|Linear regression]]: Fills gaps (NaN values and missing timestamps) in one time series by applying a linear regression relationship with a second time series<br />
* [[Wave:MonthlyStatistics|Monthly statistics]]<br />
* [[Wave:TimestepAnalysis|Timestep analysis]]: Calculate the timestep between nodes in a user-specified unit<br />
<br />
<gallery mode="packed-hover"><br />
File:Wave Cumulative.png|Accumulate|link=Wave:Accumulate<br />
File:Wave Autocorrelation.png|Autocorrelation|link=Wave:Autocorrelation<br />
File:Wave AnnualRecurrenceProbability.png|Annual recurrence probability|link=Wave:AnnualRecurrenceProbability<br />
File:Wave AnnualStatistics BoundingBoxes.png|Annual statistics|link=Wave:AnnualStatistics<br />
File:Wave Calculator.png|Calculator|link=Wave:Calculator<br />
File:Wave ChangeTimestep Instantaneous.png|Change timestep<br />
File:Wave Comparison.png|Comparison|link=Wave:ChangeTimestep<br />
File:Wave Decumulate.png|Decumulate|link=Wave:Decumulate<br />
File:Doppelsummenanalyse.png|Double sum curve|link=Wave:DoubleSumCurve<br />
File:GoodnessOfFit ResultChart.png|Goodness of fit|link=Wave:GoodnessOfFit<br />
File:Wave_Statistik.png|Histogram|link=Wave:Histogram<br />
File:Wave LinearRegression.png|Linear regression|link=Wave:LinearRegression<br />
File:Monatsauswertung.png|Monthly statistics|link=Wave:MonthlyStatistics<br />
</gallery><br />
<br />
==Comandline interface==<br />
Wave has a commandline interface for importing and converting time series, see [[Wave:CLI]] for details.<br />
<br />
==API==<br />
The '''API''' is used e.g. by [[BlueM.Opt]] and [[BlueM.Win]] but allows using Wave from within any .NET project.<br />
<br />
See the API docs here: https://bluemodel.github.io/BlueM.Wave/api/<br />
<br />
==Notes==<br />
===Error values===<br />
[[File:Wave NaN visualization.png|thumb|right|Visualization of NaN values]]<br />
* "NaN", "Infinity" and "-Infinity" in import files are recognized and accepted.<br />
* Unreadable values are converted to NaN during import.<br />
* If a file format has a specified error value (e.g. -777 for [[ZRXP]] and [[UVF]]), then any corresponding entries are also converted to NaN.<br />
* NaN values are displayed as gaps in the chart and are ignored when performing analysis functions.<br />
* Custom, user-specified values can be converted to NaN [[File:Icon_error_convert.png|link=]] after import.<br />
* NaN values can be visualized in the chart by pressing a [[File:Icon_chart_line_error.png|link=]] button (see screenshot).<br />
<br />
===Volume property===<br />
Wave calculates and displays the Volume property of a time series (e.g. for [[Wave:GoodnessOfFit|GoodnessOfFit]] analysis or in the properties window), if a time series' unit ends with "/s", "/min", "/h" or "/d" (e.g. "m³/s", "mm/h", etc.) and its interpretation is either Instantaneous, BlockLeft or BlockRight, by integrating the values over time while respecting the interpretation. Time series with other units or interpretations only have the Sum property. NaN nodes cause the adjacent timesteps to not contribute to the volume (depends on the interpretation).<br />
<br />
===Supported date range===<br />
Wave supports dates between 01.01.0001 and 31.12.9999.<br />
<br />
The chart display can only show dates between 01.01.0100 and 31.12.9000. Time series with dates before 01.01.0100 and after 31.12.9000 are cut for display purposes, but all nodes are still available for analysis and export and are shown in the properties and time series values dialogs. (#68)<br />
<br />
==Downloads==<br />
Download BlueM.Wave from GitHub: https://github.com/bluemodel/BlueM.Wave/releases/latest<br />
<br />
==Known Issues==<br />
* When saving a chart to the native TEN format of TeeChart, certain Timeseries properties such as Interpretation, Datasource and sometimes Unit are lost. <br />
* <s>When saving a chart to the native TEN format of TeeChart, any NaN values contained in the series are lost (i.e. the nodes with the NaN values are omitted from the series).</s> ''fixed in v1.9.1''<br />
* more issues: https://github.com/bluemodel/BlueM.Wave/issues<br />
<br />
==Development==<br />
* [https://github.com/bluemodel/BlueM.Wave/blob/master/source/CHANGELOG.md Changelog]<br />
* [[Wave:Development|Development]]<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=HYBNAT_result_files&diff=7869HYBNAT result files2023-12-11T19:09:00Z<p>Froehlich: skeleton</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
[https://bgswasser.de/kompetenzen/software/hybnat/ '''HYBNAT'''] is a hydrological model developed by [https://bgswasser.de/ BGS Wasser GmbH]. It outputs the following result files which can be read by BlueM.Wave:<br />
<br />
* BCS <br />
* WEL<br />
<br />
==BCS==<br />
[...]<br />
<br />
==WEL==<br />
[...]<br />
<br />
[[Category:BlueM.Wave]]<br />
[[Category:Timeseries formats]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Talsim-NG_file_formats&diff=7868Talsim-NG file formats2023-12-11T18:59:54Z<p>Froehlich: Created page with "{{Wave_nav}} [http://www.talsim.de '''Talsim-NG'''] is a hydrological river basin model developed by [https://www.sydro.de Sydro Consult GmbH]. It uses the following file formats supported by Wave: * Binary input timeseries (<code>*.BIN</code>) * Time series results in WEL format (<code>*.WEL</code>) * Time series results in binary WBL-Format (<code>*.WBL</code>) Category:BlueM.Wave Category:Timeseries formats"</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
[http://www.talsim.de '''Talsim-NG'''] is a hydrological river basin model developed by [https://www.sydro.de Sydro Consult GmbH]. It uses the following file formats supported by Wave:<br />
<br />
* [[BIN-Format|Binary input timeseries]] (<code>*.BIN</code>)<br />
* Time series results in [[WEL-Format (TALSIM)|WEL format]] (<code>*.WEL</code>)<br />
* Time series results in binary [[WBL-Format|WBL-Format]] (<code>*.WBL</code>)<br />
<br />
[[Category:BlueM.Wave]]<br />
[[Category:Timeseries formats]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=WEL-Format_(TALSIM)&diff=7867WEL-Format (TALSIM)2023-12-11T18:57:20Z<p>Froehlich: </p>
<hr />
<div>{{Wave_nav}}<br />
<br />
The Talsim WEL format for time series results is nearly identical to the [[WEL-Format_(BlueM) | BlueM.Sim WEL]] format.<br />
<br />
[[Category:BlueM.Wave]]<br />
[[Category:Timeseries formats]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=WEL-Format_(GISMO)&diff=7866WEL-Format (GISMO)2023-12-11T18:49:58Z<p>Froehlich: Formatting</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
'''GISMO''' is a software product developed by [https://www.sydro.de SYDRO Consult GmbH]. GISMO is used for integrated modeling and immission based modeling. A separate result file is written for every system object if specified in the system settings, either a CSV file (columns are separated by semicolons) or as ASC files (columns are separated by spaces).<br />
<br />
Currently, due to different output formatting of GISMO, only some of the results in the ASC file format are supported by BlueM.Wave:<br />
* Rural catchment areas (AUS) &rArr; <code>A*.ASC</code><br />
* Stormwater retention structures (BEK) &rArr; <code>B*.ASC</code><br />
* Individual discharges (EIN) &rArr; <code>E*.ASC</code><br />
* Urban catchment areas (FKA) &rArr; <code>F*.ASC</code><br />
* Transport routes (GER) &rArr; <code>G*.ASC</code><br />
* Stormwater overflow structures (RUE) &rArr; <code>R*.ASC</code><br />
<br />
Examples of the supported result files can be found in [https://github.com/bluemodel/BlueM.Datasets/tree/master/Wave/GISMO BlueM.Datasets/Wave/GISMO]<br />
<br />
[[Category:Wave]]<br />
[[Category:Timeseries formats]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave:AnnualRecurrenceProbability&diff=7865Wave:AnnualRecurrenceProbability2023-12-09T14:35:23Z<p>Froehlich: add reference</p>
<hr />
<div>{{wave_nav}}<br />
<br />
[[File:Wave AnnualRecurrenceProbability.png|thumb|right]]<br />
This analysis method calculates the annual recurrence probility and the return period of annual maxima using the {{:Literature:Weibull_1939|Weibull}} [https://glossary.ametsoc.org/wiki/Plotting_position plotting position] method.<br />
<br />
First, the maximum value in each hydrological year is determined. The probability of recurrence and the return period are then calculated using the following formulas:<br />
<br />
<math>P = \frac{m}{n+1}</math><br />
<br />
and<br />
<br />
<math>T = \frac{1}{P}</math><br />
<br />
where<br />
:<code>m</code>: ordered rank of the event (1 = largest event)<br />
:<code>n</code>: number of total events/years<br />
:<code>P</code>: probability of exceedance [-]<br />
:<code>T</code>: return period [years]<br />
<br />
The analysis results are a result table with all events and their properties, a result chart plotting the return periods and a result series in the main chart containing only the annual maxima.<br />
<br />
==Notes==<br />
* If two or more events have the same maximum value, they are assigned the same rank and thus have the same recurrence probability<br />
<br />
==Literature==<br />
<references/><br />
<br />
[[Category:BlueM.Wave|A]]<br />
[[Category:Analysis functions|A]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Literature:Weibull_1939&diff=7864Literature:Weibull 19392023-12-09T14:34:33Z<p>Froehlich: Created page with "{{{1|Weibull (1939)}}}<ref name="weibull_1939">'''Weibull. W.''' (1939): A statistical theory of strength of materials. Ingeniorsvetenskapsakademiens Handlingar, 151, 1–45</ref><noinclude> ==Vorschau== <references/> </noinclude>"</p>
<hr />
<div>{{{1|Weibull (1939)}}}<ref name="weibull_1939">'''Weibull. W.''' (1939): A statistical theory of strength of materials. Ingeniorsvetenskapsakademiens Handlingar, 151, 1–45</ref><noinclude><br />
==Vorschau==<br />
<references/><br />
</noinclude></div>Froehlichhttps://wiki.bluemodel.org/index.php?title=BlueM.Wave&diff=7863BlueM.Wave2023-12-09T14:03:41Z<p>Froehlich: /* Edit & Analyze */</p>
<hr />
<div>{{Wave_nav}}<br />
<div style="float:right; margin:0.5em 0 0.5em 0.5em;">__TOC__</div><br />
[[Bild:Wave_screenshot.png|thumb|Screenshot]]<br />
<br />
==Description==<br />
Wave is a tool for displaying, analyzing and importing and exporting time series.<br />
<br />
==Features==<br />
<br />
===[[File:Icon_chart_line_add.png|link=]] Import time series===<br />
'''Supported file formats:'''<br />
* [[WEL-Format | WEL]] ([[WEL-Format (BlueM)|BlueM]], [[WEL-Format (GISMO)|GISMO]], [[WEL-Format (TALSIM)|TALSIM]])<br />
* [[BIN-Format | SYDRO binary format (BIN)]]<br />
* [[DFS0-Format | DHI MIKE DFS0 format]]<br />
* [[HYDRO_AS-2D result files]]<br />
* [[Hystem-Extran file formats]]: "Regendatei" and "Wellendatei"<br />
* [[JAMS result files]]: JAMS/J2000/J2K/J2000g timeseries results<br />
* [[PRMS result files]]<br />
* [[SMUSI file formats]]: ASC result files and REG files<br />
* [[SWMM file formats]]: SWMM5 binary output format, routing interface files, LID report files, SWMM time series files<br />
* [[SMB-Format | SMB]] <br />
* [[UVF-Format | UVF]] (Universelles Variables Format)<br />
* [[ZRE-Format | ZRE format]]<br />
* [[ZRXP-Format | ZRXP format]]<br />
* and generic text files (e.g. [[CSV-Format|CSV]] and [[TXT-Format|TXT]])<br />
<br />
[[File:Icon_chart_curve_link.png|link=]] Use a '''[[Wave project file]]''' (<code>*.wvp</code>) to quickly import multiple series from multiple files at once.<br />
<br />
'''Drag&Drop''' files onto Wave to import them quickly.<br />
<br />
It is also possible to manually [[File:Icon_chart_line_edit.png|link=]] '''enter time series''', or [[File:Icon_page_paste.png|link=]] '''paste clipboard data''' from Excel and [http://www.talsim.de Talsim-NG].<br />
<br />
===Visualization & Navigation===<br />
Display time series in a highly [[File:Icon_chart_curve_edit.png|link=]] '''customizable chart''' (provided by [http://www.steema.com/products/teechart/overview.html TeeChart])<br />
<br />
[[Image:TimeSeriesValues.png|thumb|Time series values and markers ([[Media:TimeSeriesValues_animation.gif|animation]])]]<br />
* [[File:Icon_application_split.png|link=]] An '''overview''' chart shows you the full extent of the time series and the period currently displayed in the main chart.<br />
* [[File:Icons_zoom.png|link=]] Use the toolbar buttons or the mouse to '''zoom or pan''' either in the main chart or the overview chart. Use the left mouse button or the mouse scroll wheel to zoom, hold the right mouse button to pan.<br />
* [[File:Icon_controller.png|link=]] Use the '''navigation bar''' to set a custom display period and to navigate by a fixed time period or to the start/end [[File:Icons_navigate.png|link=]].<br />
* [[File:Icon_table.png|link=]] Display tabular '''time series values''' and optionally show markers [[File:Icon_comments.png|link=]] for selected rows in the main chart<br />
<br />
===Series management===<br />
[[File:Wave TimeSeries Properties.png|thumb|right|Time series properties]]<br />
* [[File:Icon_accept_split.png|link=]] Quickly switch time series on and off using the '''check boxes''' in the legend or activate/deactivate all series at once using the button in the toolbar.<br />
* [[File:Icon_table_edit.png|link=]] Display and edit '''time series properties''' in a table with optional statistics.<br />
* [[File:Icon_shape_align_bottom.png|link=]] '''Manage axes''': When importing time series, series are automatically assigned to different axes depending on their unit.<br />
<br />
===Save & Export===<br />
[[File:Icon_chart_curve_link.png|link=]] '''Save [[Wave project file|project files]]''' (<code>*.wvp</code>) with references to time series from file sources.<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Save charts''' to the native TeeChart format (TEN-File) to preserve all data and formatting (for exceptions, see known issues below).<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Export charts''' as image files (PNG, JPG, BMP). <br />
<br />
[[File:Icon page copy.png|link=]] '''Copy''' the chart to the clipboard as a PNG image.<br />
<br />
'''[[File:Icon_page_white_go.png|link=]] Export time series''' to the following formats:<br />
* [[CSV-Format | CSV]]<br />
* [[BIN-Format | BIN]]<br />
* [[DFS0-Format | DFS0]]<br />
* [[SWMM file formats|SWMM routing interface and time series files]]<br />
* [[SMUSI REG-Format | SMUSI REG]]<br />
* [[UVF-Format | UVF]]<br />
* [[ZRE-Format | ZRE]]<br />
* [[ZRXP-Format | ZRXP]]<br />
<br />
===Edit & Analyze===<br />
Editing functions:<br />
* [[File:Icon_cut.png|link=]] '''Cut''' time series to a specified time period or to another series' extent<br />
* [[File:Icon_error_convert.png|link=]] '''Convert error values''' of a time series<br />
* [[File:Icon_arrow_join_right.png|link=]] '''Merge''' multiple time series into one while respecting priorities<br />
<br />
'''[[File:Icon_calculator.png|link=]] Analysis functions:'''<br />
* [[Wave:Accumulate|Accumulate]]: Compute a new time series that contains the cumulative values of the original series<br />
* [[Wave:Autocorrelation|Autocorrelation]]: Autocorrelation analysis for analyzing time series periodicity<br />
* [[Wave:AnnualRecurrenceProbability|Annual recurrence probability]]: Annual recurrence probability of annual maxima using plotting position<br />
* [[Wave:AnnualStatistics|Annual statistics]]: Compute various statistical parameters (min, max, average) of a time series<br />
* [[Wave:Calculator|Calculator]]: Performs a mathematical operation on one or more time series<br />
* [[Wave:ChangeTimestep|Change timestep]]: Make a time series equidistant with a user-specified timestep<br />
* [[Wave:Comparison|Comparison]]: Plot two time series against each other and compute a linear regression line<br />
* [[Wave:Decumulate|Decumulate]]: Compute a new time series that consists of the decumulated values of the original series<br />
* [[Wave:DoubleSumCurve|Double sum curve]]<br />
* [[Wave:GoodnessOfFit|Goodness of fit]] (volume error, sum of squares error, Nash-Sutcliffe efficiency, etc.)<br />
* [[Wave:Histogram|Histogram]]<br />
* [[Wave:LinearRegression|Linear regression]]: Fills gaps (NaN values and missing timestamps) in one time series by applying a linear regression relationship with a second time series<br />
* [[Wave:MonthlyStatistics|Monthly statistics]]<br />
* [[Wave:TimestepAnalysis|Timestep analysis]]: Calculate the timestep between nodes in a user-specified unit<br />
<br />
<gallery mode="packed-hover"><br />
File:Wave Cumulative.png|Accumulate|link=Wave:Accumulate<br />
File:Wave Autocorrelation.png|Autocorrelation|link=Wave:Autocorrelation<br />
File:Wave AnnualRecurrenceProbability.png|Annual recurrence probability|link=Wave:AnnualRecurrenceProbability<br />
File:Wave AnnualStatistics BoundingBoxes.png|Annual statistics|link=Wave:AnnualStatistics<br />
File:Wave Calculator.png|Calculator|link=Wave:Calculator<br />
File:Wave ChangeTimestep Instantaneous.png|Change timestep<br />
File:Wave Comparison.png|Comparison|link=Wave:ChangeTimestep<br />
File:Wave Decumulate.png|Decumulate|link=Wave:Decumulate<br />
File:Doppelsummenanalyse.png|Double sum curve|link=Wave:DoubleSumCurve<br />
File:GoodnessOfFit ResultChart.png|Goodness of fit|link=Wave:GoodnessOfFit<br />
File:Wave_Statistik.png|Histogram|link=Wave:Histogram<br />
File:Wave LinearRegression.png|Linear regression|link=Wave:LinearRegression<br />
File:Monatsauswertung.png|Monthly statistics|link=Wave:MonthlyStatistics<br />
</gallery><br />
<br />
==Comandline interface==<br />
Wave has a commandline interface for importing and converting time series, see [[Wave:CLI]] for details.<br />
<br />
==API==<br />
The '''API''' is used e.g. by [[BlueM.Opt]] and [[BlueM.Win]] but allows using Wave from within any .NET project.<br />
<br />
See the API docs here: https://bluemodel.github.io/BlueM.Wave/api/<br />
<br />
==Notes==<br />
===Error values===<br />
[[File:Wave NaN visualization.png|thumb|right|Visualization of NaN values]]<br />
* "NaN", "Infinity" and "-Infinity" in import files are recognized and accepted.<br />
* Unreadable values are converted to NaN during import.<br />
* If a file format has a specified error value (e.g. -777 for [[ZRXP]] and [[UVF]]), then any corresponding entries are also converted to NaN.<br />
* NaN values are displayed as gaps in the chart and are ignored when performing analysis functions.<br />
* Custom, user-specified values can be converted to NaN [[File:Icon_error_convert.png|link=]] after import.<br />
* NaN values can be visualized in the chart by pressing a [[File:Icon_chart_line_error.png|link=]] button (see screenshot).<br />
<br />
===Volume property===<br />
Wave calculates and displays the Volume property of a time series (e.g. for [[Wave:GoodnessOfFit|GoodnessOfFit]] analysis or in the properties window), if a time series' unit ends with "/s", "/min", "/h" or "/d" (e.g. "m³/s", "mm/h", etc.) and its interpretation is either Instantaneous, BlockLeft or BlockRight, by integrating the values over time while respecting the interpretation. Time series with other units or interpretations only have the Sum property. NaN nodes cause the adjacent timesteps to not contribute to the volume (depends on the interpretation).<br />
<br />
===Supported date range===<br />
Wave supports dates between 01.01.0001 and 31.12.9999.<br />
<br />
The chart display can only show dates between 01.01.0100 and 31.12.9000. Time series with dates before 01.01.0100 and after 31.12.9000 are cut for display purposes, but all nodes are still available for analysis and export and are shown in the properties and time series values dialogs. (#68)<br />
<br />
==Downloads==<br />
Download BlueM.Wave from GitHub: https://github.com/bluemodel/BlueM.Wave/releases/latest<br />
<br />
==Known Issues==<br />
* When saving a chart to the native TEN format of TeeChart, certain Timeseries properties such as Interpretation, Datasource and sometimes Unit are lost. <br />
* <s>When saving a chart to the native TEN format of TeeChart, any NaN values contained in the series are lost (i.e. the nodes with the NaN values are omitted from the series).</s> ''fixed in v1.9.1''<br />
* more issues: https://github.com/bluemodel/BlueM.Wave/issues<br />
<br />
==Development==<br />
* [https://github.com/bluemodel/BlueM.Wave/blob/master/source/CHANGELOG.md Changelog]<br />
* [[Wave:Development|Development]]<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave:AnnualRecurrenceProbabilty&diff=7862Wave:AnnualRecurrenceProbabilty2023-12-09T14:02:39Z<p>Froehlich: Froehlich moved page Wave:AnnualRecurrenceProbabilty to Wave:AnnualRecurrenceProbability: typo</p>
<hr />
<div>#REDIRECT [[Wave:AnnualRecurrenceProbability]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave:AnnualRecurrenceProbability&diff=7861Wave:AnnualRecurrenceProbability2023-12-09T14:02:39Z<p>Froehlich: Froehlich moved page Wave:AnnualRecurrenceProbabilty to Wave:AnnualRecurrenceProbability: typo</p>
<hr />
<div>{{wave_nav}}<br />
<br />
[[File:Wave AnnualRecurrenceProbability.png|thumb|right]]<br />
This analysis method calculates the the annual recurrence probility and the return period of annual maxima using the [https://glossary.ametsoc.org/wiki/Plotting_position Weibull plotting position] method.<br />
<br />
First, the maximum value in each hydrological year is determined. The probability of recurrence and the return period are then calculated using the following formulas:<br />
<br />
<math>P = \frac{m}{n+1}</math><br />
<br />
and<br />
<br />
<math>T = \frac{1}{P}</math><br />
<br />
where<br />
:<code>m</code>: ordered rank of the event (1 = largest event)<br />
:<code>n</code>: number of total events/years<br />
:<code>P</code>: probability of exceedance [-]<br />
:<code>T</code>: return period [years]<br />
<br />
The analysis results are a result table with all events and their properties, a result chart plotting the return periods and a result series in the main chart containing only the annual maxima.<br />
<br />
==Notes==<br />
* If two or more events have the same maximum value, they are assigned the same rank and thus have the same recurrence probability<br />
<br />
[[Category:BlueM.Wave|A]]<br />
[[Category:Analysis functions|A]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=BlueM.Wave&diff=7860BlueM.Wave2023-12-09T13:36:45Z<p>Froehlich: /* Edit & Analyze */ added AnnualRecurrenceProbability analysis function</p>
<hr />
<div>{{Wave_nav}}<br />
<div style="float:right; margin:0.5em 0 0.5em 0.5em;">__TOC__</div><br />
[[Bild:Wave_screenshot.png|thumb|Screenshot]]<br />
<br />
==Description==<br />
Wave is a tool for displaying, analyzing and importing and exporting time series.<br />
<br />
==Features==<br />
<br />
===[[File:Icon_chart_line_add.png|link=]] Import time series===<br />
'''Supported file formats:'''<br />
* [[WEL-Format | WEL]] ([[WEL-Format (BlueM)|BlueM]], [[WEL-Format (GISMO)|GISMO]], [[WEL-Format (TALSIM)|TALSIM]])<br />
* [[BIN-Format | SYDRO binary format (BIN)]]<br />
* [[DFS0-Format | DHI MIKE DFS0 format]]<br />
* [[HYDRO_AS-2D result files]]<br />
* [[Hystem-Extran file formats]]: "Regendatei" and "Wellendatei"<br />
* [[JAMS result files]]: JAMS/J2000/J2K/J2000g timeseries results<br />
* [[PRMS result files]]<br />
* [[SMUSI file formats]]: ASC result files and REG files<br />
* [[SWMM file formats]]: SWMM5 binary output format, routing interface files, LID report files, SWMM time series files<br />
* [[SMB-Format | SMB]] <br />
* [[UVF-Format | UVF]] (Universelles Variables Format)<br />
* [[ZRE-Format | ZRE format]]<br />
* [[ZRXP-Format | ZRXP format]]<br />
* and generic text files (e.g. [[CSV-Format|CSV]] and [[TXT-Format|TXT]])<br />
<br />
[[File:Icon_chart_curve_link.png|link=]] Use a '''[[Wave project file]]''' (<code>*.wvp</code>) to quickly import multiple series from multiple files at once.<br />
<br />
'''Drag&Drop''' files onto Wave to import them quickly.<br />
<br />
It is also possible to manually [[File:Icon_chart_line_edit.png|link=]] '''enter time series''', or [[File:Icon_page_paste.png|link=]] '''paste clipboard data''' from Excel and [http://www.talsim.de Talsim-NG].<br />
<br />
===Visualization & Navigation===<br />
Display time series in a highly [[File:Icon_chart_curve_edit.png|link=]] '''customizable chart''' (provided by [http://www.steema.com/products/teechart/overview.html TeeChart])<br />
<br />
[[Image:TimeSeriesValues.png|thumb|Time series values and markers ([[Media:TimeSeriesValues_animation.gif|animation]])]]<br />
* [[File:Icon_application_split.png|link=]] An '''overview''' chart shows you the full extent of the time series and the period currently displayed in the main chart.<br />
* [[File:Icons_zoom.png|link=]] Use the toolbar buttons or the mouse to '''zoom or pan''' either in the main chart or the overview chart. Use the left mouse button or the mouse scroll wheel to zoom, hold the right mouse button to pan.<br />
* [[File:Icon_controller.png|link=]] Use the '''navigation bar''' to set a custom display period and to navigate by a fixed time period or to the start/end [[File:Icons_navigate.png|link=]].<br />
* [[File:Icon_table.png|link=]] Display tabular '''time series values''' and optionally show markers [[File:Icon_comments.png|link=]] for selected rows in the main chart<br />
<br />
===Series management===<br />
[[File:Wave TimeSeries Properties.png|thumb|right|Time series properties]]<br />
* [[File:Icon_accept_split.png|link=]] Quickly switch time series on and off using the '''check boxes''' in the legend or activate/deactivate all series at once using the button in the toolbar.<br />
* [[File:Icon_table_edit.png|link=]] Display and edit '''time series properties''' in a table with optional statistics.<br />
* [[File:Icon_shape_align_bottom.png|link=]] '''Manage axes''': When importing time series, series are automatically assigned to different axes depending on their unit.<br />
<br />
===Save & Export===<br />
[[File:Icon_chart_curve_link.png|link=]] '''Save [[Wave project file|project files]]''' (<code>*.wvp</code>) with references to time series from file sources.<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Save charts''' to the native TeeChart format (TEN-File) to preserve all data and formatting (for exceptions, see known issues below).<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Export charts''' as image files (PNG, JPG, BMP). <br />
<br />
[[File:Icon page copy.png|link=]] '''Copy''' the chart to the clipboard as a PNG image.<br />
<br />
'''[[File:Icon_page_white_go.png|link=]] Export time series''' to the following formats:<br />
* [[CSV-Format | CSV]]<br />
* [[BIN-Format | BIN]]<br />
* [[DFS0-Format | DFS0]]<br />
* [[SWMM file formats|SWMM routing interface and time series files]]<br />
* [[SMUSI REG-Format | SMUSI REG]]<br />
* [[UVF-Format | UVF]]<br />
* [[ZRE-Format | ZRE]]<br />
* [[ZRXP-Format | ZRXP]]<br />
<br />
===Edit & Analyze===<br />
Editing functions:<br />
* [[File:Icon_cut.png|link=]] '''Cut''' time series to a specified time period or to another series' extent<br />
* [[File:Icon_error_convert.png|link=]] '''Convert error values''' of a time series<br />
* [[File:Icon_arrow_join_right.png|link=]] '''Merge''' multiple time series into one while respecting priorities<br />
<br />
'''[[File:Icon_calculator.png|link=]] Analysis functions:'''<br />
* [[Wave:Accumulate|Accumulate]]: Compute a new time series that contains the cumulative values of the original series<br />
* [[Wave:Autocorrelation|Autocorrelation]]: Autocorrelation analysis for analyzing time series periodicity<br />
* [[Wave:AnnualRecurrenceProbability|Annual recurrence probability]]: Annual recurrence probability of annual maxima using plotting position<br />
* [[Wave:AnnualStatistics|Annual statistics]]: Compute various statistical parameters (min, max, average) of a time series<br />
* [[Wave:Calculator|Calculator]]: Performs a mathematical operation on one or more time series<br />
* [[Wave:ChangeTimestep|Change timestep]]: Make a time series equidistant with a user-specified timestep<br />
* [[Wave:Comparison|Comparison]]: Plot two time series against each other and compute a linear regression line<br />
* [[Wave:Decumulate|Decumulate]]: Compute a new time series that consists of the decumulated values of the original series<br />
* [[Wave:DoubleSumCurve|Double sum curve]]<br />
* [[Wave:GoodnessOfFit|Goodness of fit]] (volume error, sum of squares error, Nash-Sutcliffe efficiency, etc.)<br />
* [[Wave:Histogram|Histogram]]<br />
* [[Wave:LinearRegression|Linear regression]]: Fills gaps (NaN values and missing timestamps) in one time series by applying a linear regression relationship with a second time series<br />
* [[Wave:MonthlyStatistics|Monthly statistics]]<br />
* [[Wave:TimestepAnalysis|Timestep analysis]]: Calculate the timestep between nodes in a user-specified unit<br />
<br />
<gallery mode="packed-hover"><br />
File:Wave Cumulative.png|Accumulate|link=Wave:Accumulate<br />
File:Wave Autocorrelation.png|Autocorrelation|link=Wave:Autocorrelation<br />
File:Wave AnnualRecurrenceProbability.png|Annual recurrence probability|link=Wave:AnnualRecurrenceProbabilty<br />
File:Wave AnnualStatistics BoundingBoxes.png|Annual statistics|link=Wave:AnnualStatistics<br />
File:Wave Calculator.png|Calculator|link=Wave:Calculator<br />
File:Wave ChangeTimestep Instantaneous.png|Change timestep<br />
File:Wave Comparison.png|Comparison|link=Wave:ChangeTimestep<br />
File:Wave Decumulate.png|Decumulate|link=Wave:Decumulate<br />
File:Doppelsummenanalyse.png|Double sum curve|link=Wave:DoubleSumCurve<br />
File:GoodnessOfFit ResultChart.png|Goodness of fit|link=Wave:GoodnessOfFit<br />
File:Wave_Statistik.png|Histogram|link=Wave:Histogram<br />
File:Wave LinearRegression.png|Linear regression|link=Wave:LinearRegression<br />
File:Monatsauswertung.png|Monthly statistics|link=Wave:MonthlyStatistics<br />
</gallery><br />
<br />
==Comandline interface==<br />
Wave has a commandline interface for importing and converting time series, see [[Wave:CLI]] for details.<br />
<br />
==API==<br />
The '''API''' is used e.g. by [[BlueM.Opt]] and [[BlueM.Win]] but allows using Wave from within any .NET project.<br />
<br />
See the API docs here: https://bluemodel.github.io/BlueM.Wave/api/<br />
<br />
==Notes==<br />
===Error values===<br />
[[File:Wave NaN visualization.png|thumb|right|Visualization of NaN values]]<br />
* "NaN", "Infinity" and "-Infinity" in import files are recognized and accepted.<br />
* Unreadable values are converted to NaN during import.<br />
* If a file format has a specified error value (e.g. -777 for [[ZRXP]] and [[UVF]]), then any corresponding entries are also converted to NaN.<br />
* NaN values are displayed as gaps in the chart and are ignored when performing analysis functions.<br />
* Custom, user-specified values can be converted to NaN [[File:Icon_error_convert.png|link=]] after import.<br />
* NaN values can be visualized in the chart by pressing a [[File:Icon_chart_line_error.png|link=]] button (see screenshot).<br />
<br />
===Volume property===<br />
Wave calculates and displays the Volume property of a time series (e.g. for [[Wave:GoodnessOfFit|GoodnessOfFit]] analysis or in the properties window), if a time series' unit ends with "/s", "/min", "/h" or "/d" (e.g. "m³/s", "mm/h", etc.) and its interpretation is either Instantaneous, BlockLeft or BlockRight, by integrating the values over time while respecting the interpretation. Time series with other units or interpretations only have the Sum property. NaN nodes cause the adjacent timesteps to not contribute to the volume (depends on the interpretation).<br />
<br />
===Supported date range===<br />
Wave supports dates between 01.01.0001 and 31.12.9999.<br />
<br />
The chart display can only show dates between 01.01.0100 and 31.12.9000. Time series with dates before 01.01.0100 and after 31.12.9000 are cut for display purposes, but all nodes are still available for analysis and export and are shown in the properties and time series values dialogs. (#68)<br />
<br />
==Downloads==<br />
Download BlueM.Wave from GitHub: https://github.com/bluemodel/BlueM.Wave/releases/latest<br />
<br />
==Known Issues==<br />
* When saving a chart to the native TEN format of TeeChart, certain Timeseries properties such as Interpretation, Datasource and sometimes Unit are lost. <br />
* <s>When saving a chart to the native TEN format of TeeChart, any NaN values contained in the series are lost (i.e. the nodes with the NaN values are omitted from the series).</s> ''fixed in v1.9.1''<br />
* more issues: https://github.com/bluemodel/BlueM.Wave/issues<br />
<br />
==Development==<br />
* [https://github.com/bluemodel/BlueM.Wave/blob/master/source/CHANGELOG.md Changelog]<br />
* [[Wave:Development|Development]]<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave:AnnualRecurrenceProbability&diff=7859Wave:AnnualRecurrenceProbability2023-12-09T13:35:48Z<p>Froehlich: Created page with "{{wave_nav}} right This analysis method calculates the the annual recurrence probility and the return period of annual maxima using the [https://glossary.ametsoc.org/wiki/Plotting_position Weibull plotting position] method. First, the maximum value in each hydrological year is determined. The probability of recurrence and the return period are then calculated using the following formulas: <math>P = \frac{m}{n+1}</mat..."</p>
<hr />
<div>{{wave_nav}}<br />
<br />
[[File:Wave AnnualRecurrenceProbability.png|thumb|right]]<br />
This analysis method calculates the the annual recurrence probility and the return period of annual maxima using the [https://glossary.ametsoc.org/wiki/Plotting_position Weibull plotting position] method.<br />
<br />
First, the maximum value in each hydrological year is determined. The probability of recurrence and the return period are then calculated using the following formulas:<br />
<br />
<math>P = \frac{m}{n+1}</math><br />
<br />
and<br />
<br />
<math>T = \frac{1}{P}</math><br />
<br />
where<br />
:<code>m</code>: ordered rank of the event (1 = largest event)<br />
:<code>n</code>: number of total events/years<br />
:<code>P</code>: probability of exceedance [-]<br />
:<code>T</code>: return period [years]<br />
<br />
The analysis results are a result table with all events and their properties, a result chart plotting the return periods and a result series in the main chart containing only the annual maxima.<br />
<br />
==Notes==<br />
* If two or more events have the same maximum value, they are assigned the same rank and thus have the same recurrence probability<br />
<br />
[[Category:BlueM.Wave|A]]<br />
[[Category:Analysis functions|A]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=File:Wave_AnnualRecurrenceProbability.png&diff=7858File:Wave AnnualRecurrenceProbability.png2023-12-09T13:19:53Z<p>Froehlich: Froehlich uploaded a new version of File:Wave AnnualRecurrenceProbability.png</p>
<hr />
<div>Screenshot</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=File:Wave_AnnualRecurrenceProbability.png&diff=7857File:Wave AnnualRecurrenceProbability.png2023-12-09T11:44:50Z<p>Froehlich: </p>
<hr />
<div>Screenshot</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=BlueM.Wave&diff=7856BlueM.Wave2023-11-19T08:48:42Z<p>Froehlich: /* Error values */ add icon</p>
<hr />
<div>{{Wave_nav}}<br />
<div style="float:right; margin:0.5em 0 0.5em 0.5em;">__TOC__</div><br />
[[Bild:Wave_screenshot.png|thumb|Screenshot]]<br />
<br />
==Description==<br />
Wave is a tool for displaying, analyzing and importing and exporting time series.<br />
<br />
==Features==<br />
<br />
===[[File:Icon_chart_line_add.png|link=]] Import time series===<br />
'''Supported file formats:'''<br />
* [[WEL-Format | WEL]] ([[WEL-Format (BlueM)|BlueM]], [[WEL-Format (GISMO)|GISMO]], [[WEL-Format (TALSIM)|TALSIM]])<br />
* [[BIN-Format | SYDRO binary format (BIN)]]<br />
* [[DFS0-Format | DHI MIKE DFS0 format]]<br />
* [[HYDRO_AS-2D result files]]<br />
* [[Hystem-Extran file formats]]: "Regendatei" and "Wellendatei"<br />
* [[JAMS result files]]: JAMS/J2000/J2K/J2000g timeseries results<br />
* [[PRMS result files]]<br />
* [[SMUSI file formats]]: ASC result files and REG files<br />
* [[SWMM file formats]]: SWMM5 binary output format, routing interface files, LID report files, SWMM time series files<br />
* [[SMB-Format | SMB]] <br />
* [[UVF-Format | UVF]] (Universelles Variables Format)<br />
* [[ZRE-Format | ZRE format]]<br />
* [[ZRXP-Format | ZRXP format]]<br />
* and generic text files (e.g. [[CSV-Format|CSV]] and [[TXT-Format|TXT]])<br />
<br />
[[File:Icon_chart_curve_link.png|link=]] Use a '''[[Wave project file]]''' (<code>*.wvp</code>) to quickly import multiple series from multiple files at once.<br />
<br />
'''Drag&Drop''' files onto Wave to import them quickly.<br />
<br />
It is also possible to manually [[File:Icon_chart_line_edit.png|link=]] '''enter time series''', or [[File:Icon_page_paste.png|link=]] '''paste clipboard data''' from Excel and [http://www.talsim.de Talsim-NG].<br />
<br />
===Visualization & Navigation===<br />
Display time series in a highly [[File:Icon_chart_curve_edit.png|link=]] '''customizable chart''' (provided by [http://www.steema.com/products/teechart/overview.html TeeChart])<br />
<br />
[[Image:TimeSeriesValues.png|thumb|Time series values and markers ([[Media:TimeSeriesValues_animation.gif|animation]])]]<br />
* [[File:Icon_application_split.png|link=]] An '''overview''' chart shows you the full extent of the time series and the period currently displayed in the main chart.<br />
* [[File:Icons_zoom.png|link=]] Use the toolbar buttons or the mouse to '''zoom or pan''' either in the main chart or the overview chart. Use the left mouse button or the mouse scroll wheel to zoom, hold the right mouse button to pan.<br />
* [[File:Icon_controller.png|link=]] Use the '''navigation bar''' to set a custom display period and to navigate by a fixed time period or to the start/end [[File:Icons_navigate.png|link=]].<br />
* [[File:Icon_table.png|link=]] Display tabular '''time series values''' and optionally show markers [[File:Icon_comments.png|link=]] for selected rows in the main chart<br />
<br />
===Series management===<br />
[[File:Wave TimeSeries Properties.png|thumb|right|Time series properties]]<br />
* [[File:Icon_accept_split.png|link=]] Quickly switch time series on and off using the '''check boxes''' in the legend or activate/deactivate all series at once using the button in the toolbar.<br />
* [[File:Icon_table_edit.png|link=]] Display and edit '''time series properties''' in a table with optional statistics.<br />
* [[File:Icon_shape_align_bottom.png|link=]] '''Manage axes''': When importing time series, series are automatically assigned to different axes depending on their unit.<br />
<br />
===Save & Export===<br />
[[File:Icon_chart_curve_link.png|link=]] '''Save [[Wave project file|project files]]''' (<code>*.wvp</code>) with references to time series from file sources.<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Save charts''' to the native TeeChart format (TEN-File) to preserve all data and formatting (for exceptions, see known issues below).<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Export charts''' as image files (PNG, JPG, BMP). <br />
<br />
[[File:Icon page copy.png|link=]] '''Copy''' the chart to the clipboard as a PNG image.<br />
<br />
'''[[File:Icon_page_white_go.png|link=]] Export time series''' to the following formats:<br />
* [[CSV-Format | CSV]]<br />
* [[BIN-Format | BIN]]<br />
* [[DFS0-Format | DFS0]]<br />
* [[SWMM file formats|SWMM routing interface and time series files]]<br />
* [[SMUSI REG-Format | SMUSI REG]]<br />
* [[UVF-Format | UVF]]<br />
* [[ZRE-Format | ZRE]]<br />
* [[ZRXP-Format | ZRXP]]<br />
<br />
===Edit & Analyze===<br />
Editing functions:<br />
* [[File:Icon_cut.png|link=]] '''Cut''' time series to a specified time period or to another series' extent<br />
* [[File:Icon_error_convert.png|link=]] '''Convert error values''' of a time series<br />
* [[File:Icon_arrow_join_right.png|link=]] '''Merge''' multiple time series into one while respecting priorities<br />
<br />
'''[[File:Icon_calculator.png|link=]] Analysis functions:'''<br />
* [[Wave:Accumulate|Accumulate]]: Compute a new time series that contains the cumulative values of the original series<br />
* [[Wave:Autocorrelation|Autocorrelation]]: Autocorrelation analysis for analyzing time series periodicity<br />
* [[Wave:AnnualStatistics|Annual statistics]]: Compute various statistical parameters (min, max, average) of a time series<br />
* [[Wave:Calculator|Calculator]]: Performs a mathematical operation on one or more time series<br />
* [[Wave:ChangeTimestep|ChangeTimestep]]: Make a time series equidistant with a user-specified timestep<br />
* [[Wave:Comparison|Comparison]]: Plot two time series against each other and compute a linear regression line<br />
* [[Wave:Decumulate|Decumulate]]: Compute a new time series that consists of the decumulated values of the original series<br />
* [[Wave:DoubleSumCurve|Double sum curve]]<br />
* [[Wave:GoodnessOfFit|Goodness of fit]] (volume error, sum of squares error, Nash-Sutcliffe efficiency, etc.)<br />
* [[Wave:Histogram|Histogram]]<br />
* [[Wave:LinearRegression|LinearRegression]]: Fills gaps (NaN values and missing timestamps) in one time series by applying a linear regression relationship with a second time series<br />
* [[Wave:MonthlyStatistics|Monthly statistics]]<br />
* [[Wave:TimestepAnalysis|Timestep analysis]]: Calculate the timestep between nodes in a user-specified unit<br />
<br />
<gallery mode="packed-hover"><br />
File:Wave Cumulative.png|Accumulate|link=Wave:Accumulate<br />
File:Wave Autocorrelation.png|Autocorrelation|link=Wave:Autocorrelation<br />
File:Wave AnnualStatistics BoundingBoxes.png|Annual statistics|link=Wave:AnnualStatistics<br />
File:Wave Calculator.png|Calculator|link=Wave:Calculator<br />
File:Wave ChangeTimestep Instantaneous.png|Change timestep<br />
File:Wave Comparison.png|Comparison|link=Wave:ChangeTimestep<br />
File:Wave Decumulate.png|Decumulate|link=Wave:Decumulate<br />
File:Doppelsummenanalyse.png|Double sum curve|link=Wave:DoubleSumCurve<br />
File:GoodnessOfFit ResultChart.png|Goodness of fit|link=Wave:GoodnessOfFit<br />
File:Wave_Statistik.png|Histogram|link=Wave:Histogram<br />
File:Wave LinearRegression.png|Linear regression|link=Wave:LinearRegression<br />
File:Monatsauswertung.png|Monthly statistics|link=Wave:MonthlyStatistics<br />
</gallery><br />
<br />
==Comandline interface==<br />
Wave has a commandline interface for importing and converting time series, see [[Wave:CLI]] for details.<br />
<br />
==API==<br />
The '''API''' is used e.g. by [[BlueM.Opt]] and [[BlueM.Win]] but allows using Wave from within any .NET project.<br />
<br />
See the API docs here: https://bluemodel.github.io/BlueM.Wave/api/<br />
<br />
==Notes==<br />
===Error values===<br />
[[File:Wave NaN visualization.png|thumb|right|Visualization of NaN values]]<br />
* "NaN", "Infinity" and "-Infinity" in import files are recognized and accepted.<br />
* Unreadable values are converted to NaN during import.<br />
* If a file format has a specified error value (e.g. -777 for [[ZRXP]] and [[UVF]]), then any corresponding entries are also converted to NaN.<br />
* NaN values are displayed as gaps in the chart and are ignored when performing analysis functions.<br />
* Custom, user-specified values can be converted to NaN [[File:Icon_error_convert.png|link=]] after import.<br />
* NaN values can be visualized in the chart by pressing a [[File:Icon_chart_line_error.png|link=]] button (see screenshot).<br />
<br />
===Volume property===<br />
Wave calculates and displays the Volume property of a time series (e.g. for [[Wave:GoodnessOfFit|GoodnessOfFit]] analysis or in the properties window), if a time series' unit ends with "/s", "/min", "/h" or "/d" (e.g. "m³/s", "mm/h", etc.) and its interpretation is either Instantaneous, BlockLeft or BlockRight, by integrating the values over time while respecting the interpretation. Time series with other units or interpretations only have the Sum property. NaN nodes cause the adjacent timesteps to not contribute to the volume (depends on the interpretation).<br />
<br />
===Supported date range===<br />
Wave supports dates between 01.01.0001 and 31.12.9999.<br />
<br />
The chart display can only show dates between 01.01.0100 and 31.12.9000. Time series with dates before 01.01.0100 and after 31.12.9000 are cut for display purposes, but all nodes are still available for analysis and export and are shown in the properties and time series values dialogs. (#68)<br />
<br />
==Downloads==<br />
Download BlueM.Wave from GitHub: https://github.com/bluemodel/BlueM.Wave/releases/latest<br />
<br />
==Known Issues==<br />
* When saving a chart to the native TEN format of TeeChart, certain Timeseries properties such as Interpretation, Datasource and sometimes Unit are lost. <br />
* <s>When saving a chart to the native TEN format of TeeChart, any NaN values contained in the series are lost (i.e. the nodes with the NaN values are omitted from the series).</s> ''fixed in v1.9.1''<br />
* more issues: https://github.com/bluemodel/BlueM.Wave/issues<br />
<br />
==Development==<br />
* [https://github.com/bluemodel/BlueM.Wave/blob/master/source/CHANGELOG.md Changelog]<br />
* [[Wave:Development|Development]]<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave_project_file&diff=7855Wave project file2023-11-11T14:09:11Z<p>Froehlich: switch to formatted source</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
<div style="float:right; margin:0 0 1em 1em">__TOC__</div><br />
<br />
A '''Wave project file''' (<code>*.wvp</code>) is a text file that can be used to quickly load multiple series from multiple files at once. You can create/edit a project file using a text editor or save a project file from within Wave ([[File:Icon_disk.png|link=]] Save &rarr; [[File:Icon_chart_curve_link.png|link=]] Save project file).<br />
<br />
The basic format is as follows:<br />
<source lang="wvp"><br />
file=<path\to\file><br />
series=<series name><br />
series=<series name><br />
file=<path\to\file><br />
series=<series name><br />
series=<series name><br />
</source><br />
<br />
The <code>file</code> keyword specifies the path to the time series file to import from. The path can be absolute or relative (to the project file). You can specify multiple files.<br />
<br />
The <code>series</code> keyword specifies the name of the series to import from the file specified above it. You can specify multiple series per file. If none are specified, all series contained in the file are imported.<br />
<br />
'''Note:''' If the series name contains a colon (<code>:</code>), the name has to be enclosed in quotes, e.g.:<br />
<source lang="wvp"><br />
series="series:name"<br />
</source><br />
<br />
==Custom titles==<br />
It is possible to specify custom titles by writing the custom title after a colon (<code>:</code>) behind the series name:<br />
<source lang="wvp"><br />
series=<series name>:my custom title<br />
</source><br />
<br />
'''Note:''' If the custom title contains an equal sign (<code>=</code>) or a comma (<code>,</code>), it must be enclosed in quotes, e.g.:<br />
<source lang="wvp"><br />
series=<series name>:"my , very = custom title"<br />
</source><br />
<br />
==Series options==<br />
Additional series options can be specified as a list of comma-separated keyword arguments after a colon (<code>:</code>) behind the series name:<br />
<source lang="wvp"><br />
series=<series name>:<keyword>=<value>, <keyword>=<value>, ...<br />
</source><br />
'''Note:''' When using keyword options, any custom title must also be specified using the appropriate <code>title</code> keyword.<br />
<br />
The following keywords are supported:<br />
* <code>title</code>: assigns a custom title<br />
* <code>unit</code>: assigns the specified unit<br />
* <code>interpretation</code>: assigns the specified [[Wave:Interpretation|interpretation]], must be the name of one of the members of [https://bluemodel.github.io/BlueM.Wave/api/BlueM.Wave.TimeSeries.InterpretationEnum.html <code>BlueM.Wave.TimeSeries.InterpretationEnum</code>], possible values:<br />
** <code>Instantaneous</code><br />
** <code>BlockRight</code><br />
** <code>BlockLeft</code><br />
** <code>Cumulative</code><br />
** <code>CumulativePerTimestep</code><br />
** <code>Undefined</code><br />
* <code>color</code>: assigns the specified color, can be the name of one of the members of [https://learn.microsoft.com/en-us/dotnet/api/system.drawing.knowncolor?view=netframework-4.8.1 <code>System.Drawing.KnownColor</code>] (e.g. <code>Red</code>) or a hexadecimal representation of ARGB values (e.g. <code>ffff0000</code>)<br />
* <code>linewidth</code>: assigns the specified line width (default is <code>2</code>)<br />
* <code>linestyle</code>: assigns the specified line style, must be the name of one of the members of [https://learn.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.dashstyle?view=netframework-4.8.1 <code>System.Drawing.Drawing2D.DashStyle</code>], possible values:<br />
** <code>Solid</code> (default)<br />
** <code>Dash</code><br />
** <code>Dot</code><br />
** <code>DashDot</code><br />
** <code>DashDotDot</code><br />
* <code>showpoints</code>: whether to display series points, must be <code>True</code> or <code>False</code>, default is <code>False</code><br />
<br />
'''Notes:'''<br />
* Keywords can be specified in any order and are not case-sensitive<br />
* Values are case-sensitive and must be enclosed in quotes if they contain an equal sign (<code>=</code>) or a comma (<code>,</code>)<br />
<br />
==Example==<br />
This is a [https://github.com/bluemodel/BlueM.Datasets/blob/master/Wave/WVP/wvp_example.wvp basic example] that loads multiple series from multiple different files of different types:<br />
<source lang="wvp"><br />
# Import multiple series from multiple files<br />
#-------------------------------------------<br />
file=..\UVF\42960.0_q_28.uvf<br />
file=..\WEL\DEMONA_PSI.wel<br />
series=S3 _1AB: S3 outflow<br />
series=S3 _1ZU: S3 inflow<br />
file=..\ZRE\Zufl_gem.zre<br />
file=..\BIN\abfluss_1.bin<br />
series=abfluss_1.bin: title="Discharge", unit="m3/s", interpretation=Instantaneous, color=Red, linewidth=4, linestyle=Dash, showPoints=True<br />
</source><br />
<br />
==Custom file import settings==<br />
It is also possible to specify custom import settings for a file. This is useful for generic text or csv files.<br />
<br />
Example with all possible settings:<br />
<source lang="wvp"><br />
file=myrandom.csv<br />
# custom import settings<br />
isColumnSeparated=True<br />
separator=;<br />
dateformat=dd.MM.yyyy HH:mm:ss<br />
decimalSeparator=,<br />
iLineHeadings=1<br />
iLineUnits=8<br />
iLineData=12<br />
useUnits=True<br />
columnWidth=<br />
dateTimeColumnIndex=0<br />
# series to import<br />
series=myseries1<br />
series=myseries2<br />
</source><br />
<br />
The accepted import settings are described below:<br />
* <code>isColumnSeparated</code>: whether the columns are separated by a character (<code>True</code>) or are fixed width (<code>False</code>). Default: <code>True</code><br />
* <code>separator</code>: the column separator (only relevant if <code>isColumnSeparated=True</code>). Default: <code>;</code>, possible values: <code>space</code>, <code>tab</code>, <code>,</code>, or any other single-character string<br />
* <code>columnWidth</code>: the column width (only relevant if <code>isColumnSeparated=False</code>). Default: <code>16</code><br />
* <code>dateformat</code>: the date format (see [https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings help]). Default: <code>dd.MM.yyyy HH:mm</code><br />
* <code>decimalSeparator</code>: the decimal separator for numbers. Default: <code>.</code><br />
* <code>iLineHeadings</code>: the number of the line containing the headings. Default: <code>1</code><br />
* <code>iLineUnits</code>: the number of the line containing the units. Default: <code>2</code><br />
* <code>iLineData</code>: the number of the first line of data. Default: <code>3</code><br />
* <code>useUnits</code>: whether to read units from the file. Default: <code>True</code><br />
* <code>dateTimeColumnIndex</code>: The 0-based index of the column containing date time values. Default: <code>0</code><br />
<br />
==Notes==<br />
* all whitespace apart from linebreaks in the project file is optional<br />
* lines starting with <code>#</code> are ignored (treated as comments)<br />
* support for this file was added in v1.6.1 (r445)<br />
* support for specifying custom file import settings was added in v1.6.2 (r481)<br />
* support for keyword options was added in v2.6.0<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Help:Sandkasten&diff=7854Help:Sandkasten2023-11-11T14:06:46Z<p>Froehlich: /* Syntax highlighting */ add WVP test</p>
<hr />
<div>__NOTOC__<br />
==Funktionstests==<br />
===Math===<br />
<math>x+y=8^{22}</math><br />
<br />
===Syntax highlighting===<br />
====VB.NET====<br />
<source lang="vbnet"><br />
' Foo<br />
Public Sub Foo(ByValue Bar As Integer)<br />
Return Bar<br />
End Sub<br />
</source><br />
<br />
====Fortran====<br />
<source lang="fortran"><br />
! Foo<br />
FUNCTION Foo(INT bar)<br />
RETURN bar<br />
END FUNCTION<br />
</source><br />
<br />
====BlueM====<br />
<bluem><br />
*Talsperren (*.TAL)<br />
*==================<br />
*<br />
*|------|------------|------------|-----|----------|-----------------------|-----------------------|<br />
*| Bez | Anfangs- | Maximal | Ge- | Sohle | HW-Entlastung | Krone |<br />
*| | volumen | volumen |wicht| | Kante S-Vol | Kante S-Vol |<br />
*|------|------------|------------|-----|----------|-----------------------|-----------------------|<br />
*| | [Tsd.cbm] | [Tsd.cbm] | - | [mNN] | [mNN] | [Tsd.cbm] | [mNN] | [Tsd.cbm] |<br />
*|-<-->-|-<-------->-|-<-------->-|-<->-|-<------>-|-<------>-|-<-------->-|-<------>-|-<-------->-|<br />
| T170 | 600 | 3650 | 1 | 114.9 | 118.25 | 2650 | 119.25 | 3650 |<br />
| THRB | 500 | 2800 | 1 | 116 | 121 | 2500 | 122 | 2800 |<br />
*|------|------------|------------|-----|----------|-----------------------|-----------------------|<br />
*<br />
</bluem><br />
<br />
====Wave project file====<br />
<source lang="wvp"><br />
# Import multiple series from multiple files<br />
#-------------------------------------------<br />
file=..\UVF\42960.0_q_28.uvf<br />
file=..\WEL\DEMONA_PSI.wel<br />
series=S3 _1AB: S3 outflow<br />
series=S3 _1ZU: S3 inflow<br />
file=..\ZRE\Zufl_gem.zre<br />
file=..\BIN\abfluss_1.bin<br />
series=abfluss_1.bin: title="Discharge", unit="m3/s", interpretation=Instantaneous, color=Red, linewidth=4, linestyle=Dash, showPoints=True<br />
file=myrandom.csv<br />
# custom import settings<br />
isColumnSeparated=True<br />
separator=;<br />
dateformat=dd.MM.yyyy HH:mm:ss<br />
decimalSeparator=,<br />
iLineHeadings=1<br />
iLineUnits=8<br />
iLineData=12<br />
useUnits=True<br />
columnWidth=<br />
dateTimeColumnIndex=0<br />
# series to import<br />
series=myseries1<br />
series=myseries2<br />
</source><br />
<br />
== CSS ==<br />
<div class="info_versionen"><br />
Versionen<br />
<pre><nowiki><div class="info_versionen"></nowiki></pre><br />
</div><br />
<br />
<div class="achtung"><br />
Achtung<br />
<pre><nowiki><div class="achtung"></nowiki></pre><br />
</div><br />
<br />
<div class="comment"><br />
Kommentar<br />
<pre><nowiki><div class="comment"></nowiki></pre><br />
</div><br />
<br />
Links:<br />
* File types:<br />
** PDF: http://www.example.com/test.pdf<br />
** EXE: http://www.example.com/test.exe<br />
** ZIP: http://www.example.com/test.zip<br />
** PPT: http://www.example.com/test.ppt http://www.example.com/test.pptx http://www.example.com/test.pps <br />
** DOC: http://www.example.com/test.doc http://www.example.com/test.doc<br />
** XLS: http://www.example.com/test.xls http://www.example.com/test.xlsx<br />
* Sites:<br />
** https://downloads.bluemodel.org<br />
** GitHub: https://github.com<br />
** Literature: https://tubiblio.ulb.tu-darmstadt.de/ https://dx.doi.org/</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave_project_file&diff=7853Wave project file2023-11-11T12:29:37Z<p>Froehlich: add note about creating/editing/saving</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
<div style="float:right; margin:0 0 1em 1em">__TOC__</div><br />
<br />
A '''Wave project file''' (<code>*.wvp</code>) is a text file that can be used to quickly load multiple series from multiple files at once. You can create/edit a project file using a text editor or save a project file from within Wave ([[File:Icon_disk.png|link=]] Save &rarr; [[File:Icon_chart_curve_link.png|link=]] Save project file).<br />
<br />
The basic format is as follows:<br />
<pre><br />
file=<path\to\file><br />
series=<series name><br />
series=<series name><br />
file=<path\to\file><br />
series=<series name><br />
series=<series name><br />
</pre><br />
<br />
The <code>file</code> keyword specifies the path to the time series file to import from. The path can be absolute or relative (to the project file). You can specify multiple files.<br />
<br />
The <code>series</code> keyword specifies the name of the series to import from the file specified above it. You can specify multiple series per file. If none are specified, all series contained in the file are imported.<br />
<br />
'''Note:''' If the series name contains a colon (<code>:</code>), the name has to be enclosed in quotes, e.g.:<br />
<pre><br />
series="series:name"<br />
</pre><br />
<br />
==Custom titles==<br />
It is possible to specify custom titles by writing the custom title after a colon (<code>:</code>) behind the series name:<br />
<pre><br />
series=<series name>:my custom title<br />
</pre><br />
<br />
'''Note:''' If the custom title contains an equal sign (<code>=</code>) or a comma (<code>,</code>), it must be enclosed in quotes, e.g.:<br />
<pre><br />
series=<series name>:"my , very = custom title"<br />
</pre><br />
<br />
==Series options==<br />
Additional series options can be specified as a list of comma-separated keyword arguments after a colon (<code>:</code>) behind the series name:<br />
<pre><br />
series=<series name>:<keyword>=<value>, <keyword>=<value>, ...<br />
</pre><br />
'''Note:''' When using keyword options, any custom title must also be specified using the appropriate <code>title</code> keyword.<br />
<br />
The following keywords are supported:<br />
* <code>title</code>: assigns a custom title<br />
* <code>unit</code>: assigns the specified unit<br />
* <code>interpretation</code>: assigns the specified [[Wave:Interpretation|interpretation]], must be the name of one of the members of [https://bluemodel.github.io/BlueM.Wave/api/BlueM.Wave.TimeSeries.InterpretationEnum.html <code>BlueM.Wave.TimeSeries.InterpretationEnum</code>], possible values:<br />
** <code>Instantaneous</code><br />
** <code>BlockRight</code><br />
** <code>BlockLeft</code><br />
** <code>Cumulative</code><br />
** <code>CumulativePerTimestep</code><br />
** <code>Undefined</code><br />
* <code>color</code>: assigns the specified color, can be the name of one of the members of [https://learn.microsoft.com/en-us/dotnet/api/system.drawing.knowncolor?view=netframework-4.8.1 <code>System.Drawing.KnownColor</code>] (e.g. <code>Red</code>) or a hexadecimal representation of ARGB values (e.g. <code>ffff0000</code>)<br />
* <code>linewidth</code>: assigns the specified line width (default is <code>2</code>)<br />
* <code>linestyle</code>: assigns the specified line style, must be the name of one of the members of [https://learn.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.dashstyle?view=netframework-4.8.1 <code>System.Drawing.Drawing2D.DashStyle</code>], possible values:<br />
** <code>Solid</code> (default)<br />
** <code>Dash</code><br />
** <code>Dot</code><br />
** <code>DashDot</code><br />
** <code>DashDotDot</code><br />
* <code>showpoints</code>: whether to display series points, must be <code>True</code> or <code>False</code>, default is <code>False</code><br />
<br />
'''Notes:'''<br />
* Keywords can be specified in any order and are not case-sensitive<br />
* Values are case-sensitive and must be enclosed in quotes if they contain an equal sign (<code>=</code>) or a comma (<code>,</code>)<br />
<br />
==Example==<br />
This is a [https://github.com/bluemodel/BlueM.Datasets/blob/master/Wave/WVP/wvp_example.wvp basic example] that loads multiple series from multiple different files of different types:<br />
<pre><br />
# Import multiple series from multiple files<br />
#-------------------------------------------<br />
file=..\UVF\42960.0_q_28.uvf<br />
file=..\WEL\DEMONA_PSI.wel<br />
series=S3 _1AB: S3 outflow<br />
series=S3 _1ZU: S3 inflow<br />
file=..\ZRE\Zufl_gem.zre<br />
file=..\BIN\abfluss_1.bin<br />
series=abfluss_1.bin: title="Discharge", unit="m3/s", interpretation=Instantaneous, color=Red, linewidth=4, linestyle=Dash, showPoints=True<br />
</pre><br />
<br />
==Custom file import settings==<br />
It is also possible to specify custom import settings for a file. This is useful for generic text or csv files.<br />
<br />
Example with all possible settings:<br />
<pre><br />
file=myrandom.csv<br />
# custom import settings<br />
isColumnSeparated=True<br />
separator=;<br />
dateformat=dd.MM.yyyy HH:mm:ss<br />
decimalSeparator=,<br />
iLineHeadings=1<br />
iLineUnits=8<br />
iLineData=12<br />
useUnits=True<br />
columnWidth=<br />
dateTimeColumnIndex=0<br />
# series to import<br />
series=myseries1<br />
series=myseries2<br />
</pre><br />
<br />
The accepted import settings are described below:<br />
* <code>isColumnSeparated</code>: whether the columns are separated by a character (<code>True</code>) or are fixed width (<code>False</code>). Default: <code>True</code><br />
* <code>separator</code>: the column separator (only relevant if <code>isColumnSeparated=True</code>). Default: <code>;</code>, possible values: <code>space</code>, <code>tab</code>, <code>,</code>, or any other single-character string<br />
* <code>columnWidth</code>: the column width (only relevant if <code>isColumnSeparated=False</code>). Default: <code>16</code><br />
* <code>dateformat</code>: the date format (see [https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings help]). Default: <code>dd.MM.yyyy HH:mm</code><br />
* <code>decimalSeparator</code>: the decimal separator for numbers. Default: <code>.</code><br />
* <code>iLineHeadings</code>: the number of the line containing the headings. Default: <code>1</code><br />
* <code>iLineUnits</code>: the number of the line containing the units. Default: <code>2</code><br />
* <code>iLineData</code>: the number of the first line of data. Default: <code>3</code><br />
* <code>useUnits</code>: whether to read units from the file. Default: <code>True</code><br />
* <code>dateTimeColumnIndex</code>: The 0-based index of the column containing date time values. Default: <code>0</code><br />
<br />
==Notes==<br />
* all whitespace apart from linebreaks in the project file is optional<br />
* lines starting with <code>#</code> are ignored (treated as comments)<br />
* support for this file was added in v1.6.1 (r445)<br />
* support for specifying custom file import settings was added in v1.6.2 (r481)<br />
* support for keyword options was added in v2.6.0<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=File:Icon_disk.png&diff=7852File:Icon disk.png2023-11-11T12:27:23Z<p>Froehlich: </p>
<hr />
<div></div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave_project_file&diff=7851Wave project file2023-11-11T12:20:53Z<p>Froehlich: update for v2.6.0</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
<div style="float:right; margin:0 0 1em 1em">__TOC__</div><br />
<br />
A '''Wave project file''' (<code>*.wvp</code>) is a text file that can be used to quickly load multiple series from multiple files at once.<br />
<br />
The basic format is as follows:<br />
<pre><br />
file=<path\to\file><br />
series=<series name><br />
series=<series name><br />
file=<path\to\file><br />
series=<series name><br />
series=<series name><br />
</pre><br />
<br />
The <code>file</code> keyword specifies the path to the time series file to import from. The path can be absolute or relative (to the project file). You can specify multiple files.<br />
<br />
The <code>series</code> keyword specifies the name of the series to import from the file specified above it. You can specify multiple series per file. If none are specified, all series contained in the file are imported.<br />
<br />
'''Note:''' If the series name contains a colon (<code>:</code>), the name has to be enclosed in quotes, e.g.:<br />
<pre><br />
series="series:name"<br />
</pre><br />
<br />
==Custom titles==<br />
It is possible to specify custom titles by writing the custom title after a colon (<code>:</code>) behind the series name:<br />
<pre><br />
series=<series name>:my custom title<br />
</pre><br />
<br />
'''Note:''' If the custom title contains an equal sign (<code>=</code>) or a comma (<code>,</code>), it must be enclosed in quotes, e.g.:<br />
<pre><br />
series=<series name>:"my , very = custom title"<br />
</pre><br />
<br />
==Series options==<br />
Additional series options can be specified as a list of comma-separated keyword arguments after a colon (<code>:</code>) behind the series name:<br />
<pre><br />
series=<series name>:<keyword>=<value>, <keyword>=<value>, ...<br />
</pre><br />
'''Note:''' When using keyword options, any custom title must also be specified using the appropriate <code>title</code> keyword.<br />
<br />
The following keywords are supported:<br />
* <code>title</code>: assigns a custom title<br />
* <code>unit</code>: assigns the specified unit<br />
* <code>interpretation</code>: assigns the specified [[Wave:Interpretation|interpretation]], must be the name of one of the members of [https://bluemodel.github.io/BlueM.Wave/api/BlueM.Wave.TimeSeries.InterpretationEnum.html <code>BlueM.Wave.TimeSeries.InterpretationEnum</code>], possible values:<br />
** <code>Instantaneous</code><br />
** <code>BlockRight</code><br />
** <code>BlockLeft</code><br />
** <code>Cumulative</code><br />
** <code>CumulativePerTimestep</code><br />
** <code>Undefined</code><br />
* <code>color</code>: assigns the specified color, can be the name of one of the members of [https://learn.microsoft.com/en-us/dotnet/api/system.drawing.knowncolor?view=netframework-4.8.1 <code>System.Drawing.KnownColor</code>] (e.g. <code>Red</code>) or a hexadecimal representation of ARGB values (e.g. <code>ffff0000</code>)<br />
* <code>linewidth</code>: assigns the specified line width (default is <code>2</code>)<br />
* <code>linestyle</code>: assigns the specified line style, must be the name of one of the members of [https://learn.microsoft.com/en-us/dotnet/api/system.drawing.drawing2d.dashstyle?view=netframework-4.8.1 <code>System.Drawing.Drawing2D.DashStyle</code>], possible values:<br />
** <code>Solid</code> (default)<br />
** <code>Dash</code><br />
** <code>Dot</code><br />
** <code>DashDot</code><br />
** <code>DashDotDot</code><br />
* <code>showpoints</code>: whether to display series points, must be <code>True</code> or <code>False</code>, default is <code>False</code><br />
<br />
'''Notes:'''<br />
* Keywords can be specified in any order and are not case-sensitive<br />
* Values are case-sensitive and must be enclosed in quotes if they contain an equal sign (<code>=</code>) or a comma (<code>,</code>)<br />
<br />
==Example==<br />
This is a [https://github.com/bluemodel/BlueM.Datasets/blob/master/Wave/WVP/wvp_example.wvp basic example] that loads multiple series from multiple different files of different types:<br />
<pre><br />
# Import multiple series from multiple files<br />
#-------------------------------------------<br />
file=..\UVF\42960.0_q_28.uvf<br />
file=..\WEL\DEMONA_PSI.wel<br />
series=S3 _1AB: S3 outflow<br />
series=S3 _1ZU: S3 inflow<br />
file=..\ZRE\Zufl_gem.zre<br />
file=..\BIN\abfluss_1.bin<br />
series=abfluss_1.bin: title="Discharge", unit="m3/s", interpretation=Instantaneous, color=Red, linewidth=4, linestyle=Dash, showPoints=True<br />
</pre><br />
<br />
==Custom file import settings==<br />
It is also possible to specify custom import settings for a file. This is useful for generic text or csv files.<br />
<br />
Example with all possible settings:<br />
<pre><br />
file=myrandom.csv<br />
# custom import settings<br />
isColumnSeparated=True<br />
separator=;<br />
dateformat=dd.MM.yyyy HH:mm:ss<br />
decimalSeparator=,<br />
iLineHeadings=1<br />
iLineUnits=8<br />
iLineData=12<br />
useUnits=True<br />
columnWidth=<br />
dateTimeColumnIndex=0<br />
# series to import<br />
series=myseries1<br />
series=myseries2<br />
</pre><br />
<br />
The accepted import settings are described below:<br />
* <code>isColumnSeparated</code>: whether the columns are separated by a character (<code>True</code>) or are fixed width (<code>False</code>). Default: <code>True</code><br />
* <code>separator</code>: the column separator (only relevant if <code>isColumnSeparated=True</code>). Default: <code>;</code>, possible values: <code>space</code>, <code>tab</code>, <code>,</code>, or any other single-character string<br />
* <code>columnWidth</code>: the column width (only relevant if <code>isColumnSeparated=False</code>). Default: <code>16</code><br />
* <code>dateformat</code>: the date format (see [https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings help]). Default: <code>dd.MM.yyyy HH:mm</code><br />
* <code>decimalSeparator</code>: the decimal separator for numbers. Default: <code>.</code><br />
* <code>iLineHeadings</code>: the number of the line containing the headings. Default: <code>1</code><br />
* <code>iLineUnits</code>: the number of the line containing the units. Default: <code>2</code><br />
* <code>iLineData</code>: the number of the first line of data. Default: <code>3</code><br />
* <code>useUnits</code>: whether to read units from the file. Default: <code>True</code><br />
* <code>dateTimeColumnIndex</code>: The 0-based index of the column containing date time values. Default: <code>0</code><br />
<br />
==Notes==<br />
* all whitespace apart from linebreaks in the project file is optional<br />
* lines starting with <code>#</code> are ignored (treated as comments)<br />
* support for this file was added in v1.6.1 (r445)<br />
* support for specifying custom file import settings was added in v1.6.2 (r481)<br />
* support for keyword options was added in v2.6.0<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave:Interpretation&diff=7850Wave:Interpretation2023-11-11T11:18:14Z<p>Froehlich: Redirected page to Time series management</p>
<hr />
<div>#REDIRECT [[Time_series_management]]<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=File:Wave_import_SWMM5_binary_output_file.png&diff=7849File:Wave import SWMM5 binary output file.png2023-10-28T08:35:06Z<p>Froehlich: Froehlich uploaded a new version of File:Wave import SWMM5 binary output file.png</p>
<hr />
<div>[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=ZRXP-Format&diff=7848ZRXP-Format2023-10-20T13:02:30Z<p>Froehlich: /* Notes */ Metadata keys</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
The ZRXP format is a text-based format for time series developed by [https://www.kisters.de/ Kisters]. <br />
<br />
The format is documented in {{file|pdf|ZRXP3.0 EN.pdf|Data Exchange Format ZRXP, User Manual}} ({{file|pdf|ZRXP3.0 EN.pdf|German version}}).<br />
<br />
Example file:<br />
<pre><br />
#ZRXPVERSION2206.235|*|ZRXPMODEStandard|*|ZRXPCREATORKisters ZRXP-Fileexporter|*|<br />
#TZMEZ|*|SANR00001234|*|SNAMEStation|*|SWATERFluss|*|CNR12345|*|CNAMEQzu|*|<br />
#CTYPEn-min-equi|*|CMW1|*|RTIMELVLdaily|*|CUNITm3/s|*|RINVAL-777|*|RNR1|*|<br />
#RTYPEmean values|*|RORPRProduktion|*|<br />
#LAYOUT(timestamp,value)|*|<br />
19741231000000 -777.0 <br />
19750101000000 3.23 <br />
19750102000000 2.69 <br />
19750103000000 2.51 <br />
19750104000000 2.20 <br />
19750105000000 1.79 <br />
19750106000000 1.54 <br />
19750107000000 2.48 <br />
</pre><br />
<br />
Different layouts are supported by Wave:<br />
* <code>LAYOUT(timestamp,value)</code>: the simplest layout, as shown in the example above, consists of only timestamps and values for a single time series.<br />
* <code>LAYOUT(timestamp,value,remark)</code>: this layout allows for an optional text remark for each node. Such remarks are ignored by Wave during import.<br />
* <code>LAYOUT(timestamp,forecast,member,value)</code>: this layout is used for ensemble forecasts consisting of multiple time series with different initialization dates and member numbers. The first column "timestamp" is considered the forecast initialization date and the second column "forecast" is considered the forecast valid date. Example:<br />
<pre><br />
##Ensemble seasonal forecast<br />
#ZRXPVERSION3014.03|*|ZRXPCREATORSYDRO pyTimeseries|*|<br />
#SANR10|*|SNAMEExample|*|<br />
#CNAMESeasonal forecast|*|CUNIT---|*|RINVAL-777.0|*|<br />
#LAYOUT(timestamp,forecast,member,value,)|*|<br />
20220901000000 20220901000000 1 -2.361538799802739<br />
20220901000000 20221001000000 1 -2.4925870318685766<br />
20220901000000 20221101000000 1 -1.7288213420732492<br />
20220901000000 20221201000000 1 -1.4400402417182527<br />
20220901000000 20230101000000 1 -0.9092383266664021<br />
20220901000000 20230201000000 1 -1.7735326838180545<br />
20220901000000 20220901000000 2 -1.8020267517568571<br />
20220901000000 20221001000000 2 -2.034995017608184<br />
20220901000000 20221101000000 2 -1.0236442939234867<br />
20220901000000 20221201000000 2 -1.062878089184713<br />
20220901000000 20230101000000 2 -0.2841003313570293<br />
20220901000000 20230201000000 2 -0.1492832315302455<br />
</pre><br />
<br />
==Notes==<br />
* The ZRXP format is associated with the file extensions <code>*.zrx</code> and <code>*.zrxp</code>.<br />
* Wave can read and write the following header entries, which are all handled as metadata:<br />
** <code>ZRXPVERSION</code><br />
** <code>ZRXPMODE</code><br />
** <code>ZRXPCREATOR</code><br />
** <code>REXCHANGE</code><br />
** <code>TZ</code><br />
** <code>SANR</code><br />
** <code>SNAME</code><br />
** <code>SWATER</code><br />
** <code>CNR</code><br />
** <code>CNAME</code><br />
** <code>CTYPE</code><br />
** <code>CMW</code><br />
** <code>RTIMELVL</code><br />
** <code>CUNIT</code><br />
** <code>RINVAL</code><br />
** <code>RNR</code><br />
** <code>RTYPE</code><br />
** <code>RORPR</code><br />
** <code>LAYOUT</code><br />
* From the above list, Wave uses the value of <code>CUNIT</code> for setting the unit, a combination of <code>SNAME</code> and <code>CNAME</code> for setting the title, and <code>RINVAL</code> for handling error values. <br />
<br />
[[Category:BlueM.Wave]]<br />
[[Category:Timeseries formats]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=OBF-file&diff=7847OBF-file2023-10-05T07:43:41Z<p>Froehlich: /* Common parameters */</p>
<hr />
<div>{{Template:BlueM.Opt input files}}<br />
<div class="info_versionen"><br />
'''Versions:'''<br />
* '''current''' v1.9<br />
* [{{SERVER}}/index.php?title=OBF-file&oldid=7469 v1.8] (up to r1843)<br />
* [{{SERVER}}/index.php?title=ZIE-file&oldid=7401 v1.7] (as of r1785)<br />
* [{{SERVER}}/index.php?title=ZIE-file&oldid=7274 v1.6] (as of r1762)<br />
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=6776 v1.4, v1.5] (as of r1524)<br />
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=6096 v1.3] (as of r1436)<br />
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=5843 v1.2.x]<br />
</div><br />
<div style="float:left; margin:0 10px 10px 0;">__TOC__</div><br />
This file defines the objective functions for the optimization. <br />
<br />
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 />
<br />
<br clear="all"/><br />
<br />
The file is divided into several blocks, each of which is optional. Each block is identified by its heading:<br />
* '''Series''': This block defines objective functions that are based on a comparison of simulation time series with a reference time series.<br />
* '''Values''': This block defines objective functions that are based on a comparison of simulation result values with a reference value (only for [[SWMM]] applications).<br />
* '''ValueFromSeries''': This block defines objective functions that are based on a comparison of values that are computed from simulated time series with reference values.<br />
* '''Aggregate''': Aggregate objective functions<br />
<br />
==File format==<br />
<bluem><br />
*Objective functions<br />
*===================<br />
*<br />
*Series<br />
*------<br />
*<br />
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------------------------|----------|<br />
*| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | Evaluation period | Reference series | CurValue |<br />
*| | | | | | | | | Start | End | RefName | RefFile | |<br />
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------|<br />
| P | Kling-Gupta | | + | | WEL | B401_1AB | KGE | 30.05.1984 00:00 | 18.06.1984 23:30 | | seriesfile.zre | |<br />
| S | NashSutcliffe | | + | | WEL | B401_1AB | NSE | 30.05.1984 00:00 | 18.06.1984 23:30 | | seriesfile.zre | |<br />
| S | VolumeError | | - | | WEL | B401_1AB | BIAS | 30.05.1984 00:00 | 18.06.1984 23:30 | | seriesfile.zre | |<br />
| S | MeanSquaredError | | - | | WEL | B401_1AB | MSE | 30.05.1984 00:00 | 18.06.1984 23:30 | | seriesfile.zre | |<br />
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------|<br />
*<br />
*Values<br />
*------<br />
*<br />
*|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------|<br />
*| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | TargetElement | TargetValue | | CurValue |<br />
*| | | | | | | | | (Block) | (Column) | RefValue | |<br />
*|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------|<br />
| S | OutfallLoad | | - | | RPT | | AE | OutfallNode | AvgFlow | 0 | |<br />
| S | Storage401 | Storage | - | + | BLZ | B401 | | Speicher | maxVolume | | |<br />
| S | Storage701 | Storage | - | + | BLZ | B701 | | Speicher | maxVolume | | |<br />
*|-----|---------------|---------|---|-------|-------|-----------|---------|-------------- |-------------|----------|----------|<br />
*<br />
*ValueFromSeries<br />
*---------------<br />
*<br />
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|----------------------|----------|<br />
*| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | Evaluation period | Reference value | CurValue |<br />
*| | | | | | | | | Start | Ende | ValueType | RefValue | |<br />
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------|<br />
| S | OutfallLoad | | - | | WEL | B401_1AB | AE | | | | | |<br />
| P | PeakError | | - | | WEL | S3 _1ZU | SE | | | Max | 29.33 | |<br />
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------|<br />
*<br />
*Aggregate<br />
*---------<br />
*<br />
*|-----|--------------|---------|---|----------|<br />
*| Opt | Name | Group | D | CurValue |<br />
*|-----|--------------|---------|---|----------|<br />
| P | TotalStorage | Storage | | |<br />
*|-----|--------------|---------|---|----------|<br />
</bluem><br />
<br />
The width of the columns can be adjusted if necessary, but the column separators (<code>|</code>) must be preserved!<br />
<br />
An asterisk (<code>*</code>) at the beginning of the line causes the line to be ignored.<br />
<br />
==Description==<br />
===Common parameters===<br />
The blocks "Series", "Values" and "ValuesFromSeries" share a set of parameters.<br />
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|- <br />
! width="150" | Parameter !! width="600" | Description<br />
|-<br />
| '''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.<br />
|-<br />
| '''Name''' || Arbitrary name of the objective function<br />
|-<br />
| '''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.<br />
|-<br />
| '''D'''irection<br/>(optional)<br />
|<br />
Direction of desired optimization:<br />
*<code>-</code>: The objective function should be minimized (default)<br />
*<code>+</code>: The objective function should be maximized (this causes the objective function values to be multiplied by <code>-1</code> internally).<br />
|-<br />
| '''Op'''erator or '''Fac'''tor<br/>(optional)<br />
|<br />
Optional, only used for aggregated objective functions<br />
*<code>+</code>: The objective function value is added to the group<br />
*<code>-</code>: The objective function value is subtracted from the group<br />
*''number'': The objective function value is multiplied by the given number and then added to the group<br />
|-<br />
| '''File''' || The file extension of the simulation result file containing the simulation result from which the objective function should be calculated. Supported values:<br />
* <code>WEL</code> (for [[BlueM.Sim]] or [[TALSIM]])<br />
* <code>KWL</code> (only for [[BlueM.Sim]])<br />
* <code>WBL</code> (only for [[TALSIM]])<br />
* <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]])<br />
* <code>ASC</code> (only for [[SMUSI]] and [[SWMM]])<br />
|-<br />
| '''SimResult''' || The identifier of the simulation result from which the objective function should be calculated.<br />
|-<br />
| '''ObjFunc''' || Specifies which objective function to use. <br />
Supported values for comparing values:<br />
* <code>SE</code>: Squared error<br />
* <code>AE</code>: Absolute error<br />
Supported values for comparing series:<br />
* <code>MAE</code>: Mean abolute error<br />
* <code>SAE</code>: Sum of absolute errors<br />
* <code>MSE</code>: Mean squared error<br />
* <code>SSE</code>: Sum of squared errors<br />
* <code>NSE</code>: Nash-Sutcliffe efficiency{{:Literatur:Nash-Sutcliffe_1970|}}<br />
:<code>-&infin; &le; NSE &le; 1</code>. Larger is better.<br />
:<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><br />
* <code>lnNSE</code>: Logarithmic Nash-Sutcliffe efficiency{{:Literatur:Nash-Sutcliffe_1970|}}<br />
:<code>-&infin; &le; lnNSE &le; 1</code>. Larger is better.<br />
:<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><br />
<code>&epsilon;</code> is set to 1% of the average value of <code>Q<sub>obs</sub></code> as recommended by {{:Literatur:Pushpalatha_2012}}.<br />
* <code>KGE</code>: Kling-Gupta efficiency{{:Literatur:Kling_2012|}}<br />
:<code>-&infin; &le; KGE &le; 1</code>. Larger is better.<br />
:<math>\text{KGE} = 1 - \sqrt{ (r - 1)^2 + (\beta - 1)^2 + (\gamma - 1)^2 }</math><br />
:with<br />
::<code>r</code>: correlation coefficient<br />
::<code>&beta;</code>: bias ratio<br />
::<code>&gamma;</code>: variability ratio<br />
* <code>NGT</code>: Relative number of timesteps in which the simulation result is larger than (exceeds) the value of the reference time series [%]<br />
* <code>SGT</code>: Sum of the simulation values that are larger than the values of the reference time series<br />
* <code>NLT</code>: Relative number of timesteps in which the simulation result is smaller than the value of the reference time series [%]<br />
* <code>SLT</code>: Sum of the simulation values that are smaller than the values of the reference time series<br />
* <code>DET</code>: [https://en.wikipedia.org/wiki/Coefficient_of_determination Coefficient of determination] (simple linear regression) <code>0 &le; R² &le; 1</code>:<br />
:<math>R^2 = \frac{s^2_{xy}}{s^2_x \cdot s^2_y}</math><br />
* <code>BIAS</code>: Absolute volume error [%]<br />
The following options are '''deprecated''' and only kept for backwards compatibility:<br />
* <code>NashSutt</code>: Modified Nash-Sutcliffe efficiency<br />
:modified formula with <code>0 &le; NSE<sub>mod</sub> &le; &infin;</code>. Smaller is better. <br />
:<math>NSE_{mod}=1-NSE</math><br />
* <code>LnNashSutt</code>: Modified logarithmic Nash-Sutcliffe efficiency<br />
:modified formula with <code>0 &le; lnNSE<sub>mod</sub> &le; &infin;</code>. Smaller is better. <br />
:<math>lnNSE_{mod}=1-lnNSE</math><br />
|-<br />
| '''CurValue'''<br/>(optional) || An optional value that is displayed in diagrams to serve as an indication of improvement.<br />
|}<br />
<br />
==="Series"===<br />
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|- <br />
! width="150" | Parameter !! width="500" | Description<br />
|-<br />
| '''Evaluation period'''<br/>(optional) || Specifies the simulation time period for which the objective function should be evaluated.<br/><br />
Format: <code>dd.mm.yyyy hh:mm</code><br/><br />
If '''Start''' and/or '''End''' are left empty, the start and/or end of the entire simulation time period is used.<br />
|-<br />
| '''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]]). <br />
|-<br />
| '''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><br />
|}<br />
<br />
==="Values"===<br />
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|- <br />
! width="150" | Parameter !! width="500" | Description<br />
|-<br />
| '''TargetElement (Block)''' || Specifies in which section (block) the target variable is located.<br />
|-<br />
| '''TargetValue (Column)''' || Specifies the target variable within the block.<br />
|-<br />
| '''RefValue''' || The reference value with which the simulation result should be compared.<br />
|}<br />
<br />
The parameter TargetElement is dependent on the parameter TargetValue and the simulation tool used, only the following combinations are possible:<br />
<br />
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|- <br />
! width="100" | Application !! width="200" | TargetElement (Block) !! width="200" | TargetValue (Column)<br />
|-<br />
| '''SWMM''' || NodeFlooding || HoursFlooded<br />
|-<br />
| '''SWMM''' || NodeFlooding || FloodVolume<br />
|-<br />
| '''SWMM''' || StorageVolume || AvgVolume<br />
|-<br />
| '''SWMM''' || StorageVolume || AvgPctFull<br />
|-<br />
| '''SWMM''' || StorageVolume || MaxVolume<br />
|-<br />
| '''SWMM''' || StorageVolume || MaxPctFull<br />
|-<br />
| '''SWMM''' || StorageVolume || MaxOutflow<br />
|-<br />
| '''SWMM''' || OutfallLoad || MaxFlow<br />
|-<br />
| '''SWMM''' || OutfallLoad || FlowVolume<br />
|-<br />
| '''SWMM''' || OutfallLoad || Pollutant_[no]<br />
|-<br />
| '''SWMM''' || Pumping || OnlineTime<br />
|-<br />
| '''SWMM''' || Pumping || TotalEnergy<br />
|-<br />
| '''Smusi''' || EntlVolumen || SumVol<br />
|-<br />
| '''Smusi''' || MaxAbfluss || Qmax<br />
|-<br />
| '''Smusi''' || EntlFracht || CSBspez<br />
|}<br />
<br />
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.<br />
<br />
==="ValueFromSeries"===<br />
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|- <br />
! width="150" | Parameter !! width="500" | Description<br />
|-<br />
| '''Evaluation period'''<br/>(optional) || Specifies the simulation time period for which the objective function should be evaluated.<br/><br />
Format: <code>dd.mm.yyyy hh:mm</code><br/><br />
If '''Start''' and/or '''End''' are left empty, the start and/or end of the entire simulation time period is used.<br />
|-<br />
| '''ValueType''' || Specifies how to calculate the value from the simulation result series. Supported values:<br />
* <code>Max</code>: Maximum value of the simulation result<br />
* <code>Min</code>: Minimum value of the simulation result<br />
* <code>Avg</code>: Average value of the simulation result<br />
* <code>Start</code>: First value of the simulation result<br />
* <code>End</code>: Last value of the simulation result<br />
* <code>Sum</code>: Sum of the simulation result<br />
|-<br />
| '''RefValue''' || The reference value with which the computed simulation result should be compared.<br />
|}<br />
<br />
==Literature==<br />
<references/><br />
<br />
[[Category:BlueM.Opt input files|O]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=OBF-file&diff=7846OBF-file2023-10-05T07:40:56Z<p>Froehlich: /* Common parameters */ Fix KGE reference</p>
<hr />
<div>{{Template:BlueM.Opt input files}}<br />
<div class="info_versionen"><br />
'''Versions:'''<br />
* '''current''' v1.9<br />
* [{{SERVER}}/index.php?title=OBF-file&oldid=7469 v1.8] (up to r1843)<br />
* [{{SERVER}}/index.php?title=ZIE-file&oldid=7401 v1.7] (as of r1785)<br />
* [{{SERVER}}/index.php?title=ZIE-file&oldid=7274 v1.6] (as of r1762)<br />
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=6776 v1.4, v1.5] (as of r1524)<br />
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=6096 v1.3] (as of r1436)<br />
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=5843 v1.2.x]<br />
</div><br />
<div style="float:left; margin:0 10px 10px 0;">__TOC__</div><br />
This file defines the objective functions for the optimization. <br />
<br />
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 />
<br />
<br clear="all"/><br />
<br />
The file is divided into several blocks, each of which is optional. Each block is identified by its heading:<br />
* '''Series''': This block defines objective functions that are based on a comparison of simulation time series with a reference time series.<br />
* '''Values''': This block defines objective functions that are based on a comparison of simulation result values with a reference value (only for [[SWMM]] applications).<br />
* '''ValueFromSeries''': This block defines objective functions that are based on a comparison of values that are computed from simulated time series with reference values.<br />
* '''Aggregate''': Aggregate objective functions<br />
<br />
==File format==<br />
<bluem><br />
*Objective functions<br />
*===================<br />
*<br />
*Series<br />
*------<br />
*<br />
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------------------------|----------|<br />
*| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | Evaluation period | Reference series | CurValue |<br />
*| | | | | | | | | Start | End | RefName | RefFile | |<br />
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------|<br />
| P | Kling-Gupta | | + | | WEL | B401_1AB | KGE | 30.05.1984 00:00 | 18.06.1984 23:30 | | seriesfile.zre | |<br />
| S | NashSutcliffe | | + | | WEL | B401_1AB | NSE | 30.05.1984 00:00 | 18.06.1984 23:30 | | seriesfile.zre | |<br />
| S | VolumeError | | - | | WEL | B401_1AB | BIAS | 30.05.1984 00:00 | 18.06.1984 23:30 | | seriesfile.zre | |<br />
| S | MeanSquaredError | | - | | WEL | B401_1AB | MSE | 30.05.1984 00:00 | 18.06.1984 23:30 | | seriesfile.zre | |<br />
*|-----|------------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------|<br />
*<br />
*Values<br />
*------<br />
*<br />
*|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------|<br />
*| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | TargetElement | TargetValue | | CurValue |<br />
*| | | | | | | | | (Block) | (Column) | RefValue | |<br />
*|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------|<br />
| S | OutfallLoad | | - | | RPT | | AE | OutfallNode | AvgFlow | 0 | |<br />
| S | Storage401 | Storage | - | + | BLZ | B401 | | Speicher | maxVolume | | |<br />
| S | Storage701 | Storage | - | + | BLZ | B701 | | Speicher | maxVolume | | |<br />
*|-----|---------------|---------|---|-------|-------|-----------|---------|-------------- |-------------|----------|----------|<br />
*<br />
*ValueFromSeries<br />
*---------------<br />
*<br />
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|----------------------|----------|<br />
*| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | Evaluation period | Reference value | CurValue |<br />
*| | | | | | | | | Start | Ende | ValueType | RefValue | |<br />
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------|<br />
| S | OutfallLoad | | - | | WEL | B401_1AB | AE | | | | | |<br />
| P | PeakError | | - | | WEL | S3 _1ZU | SE | | | Max | 29.33 | |<br />
*|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------|<br />
*<br />
*Aggregate<br />
*---------<br />
*<br />
*|-----|--------------|---------|---|----------|<br />
*| Opt | Name | Group | D | CurValue |<br />
*|-----|--------------|---------|---|----------|<br />
| P | TotalStorage | Storage | | |<br />
*|-----|--------------|---------|---|----------|<br />
</bluem><br />
<br />
The width of the columns can be adjusted if necessary, but the column separators (<code>|</code>) must be preserved!<br />
<br />
An asterisk (<code>*</code>) at the beginning of the line causes the line to be ignored.<br />
<br />
==Description==<br />
===Common parameters===<br />
The blocks "Series", "Values" and "ValuesFromSeries" share a set of parameters.<br />
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|- <br />
! width="150" | Parameter !! width="600" | Description<br />
|-<br />
| '''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.<br />
|-<br />
| '''Name''' || Arbitrary name of the objective function<br />
|-<br />
| '''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.<br />
|-<br />
| '''D'''irection<br/>(optional)<br />
|<br />
Direction of desired optimization:<br />
*<code>-</code>: The objective function should be minimized (default)<br />
*<code>+</code>: The objective function should be maximized. This causes the objective function values to be multiplied by <code>-1</code> (#303).<br />
|-<br />
| '''Op'''erator or '''Fac'''tor<br/>(optional)<br />
|<br />
Optional, only used for aggregated objective functions<br />
*<code>+</code>: The objective function value is added to the group<br />
*<code>-</code>: The objective function value is subtracted from the group<br />
*''number'': The objective function value is multiplied by the given number and then added to the group<br />
|-<br />
| '''File''' || The file extension of the simulation result file containing the simulation result from which the objective function should be calculated. Supported values:<br />
* <code>WEL</code> (for [[BlueM.Sim]] or [[TALSIM]])<br />
* <code>KWL</code> (only for [[BlueM.Sim]])<br />
* <code>WBL</code> (only for [[TALSIM]])<br />
* <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]])<br />
* <code>ASC</code> (only for [[SMUSI]] and [[SWMM]])<br />
|-<br />
| '''SimResult''' || The identifier of the simulation result from which the objective function should be calculated.<br />
|-<br />
| '''ObjFunc''' || Specifies which objective function to use. <br />
Supported values for comparing values:<br />
* <code>SE</code>: Squared error<br />
* <code>AE</code>: Absolute error<br />
Supported values for comparing series:<br />
* <code>MAE</code>: Mean abolute error<br />
* <code>SAE</code>: Sum of absolute errors<br />
* <code>MSE</code>: Mean squared error<br />
* <code>SSE</code>: Sum of squared errors<br />
* <code>NSE</code>: Nash-Sutcliffe efficiency{{:Literatur:Nash-Sutcliffe_1970|}}<br />
:<code>-&infin; &le; NSE &le; 1</code>. Larger is better.<br />
:<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><br />
* <code>lnNSE</code>: Logarithmic Nash-Sutcliffe efficiency{{:Literatur:Nash-Sutcliffe_1970|}}<br />
:<code>-&infin; &le; lnNSE &le; 1</code>. Larger is better.<br />
:<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><br />
<code>&epsilon;</code> is set to 1% of the average value of <code>Q<sub>obs</sub></code> as recommended by {{:Literatur:Pushpalatha_2012}}.<br />
* <code>KGE</code>: Kling-Gupta efficiency{{:Literatur:Kling_2012|}}<br />
:<code>-&infin; &le; KGE &le; 1</code>. Larger is better.<br />
:<math>\text{KGE} = 1 - \sqrt{ (r - 1)^2 + (\beta - 1)^2 + (\gamma - 1)^2 }</math><br />
:with<br />
::<code>r</code>: correlation coefficient<br />
::<code>&beta;</code>: bias ratio<br />
::<code>&gamma;</code>: variability ratio<br />
* <code>NGT</code>: Relative number of timesteps in which the simulation result is larger than (exceeds) the value of the reference time series [%]<br />
* <code>SGT</code>: Sum of the simulation values that are larger than the values of the reference time series<br />
* <code>NLT</code>: Relative number of timesteps in which the simulation result is smaller than the value of the reference time series [%]<br />
* <code>SLT</code>: Sum of the simulation values that are smaller than the values of the reference time series<br />
* <code>DET</code>: [https://en.wikipedia.org/wiki/Coefficient_of_determination Coefficient of determination] (simple linear regression) <code>0 &le; R² &le; 1</code>:<br />
:<math>R^2 = \frac{s^2_{xy}}{s^2_x \cdot s^2_y}</math><br />
* <code>BIAS</code>: Absolute volume error [%]<br />
The following options are '''deprecated''' and only kept for backwards compatibility:<br />
* <code>NashSutt</code>: Modified Nash-Sutcliffe efficiency<br />
:modified formula with <code>0 &le; NSE<sub>mod</sub> &le; &infin;</code>. Smaller is better. <br />
:<math>NSE_{mod}=1-NSE</math><br />
* <code>LnNashSutt</code>: Modified logarithmic Nash-Sutcliffe efficiency<br />
:modified formula with <code>0 &le; lnNSE<sub>mod</sub> &le; &infin;</code>. Smaller is better. <br />
:<math>lnNSE_{mod}=1-lnNSE</math><br />
|-<br />
| '''CurValue'''<br/>(optional) || An optional value that is displayed in diagrams to serve as an indication of improvement.<br />
|}<br />
<br />
==="Series"===<br />
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|- <br />
! width="150" | Parameter !! width="500" | Description<br />
|-<br />
| '''Evaluation period'''<br/>(optional) || Specifies the simulation time period for which the objective function should be evaluated.<br/><br />
Format: <code>dd.mm.yyyy hh:mm</code><br/><br />
If '''Start''' and/or '''End''' are left empty, the start and/or end of the entire simulation time period is used.<br />
|-<br />
| '''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]]). <br />
|-<br />
| '''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><br />
|}<br />
<br />
==="Values"===<br />
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|- <br />
! width="150" | Parameter !! width="500" | Description<br />
|-<br />
| '''TargetElement (Block)''' || Specifies in which section (block) the target variable is located.<br />
|-<br />
| '''TargetValue (Column)''' || Specifies the target variable within the block.<br />
|-<br />
| '''RefValue''' || The reference value with which the simulation result should be compared.<br />
|}<br />
<br />
The parameter TargetElement is dependent on the parameter TargetValue and the simulation tool used, only the following combinations are possible:<br />
<br />
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|- <br />
! width="100" | Application !! width="200" | TargetElement (Block) !! width="200" | TargetValue (Column)<br />
|-<br />
| '''SWMM''' || NodeFlooding || HoursFlooded<br />
|-<br />
| '''SWMM''' || NodeFlooding || FloodVolume<br />
|-<br />
| '''SWMM''' || StorageVolume || AvgVolume<br />
|-<br />
| '''SWMM''' || StorageVolume || AvgPctFull<br />
|-<br />
| '''SWMM''' || StorageVolume || MaxVolume<br />
|-<br />
| '''SWMM''' || StorageVolume || MaxPctFull<br />
|-<br />
| '''SWMM''' || StorageVolume || MaxOutflow<br />
|-<br />
| '''SWMM''' || OutfallLoad || MaxFlow<br />
|-<br />
| '''SWMM''' || OutfallLoad || FlowVolume<br />
|-<br />
| '''SWMM''' || OutfallLoad || Pollutant_[no]<br />
|-<br />
| '''SWMM''' || Pumping || OnlineTime<br />
|-<br />
| '''SWMM''' || Pumping || TotalEnergy<br />
|-<br />
| '''Smusi''' || EntlVolumen || SumVol<br />
|-<br />
| '''Smusi''' || MaxAbfluss || Qmax<br />
|-<br />
| '''Smusi''' || EntlFracht || CSBspez<br />
|}<br />
<br />
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.<br />
<br />
==="ValueFromSeries"===<br />
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|- <br />
! width="150" | Parameter !! width="500" | Description<br />
|-<br />
| '''Evaluation period'''<br/>(optional) || Specifies the simulation time period for which the objective function should be evaluated.<br/><br />
Format: <code>dd.mm.yyyy hh:mm</code><br/><br />
If '''Start''' and/or '''End''' are left empty, the start and/or end of the entire simulation time period is used.<br />
|-<br />
| '''ValueType''' || Specifies how to calculate the value from the simulation result series. Supported values:<br />
* <code>Max</code>: Maximum value of the simulation result<br />
* <code>Min</code>: Minimum value of the simulation result<br />
* <code>Avg</code>: Average value of the simulation result<br />
* <code>Start</code>: First value of the simulation result<br />
* <code>End</code>: Last value of the simulation result<br />
* <code>Sum</code>: Sum of the simulation result<br />
|-<br />
| '''RefValue''' || The reference value with which the computed simulation result should be compared.<br />
|}<br />
<br />
==Literature==<br />
<references/><br />
<br />
[[Category:BlueM.Opt input files|O]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave:GoodnessOfFit&diff=7845Wave:GoodnessOfFit2023-10-05T07:32:52Z<p>Froehlich: /* Kling-Gupta efficiency */ fix reference #120</p>
<hr />
<div>{{Wave_nav}}<br />
<div style="float:right; margin-left:10px;">__TOC__</div><br />
<br />
==Description==<br />
[[File:GoodnessOfFit ResultChart.png|thumb|right|Result chart for a GoodnessOfFit analysis with two simulated time series]]<br />
'''GoodnessOfFit''' calculates various goodness of fit indicators for one or more "simulated" time series in relation to one "observed" time series.<br />
<br />
Optionally, the analysis can be performed for individual hydrologic years.<br />
<br />
The indicators "Volume error", "Nash-Sutcliffe efficiency", "Logarithmic Nash-Sutcliffe efficiency", "Kling-Gupta efficiency" and "Coefficient of correlation" are displayed in a radar chart. The full set of indicators is output to a result table.<br />
<br />
== Indicators ==<br />
<br />
=== Volume error ===<br />
:<math>m = 100 \cdot \frac{\sum_{t=1}^T{(Q_m^t - Q_o^t)}}{\sum_{t=1}^T{Q_o^t}}</math><br />
<br />
with:<br />
:<code>m</code>: Volume error [%]<br />
:<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code><br />
:<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code><br />
<br />
=== Sum of squared errors ===<br />
:<math>F^2 = \sum_{t=1}^T{\left(Q_o^t - Q_m^t\right)^2}</math><br />
<br />
with<br />
:<code>F²</code>: Sum of squared errors<br />
:<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code><br />
:<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code><br />
<br />
=== Correlation coefficient / coefficient of determination ===<br />
:<math>r = \frac{s_{o,m}}{s_o \cdot s_m}</math><br />
<br />
with<br />
:<math>s_{o,m} = \frac{1}{n - 1} \sum_{t=1}^T{(Q_o^t - \overline{Q_o}) \cdot (Q_m^t - \overline{Q_m})}</math><br />
:<math>s_o = \sqrt{\frac{1}{n - 1} \sum_{t=1}^T{(Q_o^t - \overline{Q_o})^2}}</math><br />
:<math>s_m = \sqrt{\frac{1}{n - 1} \sum_{t=1}^T{(Q_m^t - \overline{Q_m})^2}}</math><br />
<br />
with<br />
:<code>r</code>: correlation coefficient (<code>-1 &le; r &le; 1</code>)<br />
:<code>r²</code>: coefficient of determination (<code>0 &le; r² &le; 1</code>)<br />
:<code>s<sub>o,m</sub></code>: covariance<br />
:<code>s<sub>o</sub></code>: standard deviation of observed values<br />
:<code>s<sub>m</sub></code>: standard deviation of simulated values<br />
:<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code><br />
:<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code><br />
:<code>n</code>: Number of values<br />
:<code><span style="text-decoration:overline;">Q<sub>o</sub></span></code>: observed average<br />
:<code><span style="text-decoration:overline;">Q<sub>m</sub></span></code>: simulated average<br />
<br />
====Rating====<br />
{|cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|-<br />
! Coefficient of determination !! Rating<br />
|-<br />
| < 0.2 || unsatisfactory<br />
|-<br />
| 0.2 - 0.4 || satisfactory<br />
|-<br />
| 0.4 - 0.6 || good<br />
|-<br />
| 0.6 - 0.8 || very good<br />
|-<br />
| > 0.8 || excellent<br />
|}<br />
<br />
===Nash-Sutcliffe efficiency===<br />
:<math>E = 1-\frac{\sum_{t=1}^T\left(Q_o^t-Q_m^t\right)^2}{\sum_{t=1}^T\left(Q_o^t-\overline{Q_o}\right)^2}</math> {{:Literatur:Nash-Sutcliffe 1970|}}<br />
<br />
with<br />
:<code>E</code>: Nash-Sutcliffe efficiency [-]<br />
:<code><span style="text-decoration:overline;">Q<sub>o</sub></span></code>: observed average<br />
:<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code><br />
:<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code><br />
<br />
<blockquote><br />
Nash-Sutcliffe efficiencies can range from -∞ to 1. An efficiency of 1 (''E''=1) corresponds to a perfect match of modeled discharge to the observed data. An efficiency of 0 (''E''=0) indicates that the model predictions are as accurate as the mean of the observed data, whereas an efficiency less than zero (-∞<''E''<0) occurs when the observed mean is a better predictor than the model. Essentially, the closer the model efficiency is to 1, the more accurate the model is.<br />
</blockquote><br />
:&mdash; Wikipedia<ref>'''Wikipedia contributors''': "Nash-Sutcliffe efficiency coefficient," Wikipedia, The Free Encyclopedia, http://en.wikipedia.org/w/index.php?title=Nash-Sutcliffe_efficiency_coefficient&oldid=231196847 (accessed September 18, 2008). </ref><br />
<br />
===Logarithmic Nash-Sutcliffe efficiency===<br />
:<math>E,ln = 1-\frac{\sum_{t=1}^T\left(ln(Q_o^t+\epsilon)-ln(Q_m^t+\epsilon)\right)^2}{\sum_{t=1}^T\left(ln(Q_o^t)-\overline{ln(Q_o+\epsilon)}\right)^2}</math><br />
<br />
with<br />
:<code>E,ln</code>: Logarithmic Nash-Sutcliffe efficiency [-]<br />
:<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code><br />
:<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code><br />
:<code>&epsilon;</code>: small constant set to 1% of the average value of <code>Q<sub>o</sub></code> as recommended by {{:Literatur:Pushpalatha_2012}}.<br />
<br />
===Kling-Gupta efficiency===<br />
:<math>\text{KGE} = 1 - \sqrt{ (r - 1)^2 + (\beta - 1)^2 + (\gamma - 1)^2 }</math><br />
:with<br />
::<code>r</code>: correlation coefficient<br />
::<code>&beta;</code>: bias ratio<br />
::<code>&gamma;</code>: variability ratio<br />
<br />
<code>-&infin; &le; KGE &le; 1</code>. Larger is better.<br />
<br />
Reference: {{:Literatur:Kling_2012|Kling et al. 2012}}<br />
<br />
===Hydrologic deviation===<br />
:<math>D = 200 \cdot \frac{\sum_{t=1}^T{|Q_m^t - Q_o^t| \cdot Q_o^t}}{n \cdot {Q_{o,max}}^2}</math><br />
<br />
mit<br />
:<code>D</code>: Hydrologic deviation [-]<br />
:<code>Q<sub>o</sub><sup>t</sup></code>: observed value at time <code>t</code><br />
:<code>Q<sub>m</sub><sup>t</sup></code>: simulated value at time <code>t</code><br />
:<code>n</code>: Number of values<br />
:<code>Q<sub>o,max</sub></code>: observed maximum<br />
<br />
<blockquote><br />
[Die hydrologische Deviation] kann verstanden werden als gewogene mittlere Abweichung, angegeben in Prozent des jeweiligen Spitzenabflusses. Bei völliger Übereinstimmung der beiden Kurven würde sich somit die Deviation zu Null ergeben; bei Vorhandensein der gemessenen Kurve (in Dreiecksform) und Nichtvorhandensein der gerechneten Kurve (alle Ordinaten gleich Null) ergäbe sich eine Deviation von 50,0 &mdash; um nur zwei Extremfälle zu nennen.<br />
</blockquote><br />
:&mdash; {{:Literatur:Schultz_1968|Schultz (1968), S.53}}<br />
<br />
====Rating====<br />
{|cellpadding="5" cellspacing="0" border="0" class="standard stripes"<br />
|-<br />
! Deviation !! Rating<br />
|-<br />
| 0 - 3 || very good<br />
|-<br />
| 3 - 10 || good<br />
|-<br />
| 10 - 18 || usable<br />
|}<br />
: &mdash; {{:Literatur:Schultz_1968}}<br />
<br />
==Notes==<br />
The time series being compared are cleaned before conducting the analysis, i.e. they are cut to each other's extents and all non-coincident nodes and nodes that have a NaN value in one of the time series are discarded.<br />
<br />
==Literature==<br />
<references/><br />
<br />
[[Category:BlueM.Wave|G]]<br />
[[Category:Analysis functions|G]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Literature:Kling_2012&diff=7844Literature:Kling 20122023-10-05T07:32:28Z<p>Froehlich: Created page with "{{{1|Kling et al. (2012)}}}<ref name="kling_2012">'''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.</ref><noinclude> ==Preview== <references/> </noinclude>"</p>
<hr />
<div>{{{1|Kling et al. (2012)}}}<ref name="kling_2012">'''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.</ref><noinclude><br />
<br />
==Preview==<br />
<references/><br />
</noinclude></div>Froehlichhttps://wiki.bluemodel.org/index.php?title=BlueM.Wave&diff=7843BlueM.Wave2023-10-02T16:18:49Z<p>Froehlich: /* Visualization & Navigation */ navigation buttons in v2.4.6</p>
<hr />
<div>{{Wave_nav}}<br />
<div style="float:right; margin:0.5em 0 0.5em 0.5em;">__TOC__</div><br />
[[Bild:Wave_screenshot.png|thumb|Screenshot]]<br />
<br />
==Description==<br />
Wave is a tool for displaying, analyzing and importing and exporting time series.<br />
<br />
==Features==<br />
<br />
===[[File:Icon_chart_line_add.png|link=]] Import time series===<br />
'''Supported file formats:'''<br />
* [[WEL-Format | WEL]] ([[WEL-Format (BlueM)|BlueM]], [[WEL-Format (GISMO)|GISMO]], [[WEL-Format (TALSIM)|TALSIM]])<br />
* [[BIN-Format | SYDRO binary format (BIN)]]<br />
* [[DFS0-Format | DHI MIKE DFS0 format]]<br />
* [[HYDRO_AS-2D result files]]<br />
* [[Hystem-Extran file formats]]: "Regendatei" and "Wellendatei"<br />
* [[JAMS result files]]: JAMS/J2000/J2K/J2000g timeseries results<br />
* [[PRMS result files]]<br />
* [[SMUSI file formats]]: ASC result files and REG files<br />
* [[SWMM file formats]]: SWMM5 binary output format, routing interface files, LID report files, SWMM time series files<br />
* [[SMB-Format | SMB]] <br />
* [[UVF-Format | UVF]] (Universelles Variables Format)<br />
* [[ZRE-Format | ZRE format]]<br />
* [[ZRXP-Format | ZRXP format]]<br />
* and generic text files (e.g. [[CSV-Format|CSV]] and [[TXT-Format|TXT]])<br />
<br />
[[File:Icon_chart_curve_link.png|link=]] Use a '''[[Wave project file]]''' (<code>*.wvp</code>) to quickly import multiple series from multiple files at once.<br />
<br />
'''Drag&Drop''' files onto Wave to import them quickly.<br />
<br />
It is also possible to manually [[File:Icon_chart_line_edit.png|link=]] '''enter time series''', or [[File:Icon_page_paste.png|link=]] '''paste clipboard data''' from Excel and [http://www.talsim.de Talsim-NG].<br />
<br />
===Visualization & Navigation===<br />
Display time series in a highly [[File:Icon_chart_curve_edit.png|link=]] '''customizable chart''' (provided by [http://www.steema.com/products/teechart/overview.html TeeChart])<br />
<br />
[[Image:TimeSeriesValues.png|thumb|Time series values and markers ([[Media:TimeSeriesValues_animation.gif|animation]])]]<br />
* [[File:Icon_application_split.png|link=]] An '''overview''' chart shows you the full extent of the time series and the period currently displayed in the main chart.<br />
* [[File:Icons_zoom.png|link=]] Use the toolbar buttons or the mouse to '''zoom or pan''' either in the main chart or the overview chart. Use the left mouse button or the mouse scroll wheel to zoom, hold the right mouse button to pan.<br />
* [[File:Icon_controller.png|link=]] Use the '''navigation bar''' to set a custom display period and to navigate by a fixed time period or to the start/end [[File:Icons_navigate.png|link=]].<br />
* [[File:Icon_table.png|link=]] Display tabular '''time series values''' and optionally show markers [[File:Icon_comments.png|link=]] for selected rows in the main chart<br />
<br />
===Series management===<br />
[[File:Wave TimeSeries Properties.png|thumb|right|Time series properties]]<br />
* [[File:Icon_accept_split.png|link=]] Quickly switch time series on and off using the '''check boxes''' in the legend or activate/deactivate all series at once using the button in the toolbar.<br />
* [[File:Icon_table_edit.png|link=]] Display and edit '''time series properties''' in a table with optional statistics.<br />
* [[File:Icon_shape_align_bottom.png|link=]] '''Manage axes''': When importing time series, series are automatically assigned to different axes depending on their unit.<br />
<br />
===Save & Export===<br />
[[File:Icon_chart_curve_link.png|link=]] '''Save [[Wave project file|project files]]''' (<code>*.wvp</code>) with references to time series from file sources.<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Save charts''' to the native TeeChart format (TEN-File) to preserve all data and formatting (for exceptions, see known issues below).<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Export charts''' as image files (PNG, JPG, BMP). <br />
<br />
[[File:Icon page copy.png|link=]] '''Copy''' the chart to the clipboard as a PNG image.<br />
<br />
'''[[File:Icon_page_white_go.png|link=]] Export time series''' to the following formats:<br />
* [[CSV-Format | CSV]]<br />
* [[BIN-Format | BIN]]<br />
* [[DFS0-Format | DFS0]]<br />
* [[SWMM file formats|SWMM routing interface and time series files]]<br />
* [[SMUSI REG-Format | SMUSI REG]]<br />
* [[UVF-Format | UVF]]<br />
* [[ZRE-Format | ZRE]]<br />
* [[ZRXP-Format | ZRXP]]<br />
<br />
===Edit & Analyze===<br />
Editing functions:<br />
* [[File:Icon_cut.png|link=]] '''Cut''' time series to a specified time period or to another series' extent<br />
* [[File:Icon_error_convert.png|link=]] '''Convert error values''' of a time series<br />
* [[File:Icon_arrow_join_right.png|link=]] '''Merge''' multiple time series into one while respecting priorities<br />
<br />
'''[[File:Icon_calculator.png|link=]] Analysis functions:'''<br />
* [[Wave:Accumulate|Accumulate]]: Compute a new time series that contains the cumulative values of the original series<br />
* [[Wave:Autocorrelation|Autocorrelation]]: Autocorrelation analysis for analyzing time series periodicity<br />
* [[Wave:AnnualStatistics|Annual statistics]]: Compute various statistical parameters (min, max, average) of a time series<br />
* [[Wave:Calculator|Calculator]]: Performs a mathematical operation on one or more time series<br />
* [[Wave:ChangeTimestep|ChangeTimestep]]: Make a time series equidistant with a user-specified timestep<br />
* [[Wave:Comparison|Comparison]]: Plot two time series against each other and compute a linear regression line<br />
* [[Wave:Decumulate|Decumulate]]: Compute a new time series that consists of the decumulated values of the original series<br />
* [[Wave:DoubleSumCurve|Double sum curve]]<br />
* [[Wave:GoodnessOfFit|Goodness of fit]] (volume error, sum of squares error, Nash-Sutcliffe efficiency, etc.)<br />
* [[Wave:Histogram|Histogram]]<br />
* [[Wave:LinearRegression|LinearRegression]]: Fills gaps (NaN values and missing timestamps) in one time series by applying a linear regression relationship with a second time series<br />
* [[Wave:MonthlyStatistics|Monthly statistics]]<br />
* [[Wave:TimestepAnalysis|Timestep analysis]]: Calculate the timestep between nodes in a user-specified unit<br />
<br />
<gallery mode="packed-hover"><br />
File:Wave Cumulative.png|Accumulate|link=Wave:Accumulate<br />
File:Wave Autocorrelation.png|Autocorrelation|link=Wave:Autocorrelation<br />
File:Wave AnnualStatistics BoundingBoxes.png|Annual statistics|link=Wave:AnnualStatistics<br />
File:Wave Calculator.png|Calculator|link=Wave:Calculator<br />
File:Wave ChangeTimestep Instantaneous.png|Change timestep<br />
File:Wave Comparison.png|Comparison|link=Wave:ChangeTimestep<br />
File:Wave Decumulate.png|Decumulate|link=Wave:Decumulate<br />
File:Doppelsummenanalyse.png|Double sum curve|link=Wave:DoubleSumCurve<br />
File:GoodnessOfFit ResultChart.png|Goodness of fit|link=Wave:GoodnessOfFit<br />
File:Wave_Statistik.png|Histogram|link=Wave:Histogram<br />
File:Wave LinearRegression.png|Linear regression|link=Wave:LinearRegression<br />
File:Monatsauswertung.png|Monthly statistics|link=Wave:MonthlyStatistics<br />
</gallery><br />
<br />
==Comandline interface==<br />
Wave has a commandline interface for importing and converting time series, see [[Wave:CLI]] for details.<br />
<br />
==API==<br />
The '''API''' is used e.g. by [[BlueM.Opt]] and [[BlueM.Win]] but allows using Wave from within any .NET project.<br />
<br />
See the API docs here: https://bluemodel.github.io/BlueM.Wave/api/<br />
<br />
==Notes==<br />
===Error values===<br />
[[File:Wave NaN visualization.png|thumb|right|Visualization of NaN values]]<br />
* "NaN", "Infinity" and "-Infinity" in import files are recognized and accepted.<br />
* Unreadable values are converted to NaN during import.<br />
* If a file format has a specified error value (e.g. -777 for [[ZRXP]] and [[UVF]]), then any corresponding entries are also converted to NaN.<br />
* NaN values are displayed as gaps in the chart and are ignored when performing analysis functions.<br />
* Custom, user-specified values can be converted to NaN after import.<br />
* NaN values can be visualized in the chart by pressing a [[File:Icon_chart_line_error.png|link=]] button (see screenshot).<br />
<br />
===Volume property===<br />
Wave calculates and displays the Volume property of a time series (e.g. for [[Wave:GoodnessOfFit|GoodnessOfFit]] analysis or in the properties window), if a time series' unit ends with "/s", "/min", "/h" or "/d" (e.g. "m³/s", "mm/h", etc.) and its interpretation is either Instantaneous, BlockLeft or BlockRight, by integrating the values over time while respecting the interpretation. Time series with other units or interpretations only have the Sum property. NaN nodes cause the adjacent timesteps to not contribute to the volume (depends on the interpretation).<br />
<br />
===Supported date range===<br />
Wave supports dates between 01.01.0001 and 31.12.9999.<br />
<br />
The chart display can only show dates between 01.01.0100 and 31.12.9000. Time series with dates before 01.01.0100 and after 31.12.9000 are cut for display purposes, but all nodes are still available for analysis and export and are shown in the properties and time series values dialogs. (#68)<br />
<br />
==Downloads==<br />
Download BlueM.Wave from GitHub: https://github.com/bluemodel/BlueM.Wave/releases/latest<br />
<br />
==Known Issues==<br />
* When saving a chart to the native TEN format of TeeChart, certain Timeseries properties such as Interpretation, Datasource and sometimes Unit are lost. <br />
* <s>When saving a chart to the native TEN format of TeeChart, any NaN values contained in the series are lost (i.e. the nodes with the NaN values are omitted from the series).</s> ''fixed in v1.9.1''<br />
* more issues: https://github.com/bluemodel/BlueM.Wave/issues<br />
<br />
==Development==<br />
* [https://github.com/bluemodel/BlueM.Wave/blob/master/source/CHANGELOG.md Changelog]<br />
* [[Wave:Development|Development]]<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=File:Icons_navigate.png&diff=7842File:Icons navigate.png2023-10-02T16:17:32Z<p>Froehlich: Froehlich uploaded a new version of File:Icons navigate.png</p>
<hr />
<div></div>Froehlichhttps://wiki.bluemodel.org/index.php?title=BlueM.Wave&diff=7841BlueM.Wave2023-10-02T15:47:51Z<p>Froehlich: /* Edit & Analyze */ changes for v2.4.6</p>
<hr />
<div>{{Wave_nav}}<br />
<div style="float:right; margin:0.5em 0 0.5em 0.5em;">__TOC__</div><br />
[[Bild:Wave_screenshot.png|thumb|Screenshot]]<br />
<br />
==Description==<br />
Wave is a tool for displaying, analyzing and importing and exporting time series.<br />
<br />
==Features==<br />
<br />
===[[File:Icon_chart_line_add.png|link=]] Import time series===<br />
'''Supported file formats:'''<br />
* [[WEL-Format | WEL]] ([[WEL-Format (BlueM)|BlueM]], [[WEL-Format (GISMO)|GISMO]], [[WEL-Format (TALSIM)|TALSIM]])<br />
* [[BIN-Format | SYDRO binary format (BIN)]]<br />
* [[DFS0-Format | DHI MIKE DFS0 format]]<br />
* [[HYDRO_AS-2D result files]]<br />
* [[Hystem-Extran file formats]]: "Regendatei" and "Wellendatei"<br />
* [[JAMS result files]]: JAMS/J2000/J2K/J2000g timeseries results<br />
* [[PRMS result files]]<br />
* [[SMUSI file formats]]: ASC result files and REG files<br />
* [[SWMM file formats]]: SWMM5 binary output format, routing interface files, LID report files, SWMM time series files<br />
* [[SMB-Format | SMB]] <br />
* [[UVF-Format | UVF]] (Universelles Variables Format)<br />
* [[ZRE-Format | ZRE format]]<br />
* [[ZRXP-Format | ZRXP format]]<br />
* and generic text files (e.g. [[CSV-Format|CSV]] and [[TXT-Format|TXT]])<br />
<br />
[[File:Icon_chart_curve_link.png|link=]] Use a '''[[Wave project file]]''' (<code>*.wvp</code>) to quickly import multiple series from multiple files at once.<br />
<br />
'''Drag&Drop''' files onto Wave to import them quickly.<br />
<br />
It is also possible to manually [[File:Icon_chart_line_edit.png|link=]] '''enter time series''', or [[File:Icon_page_paste.png|link=]] '''paste clipboard data''' from Excel and [http://www.talsim.de Talsim-NG].<br />
<br />
===Visualization & Navigation===<br />
Display time series in a highly [[File:Icon_chart_curve_edit.png|link=]] '''customizable chart''' (provided by [http://www.steema.com/products/teechart/overview.html TeeChart])<br />
<br />
[[Image:TimeSeriesValues.png|thumb|Time series values and markers ([[Media:TimeSeriesValues_animation.gif|animation]])]]<br />
* [[File:Icon_application_split.png|link=]] An '''overview''' chart shows you the full extent of the time series and the period currently displayed in the main chart.<br />
* [[File:Icons_zoom.png|link=]] Use the toolbar buttons or the mouse to '''zoom or pan''' either in the main chart or the overview chart. Use the left mouse button or the mouse scroll wheel to zoom, hold the right mouse button to pan.<br />
* [[File:Icon_controller.png|link=]] Use the '''navigation bar''' to set a custom display period and to [[File:Icons_navigate.png|link=]] navigate by a fixed time period.<br />
* [[File:Icon_table.png|link=]] Display tabular '''time series values''' and optionally [[File:Icon_comments.png|link=]] show markers for selected rows in the main chart<br />
<br />
===Series management===<br />
[[File:Wave TimeSeries Properties.png|thumb|right|Time series properties]]<br />
* [[File:Icon_accept_split.png|link=]] Quickly switch time series on and off using the '''check boxes''' in the legend or activate/deactivate all series at once using the button in the toolbar.<br />
* [[File:Icon_table_edit.png|link=]] Display and edit '''time series properties''' in a table with optional statistics.<br />
* [[File:Icon_shape_align_bottom.png|link=]] '''Manage axes''': When importing time series, series are automatically assigned to different axes depending on their unit.<br />
<br />
===Save & Export===<br />
[[File:Icon_chart_curve_link.png|link=]] '''Save [[Wave project file|project files]]''' (<code>*.wvp</code>) with references to time series from file sources.<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Save charts''' to the native TeeChart format (TEN-File) to preserve all data and formatting (for exceptions, see known issues below).<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Export charts''' as image files (PNG, JPG, BMP). <br />
<br />
[[File:Icon page copy.png|link=]] '''Copy''' the chart to the clipboard as a PNG image.<br />
<br />
'''[[File:Icon_page_white_go.png|link=]] Export time series''' to the following formats:<br />
* [[CSV-Format | CSV]]<br />
* [[BIN-Format | BIN]]<br />
* [[DFS0-Format | DFS0]]<br />
* [[SWMM file formats|SWMM routing interface and time series files]]<br />
* [[SMUSI REG-Format | SMUSI REG]]<br />
* [[UVF-Format | UVF]]<br />
* [[ZRE-Format | ZRE]]<br />
* [[ZRXP-Format | ZRXP]]<br />
<br />
===Edit & Analyze===<br />
Editing functions:<br />
* [[File:Icon_cut.png|link=]] '''Cut''' time series to a specified time period or to another series' extent<br />
* [[File:Icon_error_convert.png|link=]] '''Convert error values''' of a time series<br />
* [[File:Icon_arrow_join_right.png|link=]] '''Merge''' multiple time series into one while respecting priorities<br />
<br />
'''[[File:Icon_calculator.png|link=]] Analysis functions:'''<br />
* [[Wave:Accumulate|Accumulate]]: Compute a new time series that contains the cumulative values of the original series<br />
* [[Wave:Autocorrelation|Autocorrelation]]: Autocorrelation analysis for analyzing time series periodicity<br />
* [[Wave:AnnualStatistics|Annual statistics]]: Compute various statistical parameters (min, max, average) of a time series<br />
* [[Wave:Calculator|Calculator]]: Performs a mathematical operation on one or more time series<br />
* [[Wave:ChangeTimestep|ChangeTimestep]]: Make a time series equidistant with a user-specified timestep<br />
* [[Wave:Comparison|Comparison]]: Plot two time series against each other and compute a linear regression line<br />
* [[Wave:Decumulate|Decumulate]]: Compute a new time series that consists of the decumulated values of the original series<br />
* [[Wave:DoubleSumCurve|Double sum curve]]<br />
* [[Wave:GoodnessOfFit|Goodness of fit]] (volume error, sum of squares error, Nash-Sutcliffe efficiency, etc.)<br />
* [[Wave:Histogram|Histogram]]<br />
* [[Wave:LinearRegression|LinearRegression]]: Fills gaps (NaN values and missing timestamps) in one time series by applying a linear regression relationship with a second time series<br />
* [[Wave:MonthlyStatistics|Monthly statistics]]<br />
* [[Wave:TimestepAnalysis|Timestep analysis]]: Calculate the timestep between nodes in a user-specified unit<br />
<br />
<gallery mode="packed-hover"><br />
File:Wave Cumulative.png|Accumulate|link=Wave:Accumulate<br />
File:Wave Autocorrelation.png|Autocorrelation|link=Wave:Autocorrelation<br />
File:Wave AnnualStatistics BoundingBoxes.png|Annual statistics|link=Wave:AnnualStatistics<br />
File:Wave Calculator.png|Calculator|link=Wave:Calculator<br />
File:Wave ChangeTimestep Instantaneous.png|Change timestep<br />
File:Wave Comparison.png|Comparison|link=Wave:ChangeTimestep<br />
File:Wave Decumulate.png|Decumulate|link=Wave:Decumulate<br />
File:Doppelsummenanalyse.png|Double sum curve|link=Wave:DoubleSumCurve<br />
File:GoodnessOfFit ResultChart.png|Goodness of fit|link=Wave:GoodnessOfFit<br />
File:Wave_Statistik.png|Histogram|link=Wave:Histogram<br />
File:Wave LinearRegression.png|Linear regression|link=Wave:LinearRegression<br />
File:Monatsauswertung.png|Monthly statistics|link=Wave:MonthlyStatistics<br />
</gallery><br />
<br />
==Comandline interface==<br />
Wave has a commandline interface for importing and converting time series, see [[Wave:CLI]] for details.<br />
<br />
==API==<br />
The '''API''' is used e.g. by [[BlueM.Opt]] and [[BlueM.Win]] but allows using Wave from within any .NET project.<br />
<br />
See the API docs here: https://bluemodel.github.io/BlueM.Wave/api/<br />
<br />
==Notes==<br />
===Error values===<br />
[[File:Wave NaN visualization.png|thumb|right|Visualization of NaN values]]<br />
* "NaN", "Infinity" and "-Infinity" in import files are recognized and accepted.<br />
* Unreadable values are converted to NaN during import.<br />
* If a file format has a specified error value (e.g. -777 for [[ZRXP]] and [[UVF]]), then any corresponding entries are also converted to NaN.<br />
* NaN values are displayed as gaps in the chart and are ignored when performing analysis functions.<br />
* Custom, user-specified values can be converted to NaN after import.<br />
* NaN values can be visualized in the chart by pressing a [[File:Icon_chart_line_error.png|link=]] button (see screenshot).<br />
<br />
===Volume property===<br />
Wave calculates and displays the Volume property of a time series (e.g. for [[Wave:GoodnessOfFit|GoodnessOfFit]] analysis or in the properties window), if a time series' unit ends with "/s", "/min", "/h" or "/d" (e.g. "m³/s", "mm/h", etc.) and its interpretation is either Instantaneous, BlockLeft or BlockRight, by integrating the values over time while respecting the interpretation. Time series with other units or interpretations only have the Sum property. NaN nodes cause the adjacent timesteps to not contribute to the volume (depends on the interpretation).<br />
<br />
===Supported date range===<br />
Wave supports dates between 01.01.0001 and 31.12.9999.<br />
<br />
The chart display can only show dates between 01.01.0100 and 31.12.9000. Time series with dates before 01.01.0100 and after 31.12.9000 are cut for display purposes, but all nodes are still available for analysis and export and are shown in the properties and time series values dialogs. (#68)<br />
<br />
==Downloads==<br />
Download BlueM.Wave from GitHub: https://github.com/bluemodel/BlueM.Wave/releases/latest<br />
<br />
==Known Issues==<br />
* When saving a chart to the native TEN format of TeeChart, certain Timeseries properties such as Interpretation, Datasource and sometimes Unit are lost. <br />
* <s>When saving a chart to the native TEN format of TeeChart, any NaN values contained in the series are lost (i.e. the nodes with the NaN values are omitted from the series).</s> ''fixed in v1.9.1''<br />
* more issues: https://github.com/bluemodel/BlueM.Wave/issues<br />
<br />
==Development==<br />
* [https://github.com/bluemodel/BlueM.Wave/blob/master/source/CHANGELOG.md Changelog]<br />
* [[Wave:Development|Development]]<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=File:Wave_Decumulate.png&diff=7840File:Wave Decumulate.png2023-10-02T15:46:31Z<p>Froehlich: Froehlich uploaded a new version of File:Wave Decumulate.png</p>
<hr />
<div>Screenshot from v2.4.6</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave:Accumulate&diff=7839Wave:Accumulate2023-10-02T15:44:37Z<p>Froehlich: </p>
<hr />
<div>{{Wave_nav}}<br />
<br />
[[File:Wave Cumulative.png|thumb|right]]<br />
<br />
For each selected time series, this analysis function calculates a new time series that consists of the cumulative values of the original series. <br />
<br />
===Notes===<br />
* All selected time series are cut to the specified start date before calculating the cumulative values<br />
* NaN values in the source time series are ignored<br />
* Intermediate nodes where the cumulative value does not change are omitted from the cumulative series<br />
<br />
[[Category:BlueM.Wave|A]]<br />
[[Category:Analysis functions|A]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave:Decumulate&diff=7838Wave:Decumulate2023-10-02T15:44:13Z<p>Froehlich: added screenshot</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
[[File:Wave Decumulate.png|thumb|right]]<br />
<br />
For each selected time series, this analysis function calculates a new time series that consists of the decumulated values of the original series. <br />
<br />
===Notes===<br />
* Input interpretation has to be Cumulative, output interpretation is always CumulativePerTimestep<br />
* NaN values in the source time series are ignored<br />
<br />
[[Category:BlueM.Wave|D]]<br />
[[Category:Analysis functions|D]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=File:Wave_Decumulate.png&diff=7837File:Wave Decumulate.png2023-10-02T15:43:43Z<p>Froehlich: </p>
<hr />
<div>Screenshot from v2.4.6</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave:Decumulate&diff=7836Wave:Decumulate2023-10-02T15:40:32Z<p>Froehlich: New in v2.4.6</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
For each selected time series, this analysis function calculates a new time series that consists of the decumulated values of the original series. <br />
<br />
===Notes===<br />
* Input interpretation has to be Cumulative, output interpretation is always CumulativePerTimestep<br />
* NaN values in the source time series are ignored<br />
<br />
[[Category:BlueM.Wave|D]]<br />
[[Category:Analysis functions|D]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave:Cumulative&diff=7835Wave:Cumulative2023-10-02T15:33:21Z<p>Froehlich: Froehlich moved page Wave:Cumulative to Wave:Accumulate</p>
<hr />
<div>#REDIRECT [[Wave:Accumulate]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=Wave:Accumulate&diff=7834Wave:Accumulate2023-10-02T15:33:21Z<p>Froehlich: Froehlich moved page Wave:Cumulative to Wave:Accumulate</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
[[File:Wave Cumulative.png|thumb|right]]<br />
<br />
For each selected time series, this analysis function calculates a new time series that consists of the cumulative values of the original series. <br />
<br />
===Notes===<br />
* All selected time series are cut to the specified start date before calculating the cumulative values<br />
* NaN values in the source time series are ignored<br />
* Intermediate nodes where the cumulative value does not change are omitted from the cumulative series<br />
<br />
[[Category:BlueM.Wave|C]]<br />
[[Category:Analysis functions|C]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=BlueM.Wave&diff=7833BlueM.Wave2023-09-30T10:57:32Z<p>Froehlich: /* Save & Export */</p>
<hr />
<div>{{Wave_nav}}<br />
<div style="float:right; margin:0.5em 0 0.5em 0.5em;">__TOC__</div><br />
[[Bild:Wave_screenshot.png|thumb|Screenshot]]<br />
<br />
==Description==<br />
Wave is a tool for displaying, analyzing and importing and exporting time series.<br />
<br />
==Features==<br />
<br />
===[[File:Icon_chart_line_add.png|link=]] Import time series===<br />
'''Supported file formats:'''<br />
* [[WEL-Format | WEL]] ([[WEL-Format (BlueM)|BlueM]], [[WEL-Format (GISMO)|GISMO]], [[WEL-Format (TALSIM)|TALSIM]])<br />
* [[BIN-Format | SYDRO binary format (BIN)]]<br />
* [[DFS0-Format | DHI MIKE DFS0 format]]<br />
* [[HYDRO_AS-2D result files]]<br />
* [[Hystem-Extran file formats]]: "Regendatei" and "Wellendatei"<br />
* [[JAMS result files]]: JAMS/J2000/J2K/J2000g timeseries results<br />
* [[PRMS result files]]<br />
* [[SMUSI file formats]]: ASC result files and REG files<br />
* [[SWMM file formats]]: SWMM5 binary output format, routing interface files, LID report files, SWMM time series files<br />
* [[SMB-Format | SMB]] <br />
* [[UVF-Format | UVF]] (Universelles Variables Format)<br />
* [[ZRE-Format | ZRE format]]<br />
* [[ZRXP-Format | ZRXP format]]<br />
* and generic text files (e.g. [[CSV-Format|CSV]] and [[TXT-Format|TXT]])<br />
<br />
[[File:Icon_chart_curve_link.png|link=]] Use a '''[[Wave project file]]''' (<code>*.wvp</code>) to quickly import multiple series from multiple files at once.<br />
<br />
'''Drag&Drop''' files onto Wave to import them quickly.<br />
<br />
It is also possible to manually [[File:Icon_chart_line_edit.png|link=]] '''enter time series''', or [[File:Icon_page_paste.png|link=]] '''paste clipboard data''' from Excel and [http://www.talsim.de Talsim-NG].<br />
<br />
===Visualization & Navigation===<br />
Display time series in a highly [[File:Icon_chart_curve_edit.png|link=]] '''customizable chart''' (provided by [http://www.steema.com/products/teechart/overview.html TeeChart])<br />
<br />
[[Image:TimeSeriesValues.png|thumb|Time series values and markers ([[Media:TimeSeriesValues_animation.gif|animation]])]]<br />
* [[File:Icon_application_split.png|link=]] An '''overview''' chart shows you the full extent of the time series and the period currently displayed in the main chart.<br />
* [[File:Icons_zoom.png|link=]] Use the toolbar buttons or the mouse to '''zoom or pan''' either in the main chart or the overview chart. Use the left mouse button or the mouse scroll wheel to zoom, hold the right mouse button to pan.<br />
* [[File:Icon_controller.png|link=]] Use the '''navigation bar''' to set a custom display period and to [[File:Icons_navigate.png|link=]] navigate by a fixed time period.<br />
* [[File:Icon_table.png|link=]] Display tabular '''time series values''' and optionally [[File:Icon_comments.png|link=]] show markers for selected rows in the main chart<br />
<br />
===Series management===<br />
[[File:Wave TimeSeries Properties.png|thumb|right|Time series properties]]<br />
* [[File:Icon_accept_split.png|link=]] Quickly switch time series on and off using the '''check boxes''' in the legend or activate/deactivate all series at once using the button in the toolbar.<br />
* [[File:Icon_table_edit.png|link=]] Display and edit '''time series properties''' in a table with optional statistics.<br />
* [[File:Icon_shape_align_bottom.png|link=]] '''Manage axes''': When importing time series, series are automatically assigned to different axes depending on their unit.<br />
<br />
===Save & Export===<br />
[[File:Icon_chart_curve_link.png|link=]] '''Save [[Wave project file|project files]]''' (<code>*.wvp</code>) with references to time series from file sources.<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Save charts''' to the native TeeChart format (TEN-File) to preserve all data and formatting (for exceptions, see known issues below).<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Export charts''' as image files (PNG, JPG, BMP). <br />
<br />
[[File:Icon page copy.png|link=]] '''Copy''' the chart to the clipboard as a PNG image.<br />
<br />
'''[[File:Icon_page_white_go.png|link=]] Export time series''' to the following formats:<br />
* [[CSV-Format | CSV]]<br />
* [[BIN-Format | BIN]]<br />
* [[DFS0-Format | DFS0]]<br />
* [[SWMM file formats|SWMM routing interface and time series files]]<br />
* [[SMUSI REG-Format | SMUSI REG]]<br />
* [[UVF-Format | UVF]]<br />
* [[ZRE-Format | ZRE]]<br />
* [[ZRXP-Format | ZRXP]]<br />
<br />
===Edit & Analyze===<br />
Editing functions:<br />
* [[File:Icon_cut.png|link=]] '''Cut''' time series to a specified time period or to another series' extent<br />
* [[File:Icon_error_convert.png|link=]] '''Convert error values''' of a time series<br />
* [[File:Icon_arrow_join_right.png|link=]] '''Merge''' multiple time series into one while respecting priorities<br />
<br />
'''[[File:Icon_calculator.png|link=]] Analysis functions:'''<br />
* [[Wave:Autocorrelation|Autocorrelation]]: Autocorrelation analysis for analyzing time series periodicity<br />
* [[Wave:AnnualStatistics|Annual statistics]]: Compute various statistical parameters (min, max, average) of a time series<br />
* [[Wave:Calculator|Calculator]]: Performs a mathematical operation on one or more time series<br />
* [[Wave:ChangeTimestep|ChangeTimestep]]: Make a time series equidistant with a user-specified timestep<br />
* [[Wave:Comparison|Comparison]]: Plot two time series against each other and compute a linear regression line<br />
* [[Wave:Cumulative|Cumulative]]: Compute a new time series that contains the cumulative values of the original series<br />
* [[Wave:DoubleSumCurve|Double sum curve]]<br />
* [[Wave:GoodnessOfFit|Goodness of fit]] (volume error, sum of squares error, Nash-Sutcliffe efficiency, etc.)<br />
* [[Wave:Histogram|Histogram]]<br />
* [[Wave:LinearRegression|LinearRegression]]: Fills gaps (NaN values and missing timestamps) in one time series by applying a linear regression relationship with a second time series<br />
* [[Wave:MonthlyStatistics|Monthly statistics]]<br />
* [[Wave:TimestepAnalysis|Timestep analysis]]: Calculate the timestep between nodes in a user-specified unit<br />
<br />
<gallery mode="packed-hover"><br />
File:Wave Autocorrelation.png|Autocorrelation|link=Wave:Autocorrelation<br />
File:Wave AnnualStatistics BoundingBoxes.png|Annual statistics|link=Wave:AnnualStatistics<br />
File:Wave Calculator.png|Calculator|link=Wave:Calculator<br />
File:Wave ChangeTimestep Instantaneous.png|Change timestep<br />
File:Wave Comparison.png|Comparison|link=Wave:ChangeTimestep<br />
File:Doppelsummenanalyse.png|Double sum curve|link=Wave:DoubleSumCurve<br />
File:GoodnessOfFit ResultChart.png|Goodness of fit|link=Wave:GoodnessOfFit<br />
File:Wave_Statistik.png|Histogram|link=Wave:Histogram<br />
File:Wave LinearRegression.png|Linear regression|link=Wave:LinearRegression<br />
File:Monatsauswertung.png|Monthly statistics|link=Wave:MonthlyStatistics<br />
</gallery><br />
<br />
==Comandline interface==<br />
Wave has a commandline interface for importing and converting time series, see [[Wave:CLI]] for details.<br />
<br />
==API==<br />
The '''API''' is used e.g. by [[BlueM.Opt]] and [[BlueM.Win]] but allows using Wave from within any .NET project.<br />
<br />
See the API docs here: https://bluemodel.github.io/BlueM.Wave/api/<br />
<br />
==Notes==<br />
===Error values===<br />
[[File:Wave NaN visualization.png|thumb|right|Visualization of NaN values]]<br />
* "NaN", "Infinity" and "-Infinity" in import files are recognized and accepted.<br />
* Unreadable values are converted to NaN during import.<br />
* If a file format has a specified error value (e.g. -777 for [[ZRXP]] and [[UVF]]), then any corresponding entries are also converted to NaN.<br />
* NaN values are displayed as gaps in the chart and are ignored when performing analysis functions.<br />
* Custom, user-specified values can be converted to NaN after import.<br />
* NaN values can be visualized in the chart by pressing a [[File:Icon_chart_line_error.png|link=]] button (see screenshot).<br />
<br />
===Volume property===<br />
Wave calculates and displays the Volume property of a time series (e.g. for [[Wave:GoodnessOfFit|GoodnessOfFit]] analysis or in the properties window), if a time series' unit ends with "/s", "/min", "/h" or "/d" (e.g. "m³/s", "mm/h", etc.) and its interpretation is either Instantaneous, BlockLeft or BlockRight, by integrating the values over time while respecting the interpretation. Time series with other units or interpretations only have the Sum property. NaN nodes cause the adjacent timesteps to not contribute to the volume (depends on the interpretation).<br />
<br />
===Supported date range===<br />
Wave supports dates between 01.01.0001 and 31.12.9999.<br />
<br />
The chart display can only show dates between 01.01.0100 and 31.12.9000. Time series with dates before 01.01.0100 and after 31.12.9000 are cut for display purposes, but all nodes are still available for analysis and export and are shown in the properties and time series values dialogs. (#68)<br />
<br />
==Downloads==<br />
Download BlueM.Wave from GitHub: https://github.com/bluemodel/BlueM.Wave/releases/latest<br />
<br />
==Known Issues==<br />
* When saving a chart to the native TEN format of TeeChart, certain Timeseries properties such as Interpretation, Datasource and sometimes Unit are lost. <br />
* <s>When saving a chart to the native TEN format of TeeChart, any NaN values contained in the series are lost (i.e. the nodes with the NaN values are omitted from the series).</s> ''fixed in v1.9.1''<br />
* more issues: https://github.com/bluemodel/BlueM.Wave/issues<br />
<br />
==Development==<br />
* [https://github.com/bluemodel/BlueM.Wave/blob/master/source/CHANGELOG.md Changelog]<br />
* [[Wave:Development|Development]]<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=BlueM.Wave&diff=7832BlueM.Wave2023-09-30T10:55:35Z<p>Froehlich: /* link= Import time series */</p>
<hr />
<div>{{Wave_nav}}<br />
<div style="float:right; margin:0.5em 0 0.5em 0.5em;">__TOC__</div><br />
[[Bild:Wave_screenshot.png|thumb|Screenshot]]<br />
<br />
==Description==<br />
Wave is a tool for displaying, analyzing and importing and exporting time series.<br />
<br />
==Features==<br />
<br />
===[[File:Icon_chart_line_add.png|link=]] Import time series===<br />
'''Supported file formats:'''<br />
* [[WEL-Format | WEL]] ([[WEL-Format (BlueM)|BlueM]], [[WEL-Format (GISMO)|GISMO]], [[WEL-Format (TALSIM)|TALSIM]])<br />
* [[BIN-Format | SYDRO binary format (BIN)]]<br />
* [[DFS0-Format | DHI MIKE DFS0 format]]<br />
* [[HYDRO_AS-2D result files]]<br />
* [[Hystem-Extran file formats]]: "Regendatei" and "Wellendatei"<br />
* [[JAMS result files]]: JAMS/J2000/J2K/J2000g timeseries results<br />
* [[PRMS result files]]<br />
* [[SMUSI file formats]]: ASC result files and REG files<br />
* [[SWMM file formats]]: SWMM5 binary output format, routing interface files, LID report files, SWMM time series files<br />
* [[SMB-Format | SMB]] <br />
* [[UVF-Format | UVF]] (Universelles Variables Format)<br />
* [[ZRE-Format | ZRE format]]<br />
* [[ZRXP-Format | ZRXP format]]<br />
* and generic text files (e.g. [[CSV-Format|CSV]] and [[TXT-Format|TXT]])<br />
<br />
[[File:Icon_chart_curve_link.png|link=]] Use a '''[[Wave project file]]''' (<code>*.wvp</code>) to quickly import multiple series from multiple files at once.<br />
<br />
'''Drag&Drop''' files onto Wave to import them quickly.<br />
<br />
It is also possible to manually [[File:Icon_chart_line_edit.png|link=]] '''enter time series''', or [[File:Icon_page_paste.png|link=]] '''paste clipboard data''' from Excel and [http://www.talsim.de Talsim-NG].<br />
<br />
===Visualization & Navigation===<br />
Display time series in a highly [[File:Icon_chart_curve_edit.png|link=]] '''customizable chart''' (provided by [http://www.steema.com/products/teechart/overview.html TeeChart])<br />
<br />
[[Image:TimeSeriesValues.png|thumb|Time series values and markers ([[Media:TimeSeriesValues_animation.gif|animation]])]]<br />
* [[File:Icon_application_split.png|link=]] An '''overview''' chart shows you the full extent of the time series and the period currently displayed in the main chart.<br />
* [[File:Icons_zoom.png|link=]] Use the toolbar buttons or the mouse to '''zoom or pan''' either in the main chart or the overview chart. Use the left mouse button or the mouse scroll wheel to zoom, hold the right mouse button to pan.<br />
* [[File:Icon_controller.png|link=]] Use the '''navigation bar''' to set a custom display period and to [[File:Icons_navigate.png|link=]] navigate by a fixed time period.<br />
* [[File:Icon_table.png|link=]] Display tabular '''time series values''' and optionally [[File:Icon_comments.png|link=]] show markers for selected rows in the main chart<br />
<br />
===Series management===<br />
[[File:Wave TimeSeries Properties.png|thumb|right|Time series properties]]<br />
* [[File:Icon_accept_split.png|link=]] Quickly switch time series on and off using the '''check boxes''' in the legend or activate/deactivate all series at once using the button in the toolbar.<br />
* [[File:Icon_table_edit.png|link=]] Display and edit '''time series properties''' in a table with optional statistics.<br />
* [[File:Icon_shape_align_bottom.png|link=]] '''Manage axes''': When importing time series, series are automatically assigned to different axes depending on their unit.<br />
<br />
===Save & Export===<br />
[[File:Icon_chart_curve_link.png|link=]] '''Save [[Wave project file|project files]]''' (<code>*.wvp</code>) with references to time series from file sources.<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Save charts''' to the native TeeChart format (TEN-File) to preserve all data and formatting (for exceptions, see known issues below).<br />
<br />
[[File:Icon_chart_pie.png|link=]] '''Export charts''' as image files (PNG, JPG, BMP). <br />
<br />
[[File:Icon page copy.png|link=]] '''Copy''' the chart to the clipboard as a PNG image.<br />
<br />
'''[[File:Icon_page_white_go.png|link=]] Export time series''' to the following formats:<br />
* [[CSV-Format | CSV]]<br />
* [[BIN-Format | BIN]]<br />
* [[DFS0-Format | DFS0]]<br />
* [[SWMM]] DAT<br />
* [[SMUSI REG-Format | SMUSI REG]]<br />
* [[UVF-Format | UVF]]<br />
* [[ZRE-Format | ZRE]]<br />
* [[ZRXP-Format | ZRXP]]<br />
<br />
===Edit & Analyze===<br />
Editing functions:<br />
* [[File:Icon_cut.png|link=]] '''Cut''' time series to a specified time period or to another series' extent<br />
* [[File:Icon_error_convert.png|link=]] '''Convert error values''' of a time series<br />
* [[File:Icon_arrow_join_right.png|link=]] '''Merge''' multiple time series into one while respecting priorities<br />
<br />
'''[[File:Icon_calculator.png|link=]] Analysis functions:'''<br />
* [[Wave:Autocorrelation|Autocorrelation]]: Autocorrelation analysis for analyzing time series periodicity<br />
* [[Wave:AnnualStatistics|Annual statistics]]: Compute various statistical parameters (min, max, average) of a time series<br />
* [[Wave:Calculator|Calculator]]: Performs a mathematical operation on one or more time series<br />
* [[Wave:ChangeTimestep|ChangeTimestep]]: Make a time series equidistant with a user-specified timestep<br />
* [[Wave:Comparison|Comparison]]: Plot two time series against each other and compute a linear regression line<br />
* [[Wave:Cumulative|Cumulative]]: Compute a new time series that contains the cumulative values of the original series<br />
* [[Wave:DoubleSumCurve|Double sum curve]]<br />
* [[Wave:GoodnessOfFit|Goodness of fit]] (volume error, sum of squares error, Nash-Sutcliffe efficiency, etc.)<br />
* [[Wave:Histogram|Histogram]]<br />
* [[Wave:LinearRegression|LinearRegression]]: Fills gaps (NaN values and missing timestamps) in one time series by applying a linear regression relationship with a second time series<br />
* [[Wave:MonthlyStatistics|Monthly statistics]]<br />
* [[Wave:TimestepAnalysis|Timestep analysis]]: Calculate the timestep between nodes in a user-specified unit<br />
<br />
<gallery mode="packed-hover"><br />
File:Wave Autocorrelation.png|Autocorrelation|link=Wave:Autocorrelation<br />
File:Wave AnnualStatistics BoundingBoxes.png|Annual statistics|link=Wave:AnnualStatistics<br />
File:Wave Calculator.png|Calculator|link=Wave:Calculator<br />
File:Wave ChangeTimestep Instantaneous.png|Change timestep<br />
File:Wave Comparison.png|Comparison|link=Wave:ChangeTimestep<br />
File:Doppelsummenanalyse.png|Double sum curve|link=Wave:DoubleSumCurve<br />
File:GoodnessOfFit ResultChart.png|Goodness of fit|link=Wave:GoodnessOfFit<br />
File:Wave_Statistik.png|Histogram|link=Wave:Histogram<br />
File:Wave LinearRegression.png|Linear regression|link=Wave:LinearRegression<br />
File:Monatsauswertung.png|Monthly statistics|link=Wave:MonthlyStatistics<br />
</gallery><br />
<br />
==Comandline interface==<br />
Wave has a commandline interface for importing and converting time series, see [[Wave:CLI]] for details.<br />
<br />
==API==<br />
The '''API''' is used e.g. by [[BlueM.Opt]] and [[BlueM.Win]] but allows using Wave from within any .NET project.<br />
<br />
See the API docs here: https://bluemodel.github.io/BlueM.Wave/api/<br />
<br />
==Notes==<br />
===Error values===<br />
[[File:Wave NaN visualization.png|thumb|right|Visualization of NaN values]]<br />
* "NaN", "Infinity" and "-Infinity" in import files are recognized and accepted.<br />
* Unreadable values are converted to NaN during import.<br />
* If a file format has a specified error value (e.g. -777 for [[ZRXP]] and [[UVF]]), then any corresponding entries are also converted to NaN.<br />
* NaN values are displayed as gaps in the chart and are ignored when performing analysis functions.<br />
* Custom, user-specified values can be converted to NaN after import.<br />
* NaN values can be visualized in the chart by pressing a [[File:Icon_chart_line_error.png|link=]] button (see screenshot).<br />
<br />
===Volume property===<br />
Wave calculates and displays the Volume property of a time series (e.g. for [[Wave:GoodnessOfFit|GoodnessOfFit]] analysis or in the properties window), if a time series' unit ends with "/s", "/min", "/h" or "/d" (e.g. "m³/s", "mm/h", etc.) and its interpretation is either Instantaneous, BlockLeft or BlockRight, by integrating the values over time while respecting the interpretation. Time series with other units or interpretations only have the Sum property. NaN nodes cause the adjacent timesteps to not contribute to the volume (depends on the interpretation).<br />
<br />
===Supported date range===<br />
Wave supports dates between 01.01.0001 and 31.12.9999.<br />
<br />
The chart display can only show dates between 01.01.0100 and 31.12.9000. Time series with dates before 01.01.0100 and after 31.12.9000 are cut for display purposes, but all nodes are still available for analysis and export and are shown in the properties and time series values dialogs. (#68)<br />
<br />
==Downloads==<br />
Download BlueM.Wave from GitHub: https://github.com/bluemodel/BlueM.Wave/releases/latest<br />
<br />
==Known Issues==<br />
* When saving a chart to the native TEN format of TeeChart, certain Timeseries properties such as Interpretation, Datasource and sometimes Unit are lost. <br />
* <s>When saving a chart to the native TEN format of TeeChart, any NaN values contained in the series are lost (i.e. the nodes with the NaN values are omitted from the series).</s> ''fixed in v1.9.1''<br />
* more issues: https://github.com/bluemodel/BlueM.Wave/issues<br />
<br />
==Development==<br />
* [https://github.com/bluemodel/BlueM.Wave/blob/master/source/CHANGELOG.md Changelog]<br />
* [[Wave:Development|Development]]<br />
<br />
[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=File:Wave_import_SWMM5_binary_output_file.png&diff=7831File:Wave import SWMM5 binary output file.png2023-09-30T10:33:47Z<p>Froehlich: Froehlich uploaded a new version of File:Wave import SWMM5 binary output file.png</p>
<hr />
<div>[[Category:BlueM.Wave]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=SWMM_file_formats&diff=7830SWMM file formats2023-09-30T10:23:23Z<p>Froehlich: /* SWMM5 binary output format */ update links to docs</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
The following [[SWMM]] file formats are supported by BlueM.Wave:<br />
* SWMM5 binary output format (import)<br />
* SWMM5 routing interface file (import/export)<br />
* SWMM5 LID report file (import)<br />
* SWMM5 time series file (import/export)<br />
<br />
<br />
__TOC__<br />
<br />
==SWMM5 binary output format==<br />
[[File:Wave import SWMM5 binary output file.png|thumb|right|File import dialog for a SWMM5 binary output file]]<br />
SWMM5 binary output files have the file extension <code>*.OUT</code>. The file format is binary and described in the "SWMM API Guide" available [https://www.epa.gov/water-research/storm-water-management-model-swmm#software%20and%20compatibility here] ([https://epa.gov/system/files/other-files/2023-08/Swmm5.2.4-ApiGuide.zip Swmm5.2.4-ApiGuide.zip]).<br />
<br />
When a SWMM5 binary output file is opened with Wave, an import dialog is displayed, allowing the user to select the desired series for importing (see screenshot).<br />
<br />
==SWMM5 routing interface file==<br />
<blockquote><br />
A routing interface file stores a time series of flows and pollutant concentrations that are discharged from the outfall nodes of drainage system model. This file can serve as the source of inflow to another drainage system model that is connected at the outfalls of the first system.<br />
</blockquote><br />
: &mdash; ''Source: {{:Literature:SWMM_UserManual_5.2|SWMM User's Manual Version 5.2, chapter 11.7.4}}''<br />
<br />
SWMM5 routing interface files are expected to have the file extension <code>*.TXT</code> by Wave.<br />
<br />
BlueM.Wave detects a SWMM5 routing interface file by checking for the string <code>SWMM5</code> at the beginning of the file.<br />
<br />
Example (flow only):<br />
<pre><br />
SWMM5 Interface File<br />
RTC-Demonstrator , Regenbelastung Wupperverband , <br />
60 - reporting time step in sec<br />
1 - number of constituents as listed below:<br />
FLOW LPS<br />
5 - number of nodes as listed below:<br />
S101<br />
S201<br />
S401<br />
S203<br />
S602<br />
Node Year Mon Day Hr Min Sec FLOW<br />
S101 2001 6 10 0 0 0 0.000<br />
S201 2001 6 10 0 0 0 0.000<br />
S401 2001 6 10 0 0 0 0.000<br />
S203 2001 6 10 0 0 0 0.000<br />
S602 2001 6 10 0 0 0 0.000<br />
S101 2001 6 10 0 1 0 1.960<br />
S201 2001 6 10 0 1 0 0.420<br />
S401 2001 6 10 0 1 0 1.400<br />
S203 2001 6 10 0 1 0 0.560<br />
S602 2001 6 10 0 1 0 4.900<br />
</pre><br />
<br />
Example (flow and concentrations):<br />
<pre><br />
SWMM5 Interface File<br />
RTC-Demo <br />
60 - reporting time step in sec<br />
2 - number of constituents as listed below:<br />
FLOW LPS<br />
CSB MG/L<br />
2 - number of nodes as listed below:<br />
S201<br />
S101<br />
Node Year Mon Day Hr Min Sec FLOW CSB <br />
S201 2008 4 1 12 0 0 0.000 50.0000<br />
S101 2008 4 1 12 0 0 0.000 100.0000<br />
S201 2008 4 1 12 1 0 15.625 50.0000<br />
S101 2008 4 1 12 1 0 15.625 100.0000<br />
S201 2008 4 1 12 2 0 15.625 50.0000<br />
S101 2008 4 1 12 2 0 15.625 100.0000<br />
</pre><br />
<br />
==SWMM5 LID report file==<br />
SWMM5 LID report files use the file extension <code>*.TXT</code>. They are recognized by BlueM.Wave by the text <code>SWMM5 LID Report File</code> in the first line.<br />
<br />
Example:<br />
<pre><br />
SWMM5 LID Report File<br />
<br />
Project: <br />
LID Unit: BC1 in Subcatchment S_BC<br />
<br />
Elapsed Total Total Surface Pavement Soil Storage Surface Drain Surface Pavement Soil Storage<br />
Time Inflow Evap Infil Perc Perc Exfil Runoff OutFlow Level Level Moisture Level<br />
Date Time Hours mm/hr mm/hr mm/hr mm/hr mm/hr mm/hr mm/hr mm/hr mm mm Content mm<br />
----------- -------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- ---------<br />
03/01/2018 00:00:00 1344.000 0.000 0.0225 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:05:00 1344.083 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:10:00 1344.167 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:15:00 1344.250 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:20:00 1344.333 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:25:00 1344.417 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:30:00 1344.500 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:35:00 1344.583 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
</pre><br />
<br />
==SWMM5 time series format==<br />
<blockquote><br />
Time series files are external text files that contain data for SWMM's time series objects. Examples of time series data include rainfall, evaporation, inflows to nodes of the drainage system, and water stage at outfall boundary nodes. The file must be created and edited outside of SWMM, using a text editor or spreadsheet program. A time series file can be linked to a specific time series object using SWMM's Time Series Editor.<br />
</blockquote><br />
: &mdash; ''Source: {{:Literature:SWMM_UserManual_5.2|SWMM User's Manual Version 5.2, chapter 11.6}}''<br />
<br />
This file format is expected to have the file extension <code>*.DAT</code> by Wave. <br />
<br />
Wave supports the "date / time / value format", dates are expected to be in month/day/year format.<br />
<br />
Example:<br />
<pre><br />
;Node S101 Total Inflow [LPS]<br />
06/10/2001 12:01 12.960000038147<br />
06/10/2001 12:02 12.960000038147<br />
06/10/2001 12:03 12.960000038147<br />
06/10/2001 12:04 12.960000038147<br />
06/10/2001 12:05 12.960000038147<br />
06/10/2001 12:06 12.960000038147<br />
06/10/2001 12:07 12.960000038147<br />
</pre><br />
<br />
===Notes===<br />
Currently not supported by Wave:<br />
* Omission of repeating dates for timestamps of the same day<br />
* The alternative "time / value format", where time can either be decimal hours or military time since the start of a simulation<br />
<br />
==References==<br />
<references/><br />
<br />
[[Category:BlueM.Wave]]<br />
[[Category:SWMM]]<br />
[[Category:Timeseries formats]]</div>Froehlichhttps://wiki.bluemodel.org/index.php?title=SWMM_file_formats&diff=7829SWMM file formats2023-09-30T09:54:49Z<p>Froehlich: /* SWMM5 time series format */ add chapter</p>
<hr />
<div>{{Wave_nav}}<br />
<br />
The following [[SWMM]] file formats are supported by BlueM.Wave:<br />
* SWMM5 binary output format (import)<br />
* SWMM5 routing interface file (import/export)<br />
* SWMM5 LID report file (import)<br />
* SWMM5 time series file (import/export)<br />
<br />
<br />
__TOC__<br />
<br />
==SWMM5 binary output format==<br />
[[File:Wave import SWMM5 binary output file.png|thumb|right|File import dialog for a SWMM5 binary output file]]<br />
SWMM 5 binary output files have the file extension <code>*.OUT</code>. The file format is binary and described in the "SWMM Interface Guide" available [https://www.epa.gov/water-research/storm-water-management-model-swmm#downloads here] ([https://web.archive.org/web/20181019144617if_/https://www.epa.gov/sites/production/files/2016-09/swmm5_iface.zip archive link]).<br />
<br />
When a SWMM5 binary output file is opened with Wave, an import dialog is displayed, allowing the user to select the desired series for importing (see screenshot).<br />
<br />
==SWMM5 routing interface file==<br />
<blockquote><br />
A routing interface file stores a time series of flows and pollutant concentrations that are discharged from the outfall nodes of drainage system model. This file can serve as the source of inflow to another drainage system model that is connected at the outfalls of the first system.<br />
</blockquote><br />
: &mdash; ''Source: {{:Literature:SWMM_UserManual_5.2|SWMM User's Manual Version 5.2, chapter 11.7.4}}''<br />
<br />
SWMM5 routing interface files are expected to have the file extension <code>*.TXT</code> by Wave.<br />
<br />
BlueM.Wave detects a SWMM5 routing interface file by checking for the string <code>SWMM5</code> at the beginning of the file.<br />
<br />
Example (flow only):<br />
<pre><br />
SWMM5 Interface File<br />
RTC-Demonstrator , Regenbelastung Wupperverband , <br />
60 - reporting time step in sec<br />
1 - number of constituents as listed below:<br />
FLOW LPS<br />
5 - number of nodes as listed below:<br />
S101<br />
S201<br />
S401<br />
S203<br />
S602<br />
Node Year Mon Day Hr Min Sec FLOW<br />
S101 2001 6 10 0 0 0 0.000<br />
S201 2001 6 10 0 0 0 0.000<br />
S401 2001 6 10 0 0 0 0.000<br />
S203 2001 6 10 0 0 0 0.000<br />
S602 2001 6 10 0 0 0 0.000<br />
S101 2001 6 10 0 1 0 1.960<br />
S201 2001 6 10 0 1 0 0.420<br />
S401 2001 6 10 0 1 0 1.400<br />
S203 2001 6 10 0 1 0 0.560<br />
S602 2001 6 10 0 1 0 4.900<br />
</pre><br />
<br />
Example (flow and concentrations):<br />
<pre><br />
SWMM5 Interface File<br />
RTC-Demo <br />
60 - reporting time step in sec<br />
2 - number of constituents as listed below:<br />
FLOW LPS<br />
CSB MG/L<br />
2 - number of nodes as listed below:<br />
S201<br />
S101<br />
Node Year Mon Day Hr Min Sec FLOW CSB <br />
S201 2008 4 1 12 0 0 0.000 50.0000<br />
S101 2008 4 1 12 0 0 0.000 100.0000<br />
S201 2008 4 1 12 1 0 15.625 50.0000<br />
S101 2008 4 1 12 1 0 15.625 100.0000<br />
S201 2008 4 1 12 2 0 15.625 50.0000<br />
S101 2008 4 1 12 2 0 15.625 100.0000<br />
</pre><br />
<br />
==SWMM5 LID report file==<br />
SWMM5 LID report files use the file extension <code>*.TXT</code>. They are recognized by BlueM.Wave by the text <code>SWMM5 LID Report File</code> in the first line.<br />
<br />
Example:<br />
<pre><br />
SWMM5 LID Report File<br />
<br />
Project: <br />
LID Unit: BC1 in Subcatchment S_BC<br />
<br />
Elapsed Total Total Surface Pavement Soil Storage Surface Drain Surface Pavement Soil Storage<br />
Time Inflow Evap Infil Perc Perc Exfil Runoff OutFlow Level Level Moisture Level<br />
Date Time Hours mm/hr mm/hr mm/hr mm/hr mm/hr mm/hr mm/hr mm/hr mm mm Content mm<br />
----------- -------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- ---------<br />
03/01/2018 00:00:00 1344.000 0.000 0.0225 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:05:00 1344.083 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:10:00 1344.167 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:15:00 1344.250 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:20:00 1344.333 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:25:00 1344.417 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:30:00 1344.500 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
03/01/2018 00:35:00 1344.583 0.000 0.0404 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.192 511.344<br />
</pre><br />
<br />
==SWMM5 time series format==<br />
<blockquote><br />
Time series files are external text files that contain data for SWMM's time series objects. Examples of time series data include rainfall, evaporation, inflows to nodes of the drainage system, and water stage at outfall boundary nodes. The file must be created and edited outside of SWMM, using a text editor or spreadsheet program. A time series file can be linked to a specific time series object using SWMM's Time Series Editor.<br />
</blockquote><br />
: &mdash; ''Source: {{:Literature:SWMM_UserManual_5.2|SWMM User's Manual Version 5.2, chapter 11.6}}''<br />
<br />
This file format is expected to have the file extension <code>*.DAT</code> by Wave. <br />
<br />
Wave supports the "date / time / value format", dates are expected to be in month/day/year format.<br />
<br />
Example:<br />
<pre><br />
;Node S101 Total Inflow [LPS]<br />
06/10/2001 12:01 12.960000038147<br />
06/10/2001 12:02 12.960000038147<br />
06/10/2001 12:03 12.960000038147<br />
06/10/2001 12:04 12.960000038147<br />
06/10/2001 12:05 12.960000038147<br />
06/10/2001 12:06 12.960000038147<br />
06/10/2001 12:07 12.960000038147<br />
</pre><br />
<br />
===Notes===<br />
Currently not supported by Wave:<br />
* Omission of repeating dates for timestamps of the same day<br />
* The alternative "time / value format", where time can either be decimal hours or military time since the start of a simulation<br />
<br />
==References==<br />
<references/><br />
<br />
[[Category:BlueM.Wave]]<br />
[[Category:SWMM]]<br />
[[Category:Timeseries formats]]</div>Froehlich