Spaces:
Running on Zero
Running on Zero
Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes. Β See raw diff
- .env +3 -0
- .gitattributes +101 -0
- CLAUDE.md +31 -0
- README.md +519 -10
- datasets/ADES/ADES_data_fetching.py +158 -0
- datasets/ADES/groundwater_levels_watershed.csv +3 -0
- datasets/ADES/groundwater_stations.csv +114 -0
- datasets/ADES/stations_metadata.csv +0 -0
- datasets/IDPR_values.csv +28 -0
- datasets/README.md +320 -0
- datasets/Risle_Eure_watershed/Risle_Eure_Watershed.cpg +1 -0
- datasets/Risle_Eure_watershed/Risle_Eure_Watershed.dbf +0 -0
- datasets/Risle_Eure_watershed/Risle_Eure_Watershed.gpkg +3 -0
- datasets/Risle_Eure_watershed/Risle_Eure_Watershed.prj +1 -0
- datasets/Risle_Eure_watershed/Risle_Eure_Watershed.shp +0 -0
- datasets/Risle_Eure_watershed/Risle_Eure_Watershed.shx +0 -0
- datasets/River Images/Carte-de-la_Seine-390x305.png +3 -0
- datasets/River Images/Eure_(rivière).png +3 -0
- datasets/River Images/Risle.png +3 -0
- datasets/Watershed_Eure/Watershed_Eure.cpg +1 -0
- datasets/Watershed_Eure/Watershed_Eure.dbf +0 -0
- datasets/Watershed_Eure/Watershed_Eure.prj +1 -0
- datasets/Watershed_Eure/Watershed_Eure.qmd +27 -0
- datasets/Watershed_Eure/Watershed_Eure.shp +0 -0
- datasets/Watershed_Eure/Watershed_Eure.shx +0 -0
- datasets/Watershed_risle/Watershed_Risle.cpg +1 -0
- datasets/Watershed_risle/Watershed_Risle.dbf +0 -0
- datasets/Watershed_risle/Watershed_Risle.prj +1 -0
- datasets/Watershed_risle/Watershed_Risle.qmd +44 -0
- datasets/Watershed_risle/Watershed_Risle.shp +0 -0
- datasets/Watershed_risle/Watershed_Risle.shx +0 -0
- datasets/bdtopo_hydro/bassin_versant_topographique.geojson +0 -0
- datasets/bdtopo_hydro/surface_hydrographique.geojson +3 -0
- datasets/bdtopo_hydro/troncon_hydrographique.geojson +3 -0
- datasets/catchment_area.csv +28 -0
- datasets/centerlines/eure_centerline.csv +121 -0
- datasets/centerlines/risle_centerline.csv +0 -0
- datasets/hydrometric/discharge_observations.csv +3 -0
- datasets/hydrometric/discharge_observations.json +3 -0
- datasets/hydrometric/download_log.txt +105 -0
- datasets/hydrometric/download_pid.txt +1 -0
- datasets/hydrometric/download_summary.json +14 -0
- datasets/hydrometric/waterlevel_observations.csv +3 -0
- datasets/hydrometric/waterlevel_observations.json +3 -0
- datasets/reach_graph/eure_edges.csv +0 -0
- datasets/reach_graph/eure_nodes.csv +0 -0
- datasets/reach_graph/risle_edges.csv +0 -0
- datasets/reach_graph/risle_nodes.csv +0 -0
- datasets/safran/download_log.txt +0 -0
- datasets/safran/download_pid.txt +1 -0
.env
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
CDS_API_KEY="be996a06-0af8-4b7e-bb36-f2ce09efd774"
|
| 2 |
+
# url: https://cds.climate.copernicus.eu/api
|
| 3 |
+
# key: be996a06-0af8-4b7e-bb36-f2ce09efd774
|
.gitattributes
CHANGED
|
@@ -33,3 +33,104 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
datasets/ADES/groundwater_levels_watershed.csv filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
datasets/Risle_Eure_watershed/Risle_Eure_Watershed.gpkg filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
datasets/River[[:space:]]Images/Carte-de-la_Seine-390x305.png filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
datasets/River[[:space:]]Images/Eure_(rivière).png filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
datasets/River[[:space:]]Images/Risle.png filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
datasets/bdtopo_hydro/surface_hydrographique.geojson filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
datasets/bdtopo_hydro/troncon_hydrographique.geojson filter=lfs diff=lfs merge=lfs -text
|
| 43 |
+
datasets/hydrometric/discharge_observations.csv filter=lfs diff=lfs merge=lfs -text
|
| 44 |
+
datasets/hydrometric/discharge_observations.json filter=lfs diff=lfs merge=lfs -text
|
| 45 |
+
datasets/hydrometric/waterlevel_observations.csv filter=lfs diff=lfs merge=lfs -text
|
| 46 |
+
datasets/hydrometric/waterlevel_observations.json filter=lfs diff=lfs merge=lfs -text
|
| 47 |
+
datasets/safran/era5_1960.nc filter=lfs diff=lfs merge=lfs -text
|
| 48 |
+
datasets/safran/era5_1961.nc filter=lfs diff=lfs merge=lfs -text
|
| 49 |
+
datasets/safran/era5_1962.nc filter=lfs diff=lfs merge=lfs -text
|
| 50 |
+
datasets/safran/era5_1963.nc filter=lfs diff=lfs merge=lfs -text
|
| 51 |
+
datasets/safran/era5_1964.nc filter=lfs diff=lfs merge=lfs -text
|
| 52 |
+
datasets/safran/era5_1965.nc filter=lfs diff=lfs merge=lfs -text
|
| 53 |
+
datasets/safran/era5_1966.nc filter=lfs diff=lfs merge=lfs -text
|
| 54 |
+
datasets/safran/era5_1967.nc filter=lfs diff=lfs merge=lfs -text
|
| 55 |
+
datasets/safran/era5_1968.nc filter=lfs diff=lfs merge=lfs -text
|
| 56 |
+
datasets/safran/era5_1969.nc filter=lfs diff=lfs merge=lfs -text
|
| 57 |
+
datasets/safran/era5_1970.nc filter=lfs diff=lfs merge=lfs -text
|
| 58 |
+
datasets/safran/era5_1971.nc filter=lfs diff=lfs merge=lfs -text
|
| 59 |
+
datasets/safran/era5_1972.nc filter=lfs diff=lfs merge=lfs -text
|
| 60 |
+
datasets/safran/era5_1973.nc filter=lfs diff=lfs merge=lfs -text
|
| 61 |
+
datasets/safran/era5_1974.nc filter=lfs diff=lfs merge=lfs -text
|
| 62 |
+
datasets/safran/era5_1975.nc filter=lfs diff=lfs merge=lfs -text
|
| 63 |
+
datasets/safran/era5_1976.nc filter=lfs diff=lfs merge=lfs -text
|
| 64 |
+
datasets/safran/era5_1977.nc filter=lfs diff=lfs merge=lfs -text
|
| 65 |
+
datasets/safran/era5_1978.nc filter=lfs diff=lfs merge=lfs -text
|
| 66 |
+
datasets/safran/era5_1979.nc filter=lfs diff=lfs merge=lfs -text
|
| 67 |
+
datasets/safran/era5_1980.nc filter=lfs diff=lfs merge=lfs -text
|
| 68 |
+
datasets/safran/era5_1981.nc filter=lfs diff=lfs merge=lfs -text
|
| 69 |
+
datasets/safran/era5_1982.nc filter=lfs diff=lfs merge=lfs -text
|
| 70 |
+
datasets/safran/era5_1983.nc filter=lfs diff=lfs merge=lfs -text
|
| 71 |
+
datasets/safran/era5_1984.nc filter=lfs diff=lfs merge=lfs -text
|
| 72 |
+
datasets/safran/era5_1985.nc filter=lfs diff=lfs merge=lfs -text
|
| 73 |
+
datasets/safran/era5_1986.nc filter=lfs diff=lfs merge=lfs -text
|
| 74 |
+
datasets/safran/era5_1987.nc filter=lfs diff=lfs merge=lfs -text
|
| 75 |
+
datasets/safran/era5_1988.nc filter=lfs diff=lfs merge=lfs -text
|
| 76 |
+
datasets/safran/era5_1989.nc filter=lfs diff=lfs merge=lfs -text
|
| 77 |
+
datasets/safran/era5_1990.nc filter=lfs diff=lfs merge=lfs -text
|
| 78 |
+
datasets/safran/era5_1991.nc filter=lfs diff=lfs merge=lfs -text
|
| 79 |
+
datasets/safran/era5_1992.nc filter=lfs diff=lfs merge=lfs -text
|
| 80 |
+
datasets/safran/era5_1993.nc filter=lfs diff=lfs merge=lfs -text
|
| 81 |
+
datasets/safran/era5_1994.nc filter=lfs diff=lfs merge=lfs -text
|
| 82 |
+
datasets/safran/era5_1995.nc filter=lfs diff=lfs merge=lfs -text
|
| 83 |
+
datasets/safran/era5_1996.nc filter=lfs diff=lfs merge=lfs -text
|
| 84 |
+
datasets/safran/era5_1997.nc filter=lfs diff=lfs merge=lfs -text
|
| 85 |
+
datasets/safran/era5_1998.nc filter=lfs diff=lfs merge=lfs -text
|
| 86 |
+
datasets/safran/era5_1999.nc filter=lfs diff=lfs merge=lfs -text
|
| 87 |
+
datasets/safran/era5_2000.nc filter=lfs diff=lfs merge=lfs -text
|
| 88 |
+
datasets/safran/era5_2001.nc filter=lfs diff=lfs merge=lfs -text
|
| 89 |
+
datasets/safran/era5_2002.nc filter=lfs diff=lfs merge=lfs -text
|
| 90 |
+
datasets/safran/era5_2003.nc filter=lfs diff=lfs merge=lfs -text
|
| 91 |
+
datasets/safran/era5_2004.nc filter=lfs diff=lfs merge=lfs -text
|
| 92 |
+
datasets/safran/era5_2005.nc filter=lfs diff=lfs merge=lfs -text
|
| 93 |
+
datasets/safran/era5_2006.nc filter=lfs diff=lfs merge=lfs -text
|
| 94 |
+
datasets/safran/era5_2007.nc filter=lfs diff=lfs merge=lfs -text
|
| 95 |
+
datasets/safran/era5_2008.nc filter=lfs diff=lfs merge=lfs -text
|
| 96 |
+
datasets/safran/era5_2009.nc filter=lfs diff=lfs merge=lfs -text
|
| 97 |
+
datasets/safran/era5_2010.nc filter=lfs diff=lfs merge=lfs -text
|
| 98 |
+
datasets/safran/era5_2011.nc filter=lfs diff=lfs merge=lfs -text
|
| 99 |
+
datasets/safran/era5_2012.nc filter=lfs diff=lfs merge=lfs -text
|
| 100 |
+
datasets/safran/era5_2013.nc filter=lfs diff=lfs merge=lfs -text
|
| 101 |
+
datasets/safran/era5_2014.nc filter=lfs diff=lfs merge=lfs -text
|
| 102 |
+
datasets/safran/era5_2015.nc filter=lfs diff=lfs merge=lfs -text
|
| 103 |
+
datasets/safran/era5_2016.nc filter=lfs diff=lfs merge=lfs -text
|
| 104 |
+
datasets/safran/era5_2017.nc filter=lfs diff=lfs merge=lfs -text
|
| 105 |
+
datasets/safran/era5_2018.nc filter=lfs diff=lfs merge=lfs -text
|
| 106 |
+
datasets/safran/era5_2019.nc filter=lfs diff=lfs merge=lfs -text
|
| 107 |
+
datasets/safran/era5_2020.nc filter=lfs diff=lfs merge=lfs -text
|
| 108 |
+
datasets/safran/era5_2021.nc filter=lfs diff=lfs merge=lfs -text
|
| 109 |
+
datasets/safran/era5_2022.nc filter=lfs diff=lfs merge=lfs -text
|
| 110 |
+
datasets/safran/era5_2023.nc filter=lfs diff=lfs merge=lfs -text
|
| 111 |
+
datasets/safran/era5_2024.nc filter=lfs diff=lfs merge=lfs -text
|
| 112 |
+
datasets/safran/era5_2025.nc filter=lfs diff=lfs merge=lfs -text
|
| 113 |
+
datasets/safran/era5_2026.nc filter=lfs diff=lfs merge=lfs -text
|
| 114 |
+
docs/images/La_Eure.png filter=lfs diff=lfs merge=lfs -text
|
| 115 |
+
docs/images/La_Risle_Graph.png filter=lfs diff=lfs merge=lfs -text
|
| 116 |
+
docs/images/eure_overview.png filter=lfs diff=lfs merge=lfs -text
|
| 117 |
+
docs/images/risle_detail.png filter=lfs diff=lfs merge=lfs -text
|
| 118 |
+
docs/images/risle_full.png filter=lfs diff=lfs merge=lfs -text
|
| 119 |
+
docs/images/station_timeseries.png filter=lfs diff=lfs merge=lfs -text
|
| 120 |
+
plots/ades/groundwater_levels.png filter=lfs diff=lfs merge=lfs -text
|
| 121 |
+
plots/graph/La_Eure.png filter=lfs diff=lfs merge=lfs -text
|
| 122 |
+
plots/graph/La_Risle_Graph.png filter=lfs diff=lfs merge=lfs -text
|
| 123 |
+
plots/graph/eure_overview.png filter=lfs diff=lfs merge=lfs -text
|
| 124 |
+
plots/graph/risle_detail.png filter=lfs diff=lfs merge=lfs -text
|
| 125 |
+
plots/graph/risle_full.png filter=lfs diff=lfs merge=lfs -text
|
| 126 |
+
plots/graph/station_timeseries.png filter=lfs diff=lfs merge=lfs -text
|
| 127 |
+
plots/hydrometric/climatology_discharge.png filter=lfs diff=lfs merge=lfs -text
|
| 128 |
+
plots/hydrometric/discharge_comparison.png filter=lfs diff=lfs merge=lfs -text
|
| 129 |
+
plots/hydrometric/rating_curve.png filter=lfs diff=lfs merge=lfs -text
|
| 130 |
+
plots/hydrometric/station_deepdive.png filter=lfs diff=lfs merge=lfs -text
|
| 131 |
+
plots/hydrometric/waterlevel_comparison.png filter=lfs diff=lfs merge=lfs -text
|
| 132 |
+
plots/river_topology.mov filter=lfs diff=lfs merge=lfs -text
|
| 133 |
+
plots/safran/precipitation_cumulative.png filter=lfs diff=lfs merge=lfs -text
|
| 134 |
+
plots/safran/temperature.png filter=lfs diff=lfs merge=lfs -text
|
| 135 |
+
plots/station_elevations/elevation_bar.png filter=lfs diff=lfs merge=lfs -text
|
| 136 |
+
plots/station_elevations/station_map.png filter=lfs diff=lfs merge=lfs -text
|
CLAUDE.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### Project deliverables β instructions/project.md
|
| 2 |
+
|
| 3 |
+
### CURRENT STATUS
|
| 4 |
+
|
| 5 |
+
**Phase 1 - Data Fusion & Graph Construction: β
COMPLETE**
|
| 6 |
+
|
| 7 |
+
- β
Data downloads (Hub'Eau hydrometric, ERA5 meteorological, elevations)
|
| 8 |
+
- β
Data loaders (hydrometric.py, safran.py) - aligned with actual API structures
|
| 9 |
+
- β
Fusion pipeline (fusion_engine.py) - merges Hub'Eau + ERA5
|
| 10 |
+
- β
Graph construction (graph_from_fused.py) - PyTorch Geometric compatible
|
| 11 |
+
- β
Graph visualization (visualize.py) - 7 plot types
|
| 12 |
+
|
| 13 |
+
**Working Pipeline:**
|
| 14 |
+
```
|
| 15 |
+
Hub'Eau (53K obs) + ERA5 (10K obs) β Fusion β Graphs β Visualization β Ready for GNN
|
| 16 |
+
```
|
| 17 |
+
|
| 18 |
+
**Datasets:**
|
| 19 |
+
- Hub'Eau: 101,218 observations, 14 stations (1969-2026)
|
| 20 |
+
- ERA5: Sample data (Jan 2020), full download ready (1960-2026, 67 years)
|
| 21 |
+
- Station elevations: 27 stations from EU-DEM
|
| 22 |
+
- ADES groundwater: 113 wells, 272K measurements
|
| 23 |
+
- IDPR KARST indicators: 27 stations
|
| 24 |
+
|
| 25 |
+
**Next:** GNN model training or full ERA5 download
|
| 26 |
+
|
| 27 |
+
### INSTRUCTIONS
|
| 28 |
+
- Role: Elite ML engineer, efficient, direct, best practices
|
| 29 |
+
- Focus: Graph construction for PyTorch Geometric compatible with spatial-temporal data
|
| 30 |
+
- Datasets: Located in `datasets/`
|
| 31 |
+
- Code: All implementation in `src/`
|
README.md
CHANGED
|
@@ -1,13 +1,522 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
---
|
| 12 |
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# La Eure / La Risle Hydrometric GNN
|
| 2 |
+
|
| 3 |
+
A physics-informed graph neural network that predicts streamflow (discharge,
|
| 4 |
+
water level) at gauged and ungauged points along two Normandy rivers, La Eure
|
| 5 |
+
and La Risle, treated as two separate surface-hydrology graphs with
|
| 6 |
+
station-level covariates pulled from half a dozen independent data sources.
|
| 7 |
+
|
| 8 |
+
```mermaid
|
| 9 |
+
flowchart LR
|
| 10 |
+
hubeau["Hub'Eau<br/>discharge Β· water level<br/>catchment area"]
|
| 11 |
+
ades["ADES<br/>groundwater levels"]
|
| 12 |
+
era5["Copernicus ERA5<br/>climate reanalysis"]
|
| 13 |
+
otd["Open Topo Data<br/>station elevation"]
|
| 14 |
+
brgm["BRGM<br/>IDPR"]
|
| 15 |
+
bdtopo["IGN BD TOPO<br/>river centerline geometry"]
|
| 16 |
+
|
| 17 |
+
hubeau --> loaders
|
| 18 |
+
ades --> loaders
|
| 19 |
+
era5 --> loaders
|
| 20 |
+
otd --> loaders
|
| 21 |
+
brgm --> loaders
|
| 22 |
+
bdtopo --> loaders
|
| 23 |
+
|
| 24 |
+
loaders["src/data/loaders/"] --> nf["node_features.py<br/>one row per station<br/>inputs kept separate from targets"]
|
| 25 |
+
loaders --> bg["build_graph.py<br/>surface edges, ordered by<br/>real river course"]
|
| 26 |
+
|
| 27 |
+
nf --> pyg
|
| 28 |
+
bg --> pyg["build_pyg_graphs_per_basin"]
|
| 29 |
+
|
| 30 |
+
pyg --> eure["La Eure graph"]
|
| 31 |
+
pyg --> risle["La Risle graph"]
|
| 32 |
+
|
| 33 |
+
eure --> app["src/app.py<br/>Streamlit explorer"]
|
| 34 |
+
risle --> app
|
| 35 |
+
eure --> testsuite["test_build_graph.py<br/>validation"]
|
| 36 |
+
risle --> testsuite
|
| 37 |
+
```
|
| 38 |
+
|
| 39 |
+
---
|
| 40 |
+
|
| 41 |
+
## 1. Repository layout
|
| 42 |
+
|
| 43 |
+
```
|
| 44 |
+
PoC_v1/
|
| 45 |
+
βββ scripts/ # one-off download / extraction scripts
|
| 46 |
+
β βββ download_hubeau.py # discharge + water level, Hub'Eau API v2
|
| 47 |
+
β βββ download_elevation.py # point elevations, Open Topo Data
|
| 48 |
+
β βββ download_era5_sample.py # ERA5 sanity-check pull (Jan 2020 only)
|
| 49 |
+
β βββ download_era5_full.py # ERA5 1960β2026, split instant/accum vars
|
| 50 |
+
β βββ extract_era5.py # unzips CDS API's zipped NetCDF output
|
| 51 |
+
β βββ download_catchment_area.py # Hub'Eau referentiel/sites -> surface_bv
|
| 52 |
+
β βββ download_bdtopo_hydro.py # IGN WFS -> tronΓ§ons, surfaces, catchments
|
| 53 |
+
β βββ analyze_bdtopo_hydro.py # centerline export + karst check
|
| 54 |
+
β βββ run_bdtopo_checks.py # karst + catchment cross-check, one shot
|
| 55 |
+
β βββ cross_check_catchments.py # spatial join: station -> containing polygon
|
| 56 |
+
β
|
| 57 |
+
βββ src/
|
| 58 |
+
β βββ app.py # Streamlit river explorer (main UI)
|
| 59 |
+
β βββ generate_plots.py # batch plot generation across all loaders
|
| 60 |
+
β βββ test_build_graph.py # graph-construction test/validation suite
|
| 61 |
+
β βββ extract_river_centerline.py # digitizes a traced map image into a centerline
|
| 62 |
+
β β
|
| 63 |
+
β βββ data/
|
| 64 |
+
β β βββ loaders/
|
| 65 |
+
β β β βββ base.py # BaseDataLoader β shared load()/get_metadata()
|
| 66 |
+
β β β βββ hydrometric.py # discharge & water level (Hub'Eau)
|
| 67 |
+
β β β βββ ades.py # groundwater levels (ADES)
|
| 68 |
+
β β β βββ safran.py # ERA5 reanalysis, interpolated to stations
|
| 69 |
+
β β β βββ idpr.py # infiltration/runoff tendency (BRGM)
|
| 70 |
+
β β β βββ catchment.py # per-station catchment area (Hub'Eau)
|
| 71 |
+
β β β βββ bdtopo_hydro.py # IGN BD TOPO hydrography (GeoJSON)
|
| 72 |
+
β β β βββ shapefile.py # watershed boundary polygon
|
| 73 |
+
β β β βββ station_elevations.py # station coordinates + elevation
|
| 74 |
+
β β β
|
| 75 |
+
β β βββ river_graph.py # basin assignment, elevation ordering, edges
|
| 76 |
+
β β βββ river_line.py # straight-line interpolation between gauges
|
| 77 |
+
β β βββ river_centerline.py # real-centerline interpolation + gauge snapping
|
| 78 |
+
β β
|
| 79 |
+
β βββ graph/
|
| 80 |
+
β βββ build_graph.py # surface edges + PyTorch Geometric conversion
|
| 81 |
+
β βββ node_features.py # pulls every loader into one feature table
|
| 82 |
+
β
|
| 83 |
+
βββ datasets/ # not checked in; populated by the scripts above
|
| 84 |
+
β βββ station_list.csv # raw station roster (X, Y, names, INSEE, etc.)
|
| 85 |
+
β βββ station_elevations.csv # station_code, lat, lon, elevation_m
|
| 86 |
+
β βββ idpr.csv
|
| 87 |
+
β βββ catchment_area.csv
|
| 88 |
+
β βββ ades/
|
| 89 |
+
β βββ hydrometric/
|
| 90 |
+
β βββ safran/
|
| 91 |
+
β βββ bdtopo_hydro/
|
| 92 |
+
β βββ centerlines/
|
| 93 |
+
```
|
| 94 |
+
|
| 95 |
+
`scripts/` talks to the outside world (APIs, WFS);
|
| 96 |
+
`src/` doesn't β nothing under `src/` makes a network call, and a script
|
| 97 |
+
under `src/` that wants one is a bug. Most of `src/data/loaders/` predates
|
| 98 |
+
the graph work β general-purpose readers/plotters for each dataset, with
|
| 99 |
+
`node_features.py` stitching them together afterward rather than the other
|
| 100 |
+
way around.
|
| 101 |
+
|
| 102 |
+
---
|
| 103 |
+
|
| 104 |
+
## 2. The graph
|
| 105 |
+
|
| 106 |
+
This is the part everything else in the repo exists to feed. Two graphs, one
|
| 107 |
+
per river β `H4xxβ¦` stations feed the La Eure graph (196 km of real BD TOPO
|
| 108 |
+
course), `H6xxβ¦` feed La Risle (150 km) β built with no edge between them,
|
| 109 |
+
because there's no surface connection between the two basins to model.
|
| 110 |
+
|
| 111 |
+

|
| 112 |
+
|
| 113 |
+

|
| 114 |
+
|
| 115 |
+
### 2.1 Nodes
|
| 116 |
+
|
| 117 |
+
A node is one hydrometric station. The full feature set, as of the last
|
| 118 |
+
`test_build_graph.py` run against real data, is 16 columns wide across all 27
|
| 119 |
+
stations combined (15 per basin, once `basin_id` is dropped β see Β§2.3):
|
| 120 |
+
|
| 121 |
+
| Feature | Source | What it is |
|
| 122 |
+
|---|---|---|
|
| 123 |
+
| `latitude`, `longitude` | `station_elevations.csv` | station coordinates |
|
| 124 |
+
| `elevation_m` | Open Topo Data (`scripts/download_elevation.py`) | point elevation at the station |
|
| 125 |
+
| `idpr_value` | BRGM IDPR | infiltration-vs-runoff tendency; direct ID join, not interpolated, for this dataset |
|
| 126 |
+
| `avg_groundwater_level_m`, `avg_groundwater_depth_m` | ADES, radius-averaged | nearest-well groundwater condition |
|
| 127 |
+
| `n_nearby_wells` | ADES | how many wells contributed to the average above β worth checking before trusting the groundwater value, since some stations have zero |
|
| 128 |
+
| `climate_temp_C`, `climate_wind_speed_ms`, `climate_solar_Wm2`, `climate_precip_mm`, `climate_evap_mm`, `climate_snow_mm`, `climate_runoff_mm` | ERA5, interpolated to the station point | mean/sum over the record, by variable |
|
| 129 |
+
| `avg_groundwater_level_m__was_missing`, `avg_groundwater_depth_m__was_missing`, (and similarly for any other feature with real gaps) | auto-generated | 1 if that station had no data for the column before mean-filling, 0 otherwise |
|
| 130 |
+
|
| 131 |
+
`basin_id` is also computed but excluded from each per-basin graph's own
|
| 132 |
+
feature set, since it's constant there and would just be a zero-variance
|
| 133 |
+
column sitting in `x` for no reason.
|
| 134 |
+
|
| 135 |
+
**Targets are not features.** `target_discharge_m3s_mean/std/count` and
|
| 136 |
+
`target_waterlevel_mm_mean/std/count` exist on the enriched table but never
|
| 137 |
+
enter `x` β they're pulled out into `data.y` separately. A model that could
|
| 138 |
+
see these as inputs would be reading the answer off the label, not learning
|
| 139 |
+
anything.
|
| 140 |
+
|
| 141 |
+
**The missingness flags aren't decorative.** A station with zero nearby wells
|
| 142 |
+
gets its groundwater value silently filled with the basin mean β without the
|
| 143 |
+
flag, that looks identical to a station whose real groundwater level happens
|
| 144 |
+
to be close to average. Given how unevenly some of these datasets cover the
|
| 145 |
+
two basins (the Eure's southern reach has essentially no ADES wells within
|
| 146 |
+
range at all), pretending "filled with the mean" and "actually near the mean"
|
| 147 |
+
are the same thing would be a real information loss, not just tidiness.
|
| 148 |
+
|
| 149 |
+
### 2.2 Edges
|
| 150 |
+
|
| 151 |
+
An edge is "these two gauges are consecutive along the river," in the
|
| 152 |
+
direction water actually flows β upstream to downstream. Three attributes per
|
| 153 |
+
edge:
|
| 154 |
+
|
| 155 |
+
| Feature | Meaning |
|
| 156 |
+
|---|---|
|
| 157 |
+
| `distance_km` | along-river distance between the two stations |
|
| 158 |
+
| `elevation_drop_m` | elevation difference, upstream minus downstream (should be positive; negative would flag a real problem) |
|
| 159 |
+
| `verified_continuous` | `False` for any edge deliberately flagged via `known_losing_reaches` |
|
| 160 |
+
|
| 161 |
+
That last one exists because of a specific, real finding: two stations on La
|
| 162 |
+
Risle are named *"[amont bΓ©toire]"* and *"[aval bΓ©toire]"* in Hub'Eau's own
|
| 163 |
+
data β *bΓ©toire* being the Normandy term for a karst swallow-hole, where a
|
| 164 |
+
river can vanish underground and resurface downstream. Three consecutive
|
| 165 |
+
edges spanning that stretch (`H605641101 β H605022010 β H605641401 β
|
| 166 |
+
H605641201`) are flagged `verified_continuous=False` rather than the graph
|
| 167 |
+
silently assuming water flows continuously through a reach that might not
|
| 168 |
+
carry it at the surface at all. An edge existing in this graph means "these
|
| 169 |
+
stations are sequential along the mapped course," not "surface flow between
|
| 170 |
+
them is guaranteed."
|
| 171 |
+
|
| 172 |
+
Ordering within a basin comes from the station's position along the real
|
| 173 |
+
digitized river course where one's available (both basins now have real BD
|
| 174 |
+
TOPO-derived centerlines β see Β§3.8), falling back to elevation or latitude
|
| 175 |
+
otherwise. Every edge is built between *consecutive* stations in that order,
|
| 176 |
+
which means each basin is currently a single chain, not a branching network.
|
| 177 |
+
Tributaries aren't represented. That's the single biggest structural
|
| 178 |
+
simplification in the graph as it stands β see Β§6.
|
| 179 |
+
|
| 180 |
+

|
| 181 |
+
|
| 182 |
+
### 2.3 Two graphs, not one
|
| 183 |
+
|
| 184 |
+
`build_pyg_graphs_per_basin()` returns `{0: eure_graph, 1: risle_graph}`,
|
| 185 |
+
each with its own local `0..n-1` node indexing, rather than one merged `Data`
|
| 186 |
+
object with two disconnected components. La Eure and La Risle are distinct
|
| 187 |
+
hydrographic systems with nothing connecting them at the surface, and
|
| 188 |
+
PyTorch Geometric's own batching (`Batch.from_data_list`) expects a list of
|
| 189 |
+
separate small graphs β building two graphs from the start matches that
|
| 190 |
+
convention directly.
|
| 191 |
+
|
| 192 |
+
### 2.4 What actually goes into `x`
|
| 193 |
+
|
| 194 |
+
`build_pyg_graph()` auto-detects feature columns from whatever table it's
|
| 195 |
+
given, so it works whether that's the plain 4-column base table or the fully
|
| 196 |
+
enriched one. Every column gets z-scored (mean 0, unit variance β verified in
|
| 197 |
+
`test_build_graph.py`, including a check that this used the same `ddof=1`
|
| 198 |
+
convention as the pandas `.std()` call that actually does the standardizing,
|
| 199 |
+
since numpy's default `ddof=0` gives a spuriously "wrong-looking" answer for
|
| 200 |
+
small station counts that isn't actually a bug). Missingness flags, described
|
| 201 |
+
above, get appended after standardization so they stay honest 0/1 values
|
| 202 |
+
rather than being z-scored into something less interpretable.
|
| 203 |
+
|
| 204 |
+
### 2.5 What it looks like
|
| 205 |
+
|
| 206 |
+
The Streamlit explorer (`src/app.py`) renders both graphs directly β real
|
| 207 |
+
course geometry, gauges colored by elevation, ADES wells layered underneath
|
| 208 |
+
for context. Clicking anywhere on the line resolves to the nearest gauge and
|
| 209 |
+
pulls up its actual discharge/water-level/rating-curve plots:
|
| 210 |
+
|
| 211 |
+

|
| 212 |
+
|
| 213 |
+
---
|
| 214 |
+
|
| 215 |
+
## 3. Datasets
|
| 216 |
+
|
| 217 |
+
Every dataset here has its own quirks, and in a couple of cases the quirks
|
| 218 |
+
materially affect what the data means.
|
| 219 |
+
|
| 220 |
+
### 3.1 Station roster (`station_list.csv`, `station_elevations.csv`)
|
| 221 |
+
|
| 222 |
+
27 stations across the two basins, split roughly by Hub'Eau code prefix
|
| 223 |
+
(`H4xxβ¦` for La Eure, `H6xxβ¦` for La Risle β this is a heuristic based on
|
| 224 |
+
observed codes, not a documented rule, so it's worth re-checking if new
|
| 225 |
+
stations show up outside that pattern). Elevation comes from Open Topo Data's
|
| 226 |
+
`eudem25m` endpoint (`scripts/download_elevation.py`), queried per station
|
| 227 |
+
coordinate β it's a point lookup, not a raster, so there's no slope or
|
| 228 |
+
catchment information hiding in it.
|
| 229 |
+
|
| 230 |
+
The row order in `station_list.csv` does **not** follow the river's course β
|
| 231 |
+
verified directly, it jumps around in both latitude and elevation. Anything
|
| 232 |
+
that needs upstream/downstream ordering has to derive it from elevation,
|
| 233 |
+
latitude, or real centerline position; never from file order.
|
| 234 |
+
|
| 235 |
+
Not every station in this list is actively gauged. Cross-referencing station
|
| 236 |
+
names against the hydrometric data turned up three categories worth knowing
|
| 237 |
+
about:
|
| 238 |
+
|
| 239 |
+
- **Manual "observateur" stations** β read by a person, not telemetered, so
|
| 240 |
+
there's no digital time series to have. Four of these in the current roster.
|
| 241 |
+
- **Partner-network ("SEBV") stations** β operated outside the standard Hub'Eau
|
| 242 |
+
telemetry network, likely need a different data source entirely if you want
|
| 243 |
+
their readings. `H431021010` is one of these.
|
| 244 |
+
- Everything else with no data is unexplained from the name alone and worth a
|
| 245 |
+
direct check on Hub'Eau's site before assuming it's just a gap.
|
| 246 |
+
|
| 247 |
+
In total, **14 of the 27 stations have no discharge or water-level records at
|
| 248 |
+
all** in the current Hub'Eau export. That's not a bug in the loader β it's
|
| 249 |
+
confirmed against the raw files, not just the merged table.
|
| 250 |
+
|
| 251 |
+
### 3.2 Hydrometric data (`hydrometric/`, via `scripts/download_hubeau.py`)
|
| 252 |
+
|
| 253 |
+
Discharge and water level from Hub'Eau's `obs_elab` endpoint. One thing that
|
| 254 |
+
trips up a naive read: **both files contain a mix of `grandeur_hydro_elab`
|
| 255 |
+
codes**, not just the variable implied by the filename. `discharge_observations.csv`
|
| 256 |
+
has `HIXnJ`/`HIXM` (water-level codes) sitting right alongside `QmnJ`
|
| 257 |
+
(discharge) rows for the same stations β `HydrometricLoader` filters each file
|
| 258 |
+
down to its intended `grandeur` code explicitly (`QmnJ` from the discharge
|
| 259 |
+
file, `HIXnJ` from the water-level file) rather than trusting the filename.
|
| 260 |
+
|
| 261 |
+
Only 8 of the 27 stations have any `QmnJ` (daily mean discharge) rows at all.
|
| 262 |
+
Several others report water level only. This isn't evenly distributed and
|
| 263 |
+
matters a lot for anything downstream that assumes "gauged" means "has both
|
| 264 |
+
variables" β it usually doesn't.
|
| 265 |
+
|
| 266 |
+
### 3.3 Groundwater (`ades/`)
|
| 267 |
+
|
| 268 |
+
ADES piezometer data: 113 wells in the watershed extract, 102 of them with
|
| 269 |
+
actual level readings, going back as far as 1967 for some wells and to
|
| 270 |
+
2026-07-05 for the most recent reading at time of writing. `ADESLoader.load()`
|
| 271 |
+
merges the levels file against the stations file on `code_bss` and renames
|
| 272 |
+
`x`/`y` to `lon`/`lat` β those columns are already in degrees in this dataset,
|
| 273 |
+
not a projected CRS, so no reprojection happens or is needed.
|
| 274 |
+
|
| 275 |
+
Groundwater is used as a **station-level input covariate** (radius-averaged via
|
| 276 |
+
`aggregate_to_stations`), not as a graph edge. Well proximity alone isn't
|
| 277 |
+
sufficient grounds for a subsurface/karst connectivity edge between the two
|
| 278 |
+
basins β two wells being close together doesn't mean they're hydraulically
|
| 279 |
+
connected. That would need either correlated well hydrographs over time or a
|
| 280 |
+
shared BDLISA aquifer-unit code (the `groundwater_stations.csv` file has a
|
| 281 |
+
`codes_bdlisa` column available for exactly this kind of check).
|
| 282 |
+
|
| 283 |
+
Well coverage is not uniform across the two basins. The Eure's southern reach
|
| 284 |
+
(south of roughly 48.68Β°N, toward Chartres) has essentially zero wells within
|
| 285 |
+
range in this extract β any groundwater estimate south of there will come back
|
| 286 |
+
empty, and that's a property of the source data, not a bug in the interpolation.
|
| 287 |
+
|
| 288 |
+
### 3.4 Climate (`safran/`, via `download_era5_sample.py` / `download_era5_full.py`)
|
| 289 |
+
|
| 290 |
+
Despite the `safran` naming throughout this codebase (a holdover from an
|
| 291 |
+
earlier plan to use MΓ©tΓ©o-France's SAFRAN reanalysis), the actual data is ERA5
|
| 292 |
+
from Copernicus's Climate Data Store, pulled via `cdsapi`. ERA5 splits
|
| 293 |
+
instantaneous variables (temperature, wind) from accumulated ones
|
| 294 |
+
(precipitation, evaporation, radiation, snowfall, runoff) at the API level β
|
| 295 |
+
`download_era5_full.py` downloads each set separately per year and merges them,
|
| 296 |
+
because the CDS API rejects mixed requests. The full pull spans 1960β2026 and
|
| 297 |
+
is genuinely slow (a `time.sleep` and per-year retry loop is in there for a
|
| 298 |
+
reason).
|
| 299 |
+
|
| 300 |
+
`SAFRANLoader` interpolates the ERA5 grid to each station's coordinate
|
| 301 |
+
(nearest or linear, configurable) rather than requiring stations to sit
|
| 302 |
+
exactly on a grid cell β this is standard practice for reanalysis data at
|
| 303 |
+
0.25Β° resolution, not an approximation specific to this project.
|
| 304 |
+
|
| 305 |
+
### 3.5 IDPR (`idpr.csv`)
|
| 306 |
+
|
| 307 |
+
BRGM's *Indice de DΓ©veloppement et de Persistance des RΓ©seaux* β an
|
| 308 |
+
infiltration-vs-runoff tendency index, and the closest thing this project has
|
| 309 |
+
to a real soil/drainage covariate. The actual file used here is already
|
| 310 |
+
one row per station (`station_id` matching `station_code` exactly, verified
|
| 311 |
+
1:1 against all 27 stations, no duplicates, no nulls), not a raw spatial point
|
| 312 |
+
cloud. `node_features.py` checks for this and does a direct ID join when
|
| 313 |
+
possible rather than nearest-neighbor search β nearest-neighbor is only the
|
| 314 |
+
fallback path for a generic IDPR export that doesn't come pre-matched to
|
| 315 |
+
stations.
|
| 316 |
+
|
| 317 |
+
There is no soil texture, permeability, or hydraulic conductivity dataset in
|
| 318 |
+
this project. IDPR is a tendency index, not a texture measurement β worth
|
| 319 |
+
keeping that distinction in mind if it ever gets described as "soil data" in a
|
| 320 |
+
writeup.
|
| 321 |
+
|
| 322 |
+
### 3.6 Catchment area (`catchment_area.csv`, via `scripts/download_catchment_area.py`)
|
| 323 |
+
|
| 324 |
+
Hub'Eau publishes catchment (drainage basin) area on the **site** referentiel,
|
| 325 |
+
not the station referentiel β `surface_bv` on `hydrometrie/referentiel/sites`,
|
| 326 |
+
in kmΒ². Since one site can have several stations, the download script does two
|
| 327 |
+
passes: station β `code_site`, then `code_site` β `surface_bv`, and joins them
|
| 328 |
+
back. 16 of 27 stations have a value; Hub'Eau simply doesn't publish this field
|
| 329 |
+
for every site, and the missing ones correlate with the observer/SEBV stations
|
| 330 |
+
from Β§3.1 but aren't identical to that set.
|
| 331 |
+
|
| 332 |
+
This number is **cumulative** β the total catchment area draining to that
|
| 333 |
+
point, all the way to the source. That distinction matters once you bring BD
|
| 334 |
+
TOPO into the picture (Β§3.7), because BD TOPO's catchment polygons are the
|
| 335 |
+
opposite: incremental, reach-by-reach areas. Comparing the two directly without
|
| 336 |
+
accounting for that gives area ratios that look like measurement error but
|
| 337 |
+
aren't β a spatial join between the 27 stations and the 135 BD TOPO polygons
|
| 338 |
+
gave ratios from about 0.015 near the river mouth up to 0.67 near the source,
|
| 339 |
+
which is exactly the pattern you'd expect from cumulative-vs-incremental, not
|
| 340 |
+
a data quality problem.
|
| 341 |
+
|
| 342 |
+
### 3.7 BD TOPO hydrography (`bdtopo_hydro/`, via `scripts/download_bdtopo_hydro.py`)
|
| 343 |
+
|
| 344 |
+
IGN's BD TOPO / BD TOPAGE hydrographic network, pulled from the Geoplateforme
|
| 345 |
+
WFS (`https://data.geopf.fr/wfs`) rather than downloaded as a national bulk
|
| 346 |
+
file β the download script queries a bounding box around the two basins
|
| 347 |
+
instead. Three layers, all scoped to that bbox:
|
| 348 |
+
|
| 349 |
+
- `troncon_hydrographique.geojson` β river centerline reaches. 30,045 features
|
| 350 |
+
in the current pull, which sounds like a lot for two rivers because it
|
| 351 |
+
includes every stream, ditch, and canal in the box, not just the Eure and
|
| 352 |
+
Risle.
|
| 353 |
+
- `surface_hydrographique.geojson` β hydrographic surfaces, including a
|
| 354 |
+
`Nature` attribute that's supposed to flag karst-influenced reaches. IGN
|
| 355 |
+
documents this attribute as **provisional and incomplete** β filled in with
|
| 356 |
+
a limited, sometimes-default set of values pending refinement by the water
|
| 357 |
+
agencies. A negative karst search here is not strong evidence of anything;
|
| 358 |
+
it may just mean that stretch hasn't been annotated yet.
|
| 359 |
+
- `bassin_versant_topographique.geojson` β catchment polygons, incremental
|
| 360 |
+
(see Β§3.6). 135 polygons in the current bbox.
|
| 361 |
+
|
| 362 |
+
**WFS axis order**: when a `BBOX` parameter's CRS is given via the URN form
|
| 363 |
+
(`urn:ogc:def:crs:EPSG::4326`), the OGC spec requires latitude, longitude axis
|
| 364 |
+
order β the opposite of the lon,lat order most GIS tools use by default.
|
| 365 |
+
Getting this backwards doesn't raise an error; it silently matches zero real
|
| 366 |
+
features, which looks identical to "no data in this area." `download_bdtopo_hydro.py`
|
| 367 |
+
tries lon,lat first and automatically retries with the axes swapped if that
|
| 368 |
+
comes back empty β for this project's bounding box, lat,lon is the order that
|
| 369 |
+
returns real data.
|
| 370 |
+
|
| 371 |
+
**Z-coordinate in tronΓ§on geometry**: `troncon_hydrographique` geometries
|
| 372 |
+
carry a third coordinate β real altitude at every vertex β not just lon/lat.
|
| 373 |
+
Code handling this data needs to account for 3D coordinates explicitly (e.g.
|
| 374 |
+
slicing to the first two values before building a 2-column DataFrame from
|
| 375 |
+
`geometry.coords`). This altitude data doubles as a genuinely useful
|
| 376 |
+
fine-grained elevation profile along the river, denser than anything
|
| 377 |
+
derivable from the 27 gauge points alone (`BDTopoHydroLoader.get_elevation_profile`).
|
| 378 |
+
|
| 379 |
+
**The bΓ©toire finding**: two stations in the roster are explicitly named
|
| 380 |
+
*"[amont bΓ©toire]"* and *"[aval bΓ©toire]"* in Hub'Eau's own site names β
|
| 381 |
+
*bΓ©toire* being the Normandy dialect term for a karst swallow-hole. That's
|
| 382 |
+
independent, deliberate naming from the data provider, not a guess. It's the
|
| 383 |
+
strongest evidence in this project for a real losing reach on La Risle around
|
| 384 |
+
Grosley-sur-Risle/Ajou (`H605641101` β `H605641201`), even though the BD TOPO
|
| 385 |
+
karst layer doesn't currently confirm it (see the provisional-attribute note
|
| 386 |
+
above). `build_surface_edges`'s `known_losing_reaches` parameter exists
|
| 387 |
+
specifically for this β the current recommendation is to flag all three edges
|
| 388 |
+
spanning that stretch as `verified_continuous=False`, not just guess at one.
|
| 389 |
+
|
| 390 |
+
Also worth knowing: filtering the 30,045 tronΓ§ons down to a named river and
|
| 391 |
+
building a graph from their endpoints does **not** give one connected line.
|
| 392 |
+
For "Risle," 1,195 name-matched tronΓ§ons split into 132 disconnected
|
| 393 |
+
components; the extraction keeps only the largest. That's a real topology gap
|
| 394 |
+
in the source data (tile boundaries, tributaries sharing a base name without
|
| 395 |
+
literally connecting), not a bug in the graph-walking code.
|
| 396 |
+
|
| 397 |
+
### 3.8 Centerline generation
|
| 398 |
+
|
| 399 |
+
`centerlines/eure_centerline.csv` and `centerlines/risle_centerline.csv` β the
|
| 400 |
+
geometry `build_surface_edges` orders stations against β are generated by
|
| 401 |
+
`scripts/analyze_bdtopo_hydro.py --export-centerline`. It filters
|
| 402 |
+
`troncon_hydrographique.geojson` (Β§3.7) down to the named river, builds a
|
| 403 |
+
graph from the tronΓ§on endpoints, and walks the longest path through it via
|
| 404 |
+
double-BFS shortest-path to get one continuous, correctly-ordered sequence of
|
| 405 |
+
real coordinates. This is the accurate method: real BD TOPO vector geometry
|
| 406 |
+
snaps stations to within 0.05 km on average.
|
| 407 |
+
|
| 408 |
+
`scripts/extract_river_centerline.py` is a separate, standalone technique for
|
| 409 |
+
deriving a centerline directly from a traced map image, for a river or region
|
| 410 |
+
without BD TOPO coverage: color-threshold the image to isolate a traced route,
|
| 411 |
+
skeletonize it, walk the end-to-end path the same double-BFS way, then
|
| 412 |
+
georeference by fitting a least-squares affine transform from a handful of
|
| 413 |
+
manually-read reference-point pixel positions to their known coordinates.
|
| 414 |
+
This produces a reliable *shape*, but the **absolute position** is only as
|
| 415 |
+
good as the georeferencing step β residuals at the reference points run to a
|
| 416 |
+
few kilometers with a handful of manually-read points, giving roughly a 0.88
|
| 417 |
+
km average snap distance rather than 0.05 km. It's the fallback when a real
|
| 418 |
+
vector source isn't available, not the method used for the current
|
| 419 |
+
`centerlines/` files.
|
| 420 |
+
|
| 421 |
---
|
| 422 |
+
|
| 423 |
+
## 4. Applications
|
| 424 |
+
|
| 425 |
+
Click-to-explore UI over the river network (`src/app.py`, Streamlit): pick a
|
| 426 |
+
river, click (or slide) along its course, see interpolated elevation,
|
| 427 |
+
estimated groundwater level, and β for whichever real gauge is nearest that
|
| 428 |
+
point β water level, discharge, and rating-curve plots pulled directly from
|
| 429 |
+
`HydrometricLoader`'s own plotting methods rather than reimplemented.
|
| 430 |
+
|
| 431 |
+
Click support uses Streamlit's native chart-selection
|
| 432 |
+
(`st.plotly_chart(..., on_select="rerun")`, requires `plotly` alongside
|
| 433 |
+
`streamlit`), not a third-party click-handling package. The click handler and
|
| 434 |
+
the position slider share a single source of truth by design: Streamlit only
|
| 435 |
+
honors a slider's `value=` argument the first time that widget is created, and
|
| 436 |
+
on every later rerun returns whatever's stored under that widget's own
|
| 437 |
+
session-state key β so the click handler writes directly into the slider's
|
| 438 |
+
own key before it's instantiated, rather than a separate key, keeping the two
|
| 439 |
+
controls in sync. It also de-duplicates incoming click events, since
|
| 440 |
+
Streamlit's chart-selection state persists across reruns caused by *other*
|
| 441 |
+
widgets and would otherwise re-fire on every unrelated interaction, not just
|
| 442 |
+
the click that caused it.
|
| 443 |
+
|
| 444 |
---
|
| 445 |
|
| 446 |
+
## 5. Testing (`src/test_build_graph.py`)
|
| 447 |
+
|
| 448 |
+
Not a unit test suite in the pytest sense β a single script that runs the full
|
| 449 |
+
`node_features β build_surface_edges β build_pyg_graph(s)` pipeline against
|
| 450 |
+
real data under `--data-root` and checks the result is actually sane: no
|
| 451 |
+
NaN/Inf in the feature tensor, no accidental cross-basin edges, targets
|
| 452 |
+
genuinely excluded from the model input, edge indices within bounds,
|
| 453 |
+
bidirectional edge count exactly double the directed count, per-basin node
|
| 454 |
+
counts summing to the combined total, standardized features actually landing
|
| 455 |
+
near zero mean / unit variance, and the `known_losing_reaches` flag actually
|
| 456 |
+
taking effect on the edge it's supposed to.
|
| 457 |
+
|
| 458 |
+
It also prints mean/max `snap_distance_km` per basin against whatever
|
| 459 |
+
centerline is currently in `centerlines/` β this is the number that would
|
| 460 |
+
catch "one basin got a real BD TOPO centerline and the other is still on the
|
| 461 |
+
old digitized approximation" without anyone having to notice by eye. As of the
|
| 462 |
+
last run, that threshold is deliberately loose (2 km) so it won't hard-fail on
|
| 463 |
+
a legitimately-imperfect-but-usable centerline; it's a reported number to
|
| 464 |
+
watch, not yet an enforced standard. Worth tightening once both basins are on
|
| 465 |
+
real geometry.
|
| 466 |
+
|
| 467 |
+
Exits 0 on a clean pass, 1 otherwise, so it's usable as a pre-commit or CI
|
| 468 |
+
gate if that's ever set up.
|
| 469 |
+
|
| 470 |
+
---
|
| 471 |
+
|
| 472 |
+
## 6. Known limitations and open questions
|
| 473 |
+
|
| 474 |
+
- **Each basin is modeled as a single chain, not a branching network.** Tributaries
|
| 475 |
+
aren't represented. Fixing this means pulling BD TOPO's confluence-node
|
| 476 |
+
layer and reworking `build_surface_edges`'s core assumption, not a small
|
| 477 |
+
patch.
|
| 478 |
+
- **The karst losing-reach flag is based on naming evidence, not a confirmed
|
| 479 |
+
BD TOPO classification.** The provisional state of the `Nature` attribute
|
| 480 |
+
means this may firm up (or not) as IGN's data matures β it's not something
|
| 481 |
+
this project can resolve unilaterally.
|
| 482 |
+
- **Catchment area exists in two incompatible forms** (Hub'Eau cumulative vs.
|
| 483 |
+
BD TOPO incremental) and nothing currently derives a true independent
|
| 484 |
+
cumulative catchment from BD TOPO alone by summing incremental polygons
|
| 485 |
+
upstream of each gauge. Doable, not done.
|
| 486 |
+
- **13 of 27 stations have some hydrometric data; 8 have discharge
|
| 487 |
+
specifically.** Any model trained on discharge as a target has a real,
|
| 488 |
+
uneven gauge-density problem to contend with, not just a "some nodes are
|
| 489 |
+
unlabeled" abstraction.
|
| 490 |
+
- **No true soil or permeability dataset.** IDPR is a tendency index, useful
|
| 491 |
+
but not a substitute.
|
| 492 |
+
- **The groundwater-well BDLISA aquifer-unit field is unused.** If a
|
| 493 |
+
subsurface connectivity edge is ever justified with real evidence rather
|
| 494 |
+
than proximity, this is the first place to look.
|
| 495 |
+
|
| 496 |
+
---
|
| 497 |
+
|
| 498 |
+
## 7. Running things
|
| 499 |
+
|
| 500 |
+
Data acquisition (from repo root, in roughly dependency order):
|
| 501 |
+
|
| 502 |
+
```bash
|
| 503 |
+
python -m scripts.download_hubeau
|
| 504 |
+
python -m scripts.download_elevation
|
| 505 |
+
python -m scripts.download_era5_full # slow; download_era5_sample.py first if just testing
|
| 506 |
+
python -m scripts.extract_era5
|
| 507 |
+
python -m scripts.download_catchment_area
|
| 508 |
+
python -m scripts.download_bdtopo_hydro --check # verify typeNames before the real pull
|
| 509 |
+
python -m scripts.download_bdtopo_hydro
|
| 510 |
+
```
|
| 511 |
+
|
| 512 |
+
Validate the graph pipeline against whatever's actually in `datasets/`:
|
| 513 |
+
|
| 514 |
+
```bash
|
| 515 |
+
python -m src.test_build_graph --data-root datasets
|
| 516 |
+
```
|
| 517 |
+
|
| 518 |
+
Run the explorer:
|
| 519 |
+
|
| 520 |
+
```bash
|
| 521 |
+
streamlit run src/app.py -- --data-root datasets
|
| 522 |
+
```
|
datasets/ADES/ADES_data_fetching.py
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import requests
|
| 2 |
+
import pandas as pd
|
| 3 |
+
import geopandas as gpd
|
| 4 |
+
from shapely.geometry import Point
|
| 5 |
+
from tqdm import tqdm
|
| 6 |
+
|
| 7 |
+
# Departments intersecting the study area
|
| 8 |
+
departments = ["27", "61", "76"]
|
| 9 |
+
|
| 10 |
+
url = "https://hubeau.eaufrance.fr/api/v1/niveaux_nappes/stations"
|
| 11 |
+
|
| 12 |
+
stations = []
|
| 13 |
+
|
| 14 |
+
for dep in departments:
|
| 15 |
+
|
| 16 |
+
params = {
|
| 17 |
+
"code_departement": dep,
|
| 18 |
+
"size": 20000,
|
| 19 |
+
"format": "json"
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
+
r = requests.get(url, params=params)
|
| 23 |
+
|
| 24 |
+
if r.status_code == 200:
|
| 25 |
+
stations.extend(r.json()["data"])
|
| 26 |
+
|
| 27 |
+
stations = pd.DataFrame(stations)
|
| 28 |
+
|
| 29 |
+
print(f"{len(stations)} stations downloaded.")
|
| 30 |
+
|
| 31 |
+
print(stations.columns)
|
| 32 |
+
|
| 33 |
+
stations = gpd.GeoDataFrame(
|
| 34 |
+
stations.drop(columns="geometry", errors="ignore"),
|
| 35 |
+
geometry=gpd.points_from_xy(
|
| 36 |
+
stations["x"],
|
| 37 |
+
stations["y"]
|
| 38 |
+
),
|
| 39 |
+
crs="EPSG:4326"
|
| 40 |
+
)
|
| 41 |
+
|
| 42 |
+
|
| 43 |
+
# Watershed Merging
|
| 44 |
+
|
| 45 |
+
# Read shapefiles
|
| 46 |
+
risle = gpd.read_file("data/Watershed_Risle.shp")
|
| 47 |
+
eure = gpd.read_file("data/Watershed_Eure.shp")
|
| 48 |
+
|
| 49 |
+
# Same CRS
|
| 50 |
+
eure = eure.to_crs(risle.crs)
|
| 51 |
+
|
| 52 |
+
# Combine
|
| 53 |
+
watersheds = pd.concat([risle, eure], ignore_index=True)
|
| 54 |
+
watersheds = gpd.GeoDataFrame(watersheds, crs=risle.crs)
|
| 55 |
+
|
| 56 |
+
# Create one merged geometry
|
| 57 |
+
watershed = gpd.GeoDataFrame(
|
| 58 |
+
geometry=[watersheds.unary_union],
|
| 59 |
+
crs=watersheds.crs
|
| 60 |
+
)
|
| 61 |
+
|
| 62 |
+
# Convert to station CRS
|
| 63 |
+
watershed = watershed.to_crs("EPSG:2154")
|
| 64 |
+
stations = stations.to_crs("EPSG:2154")
|
| 65 |
+
|
| 66 |
+
print(stations.total_bounds)
|
| 67 |
+
print(watershed.total_bounds)
|
| 68 |
+
|
| 69 |
+
|
| 70 |
+
|
| 71 |
+
stations_clip = gpd.clip(stations, watershed)
|
| 72 |
+
|
| 73 |
+
print(f"Total stations downloaded: {len(stations)}")
|
| 74 |
+
print(f"Stations inside Risle + Eure watersheds: {len(stations_clip)}")
|
| 75 |
+
|
| 76 |
+
watershed.to_file(
|
| 77 |
+
"output/shapefile/Risle_Eure_Watershed.gpkg",
|
| 78 |
+
driver="GPKG"
|
| 79 |
+
)
|
| 80 |
+
|
| 81 |
+
watershed.to_file(
|
| 82 |
+
"output/shapefile/Risle_Eure_Watershed.shp"
|
| 83 |
+
)
|
| 84 |
+
|
| 85 |
+
|
| 86 |
+
# Save station list
|
| 87 |
+
|
| 88 |
+
stations_clip.to_file(
|
| 89 |
+
"output/shapefile/groundwater_stations.gpkg",
|
| 90 |
+
driver="GPKG"
|
| 91 |
+
)
|
| 92 |
+
|
| 93 |
+
stations_clip.to_file(
|
| 94 |
+
"output/shapefile/groundwater_stations.shp"
|
| 95 |
+
)
|
| 96 |
+
|
| 97 |
+
stations_clip.drop(columns="geometry").to_csv(
|
| 98 |
+
"output/csv/groundwater_stations.csv",
|
| 99 |
+
index=False
|
| 100 |
+
)
|
| 101 |
+
|
| 102 |
+
# Download ground water levels
|
| 103 |
+
#levels_all = []
|
| 104 |
+
|
| 105 |
+
#for code in tqdm(stations_clip["code_bss"]):
|
| 106 |
+
#
|
| 107 |
+
# url = "https://hubeau.eaufrance.fr/api/v1/niveaux_nappes/chroniques"
|
| 108 |
+
#
|
| 109 |
+
# params = {
|
| 110 |
+
# "code_bss": code,
|
| 111 |
+
# "format": "json",
|
| 112 |
+
# "size": 20000
|
| 113 |
+
# }
|
| 114 |
+
#
|
| 115 |
+
# r = requests.get(url, params=params)
|
| 116 |
+
#
|
| 117 |
+
# if r.status_code == 200:
|
| 118 |
+
# data = r.json().get("data", [])
|
| 119 |
+
# if data:
|
| 120 |
+
# df = pd.DataFrame(data)
|
| 121 |
+
# df["code_bss"] = code
|
| 122 |
+
# levels_all.append(df)
|
| 123 |
+
|
| 124 |
+
## Combine
|
| 125 |
+
#levels_df = pd.concat(levels_all, ignore_index=True)
|
| 126 |
+
|
| 127 |
+
## Save
|
| 128 |
+
#levels_df.to_csv("output/csv/groundwater_levels_watershed.csv", index=False)
|
| 129 |
+
|
| 130 |
+
#print("Groundwater levels downloaded:", len(levels_df))
|
| 131 |
+
|
| 132 |
+
# Download groundwater quality
|
| 133 |
+
quality_all = []
|
| 134 |
+
|
| 135 |
+
for code in tqdm(stations_clip["code_bss"]):
|
| 136 |
+
|
| 137 |
+
url = "https://hubeau.eaufrance.fr/api/v1/qualite_nappes/analyses"
|
| 138 |
+
|
| 139 |
+
params = {
|
| 140 |
+
"bss_id": code,
|
| 141 |
+
"format": "json",
|
| 142 |
+
"size": 20000
|
| 143 |
+
}
|
| 144 |
+
|
| 145 |
+
r = requests.get(url, params=params)
|
| 146 |
+
|
| 147 |
+
if r.status_code == 200:
|
| 148 |
+
data = r.json().get("data", [])
|
| 149 |
+
if data:
|
| 150 |
+
df = pd.DataFrame(data)
|
| 151 |
+
df["code_bss"] = code
|
| 152 |
+
quality_all.append(df)
|
| 153 |
+
|
| 154 |
+
quality_df = pd.concat(quality_all, ignore_index=True)
|
| 155 |
+
|
| 156 |
+
quality_df.to_csv("output/csv/groundwater_quality_watershed.csv", index=False)
|
| 157 |
+
|
| 158 |
+
print("Groundwater quality records:", len(quality_df))
|
datasets/ADES/groundwater_levels_watershed.csv
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:87e2a5e7a87676bd7caa4d80ecd8c88849c2192a9444319c9ddf64d8746d891e
|
| 3 |
+
size 74555439
|
datasets/ADES/groundwater_stations.csv
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
code_bss,urn_bss,date_debut_mesure,date_fin_mesure,code_commune_insee,nom_commune,x,y,codes_bdlisa,urns_bdlisa,bss_id,altitude_station,nb_mesures_piezo,code_departement,nom_departement,libelle_pe,profondeur_investigation,codes_masse_eau_edl,noms_masse_eau_edl,urns_masse_eau_edl,date_maj
|
| 2 |
+
02532X0012/F1,http://services.ades.eaufrance.fr/pointeau/02532X0012/F1,1988-01-18,2000-01-13,61242,Le Mage,0.830353365,48.537604015,,[],BSS000TTRG,231.0,137,61,Orne,,38.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 3 |
+
02532X0007/F,http://services.ades.eaufrance.fr/pointeau/02532X0007/F,1987-01-26,1987-09-11,61230,Longny les Villages,0.807853497,48.547016865,,[],BSS000TTRB,235.0,9,61,Orne,,55.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 4 |
+
BSS002PTKW/SR1,http://services.ades.eaufrance.fr/pointeau/BSS002PTKW/SR1,2016-04-28,2026-01-05,61230,Longny les Villages,0.852492411,48.572531639,['123AC01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/123AC01.pdf'],BSS002PTKW,266.0,3538,61,Orne,,42.0,,,[],Wed Dec 11 22:13:50 CET 2024
|
| 5 |
+
02155X1040/F,http://services.ades.eaufrance.fr/pointeau/02155X1040/F,1999-03-25,2026-01-05,61429,Charencey,0.72928814,48.624381056,['123AC01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/123AC01.pdf'],BSS000RFVG,230.0,9412,61,Orne,La bourgoiserie,67.0,['GG081'],['Sables et gres du Cenomanien sarthois libres'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/GG081'],Wed Dec 04 14:26:33 CET 2024
|
| 6 |
+
02142X0005/S1,http://services.ades.eaufrance.fr/pointeau/02142X0005/S1,1974-01-31,1976-03-17,61389,Sainte-Gauburge-Sainte-Colombe,0.452987737,48.710522474,,[],BSS000RERG,250.0,21,61,Orne,,21.5,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 7 |
+
01785X0011/S1,http://services.ades.eaufrance.fr/pointeau/01785X0011/S1,1974-01-30,1975-12-23,61385,Saint-Evroult-de-Montfort,0.366094021,48.811152891,,[],BSS000MRJL,285.0,19,61,Orne,,19.35,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 8 |
+
01788X0049/PZ5,http://services.ades.eaufrance.fr/pointeau/01788X0049/PZ5,2013-11-28,2016-08-18,27502,Rugles,0.707840313,48.808532028,,[],BSS000MRQG,181.94,995,27,Eure,,15.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 9 |
+
01795X0011/S1,http://services.ades.eaufrance.fr/pointeau/01795X0011/S1,1972-11-09,2023-09-21,27069,Bois-Arnault,0.747209827,48.824862061,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000MRYC,205.0,6031,27,Eure,Puits Les Siaulles (Bois-Arnault) - 27,32.0,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Tue Sep 23 19:34:49 CEST 2025
|
| 10 |
+
01796X0020/P,http://services.ades.eaufrance.fr/pointeau/01796X0020/P,2022-07-27,2026-07-04,27054,BΓ©mΓ©court,0.813455882,48.829452768,,[],BSS000MRZZ,185.0,1439,27,Eure,,23.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 11 |
+
01791X0002/P,http://services.ades.eaufrance.fr/pointeau/01791X0002/P,2013-11-28,2016-08-18,27427,Neaufles-Auvergny,0.726099,48.874798,,[],BSS000MRRG,174.0,995,27,Eure,,30.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 12 |
+
01784X0024/P,http://services.ades.eaufrance.fr/pointeau/01784X0024/P,2013-11-28,2016-08-18,27075,Bois-Normand-près-Lyre,0.695379051,48.898940517,,[],BSS000MRHF,198.0,956,27,Eure,,37.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 13 |
+
01792X0010/P,http://services.ades.eaufrance.fr/pointeau/01792X0010/P,2013-11-28,2016-08-18,27565,Le Lesme,0.840012,48.912698,,[],BSS000MRTG,178.5,995,27,Eure,,28.85,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 14 |
+
01784X0005/S1,http://services.ades.eaufrance.fr/pointeau/01784X0005/S1,1972-11-07,1981-12-21,27068,Bois-Anzeray,0.68803551,48.92077842,,[],BSS000MRGL,198.0,92,27,Eure,,36.6,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 15 |
+
01792X0005/S1,http://services.ades.eaufrance.fr/pointeau/01792X0005/S1,1972-11-09,1984-11-29,27242,Le Fidelaire,0.83188,48.955478,,[],BSS000MRTB,168.0,133,27,Eure,,40.7,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 16 |
+
01495X0013/P,http://services.ades.eaufrance.fr/pointeau/01495X0013/P,2013-11-28,2016-08-18,27049,Mesnil-en-Ouche,0.74118,48.970609,,[],BSS000LBPP,178.0,995,27,Eure,,33.3,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 17 |
+
01495X0067/F1,http://services.ades.eaufrance.fr/pointeau/01495X0067/F1,2013-11-28,2017-07-11,27049,Mesnil-en-Ouche,0.774535905,48.973418753,,[],BSS000LBRL,129.69,1309,27,Eure,,32.27,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 18 |
+
02144X0005/S1,http://services.ades.eaufrance.fr/pointeau/02144X0005/S1,1974-01-31,2026-07-04,61456,Saint-Sulpice-sur-Risle,0.658047665,48.766362664,['123BW01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/123BW01.pdf'],BSS000REWL,230.0,10774,61,Orne,Puits du ChΓ’teau du Souchey (l'Aigle) - 61,29.8,['HG212'],['Craie du Lieuvin-Ouche - bassin versant de la Risle'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG212'],Fri Dec 06 23:13:34 CET 2024
|
| 19 |
+
01788X0012/P,http://services.ades.eaufrance.fr/pointeau/01788X0012/P,1972-11-07,1984-11-29,27359,Juignettes,0.642436631,48.855171449,,[],BSS000MRNU,218.0,125,27,Eure,,17.35,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 20 |
+
01487X0001/S1,http://services.ades.eaufrance.fr/pointeau/01487X0001/S1,1982-01-28,2026-07-03,27049,Mesnil-en-Ouche,0.585971387,48.963156874,['121AW30'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AW30.pdf'],BSS000LBFR,199.0,7845,27,Eure,Puits ChÒteau d'eau (la Roussière) - 27,29.0,['HG212'],['Craie du Lieuvin-Ouche - bassin versant de la Risle'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG212'],Mon Sep 23 20:25:44 CEST 2024
|
| 21 |
+
01486X0013/P,http://services.ades.eaufrance.fr/pointeau/01486X0013/P,1972-11-07,1976-03-08,27514,Saint-Aubin-du-Thenney,0.489017767,49.021904842,,[],BSS000LBEK,182.0,36,27,Eure,,31.74,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 22 |
+
01484X0002/P,http://services.ades.eaufrance.fr/pointeau/01484X0002/P,1972-11-07,1981-12-21,27523,Saint-Clair-d'Arcey,0.663997278,49.065071526,,[],BSS000LBAE,162.0,97,27,Eure,,63.27,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 23 |
+
01482X0009/S1,http://services.ades.eaufrance.fr/pointeau/01482X0009/S1,1972-11-07,1984-11-29,27460,Plainville,0.511204226,49.08792668,,[],BSS000LAUD,170.0,135,27,Eure,,42.1,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 24 |
+
01483X0011/S1,http://services.ades.eaufrance.fr/pointeau/01483X0011/S1,1972-11-07,1981-12-18,27056,Bernay,0.562260863,49.115443807,,[],BSS000LAWS,171.0,102,27,Eure,,40.14,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 25 |
+
01227X0022/P,http://services.ades.eaufrance.fr/pointeau/01227X0022/P,2001-04-05,2026-07-04,27079,Boissy-Lamberville,0.57749099,49.163125496,['121AW30'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AW30.pdf'],BSS000JGKA,169.0,7997,27,Eure,Puits de Boissy Lamberville (Boissy-Lamberville) - 27,19.15,['HG212'],['Craie du Lieuvin-Ouche - bassin versant de la Risle'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG212'],Tue Aug 05 20:51:33 CEST 2025
|
| 26 |
+
01227X0038/S22,http://services.ades.eaufrance.fr/pointeau/01227X0038/S22,1982-02-16,2023-09-06,27367,Lieurey,0.538445122,49.223631521,['123BW01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/123BW01.pdf'],BSS000JGKS,149.0,8138,27,Eure,Forage de Lieurey (Lieurey) - 27,101.0,['HG212'],['Craie du Lieuvin-Ouche - bassin versant de la Risle'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG212'],Tue Sep 23 19:41:29 CEST 2025
|
| 27 |
+
01786X0001/S1,http://services.ades.eaufrance.fr/pointeau/01786X0001/S1,1974-01-31,2000-01-13,61167,La FertΓ©-en-Ouche,0.448642005,48.861125488,,[],BSS000MRKF,250.0,284,61,Orne,,32.55,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 28 |
+
01482X0055/P,http://services.ades.eaufrance.fr/pointeau/01482X0055/P,2003-01-21,2026-05-19,27564,Saint-Mards-de-Fresne,0.465573501,49.077212428,['121AW01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AW01.pdf'],BSS000LAWB,182.5,8062,27,Eure,PUITS LE CHESNEY (SAINT-MARDS-DE-FRESNE) - 27,18.7,['HG212'],['Craie du Lieuvin-Ouche - bassin versant de la Risle'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG212'],Mon Dec 01 18:41:54 CET 2025
|
| 29 |
+
00985X0040/S1,http://services.ades.eaufrance.fr/pointeau/00985X0040/S1,1971-01-19,2025-04-16,27561,Saint-Maclou,0.411508411,49.360505521,['123BW01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/123BW01.pdf'],BSS000GKSW,120.0,6595,27,Eure,Puits du ChΓ’teau (Saint-Maclou) - 27,39.8,['HG212'],['Craie du Lieuvin-Ouche - bassin versant de la Risle'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG212'],Tue Sep 24 20:10:22 CEST 2024
|
| 30 |
+
00986X0069/S1,http://services.ades.eaufrance.fr/pointeau/00986X0069/S1,1971-01-26,1980-10-27,27655,Tourville-sur-Pont-Audemer,0.530532488,49.327504978,,[],BSS000GKXL,105.0,104,27,Eure,,69.35,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 31 |
+
00987X0010/S1,http://services.ades.eaufrance.fr/pointeau/00987X0010/S1,1971-01-26,1976-03-08,27385,Manneville-sur-Risle,0.554346718,49.353961325,,[],BSS000GLBC,94.0,54,27,Eure,,95.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 32 |
+
00987X0009/S1,http://services.ades.eaufrance.fr/pointeau/00987X0009/S1,1971-01-26,2026-07-02,27263,Le Perrey,0.580959003,49.380233794,['121AW01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AW01.pdf'],BSS000GLBB,112.0,10006,27,Eure,Puits ChΓ’teau du Hamel (Fourmetot) - 27,67.5,['HG212'],['Craie du Lieuvin-Ouche - bassin versant de la Risle'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG212'],Mon Sep 23 22:50:13 CEST 2024
|
| 33 |
+
02155X2001/P,http://services.ades.eaufrance.fr/pointeau/02155X2001/P,2013-03-21,2026-04-01,27155,Chennebrun,0.781516532,48.679507786,,[],BSS000RFVK,197.0,1310,27,Eure,,31.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 34 |
+
02152X0051/P,http://services.ades.eaufrance.fr/pointeau/02152X0051/P,2007-02-23,2026-07-03,27521,Saint-Christophe-sur-Avre,0.816238041,48.700275823,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000RFLV,198.0,6719,27,Eure,Puits Mairie (Saint-Christophe-sur-Avre) - 27,38.2,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Wed Sep 25 12:40:12 CEST 2024
|
| 35 |
+
02152X0002/P,http://services.ades.eaufrance.fr/pointeau/02152X0002/P,2016-05-25,2026-04-01,27521,Saint-Christophe-sur-Avre,0.816264023,48.700335028,['121AS30'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS30.pdf'],BSS000RFJU,188.0,115,27,Eure,,26.3,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Fri Jun 28 07:31:38 CEST 2024
|
| 36 |
+
02152X0031/P,http://services.ades.eaufrance.fr/pointeau/02152X0031/P,2015-07-24,2026-04-01,27610,Saint-Victor-sur-Avre,0.854449841,48.702517981,,[],BSS000RFKZ,200.0,124,27,Eure,,42.65,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 37 |
+
02151X0030/S1,http://services.ades.eaufrance.fr/pointeau/02151X0030/S1,1982-02-02,2016-08-31,27038,Les Barils,0.802934996,48.725041118,,[],BSS000RFHT,202.0,714,27,Eure,,22.6,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 38 |
+
02151X0006/P,http://services.ades.eaufrance.fr/pointeau/02151X0006/P,2013-11-06,2026-04-01,27108,Bourth,0.801471889,48.740388423,,[],BSS000RFGT,210.0,133,27,Eure,,21.9,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 39 |
+
02151X0008/P,http://services.ades.eaufrance.fr/pointeau/02151X0008/P,2013-03-21,2026-04-01,27108,Bourth,0.796843045,48.755000708,,[],BSS000RFGV,208.0,928,27,Eure,,28.87,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 40 |
+
02151X0031/MW1,http://services.ades.eaufrance.fr/pointeau/02151X0031/MW1,2013-11-06,2015-01-28,27108,Bourth,0.782124702,48.766917776,,[],BSS000RFHU,190.0,7,27,Eure,,,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 41 |
+
02151X0032/MW2,http://services.ades.eaufrance.fr/pointeau/02151X0032/MW2,2013-11-06,2015-01-28,27108,Bourth,0.78503102,48.767504137,,[],BSS000RFHV,186.0,7,27,Eure,,,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 42 |
+
02151X0033/MW3,http://services.ades.eaufrance.fr/pointeau/02151X0033/MW3,2013-11-06,2015-01-28,27108,Bourth,0.78543428,48.767662229,,[],BSS000RFHW,186.0,7,27,Eure,,,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 43 |
+
02153X0046/P,http://services.ades.eaufrance.fr/pointeau/02153X0046/P,2015-10-01,2026-04-01,27679,Verneuil d'Avre et d'Iton,0.974506593,48.736421888,,[],BSS000RFPF,163.0,124,27,Eure,,,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 44 |
+
02153X0055/PZ4,http://services.ades.eaufrance.fr/pointeau/02153X0055/PZ4,2013-09-05,2026-04-01,27036,BΓ’lines,0.970326001,48.743448699,,[],BSS000RFPQ,157.0,637,27,Eure,,50.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 45 |
+
02153X0023/S1,http://services.ades.eaufrance.fr/pointeau/02153X0023/S1,1985-04-23,2005-08-31,27036,BΓ’lines,0.967602875,48.753403654,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000RFNG,163.0,2851,27,Eure,,16.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 46 |
+
02154X0001/F,http://services.ades.eaufrance.fr/pointeau/02154X0001/F,2016-06-01,2026-04-01,27643,Tillières-sur-Avre,1.056359525,48.75807598,"['121AS01', '121AS30']","['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf', 'http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS30.pdf']",BSS000RFRF,135.0,114,27,Eure,,40.2,['HG211'],['Craie altérée du Neubourg-Iton-plaine de Saint-André'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Fri Jun 28 07:31:38 CEST 2024
|
| 47 |
+
02153X0040/F1,http://services.ades.eaufrance.fr/pointeau/02153X0040/F1,2013-11-06,2015-06-09,27457,Piseux,0.943895883,48.76939577,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000RFNZ,173.0,8,27,Eure,,55.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 48 |
+
02153X0054/P,http://services.ades.eaufrance.fr/pointeau/02153X0054/P,2013-09-05,2026-04-01,27457,Piseux,0.952677587,48.771201837,,[],BSS000RFPP,177.0,1192,27,Eure,,22.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 49 |
+
02153X0002/P,http://services.ades.eaufrance.fr/pointeau/02153X0002/P,2013-09-05,2026-04-01,27457,Piseux,0.975275315,48.773517651,['119AE05'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/119AE05.pdf'],BSS000RFMK,168.2,364,27,Eure,,19.4,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Fri Jun 28 07:31:38 CEST 2024
|
| 50 |
+
02153X0034/F,http://services.ades.eaufrance.fr/pointeau/02153X0034/F,2013-09-05,2023-04-03,27457,Piseux,0.953846447,48.773654317,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000RFNT,179.0,1171,27,Eure,,55.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 51 |
+
01797X0044/P,http://services.ades.eaufrance.fr/pointeau/01797X0044/P,2013-09-05,2026-04-01,27457,Piseux,0.953756311,48.786694835,,[],BSS000MSDG,168.0,767,27,Eure,,18.77,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 52 |
+
01797X0094/P,http://services.ades.eaufrance.fr/pointeau/01797X0094/P,2013-09-06,2026-04-01,27578,Sainte-Marie-d'Attez,0.95479,48.80363,,[],BSS000MSFJ,166.0,766,27,Eure,,12.2,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 53 |
+
01798X0036/S1,http://services.ades.eaufrance.fr/pointeau/01798X0036/S1,1972-11-09,1984-11-29,27198,Mesnils-sur-Iton,0.992426731,48.816388455,,[],BSS000MSHA,175.0,126,27,Eure,,28.15,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 54 |
+
01796X0028/S1,http://services.ades.eaufrance.fr/pointeau/01796X0028/S1,1972-11-09,1984-11-29,27054,BΓ©mΓ©court,0.873483904,48.854949487,,[],BSS000MSAH,186.0,127,27,Eure,,26.95,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 55 |
+
01792X0020/PZ2,http://services.ades.eaufrance.fr/pointeau/01792X0020/PZ2,2003-01-23,2026-07-04,27565,Le Lesme,0.872630829,48.893151651,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000MRTR,155.0,7596,27,Eure,Forage de Sainte Marguerite de l'Autel (Sainte-Marguerite-de-l'Autel) ,30.6,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Mon May 05 19:51:13 CEST 2025
|
| 56 |
+
01794X0035/S1,http://services.ades.eaufrance.fr/pointeau/01794X0035/S1,1985-04-23,2026-07-04,27436,Nogent-le-Sec,1.026343918,48.920072687,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000MRWS,159.0,11140,27,Eure,Puits Les Grands Gomberts (Nogent-le-Sec) - 27,37.2,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Mon Jun 23 20:50:31 CEST 2025
|
| 57 |
+
01498X0031/S1,http://services.ades.eaufrance.fr/pointeau/01498X0031/S1,1969-07-10,2026-07-05,27281,Gaudreville-la-Rivière,1.04392487,48.962417631,,[],BSS000LBVX,100.0,4189,27,Eure,,9.55,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 58 |
+
01498X0005/SO,http://services.ades.eaufrance.fr/pointeau/01498X0005/SO,2022-07-27,2026-07-03,27287,Glisolles,1.02592822,48.981819906,,[],BSS000LBUV,85.0,1438,27,Eure,,0.0,,,[],Fri Dec 19 18:58:10 CET 2025
|
| 59 |
+
01493X0001/P,http://services.ades.eaufrance.fr/pointeau/01493X0001/P,1968-12-10,2026-07-04,27298,Graveron-SΓ©merville,0.973304193,49.094539328,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000LBME,138.0,11231,27,Eure,Puits Ferme du ChΓ’teau (Graveron-Semerville) - 27,43.35,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Mon Sep 23 20:34:56 CEST 2024
|
| 60 |
+
01237X0004/S1,http://services.ades.eaufrance.fr/pointeau/01237X0004/S1,1971-01-27,1984-11-29,27389,Marbeuf,0.966545269,49.157680019,,[],BSS000JKJG,141.0,151,27,Eure,,71.8,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 61 |
+
01237X0012/S1,http://services.ades.eaufrance.fr/pointeau/01237X0012/S1,1971-01-27,1972-07-25,27011,Amfreville-Saint-Amand,0.931937141,49.212486229,,[],BSS000JKJQ,157.0,18,27,Eure,,52.7,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 62 |
+
01232X0006/P,http://services.ades.eaufrance.fr/pointeau/01232X0006/P,2006-03-02,2026-07-04,27320,La Haye-du-Theil,0.87606716,49.23438244,['123BW01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/123BW01.pdf'],BSS000JGQF,160.0,6814,27,Eure,Puits de la Haye du Theil (la Haye-du-Theil) - 27,50.2,['HG212'],['Craie du Lieuvin-Ouche - bassin versant de la Risle'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG212'],Thu Oct 03 21:33:02 CEST 2024
|
| 63 |
+
01495X0063/PZ1,http://services.ades.eaufrance.fr/pointeau/01495X0063/PZ1,2013-11-28,2020-02-25,27049,Mesnil-en-Ouche,0.788512047,48.986917574,,[],BSS000LBRG,130.0,2281,27,Eure,Puits de Mancelles (Ajou - 27),9.33,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 64 |
+
01495X0064/PZ2,http://services.ades.eaufrance.fr/pointeau/01495X0064/PZ2,2013-11-28,2020-02-25,27049,Mesnil-en-Ouche,0.788524354,48.986962674,,[],BSS000LBRH,130.0,2281,27,Eure,,20.6,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 65 |
+
01496X0011/S1,http://services.ades.eaufrance.fr/pointeau/01496X0011/S1,1972-11-08,1976-05-11,27162,Collandres-Quincarnon,0.846685,48.99336,,[],BSS000LBSC,158.0,40,27,Eure,,41.4,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 66 |
+
01495X0066/P,http://services.ades.eaufrance.fr/pointeau/01495X0066/P,2013-11-28,2016-08-18,27300,Grosley-sur-Risle,0.802739402,49.045486931,,[],BSS000LBRK,99.0,995,27,Eure,Puits de Grosley-sur-Risle (Grosley-sur-Risle - 27),6.3,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 67 |
+
01492X0012/S1,http://services.ades.eaufrance.fr/pointeau/01492X0012/S1,1972-11-08,2016-08-18,27466,Le Plessis-Sainte-Opportune,0.835938,49.058272,,[],BSS000LBLW,151.0,959,27,Eure,CHATEAU DE ST LEGER,33.1,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 68 |
+
01491X0016/SO,http://services.ades.eaufrance.fr/pointeau/01491X0016/SO,2014-09-04,2017-07-11,27051,Beaumont-le-Roger,0.790233623,49.061872751,,[],BSS000LBJE,98.0,701,27,Eure,,,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 69 |
+
01491X0009/S1,http://services.ades.eaufrance.fr/pointeau/01491X0009/S1,1972-11-08,2026-07-03,27290,Goupil-Othon,0.769762038,49.114406798,['121AW01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AW01.pdf'],BSS000LBHX,150.0,10617,27,Eure,Puits Ferme de la Pommeraie (Goupillières) - 27,47.4,['HG212'],['Craie du Lieuvin-Ouche - bassin versant de la Risle'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG212'],Mon Sep 23 21:07:32 CEST 2024
|
| 70 |
+
01235X0048/S1,http://services.ades.eaufrance.fr/pointeau/01235X0048/S1,1985-09-24,2002-12-09,27425,Nassandres sur Risle,0.716682371,49.157574837,['924AC01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/924AC01.pdf'],BSS000JKGZ,61.0,3123,27,Eure,,6.2,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 71 |
+
01235X0006/S1,http://services.ades.eaufrance.fr/pointeau/01235X0006/S1,1971-01-27,1973-12-11,27311,Harcourt,0.756969871,49.171448189,,[],BSS000JKFF,138.0,31,27,Eure,,53.5,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 72 |
+
01236X0008/S1,http://services.ades.eaufrance.fr/pointeau/01236X0008/S1,1971-01-26,2006-02-24,27302,Le Bosc du Theil,0.846921461,49.227245985,['121AW01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AW01.pdf'],BSS000JKHQ,147.0,2898,27,Eure,,51.1,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 73 |
+
01245X0010/S1,http://services.ades.eaufrance.fr/pointeau/01245X0010/S1,1967-10-12,2026-07-04,27412,Terres de Bord,1.089270969,49.224047153,"['080AA58', '121AZ01', '119AE07']","['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/080AA58.pdf', 'http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AZ01.pdf', 'http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/119AE07.pdf']",BSS000JNAH,136.0,11690,27,Eure,PUITS ECROSVILLE (MONTAURE) - 27,42.4,['HG220'],"[""Craie altΓ©rΓ©e de l'estuaire de la Seine hors pointe de Caux""]",['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG220'],Mon Jun 23 22:57:35 CEST 2025
|
| 74 |
+
BSS003CLUO/X,http://services.ades.eaufrance.fr/pointeau/BSS003CLUO/X,2018-11-23,2023-12-06,27188,Criquebeuf-sur-Seine,1.110748,49.285246,['924AA01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/924AA01.pdf'],BSS003CLUO,57.75,1780,27,Eure,PIEZO AMONT,62.0,,,[],Fri Oct 18 22:45:29 CEST 2024
|
| 75 |
+
01241X0357/F,http://services.ades.eaufrance.fr/pointeau/01241X0357/F,2018-11-19,2023-12-07,27188,Criquebeuf-sur-Seine,1.104868973,49.301520559,"['040AB75', '121AZ01']","['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/040AB75.pdf', 'http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AZ01.pdf']",BSS000JLBQ,24.0,1844,27,Eure,,17.0,['HG220'],"[""Craie altΓ©rΓ©e de l'estuaire de la Seine hors pointe de Caux""]",['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG220'],Fri Oct 18 20:50:13 CEST 2024
|
| 76 |
+
BSS003HDQA/X,http://services.ades.eaufrance.fr/pointeau/BSS003HDQA/X,2019-09-05,2026-07-03,27090,Bosroumois,0.898249094,49.286552893,['121AU'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AU.pdf'],BSS003HDQA,160.92,2494,27,Eure,PZ2,117.0,['HG220'],"[""Craie altΓ©rΓ©e de l'estuaire de la Seine hors pointe de Caux""]",['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG220'],Tue Sep 24 13:55:00 CEST 2024
|
| 77 |
+
01224X0014/S1,http://services.ades.eaufrance.fr/pointeau/01224X0014/S1,1972-11-08,1984-11-29,27468,Pont-Authou,0.701825472,49.24596246,,[],BSS000JGAU,65.0,134,27,Eure,,19.8,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 78 |
+
00995X0003/S1,http://services.ades.eaufrance.fr/pointeau/00995X0003/S1,1967-09-22,1978-10-25,27102,Bouquetot,0.763507647,49.353767078,,[],BSS000GNNN,135.0,324,27,Eure,,74.22,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 79 |
+
02163X2004/P,http://services.ades.eaufrance.fr/pointeau/02163X2004/P,2015-11-20,2026-04-01,27423,Muzy,1.330715358,48.776075971,,[],BSS000RGMG,105.0,123,27,Eure,,27.3,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 80 |
+
01807X0023/P,http://services.ades.eaufrance.fr/pointeau/01807X0023/P,2015-12-01,2026-04-01,27423,Muzy,1.345107787,48.784476137,,[],BSS000MTBN,110.0,122,27,Eure,,34.4,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 81 |
+
01807X0059/P,http://services.ades.eaufrance.fr/pointeau/01807X0059/P,2015-07-23,2026-04-01,27181,Courdemanche,1.269163896,48.800892937,,[],BSS000MTDA,137.0,125,27,Eure,,20.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 82 |
+
01807X0051/S1,http://services.ades.eaufrance.fr/pointeau/01807X0051/S1,1985-05-28,2026-07-04,27391,Marcilly-sur-Eure,1.342297655,48.823719553,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000MTCS,75.0,10862,27,Eure,PUITS DE L'ANCIENNE GARE (MARCILLY-SUR-EURE),12.0,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Mon Sep 23 19:38:51 CEST 2024
|
| 83 |
+
01805X0036/S1,http://services.ades.eaufrance.fr/pointeau/01805X0036/S1,1982-01-26,2026-07-04,27411,Moisville,1.165839057,48.83983924,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000MSYC,153.0,11378,27,Eure,Puits Mairie Ecole (Moisville) - 27,18.0,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Sat Jun 21 20:19:20 CEST 2025
|
| 84 |
+
01807X0001/S1,http://services.ades.eaufrance.fr/pointeau/01807X0001/S1,1972-11-09,1976-03-10,27073,Bois-le-Roi,1.338444312,48.8656293,,[],BSS000MTAQ,133.0,31,27,Eure,,110.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 85 |
+
01803X0004/P,http://services.ades.eaufrance.fr/pointeau/01803X0004/P,2002-05-29,2026-07-04,27507,Saint-AndrΓ©-de-l'Eure,1.297264849,48.889721586,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000MSPF,136.5,8271,27,Eure,Puits Touvoye (Saint-AndrΓ©-de-l'Eure) - 27,120.0,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Tue Apr 15 22:57:18 CEST 2025
|
| 86 |
+
01803X0007/S1,http://services.ades.eaufrance.fr/pointeau/01803X0007/S1,1972-11-09,1984-11-29,27277,La Baronnie,1.265760794,48.955356533,,[],BSS000MSPJ,145.0,132,27,Eure,,67.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 87 |
+
01508X0134/S1,http://services.ades.eaufrance.fr/pointeau/01508X0134/S1,1985-05-24,2000-01-14,27114,Breuilpont,1.409401757,48.963986168,['924AC07'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/924AC07.pdf'],BSS000LDTK,47.0,1930,27,Eure,,4.6,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 88 |
+
01508X0133/S1,http://services.ades.eaufrance.fr/pointeau/01508X0133/S1,1985-04-26,2023-10-10,27231,Fains,1.388574729,48.994531044,['040AB11'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/040AB11.pdf'],BSS000LDTJ,43.0,9706,27,Eure,Puits de Fains (Fains) - 27,2.05,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Fri Jun 28 07:31:38 CEST 2024
|
| 89 |
+
01805X0008/P,http://services.ades.eaufrance.fr/pointeau/01805X0008/P,2015-12-01,2026-04-01,27206,Droisy,1.160337037,48.799626936,,[],BSS000MSWY,147.0,121,27,Eure,,21.8,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 90 |
+
01805X0019/P,http://services.ades.eaufrance.fr/pointeau/01805X0019/P,2015-10-01,2026-04-01,27416,Buis-sur-Damville,1.086203267,48.834993519,,[],BSS000MSXK,158.0,123,27,Eure,,33.4,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 91 |
+
01801X0010/S1,http://services.ades.eaufrance.fr/pointeau/01801X0010/S1,1985-05-09,2026-07-04,27693,Sylvains-Lès-Moulins,1.086499072,48.881862606,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000MSJQ,132.0,10538,27,Eure,Puits de Coulonges (Sylvains-les-Moulins) - 27,32.0,['HG211'],['Craie altérée du Neubourg-Iton-plaine de Saint-André'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Fri Oct 10 14:25:57 CEST 2025
|
| 92 |
+
01801X0013/S1,http://services.ades.eaufrance.fr/pointeau/01801X0013/S1,1971-01-08,1978-05-02,27693,Sylvains-Lès-Moulins,1.078231289,48.896964303,,[],BSS000MSJT,128.0,2343,27,Eure,,17.65,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 93 |
+
01801X0042/F,http://services.ades.eaufrance.fr/pointeau/01801X0042/F,2022-07-25,2026-07-03,27693,Sylvains-Lès-Moulins,1.089638993,48.919040203,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000MSKY,119.0,1440,27,Eure,,37.5,['HG211'],['Craie altérée du Neubourg-Iton-plaine de Saint-André'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Fri Jun 28 07:31:38 CEST 2024
|
| 94 |
+
01801X0004/S1,http://services.ades.eaufrance.fr/pointeau/01801X0004/S1,1968-02-27,1978-10-26,27301,GrossΕuvre,1.161142159,48.953800384,,[],BSS000MSJJ,138.5,117,27,Eure,,42.25,,,[],Sun Apr 12 13:00:02 CEST 2026
|
| 95 |
+
01501X0046/S1,http://services.ades.eaufrance.fr/pointeau/01501X0046/S1,1985-05-10,1985-12-13,27439,Normanville,1.150697855,49.078335891,,[],BSS000LBZQ,48.0,8,27,Eure,,4.4,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 96 |
+
01494X0004/S1,http://services.ades.eaufrance.fr/pointeau/01494X0004/S1,1968-02-22,1984-11-29,27504,Sacquenville,1.073747163,49.083989626,,[],BSS000LBNH,143.0,184,27,Eure,,127.6,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 97 |
+
01245X0016/S1,http://services.ades.eaufrance.fr/pointeau/01245X0016/S1,1968-01-30,1972-07-26,27127,Canappeville,1.118898374,49.15768802,,[],BSS000JNAP,145.0,53,27,Eure,,55.2,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 98 |
+
01245X0030/S1,http://services.ades.eaufrance.fr/pointeau/01245X0030/S1,1968-01-30,1981-12-24,27403,Le Mesnil-Jourdain,1.120613701,49.177132849,,[],BSS000JNBD,137.98,154,27,Eure,,61.05,,,[],Fri May 01 07:06:06 CEST 2026
|
| 99 |
+
01811X2035/S1,http://services.ades.eaufrance.fr/pointeau/01811X2035/S1,1985-05-24,1989-01-28,27278,Garennes-sur-Eure,1.450771854,48.918987646,['924AC07'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/924AC07.pdf'],BSS000MTJZ,57.0,413,27,Eure,,5.8,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 100 |
+
01515X2033/S1,http://services.ades.eaufrance.fr/pointeau/01515X2033/S1,1968-12-06,1984-11-29,27696,Villiers-en-DΓ©sΕuvre,1.502640162,48.975046439,,[],BSS000LESR,148.0,685,27,Eure,,34.27,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 101 |
+
01515X2036/F,http://services.ades.eaufrance.fr/pointeau/01515X2036/F,1993-05-06,1993-05-06,27689,Villegats,1.460860339,48.992990627,,[],BSS000LESU,95.0,1,27,Eure,,112.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 102 |
+
01515X2015/S1,http://services.ades.eaufrance.fr/pointeau/01515X2015/S1,1968-09-26,2026-07-03,27136,Chaignes,1.445393268,49.014101938,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000LERX,144.0,10979,27,Eure,Puits de Chaignes (Chaignes) - 27,120.8,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Mon Sep 23 20:55:42 CEST 2024
|
| 103 |
+
01508X0100/P,http://services.ades.eaufrance.fr/pointeau/01508X0100/P,2002-01-21,2026-07-04,27203,Douains,1.430497927,49.040770323,['113AK03'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/113AK03.pdf'],BSS000LDRZ,133.0,6396,27,Eure,PUITS DE DOUAINS (DOUAINS) - 27,34.33,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Thu Oct 03 19:42:36 CEST 2024
|
| 104 |
+
01506X0016/P1,http://services.ades.eaufrance.fr/pointeau/01506X0016/P1,2001-11-22,2026-07-04,27158,Cierrey,1.249032003,49.003128233,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000LDJZ,130.5,7291,27,Eure,Puits Ferme de la Pommeraie (Cierrey) - 27,71.95,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Mon Sep 23 21:37:11 CEST 2024
|
| 105 |
+
01506X0013/S1,http://services.ades.eaufrance.fr/pointeau/01506X0013/S1,1968-12-06,2001-10-16,27410,Miserey,1.240227843,49.016901105,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000LDJW,134.0,1954,27,Eure,,77.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 106 |
+
01508X0006/S1,http://services.ades.eaufrance.fr/pointeau/01508X0006/S1,1977-05-05,2000-01-14,27190,Croisy-sur-Eure,1.347846259,49.030202233,['924AC07'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/924AC07.pdf'],BSS000LDNB,39.0,1880,27,Eure,,2.45,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 107 |
+
BSS004GCQN/X,http://services.ades.eaufrance.fr/pointeau/BSS004GCQN/X,2024-01-19,2026-07-03,27299,Gravigny,1.161723019,49.057505801,,[],BSS004GCQN,54.49,881,27,Eure,PIΓZOMΓTRE,30.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 108 |
+
BSS004AFBP/X,http://services.ades.eaufrance.fr/pointeau/BSS004AFBP/X,2022-07-28,2024-01-19,27439,Normanville,1.163554262,49.05835226,,[],BSS004AFBP,52.8,540,27,Eure,,30.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 109 |
+
01502X0089/F,http://services.ades.eaufrance.fr/pointeau/01502X0089/F,2012-12-20,2026-07-04,27439,Normanville,1.180364522,49.070200354,['121AS30'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS30.pdf'],BSS000LCEZ,86.0,4852,27,Eure,FORAGE DE NORMANVILLE (NORMANVILLE) - 27,67.0,['HG211'],['Craie altΓ©rΓ©e du Neubourg-Iton-plaine de Saint-AndrΓ©'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG211'],Thu Feb 19 22:09:02 CET 2026
|
| 110 |
+
01501X0002/F,http://services.ades.eaufrance.fr/pointeau/01501X0002/F,1967-04-02,2008-12-10,27439,Normanville,1.161462521,49.077376226,['121AS01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AS01.pdf'],BSS000LBXU,49.0,4746,27,Eure,Puits de Normanville (Normanville) - 27,16.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 111 |
+
01501X0037/S1,http://services.ades.eaufrance.fr/pointeau/01501X0037/S1,1968-03-27,1981-12-24,27147,La Chapelle-du-Bois-des-Faulx,1.164508343,49.113733537,,[],BSS000LBZF,132.0,153,27,Eure,,90.0,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 112 |
+
01242X0116/S1,http://services.ades.eaufrance.fr/pointeau/01242X0116/S1,1985-05-24,2008-02-18,27528,Le Vaudreuil,1.22147949,49.252530003,['121AZ01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AZ01.pdf'],BSS000JLHW,9.0,4739,27,Eure,,34.25,,,[],Fri Jun 28 07:31:38 CEST 2024
|
| 113 |
+
BSS003FBUG/X,http://services.ades.eaufrance.fr/pointeau/BSS003FBUG/X,2018-11-19,2023-12-06,27701,Val-de-Reuil,1.236998,49.28483,['924AA01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/924AA01.pdf'],BSS003FBUG,9.76,1843,27,Eure,PZ CEMEX,9.55,['HG001'],['Alluvions de la Seine moyenne et aval'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG001'],Fri Oct 18 22:44:31 CEST 2024
|
| 114 |
+
01242X0530/FN3,http://services.ades.eaufrance.fr/pointeau/01242X0530/FN3,2008-01-10,2026-07-04,27701,Val-de-Reuil,1.212018314,49.305417373,['121AZ01'],['http://reseau.eaufrance.fr/geotraitements/bdlisa/files/entite/121AZ01.pdf'],BSS000JMAM,8.0,6692,27,Eure,FORAGE DE LA BASE DE LOISIRS (VAL-DE-REUIL),20.5,['HG201'],['Craie du Vexin normand et picard'],['http://www.sandre.eaufrance.fr/geo/MasseDEauSouterraine/HG201'],Mon Sep 23 22:01:21 CEST 2024
|
datasets/ADES/stations_metadata.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
datasets/IDPR_values.csv
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
ο»Ώfid,X,Y,X_lambert,Y_lambert,station_id,basin_name,latitude,longitude,IDPR
|
| 2 |
+
1,522210.5142,6852566.356,522210.5142,6852566.356,H602021010,La Risle,48.74870522,0.58156195,2000
|
| 3 |
+
2,539761.0001,6883805.004,539761.0001,6883805.004,H605641401,La Risle,49.03411899,0.808378297,885
|
| 4 |
+
3,533400.0001,6900649.005,533400.0001,6900649.005,H620021010,La Risle,49.18388271,0.714759598,1000
|
| 5 |
+
4,532138.0001,6907155.004,532138.0001,6907155.004,H623021010,La Risle,49.24201812,0.694854113,1000
|
| 6 |
+
5,511031.0001,6849508.005,511031.0001,6849508.005,H600021010,La Risle,48.71803654,0.430946285,1212
|
| 7 |
+
6,531904.0001,6860441.004,531904.0001,6860441.004,H603021010,La Risle,48.82209534,0.710239413,1000
|
| 8 |
+
7,534773.0001,6874894.005,534773.0001,6874894.005,H605021010,La Risle,48.9527593,0.743674684,1117
|
| 9 |
+
8,540227.0001,6883351.005,540227.0001,6883351.005,H605022010,La Risle,49.03015442,0.814920403,237
|
| 10 |
+
9,538193.0001,6878375.005,538193.0001,6878375.005,H605641101,La Risle,48.98491874,0.789022568,1000
|
| 11 |
+
10,539177.0002,6885262.005,539177.0002,6885262.005,H605641201,La Risle,49.04706878,0.799839826,237
|
| 12 |
+
11,536394.5252,6890311.1,536394.5252,6890311.1,H606000101,La Risle,49.09174604,0.759834916,1000
|
| 13 |
+
12,524179.0001,6918393.004,524179.0001,6918393.004,H623022010,La Risle,49.34085604,0.58089832,545
|
| 14 |
+
13,567277.0001,6817949.004,567277.0001,,H402021010,L'Eure,48.44823808,1.205047075,1159
|
| 15 |
+
14,587267.0001,6810648.005,587267.0001,,H403301101,L'Eure,48.38634694,1.477223775,545
|
| 16 |
+
15,588995.0001,6816797.004,588995.0001,,H404021010,L'Eure,48.441954,1.498980903,547
|
| 17 |
+
16,580935.0001,6854187.004,580935.0001,6854187.004,H420021010,L'Eure,48.77678274,1.379648722,545
|
| 18 |
+
17,580952.6709,6854179.489,580952.6709,6854179.489,H420021011,L'Eure,48.77671842,1.379891235,1134
|
| 19 |
+
18,573648.0001,6817910.005,573648.0001,,H403021010,L'Eure,48.44915882,1.291192655,2000
|
| 20 |
+
19,587926,6819632.004,587926,6819632.004,H404021101,L'Eure,48.46726995,1.483793322,925
|
| 21 |
+
20,592634.4399,6839392.744,592634.4399,6839392.744,H414000201,L'Eure,48.64579381,1.542543476,1292
|
| 22 |
+
21,585363.0001,6845654.004,585363.0001,6845654.004,H416021010,L'Eure,48.70085268,1.442183941,1172
|
| 23 |
+
22,580914.8963,6854220.871,580914.8963,6854220.871,H420021012,L'Eure,48.77708356,1.379365749,586
|
| 24 |
+
23,580769.0001,6855886.004,580769.0001,6855886.004,H426021010,L'Eure,48.7920293,1.376915068,1010
|
| 25 |
+
24,580753.7573,6855893.107,580753.7573,6855893.107,H426021201,L'Eure,48.79209035,1.37670564,1000
|
| 26 |
+
25,581370.0001,6880459.004,581370.0001,6880459.004,H431021010,L'Eure,49.01307446,1.378224742,1000
|
| 27 |
+
26,569235.0001,6891991.005,569235.0001,6891991.005,H432021010,L'Eure,49.11438207,1.208807304,695
|
| 28 |
+
27,567244.3975,6904232.773,567244.3975,6904232.773,H438021010,L'Eure,49.22400387,1.177680812,1055
|
datasets/README.md
ADDED
|
@@ -0,0 +1,320 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Datasets Documentation
|
| 2 |
+
|
| 3 |
+
**Project:** Physics-Informed KARST-Aware GNN for Streamflow Prediction
|
| 4 |
+
**Study Area:** La Risle and La Eure River Systems, Seine Basin, France
|
| 5 |
+
**Period:** 1960-2026 (historical data)
|
| 6 |
+
|
| 7 |
+
## Directory Structure
|
| 8 |
+
|
| 9 |
+
```
|
| 10 |
+
datasets/
|
| 11 |
+
βββ station_list.csv # 27 stations metadata (coordinates, names)
|
| 12 |
+
βββ selected_stations.csv # 27 selected station codes
|
| 13 |
+
βββ IDPR_values.csv # BRGM infiltration/runoff index (27 stations)
|
| 14 |
+
βββ ADES/ # Groundwater data (KARST connectivity)
|
| 15 |
+
β βββ groundwater_stations.csv # 114 groundwater monitoring wells
|
| 16 |
+
β βββ groundwater_levels_watershed.csv# 272,379 groundwater level measurements
|
| 17 |
+
β βββ stations_metadata.csv # 10,001 stations (full ADES database)
|
| 18 |
+
β βββ ADES_data_fetching.py # Data collection script
|
| 19 |
+
βββ Watersehd_risle/ # La Risle watershed boundary
|
| 20 |
+
β βββ Watershed_Risle.shp # Shapefile (EPSG:2154)
|
| 21 |
+
βββ Watershed_Eure/ # La Eure watershed boundary
|
| 22 |
+
β βββ Watershed_Eure.shp # Shapefile (EPSG:2154)
|
| 23 |
+
βββ Risle_Eure_watershed/ # Merged watershed boundary
|
| 24 |
+
β βββ Risle_Eure_Watershed.shp # Combined shapefile (EPSG:2154)
|
| 25 |
+
βββ River Images/ # Reference maps
|
| 26 |
+
βββ Carte-de-la_Seine-390x305.png
|
| 27 |
+
βββ Eure_(riviΓ¨re).png
|
| 28 |
+
βββ Risle.png
|
| 29 |
+
```
|
| 30 |
+
|
| 31 |
+
## Available Data
|
| 32 |
+
|
| 33 |
+
### 1. Hydrometric Stations (`station_list.csv`)
|
| 34 |
+
|
| 35 |
+
**File:** `station_list.csv`
|
| 36 |
+
**Rows:** 27 stations
|
| 37 |
+
**Columns:**
|
| 38 |
+
- `X`, `Y` - Lambert 93 coordinates (EPSG:2154)
|
| 39 |
+
- `station_code` - Unique station identifier (e.g., H602021010)
|
| 40 |
+
- `region_name` - NORMANDIE
|
| 41 |
+
- `departament_name` - ORNE or EURE
|
| 42 |
+
- `station_name` - Full station name
|
| 43 |
+
- `municipality` - Municipality name
|
| 44 |
+
- `INSEE` - INSEE code
|
| 45 |
+
- `id_root` - Root identifier
|
| 46 |
+
- `lon`, `lat` - WGS84 coordinates
|
| 47 |
+
- `lon-lat-ID` - Combined identifier
|
| 48 |
+
|
| 49 |
+
**Basin Distribution:**
|
| 50 |
+
- **La Risle:** 12 stations (e.g., La Risle Γ Rai, La Risle Γ Brionne, etc.)
|
| 51 |
+
- **La Eure:** 13 stations (e.g., L'Eure Γ Chartres, L'Eure Γ Louviers, etc.)
|
| 52 |
+
- **Tributary:** 1 station (Le bras de l'Eure Γ Lormaye)
|
| 53 |
+
|
| 54 |
+
**Sample Stations:**
|
| 55 |
+
```
|
| 56 |
+
H602021010 - La Risle Γ Rai (48.749Β°N, 0.582Β°E)
|
| 57 |
+
H605641401 - La Risle Γ Barquet (49.034Β°N, 0.808Β°E)
|
| 58 |
+
H620021010 - La Risle Γ Brionne
|
| 59 |
+
H4202010 - L'Eure Γ Chartres
|
| 60 |
+
H4522010 - L'Eure Γ Louviers
|
| 61 |
+
```
|
| 62 |
+
|
| 63 |
+
### 2. Selected Stations (`selected_stations.csv`)
|
| 64 |
+
|
| 65 |
+
**File:** `selected_stations.csv`
|
| 66 |
+
**Rows:** 27 stations
|
| 67 |
+
**Content:** List of selected station codes for analysis
|
| 68 |
+
|
| 69 |
+
### 3. IDPR Data (`IDPR_values.csv`)
|
| 70 |
+
|
| 71 |
+
**File:** `IDPR_values.csv`
|
| 72 |
+
**Source:** BRGM (Bureau de Recherches Géologiques et Minières)
|
| 73 |
+
**Rows:** 27 stations
|
| 74 |
+
**Purpose:** Infiltration vs runoff tendency (KARST indicator)
|
| 75 |
+
|
| 76 |
+
**Columns:**
|
| 77 |
+
- `fid` - Feature ID
|
| 78 |
+
- `X`, `Y` - Original coordinates
|
| 79 |
+
- `X_lambert`, `Y_lambert` - Lambert 93 coordinates
|
| 80 |
+
- `station_id` - Station identifier
|
| 81 |
+
- `basin_name` - "La Risle" or "La Eure"
|
| 82 |
+
- `latitude`, `longitude` - WGS84 coordinates
|
| 83 |
+
- `IDPR` - **Infiltration Dominance vs Precipitation Runoff index**
|
| 84 |
+
- Higher values β More infiltration (karst behavior)
|
| 85 |
+
- Lower values β More surface runoff
|
| 86 |
+
|
| 87 |
+
**IDPR Range in Dataset:**
|
| 88 |
+
- La Risle: 885 - 2000
|
| 89 |
+
- Indicates varying karst influence across the basin
|
| 90 |
+
|
| 91 |
+
### 4. ADES Groundwater Data
|
| 92 |
+
|
| 93 |
+
**Source:** ADES (Accès aux Données sur les Eaux Souterraines)
|
| 94 |
+
**Purpose:** Karst groundwater connectivity, subsurface flow pathways
|
| 95 |
+
|
| 96 |
+
#### 4.1 Groundwater Stations (`ADES/groundwater_stations.csv`)
|
| 97 |
+
|
| 98 |
+
**Rows:** 114 groundwater monitoring wells in watershed
|
| 99 |
+
**Columns:**
|
| 100 |
+
- `code_bss` - BSS code (unique well identifier)
|
| 101 |
+
- `urn_bss` - URN identifier
|
| 102 |
+
- `date_debut_mesure`, `date_fin_mesure` - Measurement period
|
| 103 |
+
- `code_commune_insee`, `nom_commune` - Municipality
|
| 104 |
+
- `x`, `y` - Coordinates
|
| 105 |
+
- `bss_id` - Short BSS ID
|
| 106 |
+
- `altitude_station` - Well altitude (m)
|
| 107 |
+
- `nb_mesures_piezo` - Number of piezometric measurements
|
| 108 |
+
- `code_departement`, `nom_departement` - Department (61=Orne, 27=Eure)
|
| 109 |
+
- `profondeur_investigation` - Investigation depth (m)
|
| 110 |
+
|
| 111 |
+
**Sample Wells:**
|
| 112 |
+
- BSS000TTRG (Le Mage, Orne) - 137 measurements, depth 38m, altitude 231m
|
| 113 |
+
- BSS000TTRB (Longny les Villages) - 9 measurements, depth 55m, altitude 235m
|
| 114 |
+
|
| 115 |
+
#### 4.2 Groundwater Levels (`ADES/groundwater_levels_watershed.csv`)
|
| 116 |
+
|
| 117 |
+
**Rows:** 272,379 piezometric measurements
|
| 118 |
+
**Period:** Various (e.g., 2013-present for some wells)
|
| 119 |
+
**Columns:**
|
| 120 |
+
- `code_bss`, `bss_id`, `urn_bss` - Well identifiers
|
| 121 |
+
- `date_mesure` - Measurement date
|
| 122 |
+
- `timestamp_mesure` - Unix timestamp
|
| 123 |
+
- `niveau_nappe_eau` - Groundwater level (m above reference)
|
| 124 |
+
- `profondeur_nappe` - Depth to water table (m below surface)
|
| 125 |
+
- `mode_obtention` - Measurement method
|
| 126 |
+
- `statut` - Data status ("DonnΓ©e contrΓ΄lΓ©e niveau 2")
|
| 127 |
+
- `qualification` - Data quality ("Correcte", etc.)
|
| 128 |
+
- `code_producteur`, `nom_producteur` - Data producer
|
| 129 |
+
|
| 130 |
+
**Note:** This is time series data for groundwater levels, crucial for understanding subsurface karst connectivity.
|
| 131 |
+
|
| 132 |
+
#### 4.3 ADES Metadata (`ADES/stations_metadata.csv`)
|
| 133 |
+
|
| 134 |
+
**Rows:** 10,001 stations (full ADES database, not filtered)
|
| 135 |
+
**Purpose:** Reference metadata for all groundwater stations in France
|
| 136 |
+
|
| 137 |
+
### 5. Watershed Shapefiles
|
| 138 |
+
|
| 139 |
+
#### 5.1 La Risle Watershed (`Watersehd_risle/Watershed_Risle.shp`)
|
| 140 |
+
|
| 141 |
+
**CRS:** EPSG:2154 (Lambert 93 - French national projection)
|
| 142 |
+
**Features:** 1 multipolygon
|
| 143 |
+
**Attributes:**
|
| 144 |
+
- `ID_INTERNE` - Internal ID (e.g., Sav21_226)
|
| 145 |
+
- `ID_FONCTIO` - Functional ID
|
| 146 |
+
- `NOM` - Watershed name
|
| 147 |
+
- `SITUATION_` - Situation/status
|
| 148 |
+
|
| 149 |
+
#### 5.2 La Eure Watershed (`Watershed_Eure/Watershed_Eure.shp`)
|
| 150 |
+
|
| 151 |
+
**CRS:** EPSG:2154 (Lambert 93)
|
| 152 |
+
**Features:** 1 multipolygon
|
| 153 |
+
**Attributes:** Same as La Risle
|
| 154 |
+
|
| 155 |
+
#### 5.3 Merged Watershed (`Risle_Eure_watershed/Risle_Eure_Watershed.shp`)
|
| 156 |
+
|
| 157 |
+
**CRS:** EPSG:2154 (Lambert 93)
|
| 158 |
+
**Features:** 1 multipolygon (merged boundary)
|
| 159 |
+
**Attributes:**
|
| 160 |
+
- `FID` - Feature ID
|
| 161 |
+
- `geometry` - Geometry
|
| 162 |
+
|
| 163 |
+
**Note:** This merged shapefile covers both La Risle and La Eure basins for basin-wide analysis.
|
| 164 |
+
|
| 165 |
+
### Hydrometric Data (Hub'Eau API)
|
| 166 |
+
|
| 167 |
+
**Status:** Downloaded and available datasets/hydrometric
|
| 168 |
+
**Expected:** JSON and CSV files for 27 stations (1960-2026)
|
| 169 |
+
|
| 170 |
+
**Historical Statistics (Daily/Monthly):**
|
| 171 |
+
- `QmnJ` / `QmM` - Mean discharge (mΒ³/s)
|
| 172 |
+
- `QIXnJ` / `QIXM` - Maximum instantaneous discharge (mΒ³/s)
|
| 173 |
+
- `QINnJ` / `QINM` - Minimum instantaneous discharge (mΒ³/s)
|
| 174 |
+
- `HIXnJ` / `HIXM` - Maximum water level (m)
|
| 175 |
+
|
| 176 |
+
**Real-Time Observations (5-min interval, ~1 month):**
|
| 177 |
+
- `H` - Water level (m)
|
| 178 |
+
- `Q` - River discharge (mΒ³/s)
|
| 179 |
+
|
| 180 |
+
### Meteorological Data (SAFRAN Reanalysis)
|
| 181 |
+
|
| 182 |
+
**Status:** datasets/safran
|
| 183 |
+
**Expected:** JSON and CSV files for 27 stations (1960-2026)
|
| 184 |
+
|
| 185 |
+
**Variables (12):**
|
| 186 |
+
- `DLI_Q` - Atmospheric radiation (W/mΒ²)
|
| 187 |
+
- `DRAINC_Q` - Drainage (mm)
|
| 188 |
+
- `ETP_Q` - Potential evapotranspiration (mm)
|
| 189 |
+
- `FF_Q` - Wind speed (m/s)
|
| 190 |
+
- `HU_Q` - Relative humidity (%)
|
| 191 |
+
- `PRELIQ_Q` - Liquid precipitation (mm)
|
| 192 |
+
- `PRENEI_Q` - Solid precipitation (mm)
|
| 193 |
+
- `RESR_NEIGE_Q` - Snowpack water equivalent (mm)
|
| 194 |
+
- `RUNC_Q` - Runoff (mm)
|
| 195 |
+
- `SSI_Q` - Visible radiation (W/mΒ²)
|
| 196 |
+
- `SWI_Q` - Soil moisture index
|
| 197 |
+
- `T_Q` - Average air temperature (Β°C)
|
| 198 |
+
|
| 199 |
+
### DEM and Topographic Data
|
| 200 |
+
|
| 201 |
+
**Status:** datasets/station_elevations.csv
|
| 202 |
+
**Required for:**
|
| 203 |
+
- Elevation statistics (mean, min, max)
|
| 204 |
+
- Basin slope calculation
|
| 205 |
+
- Drainage density
|
| 206 |
+
- Topographic Wetness Index (TWI)
|
| 207 |
+
- River network topology extraction (QGIS hydrology tools)
|
| 208 |
+
|
| 209 |
+
**Recommended Source:**
|
| 210 |
+
- IGN RGE ALTI (French national DEM, 1m or 5m resolution)
|
| 211 |
+
- EU-DEM (25m resolution)
|
| 212 |
+
|
| 213 |
+
### River Network Topology
|
| 214 |
+
|
| 215 |
+
**Status:** β Not yet in repository
|
| 216 |
+
**Required:** `station_edges.csv` for graph construction
|
| 217 |
+
|
| 218 |
+
**Expected Format:**
|
| 219 |
+
```csv
|
| 220 |
+
source,target,distance,elevation_gradient,basin_id
|
| 221 |
+
H602021010,H605641401,15.2,10.0,0
|
| 222 |
+
H605641401,H620021010,12.5,-5.0,0
|
| 223 |
+
...
|
| 224 |
+
```
|
| 225 |
+
|
| 226 |
+
**Generation Method:**
|
| 227 |
+
- Use QGIS DEM hydrology processing tools
|
| 228 |
+
- Extract upstream-downstream relationships
|
| 229 |
+
- Calculate river distances and elevation gradients
|
| 230 |
+
- Ensure no cross-basin edges (La Risle β La Eure)
|
| 231 |
+
|
| 232 |
+
### Basin Attributes (To Be Extracted)
|
| 233 |
+
|
| 234 |
+
**Status:** β Not yet extracted from shapefiles/DEM
|
| 235 |
+
|
| 236 |
+
**Topological:**
|
| 237 |
+
- Elevation, slope, drainage density, TWI, basin area
|
| 238 |
+
|
| 239 |
+
**Soil Properties:**
|
| 240 |
+
- Soil type, texture, hydraulic conductivity, porosity, depth
|
| 241 |
+
|
| 242 |
+
**Land Use:**
|
| 243 |
+
- Forest/agricultural/urban cover %, NDVI
|
| 244 |
+
|
| 245 |
+
**Geological/KARST:**
|
| 246 |
+
- Aquifer characteristics, lithology, permeability, sinkhole density
|
| 247 |
+
|
| 248 |
+
## Data Processing Notes
|
| 249 |
+
|
| 250 |
+
### Basin Assignment
|
| 251 |
+
|
| 252 |
+
Based on station names in `station_list.csv`:
|
| 253 |
+
|
| 254 |
+
**La Risle Stations (basin_id = 0):**
|
| 255 |
+
- 12 stations with names starting with "La Risle"
|
| 256 |
+
- Station codes: H60*, H62*
|
| 257 |
+
|
| 258 |
+
**La Eure Stations (basin_id = 1):**
|
| 259 |
+
- 13 stations with names starting with "L'Eure"
|
| 260 |
+
- Station codes: H42*, H45*, H46*, H47*
|
| 261 |
+
- Includes tributary: "Le bras de l'Eure"
|
| 262 |
+
|
| 263 |
+
### Coordinate Systems
|
| 264 |
+
|
| 265 |
+
**All geospatial data uses:**
|
| 266 |
+
- **Projected:** EPSG:2154 (Lambert 93) for distances/areas
|
| 267 |
+
- **Geographic:** EPSG:4326 (WGS84) for lat/lon
|
| 268 |
+
|
| 269 |
+
**Conversion needed for:**
|
| 270 |
+
- Station coordinates (already in both systems in `station_list.csv`)
|
| 271 |
+
- Shapefiles (already in EPSG:2154)
|
| 272 |
+
|
| 273 |
+
### Data Size Summary
|
| 274 |
+
|
| 275 |
+
| File | Rows | Size | Notes |
|
| 276 |
+
|------|------|------|-------|
|
| 277 |
+
| `station_list.csv` | 27 | 4.1 KB | Station metadata |
|
| 278 |
+
| `selected_stations.csv` | 27 | 338 B | Station codes only |
|
| 279 |
+
| `IDPR_values.csv` | 27 | 2.6 KB | KARST infiltration index |
|
| 280 |
+
| `ADES/groundwater_stations.csv` | 114 | ~50 KB | Groundwater wells |
|
| 281 |
+
| `ADES/groundwater_levels_watershed.csv` | 272,379 | ~50 MB | **Large!** Time series |
|
| 282 |
+
| `ADES/stations_metadata.csv` | 10,001 | ~2 MB | Full ADES database |
|
| 283 |
+
|
| 284 |
+
**β οΈ Note:** `groundwater_levels_watershed.csv` is the largest file (272K rows). Use efficient processing (chunking, filtering by date range).
|
| 285 |
+
|
| 286 |
+
## Next Steps
|
| 287 |
+
|
| 288 |
+
1. **Collect Hydrometric Data**
|
| 289 |
+
- Use Hub'Eau API to download discharge/water level data
|
| 290 |
+
- Store in `datasets/hydrometric/` (JSON and CSV)
|
| 291 |
+
|
| 292 |
+
2. **Collect SAFRAN Data**
|
| 293 |
+
- Download meteorological reanalysis for 27 station coordinates
|
| 294 |
+
- Store in `datasets/safran/` (JSON and CSV)
|
| 295 |
+
|
| 296 |
+
3. **Acquire DEM**
|
| 297 |
+
- Download IGN RGE ALTI or EU-DEM for study area
|
| 298 |
+
- Store in `datasets/DEM/`
|
| 299 |
+
|
| 300 |
+
4. **Extract River Topology**
|
| 301 |
+
- Use QGIS DEM hydrology tools
|
| 302 |
+
- Generate `datasets/station_edges.csv`
|
| 303 |
+
|
| 304 |
+
5. **Extract Basin Attributes**
|
| 305 |
+
- Use DEM to calculate topological features
|
| 306 |
+
- Use soil/land use databases for additional features
|
| 307 |
+
- Store in `datasets/basin_features/`
|
| 308 |
+
|
| 309 |
+
6. **Process Data Through Pipeline**
|
| 310 |
+
- Run `example_pipeline.py` once all data is available
|
| 311 |
+
- Generate fused datasets, graphs, and tensors
|
| 312 |
+
|
| 313 |
+
## Data Sources & References
|
| 314 |
+
|
| 315 |
+
- **Hub'Eau API:** https://hubeau.eaufrance.fr/
|
| 316 |
+
- **SAFRAN Reanalysis:** MΓ©tΓ©o-France
|
| 317 |
+
- **ADES:** https://ades.eaufrance.fr/ (groundwater data)
|
| 318 |
+
- **BRGM IDPR:** Bureau de Recherches Géologiques et Minières
|
| 319 |
+
- **IGN:** https://geoservices.ign.fr/ (DEM, elevation data)
|
| 320 |
+
- **Watersheds:** Digitized from official French hydrographic boundaries
|
datasets/Risle_Eure_watershed/Risle_Eure_Watershed.cpg
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
UTF-8
|
datasets/Risle_Eure_watershed/Risle_Eure_Watershed.dbf
ADDED
|
Binary file (78 Bytes). View file
|
|
|
datasets/Risle_Eure_watershed/Risle_Eure_Watershed.gpkg
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:86803343cf5cbc718b8e956f72baa485ffef43243ff1f58f88fda7f286350c3d
|
| 3 |
+
size 163840
|
datasets/Risle_Eure_watershed/Risle_Eure_Watershed.prj
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
|
datasets/Risle_Eure_watershed/Risle_Eure_Watershed.shp
ADDED
|
Binary file (68.7 kB). View file
|
|
|
datasets/Risle_Eure_watershed/Risle_Eure_Watershed.shx
ADDED
|
Binary file (108 Bytes). View file
|
|
|
datasets/River Images/Carte-de-la_Seine-390x305.png
ADDED
|
Git LFS Details
|
datasets/River Images/Eure_(rivière).png
ADDED
|
Git LFS Details
|
datasets/River Images/Risle.png
ADDED
|
Git LFS Details
|
datasets/Watershed_Eure/Watershed_Eure.cpg
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
UTF-8
|
datasets/Watershed_Eure/Watershed_Eure.dbf
ADDED
|
Binary file (1.18 kB). View file
|
|
|
datasets/Watershed_Eure/Watershed_Eure.prj
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
|
datasets/Watershed_Eure/Watershed_Eure.qmd
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
| 2 |
+
<qgis version="3.34.4-Prizren">
|
| 3 |
+
<identifier></identifier>
|
| 4 |
+
<parentidentifier></parentidentifier>
|
| 5 |
+
<language></language>
|
| 6 |
+
<type></type>
|
| 7 |
+
<title></title>
|
| 8 |
+
<abstract></abstract>
|
| 9 |
+
<links/>
|
| 10 |
+
<dates/>
|
| 11 |
+
<fees></fees>
|
| 12 |
+
<encoding></encoding>
|
| 13 |
+
<crs>
|
| 14 |
+
<spatialrefsys nativeFormat="Wkt">
|
| 15 |
+
<wkt></wkt>
|
| 16 |
+
<proj4></proj4>
|
| 17 |
+
<srsid>0</srsid>
|
| 18 |
+
<srid>0</srid>
|
| 19 |
+
<authid></authid>
|
| 20 |
+
<description></description>
|
| 21 |
+
<projectionacronym></projectionacronym>
|
| 22 |
+
<ellipsoidacronym></ellipsoidacronym>
|
| 23 |
+
<geographicflag>false</geographicflag>
|
| 24 |
+
</spatialrefsys>
|
| 25 |
+
</crs>
|
| 26 |
+
<extent/>
|
| 27 |
+
</qgis>
|
datasets/Watershed_Eure/Watershed_Eure.shp
ADDED
|
Binary file (52.2 kB). View file
|
|
|
datasets/Watershed_Eure/Watershed_Eure.shx
ADDED
|
Binary file (108 Bytes). View file
|
|
|
datasets/Watershed_risle/Watershed_Risle.cpg
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
UTF-8
|
datasets/Watershed_risle/Watershed_Risle.dbf
ADDED
|
Binary file (1.18 kB). View file
|
|
|
datasets/Watershed_risle/Watershed_Risle.prj
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
|
datasets/Watershed_risle/Watershed_Risle.qmd
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
| 2 |
+
<qgis version="3.34.4-Prizren">
|
| 3 |
+
<identifier></identifier>
|
| 4 |
+
<parentidentifier></parentidentifier>
|
| 5 |
+
<language></language>
|
| 6 |
+
<type>dataset</type>
|
| 7 |
+
<title></title>
|
| 8 |
+
<abstract></abstract>
|
| 9 |
+
<contact>
|
| 10 |
+
<name></name>
|
| 11 |
+
<organization></organization>
|
| 12 |
+
<position></position>
|
| 13 |
+
<voice></voice>
|
| 14 |
+
<fax></fax>
|
| 15 |
+
<email></email>
|
| 16 |
+
<role></role>
|
| 17 |
+
</contact>
|
| 18 |
+
<links/>
|
| 19 |
+
<dates/>
|
| 20 |
+
<fees></fees>
|
| 21 |
+
<encoding></encoding>
|
| 22 |
+
<crs>
|
| 23 |
+
<spatialrefsys nativeFormat="Wkt">
|
| 24 |
+
<wkt>PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France mΓ©tropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]</wkt>
|
| 25 |
+
<proj4>+proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs</proj4>
|
| 26 |
+
<srsid>145</srsid>
|
| 27 |
+
<srid>2154</srid>
|
| 28 |
+
<authid>EPSG:2154</authid>
|
| 29 |
+
<description>RGF93 v1 / Lambert-93</description>
|
| 30 |
+
<projectionacronym>lcc</projectionacronym>
|
| 31 |
+
<ellipsoidacronym>EPSG:7019</ellipsoidacronym>
|
| 32 |
+
<geographicflag>false</geographicflag>
|
| 33 |
+
</spatialrefsys>
|
| 34 |
+
</crs>
|
| 35 |
+
<extent>
|
| 36 |
+
<spatial dimensions="2" miny="179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368" minx="179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368" maxy="-179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368" maxz="0" minz="0" crs="EPSG:2154" maxx="-179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368"/>
|
| 37 |
+
<temporal>
|
| 38 |
+
<period>
|
| 39 |
+
<start></start>
|
| 40 |
+
<end></end>
|
| 41 |
+
</period>
|
| 42 |
+
</temporal>
|
| 43 |
+
</extent>
|
| 44 |
+
</qgis>
|
datasets/Watershed_risle/Watershed_Risle.shp
ADDED
|
Binary file (30.7 kB). View file
|
|
|
datasets/Watershed_risle/Watershed_Risle.shx
ADDED
|
Binary file (108 Bytes). View file
|
|
|
datasets/bdtopo_hydro/bassin_versant_topographique.geojson
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
datasets/bdtopo_hydro/surface_hydrographique.geojson
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:395d23bcebaed920bc3d08eed967175ff568302373d8ab5c0a43176e61af3422
|
| 3 |
+
size 59749521
|
datasets/bdtopo_hydro/troncon_hydrographique.geojson
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5de1f23eeb8226037d2dbcb7a9553d60bd55c713f0e6c49cf999bd1238494b6b
|
| 3 |
+
size 69428336
|
datasets/catchment_area.csv
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
station_code,code_site,catchment_area_km2
|
| 2 |
+
H602021010,H6020210,149.0
|
| 3 |
+
H605641401,H6056414,486.0
|
| 4 |
+
H620021010,H6200210,1300.0
|
| 5 |
+
H623021010,H6230210,1800.0
|
| 6 |
+
H600021010,H6000210,
|
| 7 |
+
H603021010,H6030210,
|
| 8 |
+
H605021010,H6050210,381.0
|
| 9 |
+
H605022010,H6050220,487.0
|
| 10 |
+
H605641101,H6056411,
|
| 11 |
+
H605641201,H6056412,
|
| 12 |
+
H606000101,H6060001,729.0
|
| 13 |
+
H623022010,H6230220,2063.0
|
| 14 |
+
H402021010,H4020210,
|
| 15 |
+
H403301101,H4033011,568.0
|
| 16 |
+
H404021010,H4040210,
|
| 17 |
+
H420021010,H4200210,
|
| 18 |
+
H420021011,H4200210,
|
| 19 |
+
H403021010,H4030210,330.0
|
| 20 |
+
H404021101,H4040211,756.0
|
| 21 |
+
H414000201,H4140002,
|
| 22 |
+
H416021010,H4160210,2050.0
|
| 23 |
+
H420021012,H4200210,
|
| 24 |
+
H426021010,H4260210,3580.0
|
| 25 |
+
H426021201,H4260212,
|
| 26 |
+
H431021010,H4310210,4200.0
|
| 27 |
+
H432021010,H4320210,4598.0
|
| 28 |
+
H438021010,H4380210,5935.0
|
datasets/centerlines/eure_centerline.csv
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
seq,longitude,latitude
|
| 2 |
+
0,1.0310692020964396,49.2754679621714
|
| 3 |
+
1,1.0475855701878436,49.282883471448834
|
| 4 |
+
2,1.0700613033138326,49.28506533718692
|
| 5 |
+
3,1.0897144762701085,49.28719674316829
|
| 6 |
+
4,1.112294957627817,49.2876004212221
|
| 7 |
+
5,1.1321576270475313,49.28617545183493
|
| 8 |
+
6,1.1548428566369593,49.28480094220448
|
| 9 |
+
7,1.1749150225201124,49.27981959744876
|
| 10 |
+
8,1.1926883693921488,49.26589685451497
|
| 11 |
+
9,1.1990667273536113,49.25355046023854
|
| 12 |
+
10,1.1942595928679394,49.239224039250935
|
| 13 |
+
11,1.1752349093019798,49.226423507163965
|
| 14 |
+
12,1.1618553460754475,49.213723894590444
|
| 15 |
+
13,1.154225651420062,49.19934701384611
|
| 16 |
+
14,1.1577814492118113,49.18695015981296
|
| 17 |
+
15,1.1501517545564255,49.17257327906862
|
| 18 |
+
16,1.1649977930270288,49.16037826406237
|
| 19 |
+
17,1.1714808992202108,49.14625368210168
|
| 20 |
+
18,1.1750366970119601,49.133856828068524
|
| 21 |
+
19,1.1815198032051422,49.11973224610783
|
| 22 |
+
20,1.1908254695680376,49.10565812390386
|
| 23 |
+
21,1.2028489478689277,49.09341264914088
|
| 24 |
+
22,1.2228163655203614,49.090209492069434
|
| 25 |
+
23,1.2427837831717952,49.08700633499799
|
| 26 |
+
24,1.2576298216423987,49.074811319991746
|
| 27 |
+
25,1.2777019875255515,49.069829975236026
|
| 28 |
+
26,1.2982978945673014,49.05595769205897
|
| 29 |
+
27,1.3186843051456127,49.04564178425045
|
| 30 |
+
28,1.333530343616216,49.0334467692442
|
| 31 |
+
29,1.3511989422565334,49.02130221399468
|
| 32 |
+
30,1.3575773002179958,49.00895581971825
|
| 33 |
+
31,1.38089101919774,48.99691218398219
|
| 34 |
+
32,1.4012774297760513,48.986596276173664
|
| 35 |
+
33,1.4162282164783742,48.97262307348315
|
| 36 |
+
34,1.414138893930696,48.96012529993654
|
| 37 |
+
35,1.4121543196147375,48.94584933870566
|
| 38 |
+
36,1.4212504895141944,48.93533159187023
|
| 39 |
+
37,1.4332739678150843,48.92308611710726
|
| 40 |
+
38,1.436934513838553,48.90891107538983
|
| 41 |
+
39,1.4515710558457176,48.90027243575213
|
| 42 |
+
40,1.466102849621163,48.893411983798686
|
| 43 |
+
41,1.4751990195206197,48.88289423696325
|
| 44 |
+
42,1.4703918850349478,48.86856781597565
|
| 45 |
+
43,1.456907573576696,48.8576463910864
|
| 46 |
+
44,1.4345365886824262,48.853686337664044
|
| 47 |
+
45,1.4149881639578699,48.84977674399841
|
| 48 |
+
46,1.3987860405616241,48.83702667166816
|
| 49 |
+
47,1.3768340485942319,48.82595386750873
|
| 50 |
+
48,1.3661722973056936,48.81508290237621
|
| 51 |
+
49,1.3698328433291622,48.80090786065878
|
| 52 |
+
50,1.3818563216300521,48.78866238589581
|
| 53 |
+
51,1.3855168676535206,48.77448734417839
|
| 54 |
+
52,1.3947177857846969,48.76219140965868
|
| 55 |
+
53,1.4175077636058444,48.759038712343965
|
| 56 |
+
54,1.4267086817370207,48.74674277782427
|
| 57 |
+
55,1.4275466675907755,48.732517276350116
|
| 58 |
+
56,1.4340297737839576,48.718392694389415
|
| 59 |
+
57,1.4375855715757067,48.705995840356266
|
| 60 |
+
58,1.4580767303857374,48.693901744863474
|
| 61 |
+
59,1.4672776485169137,48.68160581034377
|
| 62 |
+
60,1.4848414989255114,48.67123944277852
|
| 63 |
+
61,1.50219585287067,48.66442945058181
|
| 64 |
+
62,1.5249858306918176,48.66127675326709
|
| 65 |
+
63,1.5425496811004151,48.65091038570184
|
| 66 |
+
64,1.5655491553850012,48.644201313018584
|
| 67 |
+
65,1.574854821747897,48.63012719081461
|
| 68 |
+
66,1.5755880593699323,48.617679877024734
|
| 69 |
+
67,1.5820711655631143,48.603555295064034
|
| 70 |
+
68,1.5969172040337178,48.591360280057785
|
| 71 |
+
69,1.609045430566327,48.57733661761055
|
| 72 |
+
70,1.6182463486975034,48.56504068309084
|
| 73 |
+
71,1.613439214211831,48.55071426210324
|
| 74 |
+
72,1.6141724518338667,48.53826694831336
|
| 75 |
+
73,1.6065427571784814,48.52389006756902
|
| 76 |
+
74,1.5844860169793695,48.51459545109386
|
| 77 |
+
75,1.5767515740922642,48.50199675803379
|
| 78 |
+
76,1.5606541989277378,48.487468498019275
|
| 79 |
+
77,1.5411057742031815,48.48355890435365
|
| 80 |
+
78,1.5220810906372222,48.47075837226667
|
| 81 |
+
79,1.5228143282592579,48.458311058476795
|
| 82 |
+
80,1.52929743445244,48.444186476516094
|
| 83 |
+
81,1.5272081119047618,48.43168870296949
|
| 84 |
+
82,1.5167558570796627,48.41726136246842
|
| 85 |
+
83,1.520416403103131,48.403086320751
|
| 86 |
+
84,1.5183270805554532,48.39058854720439
|
| 87 |
+
85,1.495851347429464,48.3884066814663
|
| 88 |
+
86,1.4794397275697793,48.37921298450459
|
| 89 |
+
87,1.4591580652231875,48.38775070462884
|
| 90 |
+
88,1.438981151108315,48.39451023706883
|
| 91 |
+
89,1.4160864250554484,48.39944112206782
|
| 92 |
+
90,1.4097080670939857,48.41178751634425
|
| 93 |
+
91,1.3870228375045577,48.4131620259747
|
| 94 |
+
92,1.3637091185248136,48.42520566171076
|
| 95 |
+
93,1.3461452681162158,48.43557202927601
|
| 96 |
+
94,1.32314579383163,48.44228110195927
|
| 97 |
+
95,1.3030736279484767,48.44726244671498
|
| 98 |
+
96,1.283734699687359,48.439796477680815
|
| 99 |
+
97,1.263976778499364,48.43944325938372
|
| 100 |
+
98,1.2413962971416557,48.43903958132991
|
| 101 |
+
99,1.2295823153042047,48.44772868072434
|
| 102 |
+
100,1.2147362768336012,48.45992369573059
|
| 103 |
+
101,1.1945593627187288,48.466683228170574
|
| 104 |
+
102,1.1773097570052893,48.471715032683015
|
| 105 |
+
103,1.1545197791841417,48.47486772999773
|
| 106 |
+
104,1.1346571097644276,48.47629269938491
|
| 107 |
+
105,1.1116576354798415,48.48300177206817
|
| 108 |
+
106,1.0915854695966885,48.487983116823884
|
| 109 |
+
107,1.0685859953121022,48.49469218950714
|
| 110 |
+
108,1.048723325892388,48.49611715889432
|
| 111 |
+
109,1.0285464117775156,48.5028766913343
|
| 112 |
+
110,1.005756433956368,48.50602938864902
|
| 113 |
+
111,0.9885068282429286,48.51106119316147
|
| 114 |
+
112,0.9657168504217813,48.514213890476185
|
| 115 |
+
113,0.9455399363069089,48.52097342291617
|
| 116 |
+
114,0.9226452102540422,48.525904307915155
|
| 117 |
+
115,0.9028872890660473,48.52555108961806
|
| 118 |
+
116,0.8797830665497418,48.53403834998559
|
| 119 |
+
117,0.8597109006665887,48.539019694741306
|
| 120 |
+
118,0.8372351675405996,48.53683782900322
|
| 121 |
+
119,0.8146546861828909,48.5364341509494
|
datasets/centerlines/risle_centerline.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
datasets/hydrometric/discharge_observations.csv
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bdc0c09df588962065b029d2a46ca149654a1bb6ae3c7ddfec81564de96be2fc
|
| 3 |
+
size 15544423
|
datasets/hydrometric/discharge_observations.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:378b64b0e3f7d76880449af583f2e5ccff1a759d8ce79dacc80de0aaa4caa7ca
|
| 3 |
+
size 51952533
|
datasets/hydrometric/download_log.txt
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 0 |
|
| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
|
| 9 |
|
| 10 |
|
| 11 |
|
| 12 |
|
| 13 |
|
| 14 |
|
| 15 |
|
| 16 |
|
| 17 |
|
| 18 |
|
| 19 |
|
| 20 |
|
| 21 |
|
| 22 |
|
| 23 |
|
| 24 |
|
| 25 |
|
| 26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
|
| 29 |
|
| 30 |
|
| 31 |
|
| 32 |
|
| 33 |
|
| 34 |
|
| 35 |
|
| 36 |
|
| 37 |
|
| 38 |
|
| 39 |
|
| 40 |
|
| 41 |
|
| 42 |
|
| 43 |
|
| 44 |
|
| 45 |
|
| 46 |
|
| 47 |
|
| 48 |
|
| 49 |
|
| 50 |
|
| 51 |
|
| 52 |
|
| 53 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Downloading hydrometric data for 27 stations...
|
| 2 |
+
Output: datasets/hydrometric
|
| 3 |
+
|
| 4 |
+
================================================================================
|
| 5 |
+
DOWNLOADING DISCHARGE (Q)
|
| 6 |
+
================================================================================
|
| 7 |
+
|
| 8 |
|
| 9 |
|
| 10 |
|
| 11 |
|
| 12 |
|
| 13 |
|
| 14 |
|
| 15 |
|
| 16 |
|
| 17 |
|
| 18 |
|
| 19 |
|
| 20 |
|
| 21 |
|
| 22 |
|
| 23 |
|
| 24 |
|
| 25 |
|
| 26 |
|
| 27 |
|
| 28 |
|
| 29 |
|
| 30 |
|
| 31 |
|
| 32 |
|
| 33 |
|
| 34 |
|
| 35 |
+
Error 206
|
| 36 |
+
β H602021010: No data
|
| 37 |
+
β H605641401: 8824 observations
|
| 38 |
+
β H620021010: 8050 observations
|
| 39 |
+
Error 206
|
| 40 |
+
β H623021010: No data
|
| 41 |
+
β H600021010: No data
|
| 42 |
+
β H603021010: No data
|
| 43 |
+
β H605021010: 7654 observations
|
| 44 |
+
β H605022010: 11689 observations
|
| 45 |
+
β H605641101: 5278 observations
|
| 46 |
+
β H605641201: 5888 observations
|
| 47 |
+
β H606000101: 57 observations
|
| 48 |
+
β H623022010: 5163 observations
|
| 49 |
+
β H402021010: No data
|
| 50 |
+
β H403301101: 7190 observations
|
| 51 |
+
β H404021010: 947 observations
|
| 52 |
+
β H420021010: No data
|
| 53 |
+
β H420021011: 12427 observations
|
| 54 |
+
Error 206
|
| 55 |
+
β H403021010: No data
|
| 56 |
+
β H404021101: 13673 observations
|
| 57 |
+
β H414000201: No data
|
| 58 |
+
Error 206
|
| 59 |
+
β H416021010: No data
|
| 60 |
+
β H420021012: 4557 observations
|
| 61 |
+
Error 206
|
| 62 |
+
β H426021010: No data
|
| 63 |
+
β H426021201: No data
|
| 64 |
+
β H431021010: 9821 observations
|
| 65 |
+
Error 206
|
| 66 |
+
β H432021010: No data
|
| 67 |
+
Error 206
|
| 68 |
+
β H438021010: No data
|
| 69 |
+
|
| 70 |
+
β Discharge: 101218 total observations
|
| 71 |
+
Stations: 14
|
| 72 |
+
Date range: 1969-01-01 to 2026-08-12
|
| 73 |
+
|
| 74 |
+
================================================================================
|
| 75 |
+
DOWNLOADING WATER LEVEL (H)
|
| 76 |
+
================================================================================
|
| 77 |
+
|
| 78 |
|
| 79 |
|
| 80 |
|
| 81 |
|
| 82 |
|
| 83 |
|
| 84 |
|
| 85 |
|
| 86 |
|
| 87 |
|
| 88 |
|
| 89 |
|
| 90 |
|
| 91 |
|
| 92 |
|
| 93 |
|
| 94 |
|
| 95 |
|
| 96 |
|
| 97 |
|
| 98 |
|
| 99 |
|
| 100 |
|
| 101 |
|
| 102 |
|
| 103 |
|
| 104 |
|
| 105 |
+
Error 206
|
| 106 |
+
β H602021010: No data
|
| 107 |
+
β H605641401: 8824 observations
|
| 108 |
+
β H620021010: 8050 observations
|
| 109 |
+
Error 206
|
| 110 |
+
β H623021010: No data
|
| 111 |
+
β H600021010: No data
|
| 112 |
+
β H603021010: No data
|
| 113 |
+
β H605021010: 7654 observations
|
| 114 |
+
β H605022010: 11689 observations
|
| 115 |
+
β H605641101: 5278 observations
|
| 116 |
+
β H605641201: 5888 observations
|
| 117 |
+
β H606000101: 57 observations
|
| 118 |
+
β H623022010: 5163 observations
|
| 119 |
+
β H402021010: No data
|
| 120 |
+
β H403301101: 7190 observations
|
| 121 |
+
β H404021010: 947 observations
|
| 122 |
+
β H420021010: No data
|
| 123 |
+
β H420021011: 12427 observations
|
| 124 |
+
Error 206
|
| 125 |
+
β H403021010: No data
|
| 126 |
+
β H404021101: 13673 observations
|
| 127 |
+
β H414000201: No data
|
| 128 |
+
Error 206
|
| 129 |
+
β H416021010: No data
|
| 130 |
+
β H420021012: 4557 observations
|
| 131 |
+
Error 206
|
| 132 |
+
β H426021010: No data
|
| 133 |
+
β H426021201: No data
|
| 134 |
+
Error 500
|
| 135 |
+
β H431021010: No data
|
| 136 |
+
Error 206
|
| 137 |
+
β H432021010: No data
|
| 138 |
+
Error 206
|
| 139 |
+
β H438021010: No data
|
| 140 |
+
|
| 141 |
+
β Water level: 91397 total observations
|
| 142 |
+
Stations: 13
|
| 143 |
+
Date range: 1969-01-01 to 2026-08-12
|
| 144 |
+
|
| 145 |
+
================================================================================
|
| 146 |
+
DOWNLOAD COMPLETE
|
| 147 |
+
================================================================================
|
| 148 |
+
Files saved to: datasets/hydrometric
|
| 149 |
+
|
| 150 |
+
Files created:
|
| 151 |
+
- station_metadata.csv (0.0 MB)
|
| 152 |
+
- waterlevel_observations.csv (13.4 MB)
|
| 153 |
+
- download_summary.json (0.0 MB)
|
| 154 |
+
- discharge_observations.json (49.5 MB)
|
| 155 |
+
- download_pid.txt (0.0 MB)
|
| 156 |
+
- station_metadata.json (0.0 MB)
|
| 157 |
+
- discharge_observations.csv (14.8 MB)
|
| 158 |
+
- waterlevel_observations.json (44.7 MB)
|
| 159 |
+
- download_log.txt (0.0 MB)
|
datasets/hydrometric/download_pid.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
43075
|
datasets/hydrometric/download_summary.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"download_date": "2026-08-13T22:11:14.029275",
|
| 3 |
+
"num_stations": 27,
|
| 4 |
+
"stations_with_metadata": 0,
|
| 5 |
+
"historical_data": {
|
| 6 |
+
"QmJ": 0,
|
| 7 |
+
"QIJ": 0,
|
| 8 |
+
"HIJ": 0,
|
| 9 |
+
"QmM": 0,
|
| 10 |
+
"QIM": 0,
|
| 11 |
+
"HIM": 0
|
| 12 |
+
},
|
| 13 |
+
"realtime_observations": 0
|
| 14 |
+
}
|
datasets/hydrometric/waterlevel_observations.csv
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6d65f98eb9c9e9f8d4b02acfb329133c722acbc72b0e8c83c0df18375bd61bc4
|
| 3 |
+
size 14030867
|
datasets/hydrometric/waterlevel_observations.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8899387fe06ebdd592b96f7f20e7c1d6f6e08248c245c29d928150b6085834ee
|
| 3 |
+
size 46900156
|
datasets/reach_graph/eure_edges.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
datasets/reach_graph/eure_nodes.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
datasets/reach_graph/risle_edges.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
datasets/reach_graph/risle_nodes.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
datasets/safran/download_log.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
datasets/safran/download_pid.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
26979
|