~ $ cd projects/sea && cat README.md

The sea, a day at a time

Every day, NOAA puts together the temperature of the surface of every sea from what satellites, ships and buoys measure, on a grid of quarter degrees: its daily Optimum Interpolation analysis, OISST. This site keeps four of its cells, off L'Estartit, Barcelona, Tarragona and the Ebre delta, a value a day since 1982, and the year still running up to three days ago.

What follows is a blueprint: the pictures are drawn by nodes wired together, and the dials on the board turn them. Its menu holds a few more questions — this year day by day, the four points side by side, and whether a warm sea goes with warm nights.

The sea, year by year The mean of each year's days off a stretch of coast, and the straight line through the whole years, as the change it makes each decade; under it, the days of each year the sea was at least as warm as the dial, faint where the year is not whole. Turn the point, and the warmth.

Off
Off Barcelona
Warm from, °C
26 °C
The sea's mean, year by year
17181920198019902000201020202030yearsst (°C)sst, 1982: 17.35 °Csst, 1983: 17.25 °Csst, 1984: 17.06 °Csst, 1985: 17.71 °Csst, 1986: 17.59 °Csst, 1987: 17.66 °Csst, 1988: 17.93 °Csst, 1989: 17.83 °Csst, 1990: 18.47 °Csst, 1991: 17.35 °Csst, 1992: 17.11 °Csst, 1993: 17.27 °Csst, 1994: 17.9 °Csst, 1995: 17.71 °Csst, 1996: 17.38 °Csst, 1997: 17.79 °Csst, 1998: 18.3 °Csst, 1999: 17.84 °Csst, 2000: 17.67 °Csst, 2001: 17.9 °Csst, 2002: 17.8 °Csst, 2003: 18.35 °Csst, 2004: 18.13 °Csst, 2005: 18.25 °Csst, 2006: 18.68 °Csst, 2007: 18.18 °Csst, 2008: 18.21 °Csst, 2009: 18.34 °Csst, 2010: 17.98 °Csst, 2011: 18.65 °Csst, 2012: 18.4 °Csst, 2013: 18.07 °Csst, 2014: 18.6 °Csst, 2015: 18.61 °Csst, 2016: 18.75 °Csst, 2017: 19.29 °Csst, 2018: 18.89 °Csst, 2019: 18.57 °Csst, 2020: 19.27 °Csst, 2021: 18.52 °Csst, 2022: 19.39 °Csst, 2023: 19.3 °Csst, 2024: 19.37 °Csst, 2025: 19.68 °C

sst along year

Source: NOAA OISST v2.1 (Huang and others, 2021): data provided by the NOAA PSL, Boulder, Colorado, USA, from their website at https://psl.noaa.gov. Brought up to date 2026-10-07.

Each decade
0.452 °C

the change along the straight line fitted through the whole years

Days at least as warm as the dial
020406080100198219861990199419982002200620102014201820222026yearwarm (days)1982: 0 days1983: 0 days1984: 0 days1985: 0 days1986: 0 days1987: 0 days1988: 4 days1989: 4 days1990: 5 days1991: 0 days1992: 0 days1993: 0 days1994: 16 days1995: 5 days1996: 0 days1997: 3 days1998: 8 days1999: 0 days2000: 0 days2001: 0 days2002: 0 days2003: 30 days2004: 7 days2005: 6 days2006: 26 days2007: 0 days2008: 3 days2009: 14 days2010: 4 days2011: 7 days2012: 15 days2013: 1 days2014: 1 days2015: 11 days2016: 17 days2017: 23 days2018: 20 days2019: 23 days2020: 38 days2021: 0 days2022: 67 days2023: 43 days2024: 48 days2025: 68 days2026: 89 days

warm by year, 45 bars

Source: NOAA OISST v2.1 (Huang and others, 2021): data provided by the NOAA PSL, Boulder, Colorado, USA, from their website at https://psl.noaa.gov. Brought up to date 2026-10-07.

Warm days, each decade
8.99 days

the change in the days a year at least as warm as the dial

OffvaluevaluebarcelonabarcelonaWarm from, °Cvaluevalue2626Sea by yeartableoffwarm from45 rows · year, sst, warmest, warm, days, whole45 rows · year, sst, warmest, warm,…Only the whole yearstabletablecolumnwholeisequalsvalueyes44 of 45 rowsThe sea's mean, year by yeartablealongyearofsstand ofa line for eachsst along yearTrendfor each tenfor each oneover it alltablealongyearofsst+0.452 °C a decadeEach decadevalueunit°Cwhat it isthe change along …0.452 °CDays at least as warm as the …tablexyearheightwarmfaint unlesswholewarm by year, 45 barsTrendfor each tenfor each oneover it alltablealongyearofwarm+8.99 days a decadeWarm days, each decadevalueunitdayswhat it isthe change in the…8.99 days
The blueprint: 10 nodes and 9 wires.
The sea, year by year

The mean of each year's days off a stretch of coast, and the straight line through the whole years, as the change it makes each decade; under it, the days of each year the sea was at least as warm as the dial, faint where the year is not whole. Turn the point, and the warmth.

off = dial "Off" value: barcelona
warmth = dial "Warm from, °C" value: 26
years = sea-years point: off warm: warmth
whole = keep "Only the whole years" table: years column: whole is: equals value: yes
lines "The sea's mean, year by year" table: whole x: year y: sst
trend = trend table: whole y: sst
readout "Each decade" value: trend.per-ten unit: °C about: "the change along the straight line fitted through the whole years"
bars "Days at least as warm as the dial" table: years x: year y: warm faded: whole
warmer = trend table: whole y: warm
readout "Warm days, each decade" value: warmer.per-ten unit: days about: "the change in the days a year at least as warm as the dial"
This year, day by day

The year still running, day by day, beside what is usual for each day: the mean of the same day from 1991 to 2020, the thirty years climatologists take. Where the line runs over the normal, the sea was warmer than usual for the day.

off = dial "Off" value: barcelona
days = sea-days point: off
lines "This year, and the normal for each day" table: days x: day y: sst and: normal
above = summary table: days column: above
readout "Above the normal, on average" value: above.mean unit: °C about: "the mean of each day less its normal, this year so far"
The four points, summer by summer

The four cells side by side: the mean of each summer, June to August, a line a point, named by joining the points to their names.

months = sea-months point: all
names = sea-points
named = join left: months right: names
whole = keep table: named column: whole is: equals value: yes
summers = keep table: whole column: season is: equals value: summer
years = group "A summer a row" table: summers by: year and: name value: sst how: mean
lines "Summer's mean, a line a point" table: years x: year y: sst split: name
Does a warm sea go with warm nights?

The sea off Barcelona and the weather station of Badalona, by the sea, month by month. Both follow the season, and both the years; with each month less its month's mean, and less its year's, what is left is how unusual a month was, and whether an unusually warm sea went with unusually warm nights. A correlation says what goes with what, never why.

sea = sea-months point: barcelona
nights = weather-months station: WU
both = join left: sea right: nights
whole = keep "Months measured whole" table: both column: whole is: equals value: yes
seasonless = season "Less each month's mean" table: whole by: month
odd = season "Less each year's mean too" table: seasonless by: year
measured = correlation table: whole x: sst y: tn
left = correlation table: odd x: sst y: tn
readout "As measured" value: measured.r about: "r of the sea's monthly mean and the mean night, month by month"
readout "The season and the years taken out" value: left.r about: "r of what is left of each"
scatter "What is left of each month: the sea against the nights" table: odd x: sst y: tn colour: season

What is in it

What it is not

A cell is about 25 km across, and is the open sea off a place, not the water at its beach: the one off Barcelona has its centre some fifteen kilometres out. OISST is an analysis, not a thermometer — where there is no measurement, the grid is filled in from what is around it — and the dataset itself warns that values less than fifteen days old may still be revised. A finished year is kept only from the middle of the following January, once they are not.

Every figure above is of the whole years, 1982 to 2025. The year still running is drawn day by day in the blueprint's second question, beside its normal, and is kept out of every one of them: it is not over, and its last fifteen days can still change. A trend is the straight line through the whole years, and says what the record did, not what it will do, nor why; a correlation says what goes with what, never why.

Where it comes from

NOAA's daily Optimum Interpolation Sea Surface Temperature, version 2.1 (Huang and others, 2021), from the server of NOAA's Physical Sciences Laboratory: data provided by the NOAA PSL, Boulder, Colorado, USA, from their website at psl.noaa.gov. The site keeps the days of four cells, a finished year at a time, and asks for the year still running again every day; the weather beside it is the Meteocat's, as on the page of hot nights.

~/projects/sea $

~/projects/sea $