2D Timeseries
Overview
A snowpack at a given timepoint can is easy to represent in CSV, and thus, iCSV formats, as it essentially is a matrix. However, representing timeseries of snowpacks presents a challenge, as this involves three-dimensional data where each timepoint contains a 2D structure with potentially varying numbers of rows. One example of a text based 3D output is the ".pro" format implemented by SNOWPACK.
This application profile introduces conventions that enable 3D profile timeseries data to be represented in the iCSV format. To accommodate the time dimension, we introduce an additional header type in the DATA section: [DATE=MM.DD.YYYY].
With this approach, each DATE subsection maintains the same metadata and fields, but can contain multiple independent timepoints, each representing a complete profile.
Additionally, to handle both layer-specific and point-specific data at each timepoint, a new required field layer_index is introduced. Layers are numbered from 1 (base layer) to the highest index (surface layer). A special value "point" for the layer_index field indicates pointwise data that applies to the entire profile rather than a specific layer.
Changes
Firstline
To the first line the name of the application in capital letters is added, in this case:
# iCSV 1.0 UTF-8 2DTIMESERIES
Recommended Metadata
For the 2D Timeseries application profile, an additional metadata keyword is recommended:
source-
The source of the data, such as 'weather station WFJ'. If it is a model output use the name of the model with the version, e.g. Helmut-v1.0.0
Recommended Fields
The first field is recommended to be:
layer_index-
Integer values counting layers from base to top (1-n), to avoid confusion.
DATA Section
Unlike the standard iCSV format where [DATA] is the final header with no subheaders, the 2D Timeseries application profile divides the DATA section into temporal subheaders:
# [DATE=YYYY-MM-DDTHH:MM:SS]
Where DATE indicates the timepoint in ISO8601 format. The precision of the timestamp is determined by the data provider.
After each DATE header, the subsequent lines contain data values separated by the specified field_delimiter and matching the number of fields, continuing until a new DATE header appears or the file ends.
Short Form
For a formal technical specification of the 2D Timeseries application profile in EBNF notation, see Short Form.