This example performes import and visualization of TUDelft disdrometer data (http://www.disdrometrics.com/). TUDelft disdrometer data delivers rain in mm and dropsize distribution (-, number of drops per class).
Within the Smart Urban Water project, part of the European project "Climate KIC", rainfall and dropsize distribution data from the TUDelft disdrometer had been imported and visualized in Delft-FEWS. Import format is WaterML 2.0.
The used procedure can be useful for import of other sources of rain data including dropsize distribution or more in general for other data with information of internal classes' distribution.
Rain data (mm) and number of drops per class (-) can be imported each as independent timeserie with the import waterml time series parser.
<import>
<general>
<!- Class name of WaterML time series parser ->
<parserClassName>nl.wldelft.waterml.timeseriesparsers.WaterMlTimeSeriesParser</parserClassName>
<!- Path to directory containing libraries ->
<binDir>%REGION_HOME%/Modules/waterml-bin</binDir>
<!- Directory from which CSV files are to be imported ->
<folder>$IMPORT_FOLDER_WATERML$</folder>
<failedFolder>$IMPORT_FAIL_WATERML$</failedFolder>
<backupFolder>$IMPORT_BACKUP_WATERML$</backupFolder>
<idMapId>IdImportTUDelft</idMapId>
</general>
<timeSeriesSet>
<moduleInstanceId>ImportTUDelft</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>P.TUDelft.hist</parameterId>
<qualifierId>Rain_Data</qualifierId>
<locationId>TUCampus</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="5"/>
<readWriteMode>add originals</readWriteMode>
<synchLevel>1</synchLevel>
</timeSeriesSet>
<timeSeriesSet>
<moduleInstanceId>ImportTUDelft</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>n.Drops</parameterId>
<qualifierId>Class1</qualifierId>
<locationId>TUCampus</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="5"/>
<readWriteMode>add originals</readWriteMode>
<synchLevel>1</synchLevel>
</timeSeriesSet>
- import all the other classes -
</import>
It is important to keep in mind the following correspondence in WaterML 2.0 (import file) and FEWS tags:
WaterML 2.0 |
Delft-FEWS |
featureofInterest |
LocationId |
observedProperty |
parameter |
procedure |
qualifierId |
Dropsize distribution (in % per class) can then visualized per timestep as 100% stacked plot, together with rain using the stackPlot="true" option in the DisplayGroups file.
<plot id="DropsizeDistribution">
<axisTitleFontSize>12</axisTitleFontSize>
<tickLabelFontSize>12</tickLabelFontSize>
<subplot min="0" max="1.2" stackPlot="true">
<color>yellow</color>
<lineStyle>bar</lineStyle>
<timeSeriesSet>
<moduleInstanceId>PreprocessTUDelft</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>%n.Drops</parameterId>
<qualifierId>Class1</qualifierId>
<locationId>TUCampus</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="5"/>
<readWriteMode>add originals</readWriteMode>
<synchLevel>1</synchLevel>
</timeSeriesSet>
<color>orange</color>
<lineStyle>bar</lineStyle>
<timeSeriesSet>
<moduleInstanceId>PreprocessTUDelft</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>%n.Drops</parameterId>
<qualifierId>Class2</qualifierId>
<locationId>TUCampus</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="5"/>
<readWriteMode>add originals</readWriteMode>
<synchLevel>1</synchLevel>
</timeSeriesSet>
<color>red</color>
<lineStyle>bar</lineStyle>
<timeSeriesSet>
<moduleInstanceId>PreprocessTUDelft</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>%n.Drops</parameterId>
<qualifierId>Class3</qualifierId>
<locationId>TUCampus</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="5"/>
<readWriteMode>add originals</readWriteMode>
<synchLevel>1</synchLevel>
</timeSeriesSet>
- insert all the other classes -
<subplot min="0" max="1.2" stackPlot="false">
<color>blue</color>
<lineStyle>bar</lineStyle>
<timeSeriesSet>
<moduleInstanceId>ImportTUDelft</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>P.TUDelft.hist</parameterId>
<qualifierId>Rain_Data</qualifierId>
<locationId>TUCampus</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="5"/>
<readWriteMode>add originals</readWriteMode>
<synchLevel>1</synchLevel>
</timeSeriesSet>
</subplot>
</plot>
<displayGroup name="TUDelft - Dropsize distrubution">
<display name="TUDelft - Dropsize distrubution">
<relativeViewPeriod unit="day" start="-5" end="0"/>
<locationId>TUCampus</locationId>
<plotId>DropsizeDistribution</plotId>
</display>
</displayGroup>
For more info: n:\Projects\1201500\1201946\E. Correspondence\Memo\1201946-033-VEB-0001-v0.1-m-SUW - Smart Urban Water.docx