Upload readings in a .CSV file

When you add readings to your network, you can evaluate its performance by comparing simulation results with historical data. In this article, we'll teach you how to easily add them from a .CSV file.

Prepare your files for upload

First thing is to have at least one network uploaded into Qatium. Then, to add readings to your networks you need to prepare:

  • A .CSV file with the readings data
  • A signal mapping .CSV file to map your readings to the corresponding assets 

If you don’t have a network uploaded in Qatium yet, learn how to do it by reading the articles in this section.

Readings .CSV file

Your readings .CSV files must have a specific structure so that Qatium can interpret them correctly. Prepare your file following the specifications in the table below.

Column label time  asset  metric unit value
Type of data

<string>

YYYY-MM-DD  HH:MM:SS

<string>
Signal ID
<string> <string> <number>

For the readings to be correctly mapped to the assets, write the signal ID in the “asset” column

The data columns may be in any order, but they should have the exact same labels as shown in the table. For example, you can submit either of the two versions below and expect the same result in Qatium:

"time","asset","metric","value","unit"

"2024-01-01 00:00:00","ScadaFeed#1","flow","1.723","l/s"

"2024-01-01 00:00:00","ScadaFeed#2","pressure","66.105","m"

OR

"asset","metric","value","unit","time"

"ScadaFeed#1","flow","1.723","l/s","2024-01-01 00:00:00"

"ScadaFeed#2","pressure","66.105","m","2024-01-01 00:00:00"

💡 Tip from Q: Download the CSV file example for a demo of the data to include.

 
 
 

Signal mapping .CSV file

To map your signals (like SCADA or AMI), to your network assets in Qatium, prepare a separate .CSV file including the following information:

  • “signalId”: A unique identifier for the external signal.
  • assetId”: The identifier of the asset in your network you want to map the signal to.
  • assetProperty”: The asset property you are mapping (e.g., flow, pressure).

For example:

"signalId","assetId","assetProperty"

"ScadaFeed#1","Pipe#1","flow"

"ScadaFeed#2","J_07293","pressure"

Here are the properties that you can set for each asset:

Asset Property
Tank level
Junction demand, pressure
Pipe flow, status
Pump status, setting, upstreamPressure, downstreamPressure
Valve status, setting, upstreamPressure, downstreamPressure

If you already have readings uploaded into Qatium, and you just need to map the signals, follow these steps:

  1. Open your readings .CSV file and replace the asset ID in the “asset” column 
    with the signal ID

For example, if you have a readings file with the following structure: 

"time","asset","metric","value","unit"

"2024-01-01 00:00:00","Pipe#1","flow","1.723","l/s"

Edit it to replace the asset ID with the signal ID: 

"time","asset","metric","value","unit"

"2024-01-01 00:00:00","ScadaFeed#1","flow","1.723","l/s"
  1. Upload the readings file again to replace the existing one.
  2. Then upload the signal mapping file you’ve created.
 
 

Units conversion (optional)

To convert the units of the values from your sensor readings, add a “valueFactor” column to your CSV file. The value factor is a multiplier that allows you to convert the values into the desired units.

For example:

signalId,assetId,assetProperty,valueFactor

"PressureSensor#1","Hydrant#1","pressure",10.199773339984

For instance, if your sensor captures pressure in bars but your network uses meters, the value factor would be 10.2.

⚠️ Important: The “valueFactor” only accepts numeric values and decimal points. Any other characters will be ignored.

 
 
 

Upload process

Whenever your .CSV files are ready, just drag & drop them over the network one by one, and Q will give you instant feedback on the outcome of the upload. Refresh your browser and the network will reflect the new data immediately.

⚠️ Important: Remember that Qatium only accepts one signal mapping file per network. If you need to update the mappings, upload a new signal mapping file to overwrite the existing one.

 
@media (max-width: 480px) {