This copy · everything, in order
Julian Elliott · Lab notebookSheet 01
A lab notebook, kept in public

Measure it. Model it. Try to break the model.

Notes on a heating system, the electricity grid, one solar panel and the occasional game. Each entry carries its data, the checks I ran, and a ledger of the claims that didn’t survive.

Julian Elliott beside a climbing wall
Julian Elliott
Application Support Engineer, Cardiff · MSc Data Analytics, University of Huddersfield (dissertation in progress)
How an entry works
01 · ObservationSomething in the data doesn’t add up.
02 · ModelThe simplest mechanism that would explain it.
03 · TestA check that could prove the model wrong.
04 · Survived?What’s left after the test, and its limits.
05 · LedgerThe claims I dropped, dated, with the reason.
Contents
No.EntryDataStatus
02The grid, one Monday: South Wales, 29 September 2026DS-001Published
03The heating has two seasons: a regime change in spring and autumnDS-003In progress
04Flow rate from two thermometers: estimated from flow and return alone, checked in the fieldDS-003In progress
05The retraction ledger: every claim I’ve dropped, and what killed it—Living
06Two clocks: when a value was measured versus when it was recordedDS-003Draft
07Can paperclips become a game? · CTRL+ALT+DELIVER—Planned
08A GitHub profile you can wear: an e-ink badge on Pimoroni’s Badger 2040—Planned
AAbout & experience—Published

Data codes point at datasheets on databased.business, where each dataset can be read, queried in the browser and downloaded. The spine on the left is one of them.

Printed from julian-elliott.github.io · data fetched 30 Sep 2026 22:05 UTCNext: the grid, one Monday →
01 · SignalsSheet 02
29 September 2026South WalesData · DS-001Code · grid-carbon-analysis

The grid, one Monday.

How dirty was the electricity coming into the house on Monday, and when would that have mattered?

NESO publishes a forecast of the carbon intensity of electricity for seventeen regions of Great Britain, every half hour, in grams of CO₂ per kilowatt-hour. This is Monday 29 September 2026 for South Wales, the distribution region that includes Cardiff.

Fig. 1 · South Wales, half-hourly forecast · 29 Sep 2026
4003002001000
18 g · 09:30 322 g · 17:00
00:0006:0012:0018:0024:00
NESO index very lowlowmoderatehighvery high
The same socket, a factor of eighteen apart. Forecast intensity ranged from 18 g/kWh at 09:30 to 322 g/kWh at 17:00. Source: NESO Carbon Intensity API, regional forecast, fetched 30 Sep 2026 22:05 UTC.

What the day shows.

Between 09:00 and 12:00 the mean was 48 g/kWh. Between 16:30 and 19:30 it was 309 g, six and a half times higher. The low point came with wind at 66% and solar at 21% of the regional mix; at the high point, gas was 82%.

The decision.

Anything that can move (a dishwasher, a car on charge, a batch job) did six times less damage in late morning than in the evening peak. On this Monday. Whether that holds across a year of Mondays is the question DS-001 exists to answer, and the claim stays in the ledger as untested until it does.

Fig. 2 · South Wales generation mix at the two extremes, 29 Sep 2026
09:30 · 18 g
17:00 · 322 g
wind solar nuclear gas biomass, imports
Percent of regional generation, NESO forecast mix. Hydro, coal and “other” were 0% in both periods.
Today’s answer · from the series shown in Fig. 1

Cheapest three hours that day: 09:00–12:00, averaging 42 g/kWh.

Dearest: 16:30–19:30 at 313 g/kWh, a factor of 7.5. Forecast, not a guarantee: NESO revises the day as it goes, and this is the grid, not your meter.

How this figure was checked
Fetched30 Sep 2026 22:05 UTC, from api.carbonintensity.org.uk, regional endpoint, region 7. The live state re-fetches when the page loads.
What it isNESO’s forecast for the region. Measured values exist nationally only; switch the figure to GB national to see them.
Not rerunThe 09:00–12:00 and 16:30–19:30 means are arithmetic on the 48 fetched values; nothing here is modelled by me.
UntestedClaims 1 and 2 in the ledger below. “Untested” means the check is named but hasn’t been run, not that I doubt it.
This entry, step by step
01 · ObservationThe same socket, 18 g in the morning and 322 g in the evening.
02 · ModelIntensity follows the generation mix: wind and solar low, gas high.
03 · TestLook at the mix at both extremes. If gas isn’t the difference, the model is wrong.
04 · Survived?For this day, yes: 4% gas at the trough, 82% at the peak. For a year of days: not yet tested.
05 · LedgerTwo claims logged as untested with the test that would settle each; one weakened by the margin review.
Data and code behind this sheet
DatasetDS-001 · GB electricity carbon intensity: Parquet, CSV, datapackage.json, query in the browser.
Endpointapi.carbonintensity.org.uk/regional/intensity/{from}/{to}/regionid/7 · CC BY 4.0, attribute NESO.
Codegrid-carbon-analysis: notebooks, and this site’s repository for the figure and fetch code.
This copydata fetched 30 Sep 2026 22:05 UTC.

What this doesn’t show.

One day, one region, one forecast. The intensity figures come from NESO’s model of the generation mix, not from metered emissions, and the index bands (very low to very high) are NESO’s categories, which it revises. Nothing here says what the house actually drew.

Ledger · claims from this entry
ClaimTestStatus
Late morning beats the evening peak by 6× in South WalesRepeat over 12 months of days (DS-001)Untested
The evening peak is gasMix at the daily maximum, every dayUntested
Shifting a load from the evening peak to late morning cuts its emissions 6×Compare average with marginal intensity for the same periods (needs a marginal series, not this dataset)Weakened
01 · SignalsSheet 03
Nov 2025 → Aug 2026Two dwellingsData · DS-003 (sanitising)

The heating has two seasons.

Flow and return temperatures from two houses across a heating year. Somewhere in spring, and again in autumn, the system changes regime.

StatusIn progress. The write-up comes first; the sanitised dataset follows it. The figure below is a labelled placeholder, not a drawing.
Fig. 3 · Flow and return temperature, dwelling A, one week either side of the spring change
[ Figure from the sanitised release · DS-003 ]
flow °C · return °C · outdoor °C

The method is the same as every entry here. I read the literature first, wrote down what I thought was new, then used an AI reviewer adversarially to try to disprove each claim. Most of them didn’t survive. The ones that did are the entry; the ones that didn’t are in the ledger, with the test that killed them.

The person behind the notesSheet A

About & experience.

Application Support Engineer in Cardiff, with a background in customer-facing technology, automation and analysis, and a habit of putting sensors on things.

I work on the systems that credit and receivables businesses run on: SQL-based data fixes, Oracle and PostgreSQL, triage, root cause, and the explaining that follows. Before that, John Lewis: eleven years across technology sales, customer delivery resolution and automation, where the questions were the same and the tools were different.

Now

Application Support Engineer

Cardiff · Making systems easier to understand, use and fix; the thread running through this notebook.

2021–2024

Automation Senior Analyst

John Lewis Partnership · Automation, dashboards and mentoring, with an eye on the work people needed to get done.

2020–2021

Customer Delivery Resolution Partner

John Lewis Partnership · Resolving operational problems and improving the process around them.

2013–2020

Technology Selling Partner

John Lewis Partnership · Helping customers understand technology and sharing product knowledge with colleagues.

2024–2026

MSc Data Analytics

University of Huddersfield · Dissertation in progress: domestic heating data from metered dwellings.

Away from the screen.

I climb, walk along canals, grow vegetables and make things: 3D printing, electronics, furniture, a guitar now and then. Some of those things eventually acquire a circuit board. Others are just a good way to spend an afternoon.