A north-east town recorded the lowest temperature in the UK today as parts of the UK enjoyed the hottest day the country has seen in 105 years.
The mercury was higher than in Madrid and Rome south of the border, peaking at 34.4C in Kent; but temperatures failed to surpass 14.5C in Lossiemouth.
Haar from the Moray Firth is said to have kept the town cool.
In Dyce a high of 21.6C was reached, the hottest in the north of Scotland, before cloud moved in to spoil the fine conditions.
Elsewhere Fyvie Castle reached 20.6C, Aviemore was just 15.1C and Braemar was 18.5C.
The warmest place in Scotland was Berwickshire, where temperatures reached 23.1C.
Thunderstorms and rain is also expected to pass into south-eastern Scotland overnight, but not move as far as the north-east.
And forecasters said the best chance of a bit of sunshine tomorrow would be on the Isle of Skye.
Met Office meteorologist, Greg Wolverson, said: “Dyce was 21.6C, that was actually the warmest in the region. That was in mid-morning when it was still quite bright and then as the cloud came over it cooled down.
“Lossiemouth and Kinloss were only 14.5C, there was haar coming down the Moray Firth. Lossiemouth had the lowest maximum temperature. The extreme east had the best weather.
“England had some incredible temperatures, their highest was 34.4C in Kent. There was a huge temperature contrast across the whole of the UK.”