Skip to content
View 0thomasholland's full-sized avatar

Organizations

@cu-astronomical-society

Block or report 0thomasholland

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
0thomasholland/README.md

Thomas Holland

Earth scientist with interests in inverse problems and statistical geophysics. I am currently working on my MSci in Earth Sciences, having completed my project.

Research Interests

  • Bayesian inverse problems and uncertainty quantification
  • Dynamical systems and equation discovery
  • (Geophysical) inverse problems

Selected Projects

MSci Dissertation — Bayesian Inversion for Sea Level and Ice Sheet Signals

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.

View project

Nonlinear Dynamics and Data Assimilation — Spring-Slider Study

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.

Seismic Wave Forward Modeller (Rust)

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.

View project

Critical Cellular Automaton (Fortran + Python)

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.

View project

Website Development

I also do the occasional website development, for both my own website at thomasholland.uk and the Cambridge University Astronomical Society website.

Languages

Python, Julia, Rust, Fortran, Bash, LaTeX

Pinned Loading

  1. Part_III_Project Part_III_Project Public

    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 tr…

    Jupyter Notebook

  2. computational-science-fun computational-science-fun Public

    A repository for me learning and messing around with maths in rust

    Rust

  3. cu-astronomical-society/website cu-astronomical-society/website Public

    Website for Cambridge University Astronomical Society

    Astro

  4. server-users server-users Public

    Rust TUI Applet that monitors SSH server usage by user

    Rust

  5. bad-color-map bad-color-map Public

    Bad colo(u)r map Some bad color maps for Matplotlib to make plotting amusing figures easier.

    Python