Inferring hydraulic data
Once your network is cleaned, organized, and connected, there’s one final step before it’s ready for simulation: inferring hydraulic data. This means we fill in any missing information needed to simulate how water behaves in your system.
Sometimes, datasets don’t include all the details—like pipe diameters, elevation levels, or demand values—and that’s okay. We've built a complete guide for you to add as many asset information as possible but, if it's not possible, Qatium fills in those gaps.
Here’s what happens during this step.
We complete missing elevations
If some of your assets don’t include elevation values, we automatically find and assign them. Elevation is essential for calculating pressures and flow directions, so this step ensures accurate results.
We identify or create supply sources
If your dataset doesn’t include a defined source, we identify where it should be—or create one—so the network has a clear starting point for flow.
We also calculate head elevations for those sources to ensure the system can simulate pressure and flow properly.
We fill in missing pipe diameters
If some pipes don’t have a diameter defined, we estimate it. Qatium can use a default value or infer the diameter based on neighboring pipes to keep things realistic.
We calculate how flow should behave
To simulate water movement, we need to know how assets relate to each other in terms of flow direction and importance. We assign asset levels—for example, identifying which pipes are arterial—to help define flow paths.
We complete and infer demand data
If you’ve defined zones with demand information (like daily consumption for a district), we assign those values to the matching junctions.
If some demand values are missing altogether, we estimate them based on your network structure and best practices—so your simulations include realistic water usage.
We infer roughness for pipes
The equation (H-W, D-W or C-M) is inferred from roughness values (if available). If not, we’ll apply the default value: Hazen-Williams (H-W), roughness = 148.
Qatium can also infer roughness from Material and Installation date, if available.
Roughness based on material
If the installation date can’t be found, Qatium will infer the roughness based on material only.
| Material | HW |
CM |
DW |
| AC: Asbestos Cement | 140 |
0.011 |
0.10000 |
| ARO: Abrasion Resistant Outerwrap | 148 |
0.0148 |
0.14800 |
| CI: Cast Iron | 130 |
0.012 |
0.80000 |
| COPP: Cooper | 130 |
0.011 |
0.10000 |
| CWOSMJ: Concrete Without Sheet Metal Jacket | 140 |
0.011 |
0.18 |
| CWSMJ: Concrete With Sheet Metal Jacket | 135 |
0.013 |
0.36000 |
| DI: Ductile Iron | 130 |
0.012 |
0.30000 |
| DIL: Lined Ductile Iron | 130 |
0.0148 |
0.25000 |
| FE: Iron | 148 |
0.0148 |
0.14800 |
| GI: Galvanized Iron | 120 |
0.016 |
0.15000 |
| GIL: Lined Galvanized Iron | 120 |
0.0148 |
0.15000 |
| HDPE: High Density Polyethylene | 150 |
0.009 |
0.01000 |
| L: Lead | 140 |
0.011 |
0.01000 |
| LDPE: Low Density Polyethylene | 150 |
0.009 |
0.01000 |
| MDPE: Medium Density Polyethylene | 150 |
0.009 |
0.01000 |
| NA: Not available | 150 |
0.0148 |
0.14800 |
| PC: Prestressed Concrete | 150 |
0.011 |
0.18000 |
| PE: Polyethylene | 150 |
0.009 |
0.01000 |
| PE80: Polyethylene 80 | 150 |
0.009 |
0.01000 |
| PE100: Polyethylene 100 | 150 |
0.009 |
0.01000 |
| PVC: Polyvinyl Chloride | 150 |
0.009 |
0.05000 |
| PVCO: Orientated PVC | 150 |
0.0148 |
0.05000 |
| RC: Reinforced Concrete | 140 |
0.0148 |
0.18 |
| S: Steel | 150 |
0.0148 |
0.10000 |
| SI: Spun Iron | 150 |
0.0148 |
0.60000 |
| SS: Stainless Steel | 150 |
0.011 |
0.14800 |
| UNK: Unknown | 148 |
0.0148 |
0.14800 |
| UPVC: Unplasticized PVC | 150 |
0.009 |
0.05000 |
Roughness based on installation date
The value calculated from the material will then be amended based on the pipe’s age, i.e. the number of years since its installation date.
Depending on the head loss formula applied, this is how this works:
H-W |
InferredRoughness = Roughness(material)*(1-Age/180) Value range: [50 ;+∞] |
D-W |
InferredRoughness = Roughness(material)/(1-Age/180) Value range: [0.05 ; 50] |
C-M |
InferredRoughness = Roughness(material)/(1-Age/180) Value range: [0 ; 0.05] |
What if the resulting roughness value is out of range?
Qatium would use the value of the range limit for the corresponding headloss formula.
E.g. For H-W, if the value calculated is 40, the inferred value would be 50.
With all hydraulic values inferred, your network is now fully simulation-ready. From elevations and demands to supply and flow paths, every detail is in place—so you can start exploring your system, running scenarios, and making data-driven decisions in Qatium.