Home / Science / Weather, ocean and climate / Hydrology and water resources / Rain gauge network averageTool #150

Rain gauge network average: catchment rainfall by Thiessen polygons, with weights, map and missing readings

Turn point rain gauge readings into one rainfall figure for a whole catchment. Each gauge stands for the part of the catchment closest to it (its Thiessen polygon). Paste or open the boundary and the gauges, with any number of storms or days as columns. Get the areal rainfall, each gauge's area and weight, a map, and a comparison with the plain average. Missing readings redraw the polygons.

Keep it one tap away for everyday use.

Bookmark Rain gauge network average?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Boundary
  2. Gauges
  3. Polygons
  4. Average
Nothing is uploadedWorks offline once open

Catchment and gauges

Use one coordinate system for both. With longitude and latitude, the tool projects them onto a flat map around the middle of your points, which is fine for a catchment up to a few hundred kilometres across. The boundary is the corners in order around the edge (do not repeat the first one at the end). Each rain column is one storm, day or month. Leave a cell blank when a gauge has no reading, and that gauge is left out of that column with the polygons redrawn. Gauges just outside the catchment still count for the part of it they are nearest to. Up to 2,000 gauges and 20,000 boundary corners. The example is made up.

Catchment rainfall

Every column

Download

What it does

A rain gauge measures rain at one point, but floods, water balances and runoff models need the rain over a whole catchment. If the gauges are spread unevenly, a plain average gives a cluster of gauges in one corner too much say.

The Thiessen polygon method fixes this. Every point in the catchment is given to its nearest gauge. Each gauge then stands for its own patch, its Thiessen polygon, and its reading is weighted by that patch’s share of the catchment area. The weighted sum is the areal rainfall.

How to use it

  1. Choose the coordinates: kilometres, metres, or longitude and latitude. Use the same system for the boundary and the gauges.
  2. Give the catchment boundary as its corners in order around the edge, one “x, y” per row. You can paste it or open a CSV, TXT or Excel file, for example corners exported from a GIS.
  3. Give the gauges: an optional name, then x, y, and one or more rain columns. Each column can be a storm, a day or a month.

The tool redraws as you type.

What you get

  • Catchment rainfall (Thiessen) for the chosen column, in mm.
  • Plain average of the gauges, both for all of them and for only those inside the catchment, and the difference. A big difference means the gauge spread matters.
  • Catchment area and rain volume (rainfall × area).
  • A map showing the boundary, each gauge’s polygon (darker for more rain) and each reading.
  • A table of each gauge’s rain, cell area and weight.
  • Every column at once, when you give more than one.
  • A CSV download of the weights and means.

Missing readings. Leave a cell blank when a gauge has no reading. That gauge is dropped for that column only, and the polygons are redrawn without it, so its neighbours take over its area.

Gauges outside the catchment still count for any part of the catchment they are nearest to. That is often right for a gauge just over the ridge. A gauge whose cell misses the catchment entirely gets weight 0.

Worked example

The made-up catchment covers 125 km², with six gauges inside and one (Road Depot) just outside.

For storm 1:

  • The Thiessen weights run from 22.98 % (School) down to 0.14 % (Road Depot).
  • The catchment rainfall is 31.0 mm, a volume of about 3.87 million m³.
  • The plain average of all seven gauges is 30.6 mm. For the six inside, it is 30.0 mm.

For storm 2, School has no reading:

  • School’s cell is shared out among its neighbours. Mill’s weight rises to 24.75 % and North Fell’s to 24.86 %.
  • The catchment rainfall is 15.8 mm, against a plain average of 16.2 mm.

FAQs

Is Thiessen better than a plain average? Usually, when gauges are unevenly spread. It still ignores hills, which often get more rain. Methods that follow the terrain, such as isohyets drawn by hand or interpolation with elevation, can do better where there is a strong relief effect.

Can I use longitude and latitude? Yes. The tool projects them onto a flat map around the middle of your points. That is accurate enough for catchments up to a few hundred kilometres across. For bigger areas, use projected coordinates such as UTM.

Does the boundary need to be convex? No. Any simple outline works, as long as it does not cross itself.

Is my data uploaded? No. Files open and stay in your browser.

Where the numbers come from

  • Thiessen polygon (Voronoi) method for areal rainfall: standard hydrology textbook method (Thiessen, 1911).
  • Geometry: half-plane clipping of the catchment polygon (Sutherland–Hodgman) and the shoelace area, written by fibub. Checked in the tests against shapely 2.2 (Voronoi diagram intersected with the catchment).
  • Longitude and latitude are projected onto a local flat map (111.32 km per degree of longitude times the cosine of latitude, 110.574 km per degree of latitude). The example catchment, gauges and rain are made up.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Change log for Rain gauge network average

  1. Add the rain gauge network average (#150) Details on GitHub

Every change to fibub

Related tools

Detention pond router #155 Size a stormwater detention pond. Build the inflow with the modified rational method or paste a hydrograph, set the pond shape, orifice and overflow weir, and route the storm through it. See the peak outflow, how much it is cut, the highest water level, storage used and drain time. The tool can also find the orifice size that meets a target peak outflow. Rainfall runoff calculator #141 Estimate the peak flow from a small catchment with the rational method (Q = CiA, Kirpich time of concentration, your own rainfall intensity curve) and the runoff depth, volume and triangular hydrograph from the SCS (NRCS) curve number method, with dry, average and wet ground. Area-weighted C and CN for mixed land use. SI or US units. Water quality index #156 Turn a season of water lab results into one score from 0 to 100 using the CCME water quality index method. Enter the objectives that apply to your water and the results for each sample. See how many variables and tests failed and by how much, the score and its category, and which samples failed. Flood frequency analysis #142 Fit GEV, log-Pearson type III and Gumbel distributions to a record of annual peak flows to estimate the 10-, 100- or any-year flood, with bootstrap ranges, the return period of a given flow, the chance of a flood over a span of years, plotting positions and a Grubbs-Beck outlier screen. Paste or open a file. Evapotranspiration calculator #143 Work out daily reference evapotranspiration (ET0) with the FAO-56 Penman-Monteith equation from temperature, humidity, wind and sunshine or radiation, with shortcuts when humidity or radiation is missing, Hargreaves for comparison, crop water use with your own Kc, and a daily table you paste or open for a month or years of weather. Field sampling planner #158 Plan where to take field samples. Draw your site boundary, work out how many samples you need (to estimate an average, compare with an action level, or find a hot spot of a given size), and lay the points out on a square or triangular grid, stratified random or simple random. Download the points as CSV or as GPX for a GPS. Unit hydrograph builder #149 Build a unit hydrograph for a catchment from its area and time of concentration (a gamma curve with a peak rate factor, as in the SCS method, or a Nash cascade). Turn a series of excess rain into a storm hydrograph by convolution. Or derive the unit hydrograph from a storm you measured, with baseflow separation, a φ-index loss and a non-negative least-squares fit. Weather observer's log #899 Keep a daily weather diary in your browser: maximum and minimum temperature, rain, snow, wind, pressure, cloud and notes. See each month's averages, totals, rain days and frost days, charts, and your all-time records, and import or export it all as CSV. Your log never leaves this device.