“Embarrassment is improvement’s biggest enemy.”
Projects
As usual, busy month with progress on many projects; and a new office for the AGF.
New office space, all set for AGF researchers to co-work.
Progress is coming along well on the Bioscancast, a combined LLM/web scraper that tracks and forecastes epidemiological risks, which will be benchmarked against human experts. This month we wrote the entire search and filter stages, that respectively scan the internet for biosecurity-relevant information and then filter to only those that are reliable and non-redundant. We also integrated these, so the outputs from the search stage feeds directly into the filter stage.
Pipeline for the Bioscancast model we are developing.
The tent mapping project is also wrapping up, final model predictions have been made and evaluated. What remains is to send them to Forensic Architecture to be cleaned up. The current model is now slightly overpredicting tents, while still exhibiting improved accuracy on average compared to the previous model. This is actually quite useful, as it’s much easier to remove erroneous predictions than to identify tents that the model has missed.
This will be used to support the ICJ case brought forward by South Africa. We originally sent predictions in back in March, but now the evidence deadline has been extended so we have time for a second go with a better model.
Comparison of tent count accuracy between the old and new model. The old model undercounts quite severely, the new model overcounts slightly but is overall more accurate.
We also presented our technical work to Forensic Architecture, so they can learn from what was done and apply the same framework to detecting other features of interest from satellite imagery to aid with human rights investigations.
Also completed a full pipeline for detecting and predicting combined sewer overflow (CSO) events for Chichester, in the UK. The model uses historic groundwater and rainfall, as well as rainfall forecasts, to predict when sewage systems that are designed to handle both runoff and human waste will overflow, resulting in water companies dumping raw sewage into the rivers and ocean.
Deployed CSO prediction model with predicted risk and confidence, key to operational decision-making.
Unfortunately, the environmental consulting group I am working through does not have operational access to the water company’s data, so the only predictors available operationally are rainfall and groundwater. Ideally, the model should also have access to the recent levels of flow in the pipes. For this reason, the model will be quite limited operationally until I get access to these.
Watching the Watchers
Last month Google released Groundsource, which is a flash flood dataset obtained by using Gemini to analyse news sources. While Google’s vertically integrated access to data, models, and compute is impressive, potentially major advances like this (data on flash floods is scarce, and would vastly improve prediction and research to reduce catastrophic events) deserve independent verification. As such, I validated the entire dataset for South Sudan.
In short, and perhaps unsurprisingly, the dataset seems to be more a dataset of flash flood news events than a hydrologically useful source of ground truth information. The database makes it appear that flash flood events have increase over time (conincidentally, at the same rate as more news articles were published on the internet), and also the boundaries of the flash flood extents published seem to have no overlap with satellite detections of water.
The spatial extents associated with the model clearly correspond to administrative boundaries, not the actual flood extents, which should be flagged in the dataset (or ideally, the spatial data should be removed and the data should just be binary indicators of flash floods).
Perhaps the marketing hype around this product should be toned down, and models that are trained using this data as a target should be scruntinised more closely (they could appear to be good in testing, since they are validated on Groundsource, but in actuality have no correspondance to what is happening on the ground).
DPhil
I’ve been hard at work on my DPhil too, though it may slip through the cracks a bit when building models for real-world use. This month I’ve been gathering and formatting datasets to test my models on and benchmark them against other spatio-temporal solutions for forecasting extreme events. I’ve also signed a contract to tutor a student in climate statistics next term (Trinity), which should be fun – though I don’t particularly like teaching.
I’ve also properly founded and kicked off AI for Good Oxford (AIGO), with a full set of speakers ready to go for Trinity Term.
Set of speakers and talks I’ve organised for this term.
Life
Kicked off the month by throwing a Renter’s Rights party to celebrate the Renters’ Rights Act 2025 coming into effect.
I finally went diving in the UK ocean (in Portland, Dorset), after spending now close to one year on pool training (though I did get to dive twice in Tenerife back in February). Unfortunately, I can’t say it was a very good experience. Due to bad luck, the wind was too strong the entire weekend to do any dives. I ended up staying an extra day on Monday to try to go at least once, but that ended up being a bit of a disaster.
Animation I made to check the wind forecast before the dive, plugged into NOAA GEFs forecasts.
On my first dive, one of the divers lost control of her bouyancy and surfaced really quickly from 10m. When I got back to the boat, her and her buddy were breathing pure oxygen and freaking out about having decompression illness. When we got back to shore, I then had to spend close to two hours finding the person who ran the gas shack and getting her to refill the emergency O2 cannister they were breathing from, since we couldn’t take the boat out without it. When we finally got it, I had to stay behind for the next dive to keep an eye on the diver and her buddy while everyone else left.
Driving the boat in Portland, since diving was out of the question.
We had just enough time at the end of the day for me to do a second dive, this time at Durdle Door, which I was really excited about since I heard it had cool ocean life. Alas, because it took so long to get there, almost everyone on the boat was seasick (fortunately I was not, I suppose since I spent so much time on boats growing up). The diver who surfaced too early was on the boat since she wanted to dive again, and was having difficulties putting on her equipment so we spent even longer on the boat. By the time she finally got in the water, my buddy was extremely seasick and could barely move. I thought he would be better in the water, but six minutes into the dive we had to abort (the third guy we were with was also struggling to stay underwater, and kept floating up).
Getting close to Durdle Door, alas never got to dive under it.
Art
Drawing of one my flatmates that I did.
Another drawing, different pose. Really like the shading on this one.
Also went to Kent for a working weekend, including a hike to Hythe.
Wall of bones from the Hythe Ossuary in Kent. 2,000 skulls and thousands of stacked bones dating back to the 1300s.
Painting I did while in Kent, really pleased with how the anatomy turned out.
Another painting, this time of Mr. Business, the cat who visits our house.
More Mundate Things
Shrimp still shrimping.
House espresso machine is game changing, especially with my flatmate’s barista skills.
Geese family that I see every day on my way to work, getting to watch them grow.
Shrimp still shrimping.