Skip to main content

Water Quality Model

1. Overview​

HydroPol2D simulates pollutant transport using a build-up and wash-off formulation coupled to the hydrodynamic model.

The model tracks:

  • pollutant mass stored on the surface,
  • pollutant removal due to flow (wash-off),
  • redistribution between neighboring cells,
  • export through outlet boundaries.

The governing variable is:

BtB_t

where:

  • BtB_t = pollutant mass per cell [M][\mathrm{M}]

The model is fully mass conservative and dynamically coupled to flow routing.

The current Phase 1 validation focuses on the mass-based wash-off mode (flag_wq_model = 0). The validation uses SWMM-style buildup parameter scales for total suspended solids, but the truth source is an analytical mass-balance solution rather than a SWMM numerical run or a calibrated field pollutograph.


2. Pollutant storage​

Each cell stores a pollutant mass:

Bt[kg]B_t \quad [\mathrm{kg}]

The corresponding areal concentration is:

b=BtAcell[M Lβˆ’2]b = \frac{B_t}{A_{\mathrm{cell}}} \quad [\mathrm{M}\,\mathrm{L}^{-2}]

where:

  • AcellA_{\mathrm{cell}} = cell area [L2][\mathrm{L}^2]

Minimum and maximum thresholds are defined:

  • Bmin⁑B_{\min} β†’ minimum active pollutant mass
  • Bmax⁑B_{\max} β†’ saturation limit

Below a threshold:

b<bmin⁑⇒noΒ wash-offb < b_{\min} \Rightarrow \text{no wash-off}

3. Hydrodynamic coupling​

The water quality model uses hydrodynamic outflows:

qout={qleft,qright,qup,qdown,qoutlet}q_{\mathrm{out}} = \{ q_{\mathrm{left}}, q_{\mathrm{right}}, q_{\mathrm{up}}, q_{\mathrm{down}}, q_{\mathrm{outlet}} \}

with units:

[L Tβˆ’1](mm/h)[\mathrm{L}\,\mathrm{T}^{-1}] \quad (\mathrm{mm/h})

These are converted internally to volumetric flow:

Q=qout1000β‹…3600β‹…Acell[L3 Tβˆ’1]Q = \frac{q_{\mathrm{out}}}{1000 \cdot 3600} \cdot A_{\mathrm{cell}} \quad [\mathrm{L}^3\,\mathrm{T}^{-1}]

4. Wash-off formulation​

Two wash-off formulations are implemented.


4.1 Rating-curve wash-off model​

When flag_wq_model = 1, the wash-off is:

Wout=C3 QC4 f(Bt)W_{\mathrm{out}} = C_3 \, Q^{C_4} \, f(B_t)

where:

  • WoutW_{\mathrm{out}} = pollutant mass flux [M Tβˆ’1][\mathrm{M}\,\mathrm{T}^{-1}]
  • C3,C4C_3, C_4 = empirical coefficients
  • QQ = flow rate [L3 Tβˆ’1][\mathrm{L}^3\,\mathrm{T}^{-1}]

The storage correction factor is:

f(Bt)=1+max⁑(Btβˆ’Br,0)f(B_t) = 1 + \max(B_t - B_r, 0)

where:

  • BrB_r = residual pollutant mass threshold [M][\mathrm{M}]

This formulation ensures that:

  • wash-off increases with flow,
  • wash-off increases with available pollutant mass.

4.2 Mass-based wash-off model​

When flag_wq_model = 0, the formulation becomes:

Wout=C3 QC4 BtW_{\mathrm{out}} = C_3 \, Q^{C_4} \, B_t

This formulation assumes:

  • wash-off is proportional to available pollutant mass,
  • transport increases with flow magnitude.

5. Directional pollutant fluxes​

Pollutant fluxes are computed for each direction:

  • left
  • right
  • up
  • down
  • outlet

The total pollutant outflow from a cell is:

Wout,tot=βˆ‘kWout,kW_{\mathrm{out,tot}} = \sum_k W_{\mathrm{out},k}

Incoming pollutant fluxes are computed from neighboring cells:

Win=βˆ‘kWin,kW_{\mathrm{in}} = \sum_k W_{\mathrm{in},k}

6. Net pollutant balance​

The net pollutant rate is:

dW=Wout,totβˆ’Win[M Tβˆ’1]dW = W_{\mathrm{out,tot}} - W_{\mathrm{in}} \quad [\mathrm{M}\,\mathrm{T}^{-1}]

The mass balance equation is:

Btt+Ξ”t=Bttβˆ’dWβ‹…Ξ”tB_t^{t+\Delta t} = B_t^t - dW \cdot \Delta t

This formulation accounts for:

  • pollutant removal due to wash-off,
  • pollutant redistribution across the grid.

7. Adaptive time stepping (critical feature)​

To ensure stability and avoid negative mass, HydroPol2D computes a minimum admissible time step:

Ξ”tmin⁑=min⁑(Bt∣dW∣)\Delta t_{\min} = \min \left( \frac{B_t}{|dW|} \right)

where:

  • only cells losing mass are considered,
  • very small values are excluded.

If:

Ξ”tmin⁑<Ξ”t\Delta t_{\min} < \Delta t

the model splits the time step into sub-steps:

Ξ”t=βˆ‘Ξ”ti\Delta t = \sum \Delta t_i

and updates pollutant mass iteratively:

Bti+1=Btiβˆ’dWβ‹…Ξ”tiB_t^{i+1} = B_t^i - dW \cdot \Delta t_i

This ensures:

  • no negative pollutant mass,
  • numerical stability,
  • accurate mass conservation.

8. Mass conservation and corrections​

After updating:

  • negative values are removed:
Bt=max⁑(Bt,0)B_t = \max(B_t, 0)
  • rounding is applied to avoid numerical noise.

Mass lost due to numerical corrections is tracked:

masslost\mathrm{mass}_{\mathrm{lost}}

9. Pollutant concentration​

Pollutant concentration is computed as:

C=Wout,totQtotβ‹…Acellβ‹…106[mg/L]C = \frac{W_{\mathrm{out,tot}}}{Q_{\mathrm{tot}} \cdot A_{\mathrm{cell}}} \cdot 10^6 \quad [\mathrm{mg/L}]

where:

  • QtotQ_{\mathrm{tot}} = total water outflow [L Tβˆ’1][\mathrm{L}\,\mathrm{T}^{-1}]

10. Outlet concentration​

The outlet concentration is computed as:

Cout=βˆ‘Wout,outletβˆ‘Qoutletβ‹…Acellβ‹…1000[mg/L]C_{\mathrm{out}} = \frac{ \sum W_{\mathrm{out, outlet}} }{ \sum Q_{\mathrm{outlet}} \cdot A_{\mathrm{cell}} } \cdot 1000 \quad [\mathrm{mg/L}]

11. Total washed mass​

The cumulative washed pollutant mass is:

Mwashed=βˆ‘Wout,totβ‹…Ξ”t[kg]M_{\mathrm{washed}} = \sum W_{\mathrm{out,tot}} \cdot \Delta t \quad [\mathrm{kg}]

12. Numerical constraints​

The model enforces:

  • minimum pollutant threshold:
b<bmin⁑⇒Wout=0b < b_{\min} \Rightarrow W_{\mathrm{out}} = 0
  • minimum flow threshold:
qoutβ‰₯10[mm/h]q_{\mathrm{out}} \ge 10 \quad [\mathrm{mm/h}]

to avoid numerical instability.


Summary​

The HydroPol2D water quality model:

  • tracks pollutant mass per cell,
  • computes wash-off as a function of flow and storage,
  • redistributes pollutants across the domain,
  • ensures strict mass conservation,
  • uses adaptive time stepping to maintain stability.

It provides a robust and flexible framework for simulating pollutant transport coupled with hydrologic and hydrodynamic processes. Current validation evidence supports controlled buildup/washoff mass-balance behavior; site-specific pollutant prediction still requires local pollutant parameters, observations, and calibration.