Generated by python -m docs.validate_two_path. The provided 1 m contour survey
against free ~30 m SRTM terrarium tiles, over the same sheet (81.2814-81.3126 E, 21.2398-21.2636 N).
Rainfall is the documented climatology on both paths, so every difference below
is terrain. The map path is run exactly as a user drawing the sheet's rectangle
would run it: buffered by 25%, smoothing sigma 8 m, zoom 13.
| 1 m contour survey | 30 m SRTM (map path) | Δ | |
|---|---|---|---|
| Elevation range over the sheet | 267–298 m | 266–298 m | -1 / +0 m |
| DEM agreement (at survey cells) | — | RMSE 0.26 m, bias -0.06 m | r = 0.999 |
| Recommended pond location | 21.24392 N, 81.29000 E | 21.24368 N, 81.28613 E | 402 m apart |
| Recommended catchment area | 66.3 ha | 87.0 ha | +31% |
| Best-matching catchment (IoU with the survey's) | — | site #2, 86.7 ha | IoU 0.53 |
| Annual runoff volume, recommended site | 127,040 m³ | 166,610 m³ | +31% |
| Grid | 3.7 m, 638,472 cells | 17.8 m, 60,606 cells (incl. buffer) | 11× fewer |
| Runtime, with the ensemble | 10.0 s | 0.49 s | 21× faster |
Smoothing sigma and tile zoom, each against the survey. The default is chosen from this table, not assumed.
| sigma | zoom | grid | DEM RMSE | top site Δ | top area | best IoU | ensemble (mean ± sd, confidence) | time |
|---|---|---|---|---|---|---|---|---|
| 0 m | z13 | 17.8 m | 0.26 m | 378 m | 85.6 ha | 0.54 (#1) | 61 ± 36 ha, low | 0.49 s |
| 8 m | z13 | 17.8 m | 0.26 m | 402 m | 87.0 ha | 0.53 (#2) | 80 ± 11 ha, medium | 0.49 s |
| 15 m | z13 | 17.8 m | 0.40 m | 176 m | 87.0 ha | 0.54 (#1) | 399 ± 41 ha, medium | 0.47 s |
| 25 m | z13 | 17.8 m | 0.73 m | 401 m | 95.3 ha | 0.59 (#4) | 99 ± 21 ha, medium | 0.49 s |
| 8 m | z12 | 35.6 m | 0.86 m | 1746 m | 129.9 ha | 0.53 (#4) | 131 ± 1 ha, high | 0.13 s |
The two DEMs agree to 0.26 m RMSE. That is far closer than SRTM's published vertical accuracy (several metres) against real ground, so the provided contour sheet was almost certainly drawn from an SRTM-class DEM itself. This table therefore validates the data path: tile decoding, reprojection, resampling, the buffer and the routing on a coarser grid. It does not measure SRTM against a field survey, and nothing in this repository can. The honest reading is that the map path reproduces what the contour path would say about the same heights, and inherits whatever error the heights carry.
Where the answers differ, resolution is why, not heights. Same heights, a 17.8 m grid instead of 3.1 m: channels move by a cell or two, which is enough to move a confluence and so re-split which cells drain to which outlet. That is what the IoU measures, and it is why the map path's warnings say its catchments are approximate.
z12 is rejected. At 35.6 m the grid is coarser than the source; the recommended site moves 1.7 km to a different valley. z13 is the default.
| rank | location | area |
|---|---|---|
| 1 | 21.24392 N, 81.29000 E | 66.3 ha |
| 2 | 21.25109 N, 81.30349 E | 56.5 ha |
| 3 | 21.25162 N, 81.30144 E | 24.9 ha |
| 4 | 21.24832 N, 81.28880 E | 17.5 ha |
| 5 | 21.24743 N, 81.29239 E | 11.5 ha |
| rank | location | area | confidence |
|---|---|---|---|
| 1 | 21.24368 N, 81.28613 E | 87.0 ha | medium |
| 2 | 21.24529 N, 81.29128 E | 86.7 ha | low |
| 3 | 21.25770 N, 81.28390 E | 63.8 ha | high |
| 4 | 21.24094 N, 81.31068 E | 52.1 ha | high |
| 5 | 21.24835 N, 81.28871 E | 40.7 ha | medium |