Demand allocation
Go from a census population to junction base demands: population x lpcd, 15 percent losses, the right use of the peak factor, and the half-pipe-length method.
Most DPRs start from a population figure, not from metered demands. Project > Allocate Demands... turns a population into a total demand in the model's flow units, then spreads that total over the junctions. Every number it shows is the arithmetic itself, so it can be pasted into a DPR and checked line by line.
Step 1: the total demand
Choose From population x lpcd, or A known total flow if you already have the figure. For the population route enter:
| Field | What to enter |
|---|---|
| Population | The population served, today or projected to the design year. |
| Supply | Per capita supply in lpcd. The buttons below fill the usual values: 135 (towns under 10 lakh, CPHEEO 2024 Table 2.4), 150 (10 lakh and above), 100 (source-constrained towns without sewerage), 55 (the JJM rural minimum). |
| Losses (NRW) | Starts at 15%. CPHEEO 2024 s.2.8.2.3 measures supply at the consumer end, so 15% is added for system losses. |
| Peak factor | Starts at 1. Leave it at 1 for an extended period run (see below). |
For 8,000 people at 135 lpcd in an LPS model, the window shows:
- 8,000 people x 135 lpcd = 1,080,000 L/day = 12.50 L/s
- +15% NRW (losses) = 14.38 L/s
Losses are added as a percentage of the consumer-end supply, which is the manual's wording. Some DPRs instead divide by (1 minus losses), which gives a slightly larger figure; if your client expects that, enter the total directly as a known flow.
Where the peak factor goes
This is the most common mistake in Indian network models. EPANET multiplies every base demand by its time pattern, so:
- Extended period run (24 hours or more): the base demand is the average demand, and the pattern supplies the peak. Keep the peak factor at 1. The CPHEEO peak factor is already built into the library patterns (2.5 urban, 3 rural).
- Single snapshot run (Total Duration 0): there is no pattern to do the peaking, so multiply by the peak factor here: 2.5 for urban and 3 for rural supply (CPHEEO 2024 Table 2.7).
For the same town as a snapshot design check at a peak factor of 2.5:
- 8,000 people x 135 lpcd = 1,080,000 L/day = 12.50 L/s
- +15% NRW (losses) = 14.38 L/s
- x 2.5 peak factor = 35.94 L/s (single-period design check)
Projecting the population
Tick Project the population to a design year to forecast from a base census. Intermediate: base + 15 and Ultimate: base + 30 set the design year; CPHEEO 2024 Table 2.2 sets the ultimate stage for distribution pipes and elevated reservoirs at base year + 30. Check the scheme's own guideline for a fixed design year.
| Method | Formula | Suits |
|---|---|---|
| Arithmetic increase | Pn = P + n x | Older, settled towns with constant growth per decade. |
| Geometric increase | Pn = P (1 + r)^n | Constant percentage growth; tends to forecast highest. |
| Incremental increase | Pn = P + n x + n(n+1)/2 y | Growth that itself changes each decade. |
Here n is the number of decades, x the mean increase per decade, r the growth rate per decade and y the mean change in the decadal increase. Paste past census counts (year and population, one per line) and PipePilot works out x, r and y; otherwise type them in. The window marks these as the standard textbook formulas: the CPHEEO section that states them has not been checked against the manual.
Step 2: spread it over the junctions
| Method | How the total is shared |
|---|---|
| Half pipe length (the default) | Each junction gets half the length of every pipe it touches, and demand follows that length. The usual choice for a distribution network, because houses line the pipes. |
| Equal split | Every junction gets the same demand. Quick, but ignores where people live. |
| Scale existing | Keeps the current pattern of demands and scales it to the new total. |
| Service area (approximate) | Each junction serves the map area nearer to it than to any other junction, counted on a coarse grid. Junctions on the edge of the network tend to get more. |
Half pipe length, worked through. A reservoir R feeds a line of junctions J1, J2, J3 through pipes of 300 m (R to J1), 200 m (J1 to J2) and 100 m (J2 to J3). J1 gets 150 + 100 = 250 m, J2 gets 100 + 50 = 150 m, and J3 gets 50 m, 450 m in all. Spreading 9 L/s gives J1 5 L/s, J2 3 L/s and J3 1 L/s. The half of the first pipe at the reservoir counts for nobody, because tanks and reservoirs never take demand. Only pipes count: pumps and valves serve no frontage.
For the scope, choose Whole network, or Current region selection to allocate to one zone: draw the zone first with Select Region on the map. List any junctions to leave alone in Exclude junctions; they keep their current demand.
Step 3 and 4: preview and apply
- The Preview shows the total check (assigned against asked, which should match), any notes (for example, junctions that get zero under the chosen method), a table of each junction's demand before and after, and a chart.
- Apply writes every new base demand as one change and marks the last run out of date. Run again to see the effect.
- After applying, Restore previous demands puts back the values in the Before column.
