Transparency
Methodology
This page covers two methodologies:
Part 1
Data Methodology
reservoirs.earth is built on official government data. This section explains exactly where the data comes from, how it is processed, and what its limitations are.
Fill levels & capacity
Reservoir data
Reservoir fill levels are sourced directly from official national hydrological bulletins published by each country's water authority. Data is updated weekly and covers all reservoirs above a minimum capacity threshold (typically 5 hm³).
Spain
Spanish data comes from the MITECO Boletín Hidrológico Semanal, published by the Ministry for Ecological Transition and the Demographic Challenge. MITECO aggregates readings from the 16 hydrographic confederations covering the entire Iberian Peninsula, Canary Islands and Balearic Islands.
The source database (BD-Embalses) covers 401 reservoirs with weekly readings going back to 1988. We download the full database weekly and recompute all derived metrics.
United States
US data is drawn from official federal and state government sources, combined into a unified dataset covering 41 states and over 540 reservoirs. All data is published by US government agencies and is in the public domain. reservoirs.earth does not modify the underlying measurements — it only aggregates, normalises units, and presents them visually.
Capacity is estimated as the highest observed storage reading over a two-year rolling window, since no single federal catalogue provides certified usable-capacity figures for all reservoirs. Fill percentage is computed as current storage divided by that estimated capacity. Lakes added from Water Data for Texas use the conservation capacity that board publishes.
California
Oregon · Idaho · Montana
All other states — primary
All other states — supplements
USACE CWMS covers 16 districts across the country and provides .Stor. timeseries in m³ (converted to acre-feet). BOR RISE supplements states where BOR operates dams not captured by USGS. Both sources are deduplicated against the primary USGS dataset.
Texas — supplement
Major Texas water-supply reservoirs that the federal feeds do not publish are read from Water Data for Texas. A lake already tracked — including a border lake filed under Louisiana, Oklahoma or New Mexico — is not added again.
States without data — and why
Nine states appear on the map but have no reservoir storage data. This is not a limitation of reservoirs.earth — it reflects the absence of public machine-readable storage gauges in federal systems for those states:
Delaware · Maine · Michigan · New Hampshire · New Jersey · Rhode Island · Vermont
No USGS parameterCd=00054 gauges exist for any reservoir in these states. USACE CWMS districts NAE (New England), NAN (New York) and LRE (Detroit) were also scanned — no .Stor. timeseries found. State-level agencies (NJ DEP, etc.) hold this data but do not expose it through public machine-readable APIs.
Alaska · Hawaii
No significant reservoirs tracked in any of the three federal databases (USGS NWIS, USACE CWMS, BOR RISE).
Utah and Nevada show partial data: their main reservoirs (Lake Powell, Lake Mead, Flaming Gorge) are operated by the Bureau of Reclamation and are subject to BOR RISE API rate limits during bulk data collection. Their readings are marked as pending and will be completed in a subsequent update.
Drought context — U.S. Drought Monitor
US state pages, the national page and Puerto Rico show the latest U.S. Drought Monitor (USDM) figures next to our storage figure. The USDM is a weekly map of drought conditions by area — rainfall, soil moisture, streamflow, snowpack and local expert input, synthesised into five categories from D0 (abnormally dry) to D4 (exceptional drought). It is produced by the National Drought Mitigation Center at the University of Nebraska-Lincoln with USDA, NOAA and NASA, released on Thursdays and valid through the preceding Tuesday.
It is not a reservoir reading. Reservoir storage is one of the Monitor's inputs and lags it by months, which is why the two are shown side by side: a state can be in drought with full reservoirs, or out of drought with empty ones.
Per-reservoir category. Each US and Puerto Rico reservoir page also shows the USDM category of the ground at the reservoir's coordinates, found by a point-in-polygon test against the week's published map geometry. “Lake X is in a D2 area” means the land around the dam is classed as severe drought; it says nothing about how full the lake is. The storage answer to the same question is the reservoir's fill against its own average for that calendar month (“% of month average”), computed from our readings on record and shown alongside.
Drought context — Copernicus drought observatories (other countries)
Outside the United States there is no equivalent of the weekly Drought Monitor with public, machine-readable geometry. For every other country whose reservoirs we locate by coordinates we therefore read two open rasters from the European Commission's Joint Research Centre, published through the Copernicus European and Global Drought Observatories, at each reservoir's coordinates:
SPI-3 (Standardized Precipitation Index, three-month accumulation; Global Drought Observatory, ERA5 reanalysis, 0.25° grid, every ten days). It compares the last three months of rainfall with the long-run record for the same season at that point. 0 is the median; −1 is a dry spell seen about one year in six, −2 one in forty. We class it with the standard McKee / WMO thresholds: ≤ −2 extremely dry, −2 to −1.5 severely dry, −1.5 to −1 moderately dry, −1 to 1 near normal, and the mirror image for wet. On the pages this is worded in rainfall terms rather than index values: “much less rain than normal” is SPI-3 ≤ −1 (drier than about five in six of the same seasons on record), “extremely little” is ≤ −2 (drier than about thirty-nine in forty); the index value itself is given in the small print.
CDI (Combined Drought Indicator; European Drought Observatory, ~4.6 km grid, every ten days), for the European countries only. It combines rainfall, soil moisture and satellite vegetation into stages: Watch (rainfall deficit), Warning (soil-moisture deficit), Alert (vegetation stress), and recovery stages as the deficit eases. It is the nearest European equivalent to the USDM categories.
Share of area. Country pages lead with the share of the country's land area in each SPI-3 class (and each CDI stage in Europe), the same shape as the Drought Monitor's “% of the state in drought”: every grid cell whose centre falls inside the country outline (Natural Earth 1:50m, public domain) is counted, weighted by the cosine of its latitude so cells near the equator count for the land they actually cover; cells without data (sea, masked) are left out of the denominator. SPI-3 ≤ −1 is roughly the band the Monitor maps as D1 or worse, so the two headline figures read alike, though the Monitor also weighs soil moisture, streamflow and local reports. Countries that span fewer than 20 cells of the 0.25° grid (Hong Kong, Cyprus) are too small for an area share to mean anything, so their cards show the share of tracked reservoir sites instead. Every card also counts how many tracked reservoir sites sit in each class; reservoir pages show the values at that site next to the fill against its own month average. As with the USDM, these are ground conditions, not storage. Norway, Finland, New Zealand and France are not covered because their figures are price-area or basin totals, not located reservoirs, and a single grid cell cannot stand for a whole area; Czechia, Greece and Morocco are not covered because their sources publish no coordinates.
Data responsibility disclaimer
All US reservoir data shown on reservoirs.earth originates from official US federal government agencies (USGS, USACE, BOR, CA DWR). reservoirs.earth is an independent project that collects, processes and aggregates this public-domain data solely to make it more visually accessible. We are not affiliated with any of these agencies, we do not alter the underlying measurements, and we accept no responsibility for the accuracy, completeness or timeliness of the source data. For authoritative figures, always consult the original agency source directly.
Portugal
Portuguese data is sourced from SNIRH (Sistema Nacional de Informação de Recursos Hídricos), operated by APA (Agência Portuguesa do Ambiente), the national water authority under the Ministry for Environment and Climate Action. SNIRH publishes weekly reservoir storage bulletins for all 8 hydrographic regions (Regiões Hidrográficas RH1–RH8) covering the continental territory.
Data is retrieved by parsing the structured HTML tables published on the SNIRH web portal. No dedicated public REST API exists; all extraction is done against the official published HTML. Capacity figures and coordinates come from the official SNIRH Características das Albufeiras register and APA public records. reservoirs.earth does not modify any of the underlying measurements — it only aggregates, normalises and presents them visually.
Data responsibility disclaimer
All Portuguese reservoir data shown on reservoirs.earth originates from SNIRH / APA, an official Portuguese Government agency. reservoirs.earth is an independent project that collects, processes and aggregates this publicly available data solely to make it more visually accessible. We are not affiliated with APA or any Portuguese government body, we do not alter the underlying measurements, and we accept no responsibility for the accuracy, completeness or timeliness of the source data. For authoritative figures, always consult SNIRH directly.
Brazil
Brazilian data is sourced from ONS (Operador Nacional do Sistema Elétrico), the Brazilian electricity grid operator that monitors hydropower reservoir levels nationwide as part of its grid-balancing mandate. ONS publishes daily hydrological data as open CSV files on its public S3 bucket.
Reservoir metadata
Daily readings
Only reservoirs with a total capacity ≥ 200 hm³ are included, to exclude small run-of-river plants that do not contribute meaningfully to storage. Reservoirs are grouped by ONS subsystem (Norte, Nordeste, Sudeste/Centro-Oeste, Sul) and by Brazilian state. reservoirs.earth does not modify any of the underlying measurements.
Data responsibility disclaimer
All Brazilian reservoir data shown on reservoirs.earth originates from ONS, an official Brazilian federal body. reservoirs.earth is an independent project that collects, processes and aggregates this publicly available data solely to make it more visually accessible. We are not affiliated with ONS or any Brazilian government body, we do not alter the underlying measurements, and we accept no responsibility for the accuracy, completeness or timeliness of the source data. For authoritative figures, always consult dados.ons.org.br directly.
India
Indian data is sourced from two official government portals that together cover the country's major storage reservoirs:
Primary — CWC Weekly Storage Bulletin
The CWC bulletin and its portal are only accessible from Indian IP addresses. Outside India, the build script uses the data.gov.in CWC API as a globally accessible fallback (free registration required; resource ID 65bc6185-0f45-4932-b86b-6cbb03d39e54).
Supplement — Maharashtra WRD Portal
Also only accessible from Indian IP addresses. Data is retrieved via ASP.NET UpdatePanel async postback.
Data responsibility disclaimer
All Indian reservoir data shown on reservoirs.earth originates from the Central Water Commission and the Maharashtra Water Resources Department, both official Indian Government bodies. reservoirs.earth is an independent project that collects, processes and aggregates this publicly available data solely to make it more visually accessible. We are not affiliated with CWC, WRD or any Indian government body, we do not alter the underlying measurements, and we accept no responsibility for the accuracy, completeness or timeliness of the source data. For authoritative figures, always consult cwc.gov.in directly.
South Africa
South African data is sourced from the Department of Water and Sanitation (DWS) weekly province dam-level bulletin pages. DWS publishes structured HTML tables for each of South Africa's 9 provinces every Tuesday or Wednesday. No dedicated public API exists; data is extracted by parsing the official HTML.
Reservoir coordinates, river names and engineering metadata (dam height, dam type, year built) are enriched from the publicly available DWS National Integrated Asset Management register and GRanD (Global Reservoir and Dam) database v1.3. reservoirs.earth does not modify any of the underlying measurements.
Data responsibility disclaimer
All South African reservoir data shown on reservoirs.earth originates from the Department of Water and Sanitation, an official South African Government department. reservoirs.earth is an independent project that collects, processes and aggregates this publicly available data solely to make it more visually accessible. We are not affiliated with DWS or any South African government body, we do not alter the underlying measurements, and we accept no responsibility for the accuracy, completeness or timeliness of the source data. For authoritative figures, always consult dws.gov.za directly.
Pakistan
Pakistani data is sourced from the daily water situation reports published by IRSA (Indus Rivers System Authority), the federal body responsible for managing and distributing Indus basin water among Pakistan's four provinces. IRSA publishes a PDF report each day (typically with a 2-day lag) containing current water levels for the country's main storage dams.
Water levels are provided in feet. Stored volume is WAPDA's usable (live) storage, not gross storage. On days WAPDA published a usable figure, that figure is stored. Every other day reads the IRSA level through a piecewise-linear curve fitted to that reservoir's 2026 WAPDA level and usable-storage pairs. The national figure adds the three usable volumes and divides by the three usable capacities. Only the most recent ~10 days of PDFs are available on the IRSA server at any given time.
Tarbela's usable capacity is 5.580 million acre-feet (6,882.8 hm³). That is the water above the 1,402 ft minimum operating level when the reservoir is at the 1,550 ft conservation level. Flood Forecasting Division bulletin 124/26 of 15 October 2026 also prints 6.511 million acre-feet live, beside 0.960 million acre-feet dead at dead level 1,380 ft. The same bulletin prints 3.875 million acre-feet and 69.44%. 3.875 divided by 5.580 is 69.44%. 3.875 divided by 6.511 is 59.5%. The 6.511 figure reaches down to the dead level. The usable series starts at the minimum operating level, so 5.580 is the denominator. Chashma's usable capacity, 0.311 million acre-feet, is the live figure APP reports from WAPDA beside that 5.580.
Reservoirs covered
These three are the storage reservoirs for which IRSA publishes a daily level.
Data responsibility disclaimer
Pakistani reservoir levels come from IRSA. Usable storage is WAPDA's published figure on days it printed one, and the IRSA level read through a curve fitted to those published pairs on the other days. reservoirs.earth is an independent project that collects and aggregates this publicly available data solely to make it more visually accessible. We are not affiliated with IRSA, WAPDA or any Pakistani government body, a published WAPDA volume is stored as printed, and we accept no responsibility for the accuracy, completeness or timeliness of the source data. For authoritative figures, consult pakirsa.gov.pk and WAPDA directly.
Australia
Australian data is sourced entirely from the Bureau of Meteorology (BOM), the Australian Government's official national weather, climate and water agency. Two complementary BOM services are used together:
Reservoir metadata — BOM ArcGIS Water Storages layer
Storage readings — BOM KiWIS Water Data Online
State agencies (WaterNSW, Melbourne Water, Seqwater, SunWater, SA Water, Water Corporation WA, Hydro Tasmania, etc.) report storage data to BOM under legal obligation established by the Water Act 2007 and Water Regulations 2008. BOM consolidates this into Water Data Online — the Australian equivalent of the US USGS NWIS system.
Capacity figures are sourced from the BOM ArcGIS layer (total design capacity, not estimated from historical maximums). Fill percentage is computed as current storage volume divided by total design capacity.
Data responsibility disclaimer
All Australian reservoir data shown on reservoirs.earth originates from the Bureau of Meteorology, an official Australian Government agency. reservoirs.earth is an independent project that collects, processes and aggregates this publicly available data solely to make it more visually accessible to any user who needs it. We are not affiliated with the Bureau of Meteorology or any Australian government body, we do not alter the underlying measurements, and we accept no responsibility for the accuracy, completeness or timeliness of the source data. Data is reproduced under the terms of the Creative Commons Attribution 4.0 licence and attributed as © Commonwealth of Australia (Bureau of Meteorology). For authoritative figures, always consult BOM Water Data Online directly.
Other countries (planned)
We plan to add more countries as standardised open datasets become available. The architecture is country-agnostic: each country maps to a region → reservoir hierarchy with the same fill-level schema.
How numbers are calculated
Derived metrics
Fill percentage
Fill percentage is calculated directly from the source data as:
Both values come from the official bulletin. Total capacity may change over time if a reservoir is modified or its survey is revised; we always use the capacity reported in the same weekly reading.
Status thresholds
Status labels are derived from fill percentage:
Historical monthly average
For each reservoir we compute the mean fill percentage for each calendar month across all available years (1988–present). This gives 12 reference values used to contextualise the current reading against the historical norm. It is updated whenever the full database is refreshed.
Regional aggregates
Regional and national fill figures are capacity-weighted: total water in storage divided by total capacity across the reservoirs in scope, at the time of the latest reading. A large reservoir therefore counts far more than a small one — consistent with the Reservoir Transparency Index, which scores coverage by capacity rather than by reservoir count.
Precipitation & forecasts
Weather data
Meteorological context is provided by Open-Meteo, a free and open-source weather API that aggregates numerical weather model output. No API key is required.
For each reservoir we query the Open-Meteo Forecast API using the reservoir's coordinates, requesting:
- ·
precipitation_sum — daily precipitation (mm), past 30 days + 14-day forecast - ·
temperature_2m_mean — mean daily air temperature (°C) - ·
et0_fao_evapotranspiration — reference evapotranspiration (mm/day), proxy for reservoir evaporation - ·
snow_depth_water_equivalent_max — snowpack water equivalent (mm), relevant for Alpine and Pyrenean basins
Weather data is fetched on demand per reservoir page, cached for 1 hour server-side, and used to display a 44-day precipitation chart (30 past + 14 forecast) alongside a qualitative trend indicator. Responses are proxied through an internal API route to avoid CORS and to apply caching.
Coordinates & administrative boundaries
Geocoding
Reservoir coordinates (latitude / longitude) are obtained from official sources where available, or reverse-geocoded using Nominatim (OpenStreetMap's geocoding service). Province and autonomous community assignments are derived from the same Nominatim reverse-geocoding step.
Community boundary polygons used in the choropleth map are sourced from click_that_hood (MIT licence), based on OpenStreetMap data.
Honesty first
Limitations & caveats
- !Data is updated weekly. Intra-week fluctuations (heavy rain, emergency releases) are not reflected.
- !Fill percentages above 100 % occur when reservoirs temporarily hold water above their nominal capacity (flood control). This is normal operating practice.
- !Historical averages include years of drought and flood. They are descriptive, not normative targets.
- !Weather forecasts beyond 7 days carry significant uncertainty and should be treated as indicative only.
- !82 reservoirs currently lack precise coordinates and appear only in confederation-level aggregates. Geocoding is in progress.
- !This site is not affiliated with any government body. All data originates from official government sources and is reproduced here for informational purposes only. We do not alter measurements and accept no responsibility for their accuracy. When in doubt, consult the original source agency directly.
How often data refreshes
Update schedule
Part 2 · v1.3.0
Reservoir Transparency Index (RTI) Methodology
The Reservoir Transparency Index scores each country on 7 weighted dimensions of water data openness. All evaluations are evidence-based, publicly auditable, and re-evaluated every six months (H1 / H2).
How to read this
What an RTI score means in 30 seconds
- ·The RTI is a 0–100 score measuring how openly a country publishes its national reservoir storage data.
- ·It is not a measure of water governance, climate performance, or how much water a country has — only data openness.
- ·The dominant component is Coverage (30% weight): share of total national reservoir storage capacity (Mm³) with public data.
- ·Countries with no significant reservoirs (Tuvalu, Vatican, Bahrain) are not rated — they are listed separately as N/A rather than given an F, because the absence of reservoirs is a geographic fact, not a transparency failure.
- ·Denominators (total national capacity) are estimated conservatively: adds 5–15% for private hydropower, irrigation, and industrial reservoirs typically excluded from official datasets.
Scoring formula
Total score
The total score is a weighted sum of the 7 dimension scores (each 0–100):
Dimensions
The 7 dimensions
Coverage
30%Capacity-weighted: % of total national reservoir storage capacity (Mm³) that has public data. Score = round(100 × covered_capacity / total_capacity).
Linear scale. No bands. The denominator is the sum of operating-storage capacity of all reservoirs in the country (use ICOLD World Register, AQUASTAT, or national dam authority). The numerator is the sum of capacity of reservoirs whose levels appear in any structured public data source. Run-of-river plants contribute ~0 to both numerator and denominator and effectively cancel out. Pumped-storage cycles are counted once at design capacity. Document both numbers in the justification.
Data Availability
20%Publication completeness and granularity for reservoirs whose capacity contributes to the covered total
Technical Accessibility
15%Machine-readability of the COVERED data — API availability, downloadable formats, open license
Historical Depth
13%Median years of accessible historical series across COVERED reservoirs (weighted by capacity, not count)
⚠ Score the MEDIAN across the covered capacity. If 90+ year records exist for a few small stations but the majority of covered capacity has only 5 years online, score 60-79.
Update Frequency
10%Typical refresh cadence for the COVERED capacity
Methodological Transparency
8%Public documentation of measurement methods, capacity figures, elevation-volume curves, QC procedures for COVERED reservoirs
Language and Usability
5%Language availability and UI quality across all published portals (independent of coverage)
Grades
Score to grade mapping
Worked examples
How scores combine — six examples
Example 1 — Spain (real country, A- tier)
MITECO covers ~56,000 of ~57,000 Mm³ total national capacity. Weekly cadence. Proprietary .mdb format. Spanish only. 38 years of history.
Lesson: Comprehensive capacity coverage + deep history carries Spain to A-. Limited only by proprietary format and Spanish-only delivery.
Example 2 — Jamaica (real country, capacity-weighted recovery)
Country has only 2 reservoirs (Mona 3.67 + Hermitage 1.78 Mm³, total ~5.5 Mm³). Under the OLD >10 hm³ threshold, both fell below cutoff → coverage = 0. Under capacity-weighted: NWC publishes both weekly → coverage ≈ 100% of national storage.
Lesson: Jamaica genuinely publishes its full reservoir stock weekly — the old methodology unfairly scored it 0 because both reservoirs were below 10 hm³. Capacity-weighting correctly recognises 'they publish everything they have'.
Example 3 — Hypothetical 'big country with weak coverage'
200,000 Mm³ total national capacity. Only 60,000 Mm³ is publicly reported, but those reservoirs have great APIs, 25 years history, daily updates.
Lesson: Coverage gap costs ~21 points vs perfect. Even with world-class quality on what is published, a country with 30% capacity coverage cannot crack the A tier.
Example 4 — Hypothetical 'wide but shallow' country
All reservoirs reported, but only via monthly PDFs, 5 years of history, local language. Total national capacity = 50,000 Mm³, all publicly tracked.
Lesson: Comprehensive reporting in poor formats earns a meaningful B-. Coverage matters most, but quality of delivery is still ~65% of the total weight.
Example 5 — Structural N/A (no reservoirs)
Country has no surface reservoirs — entirely desalination/groundwater economy (Bahrain, Tuvalu, Vatican).
Lesson: Structural N/A. Flag clearly in country narrative — this is not a governance failure, the country has no reservoirs to report.
Example 6 — Strategic withholding of dominant reservoir
Country has 200,000 Mm³ total capacity. One reservoir (160,000 Mm³, 80% of total) is treated as a state secret. The remaining 40,000 Mm³ across smaller reservoirs is reported monthly.
Lesson: Capacity-weighted coverage CORRECTLY punishes hiding the biggest reservoir. Under count-based methodology, reporting 19 of 20 reservoirs scored 95% — but capacity-weighted shows the truth: 80% of the country's water is invisible.
Common pitfalls
What NOT to do
- ✗DO NOT use count-based coverage (% of reservoirs above some threshold). Use capacity-weighted coverage (% of national storage Mm³).
- ✗DO NOT score historical_depth = 100 because one station has 90 years. Score the MEDIAN across the covered capacity.
- ✗DO NOT inflate technical_accessibility for paid/login-gated APIs. A documented but auth-gated REST API is at most 80, not 100.
- ✗DO NOT count tweets, social media posts, or one-off press releases as 'data'. The data must be structured and recurrent.
- ✗DO acknowledge structural N/A explicitly in the country narrative — these are not governance failures.
Changelog
Methodology versions
Coverage redefined from count-based (% of reservoirs >10 hm³) to CAPACITY-WEIGHTED (% of total national reservoir storage capacity covered by public data). Eliminates the arbitrary >10 hm³ threshold and resolves the structural-zero problem for micro-states (Jamaica, Cape Verde, etc.) and the small-country bias problem. Directly answers: 'What share of the country's water storage is publicly trackable?'
Weights rebalanced. Coverage is now the most heavily weighted dimension (30%, up from 15%) because it bounds the meaningfulness of every other dimension.
Coherence patch. Coverage is now strictly linear; quality dimensions scoped to the COVERED subset; assessed on the typical (median) reservoir, not the best example.
Initial release. 7 dimensions, 194 countries evaluated.