Sudan Improved Hydrologic Curve Number Application
Complete mathematical framework for rainfall-runoff modeling
The application follows the GCN250 framework (Jaafar et al., 2019) enhanced with slope and vegetation corrections. The complete processing chain:
Hydrologic Soil Groups (HSG) classify soils by their infiltration capacity. We derive HSG from OpenLandMap SoilGrids clay and sand fractions at the surface (0 cm depth):
| HSG | Soil Type | Infiltration Rate | Runoff Potential |
|---|---|---|---|
| A | Deep sand, loamy sand, sandy loam | High (> 7.6 mm/hr) | Low |
| B | Silt loam, loam | Moderate (3.8–7.6 mm/hr) | Moderate |
| C | Sandy clay loam | Slow (1.3–3.8 mm/hr) | Moderately High |
| D | Clay, silty clay, clay loam | Very slow (< 1.3 mm/hr) | High |
Each pixel receives a CN value based on its land cover class (from ESA WorldCover) crossed with its Hydrologic Soil Group. The lookup table follows USDA NEH-630 Chapter 9:
| WorldCover Class | Code | HSG-A | HSG-B | HSG-C | HSG-D |
|---|---|---|---|---|---|
| Tree Cover | 10 | 33 | 58 | 72 | 78 |
| Shrubland | 20 | 42 | 62 | 75 | 81 |
| Grassland | 30 | 39 | 61 | 74 | 80 |
| Cropland | 40 | 57 | 68 | 75 | 78 |
| Built-up | 50 | 89 | 92 | 94 | 95 |
| Bare / Sparse | 60 | 77 | 86 | 91 | 94 |
| Water Bodies | 80 | 100 | 100 | 100 | 100 |
| Wetlands | 90 | 100 | 100 | 100 | 100 |
| Mangroves | 95 | 100 | 100 | 100 | 100 |
| Moss / Lichen | 100 | 49 | 69 | 79 | 84 |
Where $\mathbb{1}\{\cdot\}$ is the indicator function. Pixels with $CN_{\text{avg}} \leq 0$ default to Group C values, and remaining zeros default to $CN = 80$ (bare ground assumption).
The SCS method defines three Antecedent Runoff Conditions (ARC) based on 5-day antecedent rainfall and season:
| Condition | Description | 5-Day Antecedent Rainfall |
|---|---|---|
| ARC I (Dry) | Soils are dry, low runoff potential | < 36 mm (growing) / < 13 mm (dormant) |
| ARC II (Average) | Normal conditions, standard design | 36–53 mm (growing) / 13–28 mm (dormant) |
| ARC III (Wet) | Saturated soils, high runoff potential | > 53 mm (growing) / > 28 mm (dormant) |
The standard SCS-CN method was developed for moderate slopes (≤ 5%). Sudan's terrain varies from flat alluvial plains to steep mountain slopes. The Sharpley-Williams (1990) correction adjusts CN based on local slope:
| Variable | Description | Units | Source |
|---|---|---|---|
| $CN_{\text{slope}}$ | Slope-adjusted Curve Number | — | Output |
| $CN_{\text{wet}}$ | CN for ARC III (wet condition) | — | Eq. 5 |
| $CN_{\text{avg}}$ | CN for ARC II (average condition) | — | Eq. 3 |
| $\alpha$ | Surface slope angle | degrees | SRTM 30 m DEM |
| $\tan(\alpha)$ | Slope gradient (rise/run) | m/m | Computed |
Vegetation density affects infiltration through canopy interception and root zone storage. We use MODIS MOD13A2 annual mean NDVI to apply a seasonal reduction factor:
| Variable | Description | Range |
|---|---|---|
| $\text{NDVI}$ | Annual mean Normalized Difference Vegetation Index (2023) | $[-1, 1]$ |
| $f_{\text{veg}}$ | Vegetation reduction factor | $[0, 0.15]$ |
| $0.1$ | Minimum NDVI threshold (bare soil) | — |
| $0.5$ | Maximum NDVI for full effect ($0.1 + 0.4$) | — |
| $0.15$ | Maximum CN reduction (15%) | — |
The core of the SCS Curve Number method. Developed by the USDA Soil Conservation Service (now NRCS), this empirical equation estimates direct surface runoff from a rainfall event:
$S$ represents the maximum depth of water the soil can retain after runoff begins. Units are millimeters. The constants 25,400 and 254 come from the original inch-based formula ($S = \frac{1000}{CN} - 10$ inches) converted to metric.
$I_a$ accounts for water intercepted by vegetation, stored in surface depressions, and infiltrated before runoff begins. The standard $\lambda = 0.2$ is used (some recent studies suggest $\lambda = 0.05$).
| Variable | Description | Units | Typical Range |
|---|---|---|---|
| $Q$ | Direct surface runoff depth | mm | $0$ to $P$ |
| $P$ | Total rainfall depth for the event | mm | $0$ to $200+$ |
| $S$ | Potential maximum retention | mm | $0$ to $\infty$ |
| $I_a$ | Initial abstraction | mm | $0$ to $0.2S$ |
| $CN$ | Curve Number (any of 5 products) | — | $30$ to $100$ |
| $\lambda$ | Initial abstraction ratio | — | $0.2$ (standard) |
The runoff ratio indicates the fraction of rainfall that becomes surface runoff. Higher values mean less infiltration and higher flood risk.
| CN | $S$ (mm) | $I_a$ (mm) | $Q$ at $P=50$ mm | Runoff Ratio | Interpretation |
|---|---|---|---|---|---|
| 40 | 381 | 76.2 | 0.0 mm | 0% | High infiltration, no runoff at P=50 |
| 60 | 169 | 33.9 | 1.3 mm | 2.6% | Low runoff |
| 75 | 84.7 | 16.9 | 8.1 mm | 16.2% | Moderate runoff |
| 85 | 44.8 | 9.0 | 18.9 mm | 37.8% | Significant runoff |
| 95 | 13.4 | 2.7 | 35.3 mm | 70.6% | Very high runoff (urban) |
The app integrates NASA GPM IMERG V07 (Global Precipitation Measurement) for real satellite rainfall data:
| Variable | Description | Units |
|---|---|---|
| $R_{\text{half-hourly}}$ | GPM IMERG half-hourly precipitation rate | mm/hr |
| $\overline{R}$ | Mean half-hourly rate over 24 hours (48 timesteps) | mm/hr |
| $P_{\text{daily}}$ | Total daily rainfall accumulation | mm/day |
NASA/GPM_L3/IMERG_V07. The daily rainfall is then fed into Eq. 11 to compute spatially distributed runoff.The Flood Risk Index combines runoff potential, terrain susceptibility, and population exposure into a normalized composite score:
| Component | Weight | Logic | Data Source |
|---|---|---|---|
| $\hat{CN}$ | 40% | Higher CN → more runoff → higher risk | SCS-CN (this app) |
| $\hat{S}_{\text{inv}}$ | 30% | Flatter terrain → water accumulates → higher risk | USGS SRTM 30 m |
| $\hat{P}_{\text{pop}}$ | 30% | More people → more exposure → higher risk | WorldPop 2020 |
Where $N$ is the number of pixels within the Area of Interest, computed at 5 km resolution with bestEffort: true to avoid timeouts for large areas.
Clicking on the map samples 13 bands at a single point at 250 m resolution:
| # | Band | Description | Units |
|---|---|---|---|
| 1 | CN_average | CN for ARC II | — |
| 2 | CN_dry | CN for ARC I | — |
| 3 | CN_wet | CN for ARC III | — |
| 4 | CN_slope_adjusted | Sharpley-Williams corrected | — |
| 5 | CN_seasonal | NDVI-adjusted | — |
| 6 | HSG | Hydrologic Soil Group (1–4) | A/B/C/D |
| 7 | slope | Terrain slope | degrees |
| 8 | elev | Elevation | meters |
| 9 | NDVI | Vegetation index | — |
| 10 | flood_risk | Composite FRI | 0–1 |
| 11 | clay | Clay fraction | % |
| 12 | sand | Sand fraction | % |
| 13 | LC | Land cover class | WorldCover code |