Selected technical work

Research & computing
projects.

Five examples from my work on geodynamo simulations, the PINT database, palaeomagnetic datasets and experimental methods.

01

Geodynamo simulations and output processing.

Ran spherical dynamo simulations and wrote scripts to convert the output into magnetic-field data for analysis.

The simulations produced large files that needed to be converted, checked and organised before the magnetic-field results could be compared.

ResultConverted the simulation output into a common format and collected the results, including energy and dissipation calculations, in a master simulation dictionary.
ARCHER2 / ARC4PythonMATLABNetCDFLinux
Technical details
  • Maintained the modelling codebase through Git/SSH and configured machine-specific builds and runtime parameters.
  • Ran production jobs using qsub/sbatch and consolidated multi-GB outputs with rsync.
  • Converted NetCDF/statefiles to time-dependent Gauss coefficients using ylm2glm, then parsed, truncated and standardised the resulting series.
  • Integrated QPM analysis with Cromwell and GGF100k workflows, adding energy-balance and ohmic-fraction diagnostics.

02

PINT database update and query repair.

Updated the public PINT database and fixed an error that stopped the website’s age filter returning results.

After the update, records were present but an age-based search returned nothing. I traced this to a mismatch between the new method codes and the website’s older lookup tables.

ResultRebuilt the affected lookup logic and checked that age, method, polarity and quality-score filters worked on the live website.
Microsoft AccessRelational dataDebuggingValidation
Technical details
  • Migrated the backend dataset from v8.1.1 to v8.2.0 and updated the live connection to the revised database.
  • Imported and checked related data, methods and references tables while preserving the relational structure.
  • Diagnosed the mismatch between updated method codes and the legacy lookup structure.
  • Standardised codes and rebuilt the lookup logic before checking the production query tool.

03

Combining palaeomagnetic data and reconstructing plate positions.

Combined palaeomagnetic records from several sources and reconstructed the positions of sampling sites and magnetic poles before analysing field variation.

Some sources reused identifiers or stored text differently. This caused records to be paired incorrectly, making some reconstructed positions appear wrong.

ResultCorrectly matched sites, magnetic poles and directions, and put coordinates and polarities into consistent conventions for subsequent analysis.
QGISGPlatesCSVTectonic reconstruction
Technical details
  • Merged source data, created shapefiles in QGIS and reconstructed sites and virtual geomagnetic poles in GPlates.
  • Parsed the resulting .xy outputs separately and repaired encoding and indexing errors.
  • Enforced uniqueness using an ID–age pairing rule instead of relying on row order.
  • Cross-checked reconstructed young-age coordinates against originals and standardised longitude, polarity and antipodal rotation conventions.

04

Testing the Shaw-type palaeointensity method.

Tested different checks for deciding which Shaw-type palaeointensity results to retain, comparing accuracy, scatter and the number of results kept.

Operator-selected fitting intervals and different linearity metrics can influence the outcome. The study tested how these choices affected recovery of a known magnetic field.

ResultMeasured how each selection rule affected accuracy, scatter and the amount of data retained, using published data with a known expected field.
10,000 Monte Carlo repeatsKnown-field benchmarksExperimental methods
Technical details
  • Implemented 10,000-repeat Monte Carlo down-sampling to test specimen counts needed to recover the mean field within ±10% at 95% confidence.
  • Used the full coercivity range for slope fits to remove operator selection of intervals.
  • Compared Shaw-plot curvature |k′| with R²corr and evaluated reliability against published Sakurajima data.
  • Experimentally assessed whether heating hold duration influenced Double Heating Technique outcomes.

05

Developing and testing SCOPE selection criteria.

Developed SCOPE, a set of rules for selecting results from Thellier-type palaeointensity experiments, and tested its performance.

Published studies use different cut-offs when deciding whether to accept a result. I compared these and tested how well a common set of rules worked against measurements of known fields.

ResultDefined seven thresholds, tested them against known-field data and applied them to experimental results and previously published datasets.
27 criteria sets~44,000 candidate fitsSeven parameters
Technical details
  • Compiled 27 published selection-criteria sets for older rocks with QPI ≥ 3.
  • Used the outer-quartile, most relaxed commonly used values for seven core parameters.
  • Performance-tested approximately 44,000 candidate fits, with n ≥ 3, quantifying mean bias and scatter in ln(Banc/Bexp).
  • Evaluated discrimination using the S-score (Ea × Ei), and documented definitions, derivations and specimen-level outcomes.