XINANJIANG Model¶
Overview¶
The XINANJIANG model was developed by Zhao, Zhuang, Fang, Liu, and Zhang in 1980 at the Hohai University in Nanjing, China, for rainfall–runoff modelling of humid and semi-humid catchments in the Xin'anjiang river basin. It is one of the most widely used hydrological models in China and has been the computational backbone of many operational flood-forecasting systems. The original model has over a dozen parameters; HOLMES implements the 8-parameter variant described in Perrin's thesis (HOOPLA HM20), which keeps the structural skeleton of Zhao et al. but fixes or absorbs a handful of minor process parameters.
Structurally, XINANJIANG represents a catchment as two power-distributed storage reservoirs in series (a soil store and a free-water store), both of which generate runoff through saturation-excess on a spatially variable capacity. The free-water store then drains into a pair of parallel linear reservoirs (one fast, one slow), and the combined flow is finally smoothed by a short two-tap unit hydrograph that handles fractional time delays.
A student might choose XINANJIANG over GR4J or HBV when they want an explicit representation of spatial variability of storage capacity within the catchment: the saturation-excess runoff mechanism is physically motivated by the observation that different parts of a basin saturate at different times, and the power-law distribution of capacities is the simplest way to capture that without a fully distributed model.
Key Concepts¶
- Saturation-excess runoff: Runoff generation mechanism in which rainfall becomes streamflow only where the soil is already saturated. The fraction of saturated area grows as catchment-average storage increases.
- Power-distributed storage: The spatial variability of point storage capacities is modelled by a single power-law shape parameter, so that at any soil-moisture level an analytical fraction of the catchment is saturated.
- Soil reservoir \(S\): The main tension-water store, representing water held by soil capillarity. It drives evapotranspiration and controls the onset of runoff.
- Free-water reservoir \(R\): A secondary gravitational-water store receiving the runoff generated by the soil reservoir. Its output feeds the routing network.
- Fast / slow routing split: Water leaving the free-water store is split between a fast linear reservoir (surface / interflow) and a slow linear reservoir (baseflow) by the partition coefficient \(X_1\).
- Linear routing reservoirs \(T\) and \(M\): Two parallel linear stores with different time constants; together they give the model a bi-exponential recession signature.
- Two-tap unit hydrograph: A very short unit hydrograph with mass on only the last two ordinates, used to represent fractional concentration delays between 0.5 and 10 days.
How It Works¶
At every time step, the model receives a precipitation input \(P\) and a potential evapotranspiration demand \(E\), and returns one streamflow value \(Q\). The inner logic follows these seven steps.
Step 1: Net inputs. Compute net precipitation \(P_n = \max(P - E, 0)\) and net PET \(E_n = \max(E - P, 0)\), so that at most one of the two is non-zero. If \(E_n > 0\) the time step is "dry" and only evapotranspiration happens; if \(P_n > 0\) it is "wet" and the full production / routing chain activates.
Step 2: Piecewise evapotranspiration. On a dry step, actual ET is drawn from the soil reservoir \(S\) at a rate that depends on relative saturation \(S / X_5\): unimpeded when \(S/X_5 \ge 0.9\), at 10 % of the demand when \(S/X_5 < 0.09\), and linearly interpolated in between. This reproduces the observation that almost-empty soils release water much more slowly than moist ones.
Step 3: Soil store saturation-excess. On a wet step, a Zhao-type power-distributed saturation-excess formula computes the fraction of the catchment where the soil reservoir is already full and routes the corresponding rainfall directly into the free-water reservoir as throughflow \(P_s\). The fixed shape exponent \(B = 0.25\) from Perrin's variant is used here.
Step 4: Free-water saturation-excess. The throughflow \(P_r = P_n - P_s\) enters the free-water reservoir \(R\) (capacity \(X_4\)), where a second saturation-excess step — this time with calibratable shape exponent \(X_8\) — computes the fraction that exceeds capacity and is shed as surface runoff \(Q_{s0}\).
Step 5: Routing split into fast and slow reservoirs. The remaining content of \(R\) is drained at a constant per-step rate \(1/X_7\), producing a recharge flux \(I_R\). \(I_R\) is split by the partition coefficient \(X_1\): a fraction \(X_1\) enters the fast linear reservoir \(T\) (time constant \(X_2\) days), and the remaining \((1 - X_1)\) enters the slow linear reservoir \(M\) (time constant \(X_2 \cdot X_3\) days).
Step 6: Combined flow before routing. The fast and slow reservoirs each shed their own linear outflow \(Q_T = T / X_2\) and \(Q_M = M / (X_2 X_3)\), which are added to the direct surface runoff \(Q_{s0}\) computed in Step 4 to form the unrouted total \(Q^\star = Q_{s0} + Q_T + Q_M\).
Step 7: Unit hydrograph convolution. Finally, \(Q^\star\) is passed through a two-tap unit hydrograph controlled by \(X_6\) that concentrates all weight on the last two ordinates. This lets the model represent fractional time delays that are otherwise impossible with an integer-length hydrograph, and the streamflow \(Q\) at this time step is the first (freshly-released) ordinate.
Parameters¶
The XINANJIANG model has 8 calibratable parameters:
| Parameter | Description | Range | Units | Physical Interpretation |
|---|---|---|---|---|
| \(X_1\) | Fast / slow routing split | [0.01, 0.99] | – | Fraction of free-water outflow routed through the fast reservoir; the complement feeds the slow reservoir. |
| \(X_2\) | Fast reservoir time constant | [1, 20] | days | Emptying constant of the fast linear store \(T\); smaller values give flashier response. |
| \(X_3\) | Slow-reservoir multiplier | [1, 50] | – | Ratio between the slow and fast time constants; the effective slow time constant is \(X_2 \cdot X_3\). |
| \(X_4\) | Free-water capacity | [1, 500] | mm | Maximum storage of the free-water (gravitational) reservoir \(R\). |
| \(X_5\) | Soil reservoir capacity | [1, 2000] | mm | Maximum soil-moisture storage \(S\); controls the onset of saturation and the ET regime. |
| \(X_6\) | Unit hydrograph delay | [0.5, 10] | days | Mean lag of the two-tap unit hydrograph applied to outgoing flow. |
| \(X_7\) | Free-water emptying constant | [1, 50] | days | Time constant of the recharge flux \(I_R\) leaving the free-water reservoir. |
| \(X_8\) | Free-water saturation exponent | [0.01, 5] | – | Shape of the power-law distribution of free-water capacities; higher values give sharper saturation-excess response. |
Understanding the parameters:
- \(X_5\) is the dominant calibration parameter for long-term water balance. Typical values for humid temperate catchments are 200–800 mm; values near the upper bound usually indicate a catchment with deep soils or significant groundwater storage.
- \(X_1\) controls the shape of the hydrograph recession. A value near 0.5 gives a balanced mix of fast and slow response; values near 0.01 essentially shut off the fast path, and the model collapses to a single slow reservoir.
- \(X_2\) and \(X_3\) together define the two recession time scales. If both calibrate to the lower end of their ranges, the model is telling you that the catchment has no slow component and a simpler single-reservoir structure would probably fit just as well.
- \(X_4\) and \(X_8\) jointly determine how quickly the free-water store saturates during storms. Large \(X_4\) combined with small \(X_8\) produces a smooth, late-rising hydrograph; small \(X_4\) with large \(X_8\) produces a flashy, early-saturating response.
- \(X_6\) only matters if the catchment has a pronounced concentration time. For small headwater basins it often calibrates near the lower bound, meaning the unit hydrograph is effectively a single-step pass-through.
Mathematical Formulation¶
Initialization¶
The reservoir states at \(t = 0\) are seeded to conservative warm-start values, following HOOPLA's ini_HydroMod20:
The initial soil store is set to its full capacity because the XINANJIANG saturation-excess formulation is sensitive to under-initialisation of \(S\) and responds gracefully to over-initialisation.
Net Inputs¶
Soil Store (wet step only, \(P_n > 0\))¶
With the fixed shape exponent \(B = 0.25\), the soil-store saturation-excess formula is:
Here \(P_s\) is the throughflow that enters the free-water store, and the state update \(S \leftarrow \min(S + P_s, X_5)\) is the mass-balance update for the soil reservoir.
Soil Store ET (dry step only, \(E_n > 0\))¶
Free-Water Store¶
The free-water store inflow is \(P_r = P_n - P_s\). With shape exponent \(X_8\):
The surface runoff generated in this phase is:
Routing Reservoirs¶
The recharge leaving the free-water store is:
It is split between the fast store \(T\) and the slow store \(M\) by \(X_1\):
Unit Hydrograph¶
The two-tap unit hydrograph of length \(n = \lceil X_6 \rceil + 1\) has ordinates:
The convolution is implemented as a shift-and-add on an internal buffer \(h\):
Total Streamflow¶
The maximum with zero is a defensive guard against floating-point round-off in the shift-and-add buffer and never activates under well-behaved inputs.
References¶
- Zhao, R. J., Zhuang, Y. L., Fang, L. R., Liu, X. R., & Zhang, Q. S. (1980). The Xinanjiang model. In Hydrological Forecasting Proceedings Oxford Symposium, IAHS Publication No. 129 (pp. 351–356).
- Zhao, R. J. (1992). The Xinanjiang model applied in China. Journal of Hydrology, 135(1–4), 371–381. DOI
- Perrin, C. (2000). Vers une amélioration d'un modèle global pluie–débit au travers d'une approche comparative (PhD thesis). INPG, Grenoble.