BlueM.Wave: Difference between revisions

From BlueM
Jump to navigation Jump to search
(→‎link= Import time series: restructure and add HYBNAT)
 
(82 intermediate revisions by 3 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|Analysis function months evaluation]]
 
[[Bild:Doppelsummenanalyse.png|thumb|Analysis function double sum analysis]]
[[Bild:Wave_Statistik.png|thumb|Statistical analysis function]]
==Description==
==Description==
Wave is a tool for importing, exporting, analyzing and displaying time series.
Wave is a tool for displaying, analyzing and importing and exporting time series.


==Features==
==Features==
* '''Import time series:'''
 
** [[WEL-Format | WEL]]
===[[File:Icon_chart_line_add.png|link=]] Import time series===
** [[ZRE-Format | ZRE]]
'''Supported file formats:'''
** [[ASC-Format | ASC]]  
* [[WEL-Format_(BlueM)|BlueM.Sim result files]]: <code>*.WEL</code>, <code>*.KWL</code>
** [[SMB-Format | SMB]]  
* [[DFS0-Format | DHI MIKE DFS0 format]]: <code>*.DFS0</code>
** [[REG-Format | REG]]  
* [[WEL-Format (GISMO)|GISMO result files]]: <code>*.WEL</code>
** and generic text files (e.g. [[CSV-Format | CSV]])
* [[HYBNAT result files]]: <code>*.WEL</code>, <code>*.BCS</code>
* '''Input time series:''' manual input, or copy & paste from Excel
* [[HYDRO_AS-2D result files]]: <code>*.DAT</code>
* '''Display time series''' in a [http://www.steema.com/products/teechart/overview.html TeeChart] diagram with any number of axes, etc.
* [[Hystem-Extran file formats]]: Regendatei (<code>*.REG</code>, <code>*.DAT</code>) and Wellendatei (<code>*.WEL</code>)
** When importing time series, series are automatically assigned to different axes depending on their unit.  
* [[JAMS result files]]: JAMS/J2000/J2K/J2000g timeseries results (<code>*.DAT</code>)
* '''Save diagrams''' (TEN-File)
* [[PRMS result files]]: annual summary, monthly summary, DPOUT (<code>*.OUT</code>) and statistic variables result file (<code>*.DAT</code>)
* '''Drag&Drop''' files onto the form and "Open with ...", or double-click on file (if file extension is associated with Wave.exe)
* [[SMUSI file formats]]: <code>*.ASC</code> result files and <code>*.REG</code> input files
* '''Time series overview''' for navigating through long time series
* [[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>)
* '''API''', used by [[BlueM.Opt]] and [[BlueM.Win]].
* [[SMB-Format | SIMBA file format]]: <code>*.SMB</code>
* '''Export time series:'''
* [[Talsim-NG file formats]]: time series results (<code>*.WEL</code>, <code>*.WBL</code>) and binary input time series (<code>*.BIN</code>)
** [[ZRE-Format | ZRE]]
* [[UVF-Format | UVF format]]: Universelles Variables Format (<code>*.UVF</code>)
** <del>[[WEL-Format | WEL]]</del> (not yet - Bug 318)
* [[ZRE-Format | ZRE format]]: <code>*.ZRE</code>
** CSV and XLS made available by TeeChart
* [[ZRXP-Format | ZRXP format]]: <code>*.ZRX</code>, <code>*.ZRXP</code>
* '''Crop time series'''
* and [[CSV-Format|generic text files]] (e.g. <code>*.CSV</code>, <code>*.TXT</code>)
* '''Time series analysis:'''
 
** [[Wave:Monatsauswertung|Monthly statistics]]
[[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.
** [[Wave:Doppelsummenanalyse|Double mass curve]]
 
** [[Wave:GoodnessOfFit|Goodness of Fit]] (volume error, sum of squares error, Nash-Sutcliffe efficiency, etc.)
'''Drag&Drop''' files onto Wave to import them quickly.
** [[Wave:Statistik|Statistics]]
 
** [[Wave:Gegenueberstellung|Plot two time series against each other]]
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==
==Notes==
===Importing time series===
===Error values===
* WEL and ZRE files have to adhere to the file format: see [[WEL-Format|WEL]], [[ZRE-Format|ZRE]].
[[File:Wave NaN visualization.png|thumb|right|Visualization of NaN values]]
* '''Column definition:''' The first column must always contain the data values (x-axis), then from the second column follow the numerical values for one or more time series
* "NaN", "Infinity" and "-Infinity" in import files are recognized and accepted.
* '''Number format:'''
* Unreadable values are converted to NaN during import.
** Decimal point should be represented by a dot (<code>.</code>) (Bug 351)
* 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", "Infinity" and "-Infinity" in import files are recognized and accepted.<br/> Unreadable values are converted to NaN.<br/>Values of NaN or Infinity are removed before displaying or performing analysis functions.
* NaN values are displayed as gaps in the chart and are ignored when performing analysis functions.
* '''Date format'''
* Custom, user-specified values can be converted to NaN [[File:Icon_error_convert.png|link=]] after import.
:{| border="0" cellpadding="5" cellspacing="0"
* NaN values can be visualized in the chart by pressing a [[File:Icon_chart_line_error.png|link=]] button (see screenshot).
| TXT, CSV, ASC and WEL || &rarr; || <code>DD.MM.YYYY HH:MM</code>
 
|-
===Volume property===
| ZRE || &rarr; || <code>YYYYMMDD HH:MM</code>
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


==Development==
==Development==
* [[Wave:Code|Code documentation]]
* [https://github.com/bluemodel/BlueM.Wave/blob/master/source/CHANGELOG.md Changelog]
* [http://130.83.196.154/svn/Wave/trunk/WAVE_RELEASE-NOTES.txt RELEASE-NOTES]
* [[Wave:Development|Development]]
* [http://130.83.196.154/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&content=&product=Wave&query_format=specific&order=bug_severity%2Cpriority%20ASC&query_based_on= Bugzilla:Wave]


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

Latest revision as of 11:10, 11 December 2023

Wave.png Wave | Download | 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