Earth scientist with interests in inverse problems and statistical geophysics. I am currently working on my MSci in Earth Sciences, having completed my project.
- Bayesian inverse problems and uncertainty quantification
- Dynamical systems and equation discovery
- (Geophysical) inverse problems
A research project investigating the application of Bayesian inversion methods to estimate sea level change from satellite altimetry observations, incorporating sea level physics to improve upon traditional spatial averaging approaches.
Application of a infinite-dimensional Bayesian inversion framework to recover ice thickness change directly from sea surface height altimetry. Priors are defined as Gaussian measures over Sobolev spaces on the sphere, encoding physically motivated beliefs. The posterior is obtained in closed form and propagated through the full sea level physics without discretisation artefacts. Direct empirical evidence of well-calibrated and improved uncertainty quantification over traditional methods.
The methods developed here offer technical advances over other existing approaches: principled uncertainty propagation through the full modelled physics; full recovery of posteriors whose structure is inherited from physically motivated priors; and joint inference over competing signals with formal uncertainty quantification on the trade-offs between them.
Analysis of a two-state-variable quasi-static spring-slider exhibiting chaotic stick-slip dynamics. Covers Lyapunov spectrum computation (QR method), Grassberger-Procaccia correlation dimension, bifurcation diagrams over the dimensionless stiffness ratio, SDE ensemble analysis, and grid-based exact Bayesian data assimilation with reanalysis and EnKF comparison. Implemented in Julia.
2D elastic wave propagation on a staggered grid using finite differences, with Ricker wavelet sources, harmonic-averaged material properties, and parallel time-stepping via rayon. Configurable via TOML.
A 3D self-organised criticality model written in Fortran: grains are added to a grid and redistribute when a threshold is exceeded, producing avalanche dynamics. Accompanied by a Python visualiser that renders rotating 3D animations of the evolving grid.
I also do the occasional website development, for both my own website at thomasholland.uk and the Cambridge University Astronomical Society website.
Python, Julia, Rust, Fortran, Bash, LaTeX




