Fångstrapport.se
EN
About

Water temperature

Every catch and every water gets a water temperature from SMHI's open data. Here is exactly what sits behind the numbers.

Updated May 29, 2026

Where the data comes from

Water temperature in lakes and rivers comes from SMHI's hydrological model S-HYPE, through Vattenwebb — one daily modelled value per sub-catchment since 2016. It is a modelled value, which SMHI itself continues to develop and document.

For sea temperatures near the shore we use SMHI's marine observation stations — buoys, coastal gauges and ferry-box routes around the Swedish coast.

The data is downloaded from SMHI every night. We keep a historical archive copy, which drives the seasonal bands, and a rolling window copy, which drives the current views on catch and water pages. The source is stated on every page that shows a value: "Source: SMHI · CC BY-SA 4.0".

Three accuracy classes

We divide the waters into three classes, and every page states which one it belongs to:

  • Directly modelled waters — S-HYPE produces its own daily value for the sub-catchment. The best accuracy.
  • Nearest-neighbour water with a morphology adjustment — the nearest modelled water is used, adjusted for the water's own surface area, mean depth and height above sea level. Slightly lower accuracy.
  • Nearest-neighbour water without a morphology adjustment — mainly rivers. The nearest neighbour's value is used with an altitude adjustment. The lowest accuracy.

Between them, the classes cover almost every mapped lake and river in Sweden. Marine areas use the daily readings from the observation stations directly.

Surface and deeper water — two curves

On the water pages themselves, two curves are shown:

* The surface — an estimate of the temperature of the topmost centimetres, which warms faster in the sun and cools faster in cold rain and wind than the water below. * A second curve for deeper water, labelled differently depending on how deep the lake is: * `Bottom` on small shallow waters — the whole column moves together and the curves sit close. * `N m down` for lakes of middling depth — the label matches a depth around half the lake's mean depth. * `5 m down` for deep lakes — the angler's fishing depth rather than the bottom of the lake. * `Further down` for rivers with no known depth — the current usually mixes the column enough that the difference is small.

The difference between the curves is computed from the weather near the water over the last few days. It is an estimate, not a measurement.

On lakes that stratify strongly in summer, the surface can be several degrees warmer than the deeper water on a hot, windless afternoon — and colder in cold rain. On running rivers and in a strong wind the difference is minimal.

The daily model — hour by hour through the day

The daily chart under catch and water pages shows the two curves over a single day, from 00:00 to 24:00 local time. Both curves are worked out hour by hour from real weather measurements near the water.

The inputs to the daily model are:

  • Hourly air temperature, wind, solar radiation and cloud cover at the water.
  • The water's published S-HYPE value for that day and the day before — these set the start and end points, so that consecutive days join without a jump.
  • The water's size and depth — which govern how quickly the surface responds to sun and wind. Small shallow waters warm and cool fast; large deep ones move slowly.

The result is a modelled estimate of how the surface moved through the day. A cold clear dawn cools it; the afternoon sun lifts it; the calm air of the evening lets it down slowly. The chart therefore takes a different shape depending on the water and the weather: a windy overcast day gives small swings, a calm sunny day large ones.

The model is calibrated against thousands of measured surface temperatures at Swedish bathing places, so it usually sits within a couple of degrees of reality. When the weather turns sharply, the difference can be larger — worth keeping in mind. The numbers are a help, not the final word.

When the chart shows yesterday

The daily model needs measurements from all 24 hours. Early in the morning, before the first hours of the day have come in, the daily chart falls back to the most recent complete day and is labelled "Showing yesterday (DD Month)" or "Showing the most recent complete day".

As the day's measurements start to arrive, the day is recalculated: the observed part is drawn as a solid line, and the hours that have not happened yet are filled in from SMHI's weather forecast for the rest of the day — air temperature, wind and cloud cover — drawn as a dashed line. We used to assume instead that the weather simply held steady from the last measurement; the forecast gives a more accurate picture of how the rest of the day develops. When the night's round of measurements arrives, the dashed part becomes solid.

On catch pages the chart always draws the day of the catch itself, with a gold dot placed on the surface curve at the time the catch was logged.

Solid and dotted lines across the days

The 30-day curve is drawn up to today, while SMHI publishes its values with a delay of a couple of days. The most recent part of the curve, not yet published, is projected forward from the last published value and drawn dotted rather than solid.

  • A solid line = published by SMHI (modelled by S-HYPE).
  • A dotted line = our forward projection from the last published value, plus the weather of the last few days.

When SMHI publishes the missing days, the dotted part is replaced by a solid one at the next nightly update.

The inputs to the projection

The projection is driven by six inputs — all of them public, all from SMHI or from astronomical data:

  • The last published S-HYPE value for the water (or for its nearest neighbour) — the starting point.
  • Air temperature at the water's midpoint, from the nearest weather stations.
  • Solar radiation from SMHI's solar network — this drives both the daily swing and a slower warming of the whole column through sunny spells.
  • Wind, precipitation and cloud cover from the same station network — these contribute to the difference between surface and depth, and damp the daily swing when it blows.
  • The height of the sun above the horizon at that place — this affects how effectively the radiation warms the surface through the year and from north to south.
  • The water's morphology — surface area and mean depth for lakes — which govern how quickly the water responds both to air temperature over days and to the sun within a day.

Larger and deeper waters respond more slowly than small shallow ones. That is why a shallow tarn follows the air temperature quickly while a large deep lake moves sluggishly over weeks.

On clear sunny days the sun carries more weight than air temperature alone can capture: a daily mean mixes warm afternoons with cold dawns, but the surface feels the heat most when the sun is highest. The model takes that into account.

The sea — measured, not modelled

Lakes and rivers rest on a model, because there are no measurements of their surface temperature. The sea is the opposite: SMHI's marine observation stations — buoys, coastal gauges and ferry routes — measure the surface temperature for real, every hour. On the sea pages we therefore show readings, not calculations.

Each marine area takes its values from the nearest measuring station, and the page states which station that is and how far away it lies. We show three things:

  • The latest surface temperature and a 30-day curve against a seasonal band — the typical range for the time of year, built from many years of real measurements.
  • The surface temperature hour by hour over the last day — real readings from the buoy, not a modelled estimate. There is no caveat about uncertainty here: it is measured.
  • Deeper water, where the nearest buoy has a depth sensor. Many depth sensors no longer report continuously, so what is often shown instead is a historical seasonal mean for that depth — and where that is the case, the page says so explicitly.

Marine areas with no measuring station close enough get no temperature section at all. We do not guess.

Get started

Log your catch — about 30 seconds.

Report a catch

Read on