Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Timeseries Gap Identification

In this example we will use `nadi_csv` plugin to load CSV files. The plugin is external, refer to the installation page to install it into the NADI System.

Different from other chapters, the code in this chapters are run in the order they are given, meaning each task code blocks are not independent.

Load the network

network load_file("data/scioto/scioto.network")

network cairo.table("<Name => {NAME}", "output/scioto-net.svg")

Results:
Output Image

Load timeseries data from CSV, and convert any timeseries without gaps into a complete one.

We can see the number of valid data and number of total data to see that the timeseries have gaps on them.

network csv.load_timeseries("data/scioto/scioto.csv", "date", "streamflow");
# in future version csv.load_timeseries should do this while loading
node ts_complete("streamflow")

node array(ts_len("streamflow", valid=true), ts_len("streamflow"))

Results:

{
  03229610 = [7032, 38078],
  03229500 = [36616, 38078],
  03228689 = [1119, 38078],
  03228500 = [31502, 38078],
  03228300 = [13237, 38078],
  03228805 = [22495, 38078],
  03228750 = [11747, 38078],
  03227500 = [38067, 38078],
  03227107 = [3639, 38078],
  03226800 = [21306, 38078],
  03225500 = [35155, 38078],
  03223425 = [10319, 38078],
  03221646 = [3744, 38078],
  03219781 = [1234, 38078],
  03220000 = [29678, 38078],
  03221000 = [37896, 38078],
  03219500 = [33695, 38078],
  03217500 = [13604, 38078],
  03217424 = [1285, 38078]
}

None of the timeseries are complete. We can visualize the gaps using the

node.good = (ts_len("streamflow", valid=true) / ts_len("streamflow")) > 0.75
node.visual.nodeshape = "circle";
node(good).visual.nodecolor = "darkgreen";
node(good).visual.textcolor = "darkgreen";
network svg_ts_blocks("output/scioto-ts-gap-id.svg", "{NAME}", "streamflow", 620.0, 820.0, arr_width=500.0, bgcolor="#ffffff33")

Results:


Plot Showing the Data Gaps in the CSV