Representative end-to-end projects where I built, repaired, or validated workflows so that outputs were
reproducible, internally consistent, and ready for quantitative analysis.
Ran high-resolution spherical geodynamo simulations and converted raw HPC outputs into validated,
reusable field-model products for downstream modelling and analysis.
Obtained and maintained a version-controlled modelling codebase (Git/SSH) and managed updates via git pull.
Configured builds, edited runtime/compile parameters, and ran production jobs on ARC4 and ARCHER2 (qsub/sbatch).
Transferred and consolidated multi-GB simulation outputs using rsync into a structured archive.
Converted NetCDF/statefiles into time-dependent Gauss coefficients (ylm2glm), then parsed/truncated/standardised outputs for analysis.
Ran MATLAB-based QPM pipelines (Cromwell + GGF100k) and published outputs into a master simulation dictionary with derived diagnostics (e.g., energy balance, ohmic fraction).
2) Public database upgrade + production query fix (PINT palaeointensity database)
Took ownership of updating and repairing the PINT database website, including the downloadable dataset
and the live online query tool, ensuring that filters returned correct results in production.
Migrated the backend dataset from v8.1.1 to v8.2.0 and repointed the live site to the updated .mdb via the connection string.
Imported and validated multiple related tables (data, methods, references) in Microsoft Access while preserving relational structure.
Diagnosed a critical production bug where age filtering returned zero results despite the dataset being present.
Identified the root cause as a mismatch between updated method codes and a legacy lookup structure; standardised codes and rebuilt lookup logic so filters interpreted the new dataset correctly.
Deployed the fix and verified live behaviour across key filters (age, method, polarity, QPI).
Built a single internally consistent palaeomagnetic dataset from multiple overlapping sources with
non-unique IDs and mixed encodings, then reconstructed site/pole positions and directions to original
locations on Earth for quantitative modelling.
Merged multiple sources into a clean CSV, created shapefiles in QGIS, reconstructed in GPlates using a rotation model, and parsed raw .xy outputs (sites and VGPs separately).
Fixed subtle parsing/indexing failures caused by duplicated UIDs and inconsistent Unicode symbols that produced mis-alignments.
Enforced uniqueness using an ID–age pairing rule (rather than fragile row ordering) so every site/VGP/direction stayed correctly matched.
Validated integrity by checking reconstructed young-age site lat/lon against originals; confirmed large offsets were parsing artefacts, not tectonic signal.
Normalised geometry/directions into one convention (0–360° longitudes; polarity from inclination; consistent antipodal rotation for Dec/Inc/VGPs) and produced a dataset ready for time-windowed PSV analysis.
4) Shaw-type method improvement study (performance testing + objective thresholds)
Quantitatively tested alternative linearity/quality checks for Shaw-type palaeointensity analysis and
demonstrated which parameters delivered the best accuracy/precision trade-off.
Implemented a Monte Carlo down-sampling framework (10,000 repeats) to measure how many specimens were required to recover the correct mean field within ±10% (95% confidence).
Removed operator bias by using the full coercivity range for slope fits (rather than user-chosen intervals).
Compared candidate linearity metrics (e.g., Shaw-plot curvature |k′| vs R2corr) and quantified how each affected scatter and retained data volume.
Tested method reliability using published data where the expected field is known (Sakurajima), to evaluate rejection of unreliable results without discarding accurate estimates.
Ran an experimental test of hold-duration dependence in the Double Heating Technique to assess whether heating time influenced outcomes.
5) Optimised, performance-tested selection criteria (SCOPE) + application to published data
Derived an objective, performance-tested selection-criteria set and applied it consistently to improve
decision-making on palaeointensity datasets (including re-analysis of published results).
Compiled 27 published selection-criteria sets (last ~15 years; older rocks; QPI ≥ 3) and identified the most commonly reported parameters.
Defined SCOPE thresholds by adopting the outer-quartile (most relaxed commonly used) values for seven core parameters.
Performance-tested discrimination and bias using historical “known field” benchmark datasets (~44,000 candidate fits; n ≥ 3), quantifying mean bias/scatter in ln(Banc/Bexp) and discrimination using S-score (Ea × Ei).
Applied SCOPE uniformly to Thellier-type experiments within the study and used it as a defensible, repeatable filter when reassessing published datasets.
Documented full definitions/derivations and specimen-level outcomes so the criteria are auditable and transferable.