BlueM.Wave: Difference between revisions

From BlueM
Jump to navigation Jump to search
(→‎link= Import time series: restructure and add HYBNAT)
 
(89 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOTOC__
{{Wave_nav}}
{{Wave_nav}}
<div style="float:right; margin:0.5em 0 0.5em 0.5em;">__TOC__</div>
[[Bild:Wave_screenshot.png|thumb|Screenshot]]
[[Bild:Wave_screenshot.png|thumb|Screenshot]]
[[Bild:Monatsauswertung.png|thumb|Analysefunktion Monatsauswertung]]
 
[[Bild:Doppelsummenanalyse.png|thumb|Analysefunktion Doppelsummenanalyse]]
==Description==
[[Bild:Wave_Statistik.png|thumb|Analysefunktion Statistik]]
Wave is a tool for displaying, analyzing and importing and exporting time series.
==Beschreibung==
Wave ist ein Tool zum Einlesen, zur Analyse und zur flexiblen graphischen Darstellung von Zeitreihen.  


==Features==
==Features==
* '''Zeitreihen importieren:'''
** [[WEL-Format | WEL]]
** [[ZRE-Format | ZRE]]
** [[ASC-Format | ASC]]
** [[SMB-Format | SMB]]
** [[REG-Format | REG]]
** und generische Textdateien (z.B. [[csv-Format | CSV]])
* '''Zeitreihen eingeben:''' manuelle Eingabe oder copy & paste aus Excel
* '''Darstellung von Zeitreihen''' in einem [http://www.steema.com/products/teechart/overview.html TeeChart]-Diagramm mit beliebig vielen Achsen, etc.
** Beim Import werden Serien automatisch anhand ihrer Einheiten auf verschiedene Achsen verteilt
* '''Diagramme abspeichern''' (TEN-Dateiformat)
* '''Drag&Drop''' von Dateien aufs Form und "Öffnen mit...", bzw. Doppelklick auf Dateien (wenn Dateierweiterung mit Wave.exe verknüpft ist)
* '''Zeitreihenübersicht''', in der man einen anzuzeigenden Ausschnitt festlegen kann.
* '''Schnittstelle''', die von [[EVO.NET]] und [[BlueM.Win]] verwendet wird.
* '''Zeitreihen exportieren:'''
** [[ZRE-Format | ZRE]]
** <del>[[WEL-Format | WEL]]</del> (noch nicht - Bug 318)
** CSV und XLS durch TeeChart zur Verfügung gestellt
* '''Zeitreihen zuschneiden'''
* '''Zeitreihenanalyse:'''
** [[Wave:Monatsauswertung|Monatsauswertung]]
** [[Wave:Doppelsummenanalyse|Doppelsummenanalyse]]
** [[Wave:GoodnessOfFit|GoodnessOfFit]] (Volumenfehler, Summe der Fehlerquadrate, Nash-Sutcliffe Effizienz, etc.)
** [[Wave:Statistik|Statistik]]
** [[Wave:Gegenueberstellung|Gegenüberstellung]]
** <del>[[Wave:Korrelationsanalyse|Korrelationsanalyse]]</del> (noch nicht)


==Hinweise==
===[[File:Icon_chart_line_add.png|link=]] Import time series===
===Importieren von Zeitreihen===
'''Supported file formats:'''
* WEL und ZRE Dateien müssen sich an das Format halten: siehe [[WEL-Format|WEL]], [[ZRE-Format|ZRE]].
* [[WEL-Format_(BlueM)|BlueM.Sim result files]]: <code>*.WEL</code>, <code>*.KWL</code>
* '''Spaltendefinition:''' Die erste Spalte muss immer die Datumswerte enthalten (x-Achse), ab der zweiten Spalte folgen dann Zahlenwerte für eine oder mehrere Zeitreihen
* [[DFS0-Format | DHI MIKE DFS0 format]]: <code>*.DFS0</code>
* '''Zahlenformat:'''  
* [[WEL-Format (GISMO)|GISMO result files]]: <code>*.WEL</code>
** Dezimaltrennzeichen ist immer Punkt (Bug 351)
* [[HYBNAT result files]]: <code>*.WEL</code>, <code>*.BCS</code>
** "NaN", "Infinity" und "-Infinity" in Importdateien werden erkannt und übernommen.<br/>Unlesbare Werte werden beim Import zu NaN konvertiert.<br/>Für die Anzeige und die Analysefunktionen werden Stützstellen mit Werten von NaN oder Infinity entfernt.
* [[HYDRO_AS-2D result files]]: <code>*.DAT</code>
* '''Datumsformat:'''
* [[Hystem-Extran file formats]]: Regendatei (<code>*.REG</code>, <code>*.DAT</code>) and Wellendatei (<code>*.WEL</code>)
:{| border="0" cellpadding="5" cellspacing="0"
* [[JAMS result files]]: JAMS/J2000/J2K/J2000g timeseries results (<code>*.DAT</code>)
| TXT, CSV, ASC und WEL || &rarr; || <code>DD.MM.YYYY HH:MM</code>
* [[PRMS result files]]: annual summary, monthly summary, DPOUT (<code>*.OUT</code>) and statistic variables result file (<code>*.DAT</code>)
|-
* [[SMUSI file formats]]: <code>*.ASC</code> result files and <code>*.REG</code> input files
| ZRE || &rarr; || <code>YYYYMMDD HH:MM</code>
* [[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>)
|}
* [[SMB-Format | SIMBA file format]]: <code>*.SMB</code>
* [[Talsim-NG file formats]]: time series results (<code>*.WEL</code>, <code>*.WBL</code>) and binary input time series (<code>*.BIN</code>)
* [[UVF-Format | UVF format]]: Universelles Variables Format (<code>*.UVF</code>)
* [[ZRE-Format | ZRE format]]: <code>*.ZRE</code>
* [[ZRXP-Format | ZRXP format]]: <code>*.ZRX</code>, <code>*.ZRXP</code>
* and [[CSV-Format|generic text files]] (e.g. <code>*.CSV</code>, <code>*.TXT</code>)
 
[[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.
 
'''Drag&Drop''' files onto Wave to import them quickly.
 
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].
 
===Visualization & Navigation===
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])
 
[[Image:TimeSeriesValues.png|thumb|Time series values and markers ([[Media:TimeSeriesValues_animation.gif|animation]])]]
* [[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.
* [[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.
* [[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=]].
* [[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
 
===Series management===
[[File:Wave TimeSeries Properties.png|thumb|right|Time series properties]]
* [[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.
* [[File:Icon_table_edit.png|link=]] Display and edit '''time series properties''' in a table with optional statistics.
* [[File:Icon_shape_align_bottom.png|link=]] '''Manage axes''': When importing time series, series are automatically assigned to different axes depending on their unit.
 
===Save & Export===
[[File:Icon_chart_curve_link.png|link=]] '''Save [[Wave project file|project files]]''' (<code>*.wvp</code>) with references to time series from file sources.
 
[[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).
 
[[File:Icon_chart_pie.png|link=]] '''Export charts''' as image files (PNG, JPG, BMP).
 
[[File:Icon page copy.png|link=]] '''Copy''' the chart to the clipboard as a PNG image.
 
'''[[File:Icon_page_white_go.png|link=]] Export time series''' to the following formats:
* [[CSV-Format | CSV]]
* [[BIN-Format | BIN]]
* [[DFS0-Format | DFS0]]
* [[SWMM file formats|SWMM routing interface and time series files]]
* [[SMUSI REG-Format | SMUSI REG]]
* [[UVF-Format | UVF]]
* [[ZRE-Format | ZRE]]
* [[ZRXP-Format | ZRXP]]
 
===Edit & Analyze===
Editing functions:
* [[File:Icon_cut.png|link=]] '''Cut''' time series to a specified time period or to another series' extent
* [[File:Icon_error_convert.png|link=]] '''Convert error values''' of a time series
* [[File:Icon_arrow_join_right.png|link=]] '''Merge''' multiple time series into one while respecting priorities
 
'''[[File:Icon_calculator.png|link=]] Analysis functions:'''
* [[Wave:Accumulate|Accumulate]]: Compute a new time series that contains the cumulative values of the original series
* [[Wave:Autocorrelation|Autocorrelation]]: Autocorrelation analysis for analyzing time series periodicity
* [[Wave:AnnualRecurrenceProbability|Annual recurrence probability]]: Annual recurrence probability of annual maxima using plotting position
* [[Wave:AnnualStatistics|Annual statistics]]: Compute various statistical parameters (min, max, average) of a time series
* [[Wave:Calculator|Calculator]]: Performs a mathematical operation on one or more time series
* [[Wave:ChangeTimestep|Change timestep]]: Make a time series equidistant with a user-specified timestep
* [[Wave:Comparison|Comparison]]: Plot two time series against each other and compute a linear regression line
* [[Wave:Decumulate|Decumulate]]: Compute a new time series that consists of the decumulated values of the original series
* [[Wave:DoubleSumCurve|Double sum curve]]
* [[Wave:GoodnessOfFit|Goodness of fit]] (volume error, sum of squares error, Nash-Sutcliffe efficiency, etc.)
* [[Wave:Histogram|Histogram]]
* [[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
* [[Wave:MonthlyStatistics|Monthly statistics]]
* [[Wave:TimestepAnalysis|Timestep analysis]]: Calculate the timestep between nodes in a user-specified unit
 
<gallery mode="packed-hover">
File:Wave Cumulative.png|Accumulate|link=Wave:Accumulate
File:Wave Autocorrelation.png|Autocorrelation|link=Wave:Autocorrelation
File:Wave AnnualRecurrenceProbability.png|Annual recurrence probability|link=Wave:AnnualRecurrenceProbability
File:Wave AnnualStatistics BoundingBoxes.png|Annual statistics|link=Wave:AnnualStatistics
File:Wave Calculator.png|Calculator|link=Wave:Calculator
File:Wave ChangeTimestep Instantaneous.png|Change timestep
File:Wave Comparison.png|Comparison|link=Wave:ChangeTimestep
File:Wave Decumulate.png|Decumulate|link=Wave:Decumulate
File:Doppelsummenanalyse.png|Double sum curve|link=Wave:DoubleSumCurve
File:GoodnessOfFit ResultChart.png|Goodness of fit|link=Wave:GoodnessOfFit
File:Wave_Statistik.png|Histogram|link=Wave:Histogram
File:Wave LinearRegression.png|Linear regression|link=Wave:LinearRegression
File:Monatsauswertung.png|Monthly statistics|link=Wave:MonthlyStatistics
</gallery>
 
==Comandline interface==
Wave has a commandline interface for importing and converting time series, see [[Wave:CLI]] for details.
 
==API==
The '''API''' is used e.g. by [[BlueM.Opt]] and [[BlueM.Win]] but allows using Wave from within any .NET project.
 
See the API docs here: https://bluemodel.github.io/BlueM.Wave/api/
 
==Notes==
===Error values===
[[File:Wave NaN visualization.png|thumb|right|Visualization of NaN values]]
* "NaN", "Infinity" and "-Infinity" in import files are recognized and accepted.
* Unreadable values are converted to NaN during import.
* 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.
* NaN values are displayed as gaps in the chart and are ignored when performing analysis functions.
* Custom, user-specified values can be converted to NaN [[File:Icon_error_convert.png|link=]] after import.
* NaN values can be visualized in the chart by pressing a [[File:Icon_chart_line_error.png|link=]] button (see screenshot).
 
===Volume property===
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).
 
===Supported date range===
Wave supports dates between 01.01.0001 and 31.12.9999.
 
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)
 
==Downloads==
Download BlueM.Wave from GitHub: https://github.com/bluemodel/BlueM.Wave/releases/latest
 
==Known Issues==
* When saving a chart to the native TEN format of TeeChart, certain Timeseries properties such as Interpretation, Datasource and sometimes Unit are lost.
* <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''
* more issues: https://github.com/bluemodel/BlueM.Wave/issues


==Entwicklung==
==Development==
* [[Wave:Code|Code-Dokumentation]]
* [https://github.com/bluemodel/BlueM.Wave/blob/master/source/CHANGELOG.md Changelog]
* [http://130.83.196.154/svn/Wave/trunk/RELEASE-NOTES.txt RELEASE-NOTES]
* [[Wave:Development|Development]]
* [http://130.83.196.154/bugzilla/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=Wave&content= Bugzilla:Wave]
* [[Wave:Changelogs|Changelog]]


[[Kategorie:Wave]]
[[Category:BlueM.Wave]]

Latest revision as of 12:10, 11 December 2023

Wave.png Wave | Development

Screenshot

Description

Wave is a tool for displaying, analyzing and importing and exporting time series.

Features

Icon chart line add.png Import time series

Supported file formats:

Icon chart curve link.png Use a Wave project file (*.WVP) to quickly import multiple series from multiple files at once.

Drag&Drop files onto Wave to import them quickly.

It is also possible to manually Icon chart line edit.png enter time series, or Icon page paste.png paste clipboard data from Excel and Talsim-NG.

Visualization & Navigation

Display time series in a highly Icon chart curve edit.png customizable chart (provided by TeeChart)

Time series values and markers (animation)
  • Icon application split.png An overview chart shows you the full extent of the time series and the period currently displayed in the main chart.
  • Icons zoom.png 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.
  • Icon controller.png Use the navigation bar to set a custom display period and to navigate by a fixed time period or to the start/end Icons navigate.png.
  • Icon table.png Display tabular time series values and optionally show markers Icon comments.png for selected rows in the main chart

Series management

Time series properties
  • Icon accept split.png 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.
  • Icon table edit.png Display and edit time series properties in a table with optional statistics.
  • Icon shape align bottom.png Manage axes: When importing time series, series are automatically assigned to different axes depending on their unit.

Save & Export

Icon chart curve link.png Save project files (*.wvp) with references to time series from file sources.

Icon chart pie.png Save charts to the native TeeChart format (TEN-File) to preserve all data and formatting (for exceptions, see known issues below).

Icon chart pie.png Export charts as image files (PNG, JPG, BMP).

Icon page copy.png Copy the chart to the clipboard as a PNG image.

Icon page white go.png Export time series to the following formats:

Edit & Analyze

Editing functions:

  • Icon cut.png Cut time series to a specified time period or to another series' extent
  • Icon error convert.png Convert error values of a time series
  • Icon arrow join right.png Merge multiple time series into one while respecting priorities

Icon calculator.png Analysis functions:

  • Accumulate: Compute a new time series that contains the cumulative values of the original series
  • Autocorrelation: Autocorrelation analysis for analyzing time series periodicity
  • Annual recurrence probability: Annual recurrence probability of annual maxima using plotting position
  • Annual statistics: Compute various statistical parameters (min, max, average) of a time series
  • Calculator: Performs a mathematical operation on one or more time series
  • Change timestep: Make a time series equidistant with a user-specified timestep
  • Comparison: Plot two time series against each other and compute a linear regression line
  • Decumulate: Compute a new time series that consists of the decumulated values of the original series
  • Double sum curve
  • Goodness of fit (volume error, sum of squares error, Nash-Sutcliffe efficiency, etc.)
  • Histogram
  • Linear regression: Fills gaps (NaN values and missing timestamps) in one time series by applying a linear regression relationship with a second time series
  • Monthly statistics
  • Timestep analysis: Calculate the timestep between nodes in a user-specified unit

Comandline interface

Wave has a commandline interface for importing and converting time series, see Wave:CLI for details.

API

The API is used e.g. by BlueM.Opt and BlueM.Win but allows using Wave from within any .NET project.

See the API docs here: https://bluemodel.github.io/BlueM.Wave/api/

Notes

Error values

Visualization of NaN values
  • "NaN", "Infinity" and "-Infinity" in import files are recognized and accepted.
  • Unreadable values are converted to NaN during import.
  • 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.
  • NaN values are displayed as gaps in the chart and are ignored when performing analysis functions.
  • Custom, user-specified values can be converted to NaN Icon error convert.png after import.
  • NaN values can be visualized in the chart by pressing a Icon chart line error.png button (see screenshot).

Volume property

Wave calculates and displays the Volume property of a time series (e.g. for 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).

Supported date range

Wave supports dates between 01.01.0001 and 31.12.9999.

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)

Downloads

Download BlueM.Wave from GitHub: https://github.com/bluemodel/BlueM.Wave/releases/latest

Known Issues

  • When saving a chart to the native TEN format of TeeChart, certain Timeseries properties such as Interpretation, Datasource and sometimes Unit are lost.
  • 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). fixed in v1.9.1
  • more issues: https://github.com/bluemodel/BlueM.Wave/issues

Development