One dataset, roughly ten thousand receiver functions, three years of a PhD, and none of it is a product yet. That sentence describes the starting point of this note: a Moho depth profile beneath a single craton, one of the ancient, stable cores of a continent, built trace by trace from seismic recordings and expert judgement (Fig 3.8 in the source thesis). It is a genuinely valuable research result. It is also, in its raw form, useless to anyone who was not in the room when it was made. The distance between that result and a tool a colleague in another country can call on Monday morning is where most geoscience machine-learning projects quietly stall. This piece walks through the funnel that closes the distance.
The physics, in plain terms
When a large, distant earthquake sends waves through the planet, some of the energy arrives at a seismic station as a compressional P wave. Where that wave crosses a sharp boundary in the Earth, a fraction of it converts to a slower shear wave. Record both at the surface, deconvolve away the earthquake's own signature, and what remains is a receiver function: a short time series whose peaks mark the boundaries beneath the station [1]. The strongest and most consequential of those boundaries is the Moho, the interface between crust and mantle, typically a few tens of kilometres down. Stack enough receiver functions and you can read crustal thickness under a station the way a well log reads formation tops [2].
Why should the energy industry care about a boundary tens of kilometres below any reservoir? Because crustal thickness sets the frame everything shallower sits in. It shapes the regional thermal gradient that geothermal screening depends on, the mechanical behaviour of basins considered for carbon storage, and the deep structure that controls where sedimentary systems formed in the first place. A reliable crustal thickness map is background infrastructure for subsurface decisions, in the way elevation data is background infrastructure for civil engineering.
The hard-won dataset is not the product
Producing the single-craton profile took expert work at every step: rejecting noisy traces, recognising the true Moho conversion among competing arrivals and reverberations, cross-checking picks against independent surveys. That expertise is exactly what makes the result trustworthy, and exactly what makes it unscalable. The analysis lives in one scientist's head and scripts. It describes one region. Handing the same raw data to a different expert would take months and might return slightly different picks.
A model trained naively on this dataset inherits the same limitation in a subtler form: it learns that craton. Cratons are old, cold, and seismically fast; a picker tuned to one of them will meet a young rifted margin or a thick sedimentary basin and confidently return the wrong answer. Getting from here to a tool that works anywhere is not one step. It is four, and each one narrows the funnel.
The instrument above is the whole argument in one figure. Drag the amber frontier and stop the build at any stage: the readouts tell you what exists at that point, who can actually use it, and what the next region would cost. Stop at stage one and the next craton costs another PhD. Finish stage five and it costs an API call.
Stage one: curate and label
The first narrowing is unglamorous and load-bearing. Raw traces get quality-controlled, the expert picks get recorded as clean labels, and every example is tagged with its provenance: which station, which earthquake, what signal quality. Teams skip this step constantly, and skipping it is why so many models cannot be reproduced six months later. A model is only as trustworthy as the labels beneath it, and labels are only useful if you can trace where each one came from. The output of this stage is not a model; it is a dataset a stranger could audit.
Stage two: teach the model more crusts than the data contains
A picker that must generalise has to see more variety than one region provides. So the training stage leans on two sources of breadth: augmentation, which perturbs the real data in physically plausible ways, and synthetic waveforms generated across a range of crustal structures the original craton never contained. The goal shifts from "fit this profile" to "learn what a Moho arrival looks like in general." This is the moment the project stops being about one place, and it is also where the balance of work visibly tips from expert judgement toward automation, which the bars in the instrument make explicit.
Stage three: validate where the model has never been
Generalisation is a claim, and claims get tested. The honest protocol holds out entire stations the model never saw during training, and compares predictions against independent constraints where they exist: active-source seismic lines, gravity models, nearby wells. The metric that matters is not accuracy on the home craton but accuracy in places the model has never been. A picker that aces its training region and fails next door has learned the wrong thing, and only held-out validation reveals it. This discipline has an exact analogue in production ML practice, where test coverage of the data and the model, not training performance, is what predicts readiness [4].
Stage four: package the boring endpoint
The narrow end of the funnel looks anticlimactic: an API endpoint that accepts receiver functions and returns a Moho depth with an uncertainty attached. That boring endpoint is the entire payoff. Uncertainty travels with every estimate, so a user knows when to trust the number and when to bring in a specialist. The analysis that took years now runs in seconds, and it runs for people who are not seismologists. The deployed service is also where all the hidden plumbing of production ML lives: versioned data, monitored inputs, reproducible models. The research community learned the hard way that this plumbing, not the model, is where most of the long-term cost sits [3].
Why the last stage pays for the first
The funnel is not really about seismology. It is the general shape of turning any expert-driven analysis into a scalable capability: the raw insight is wide and shallow, and value accrues as it narrows through curation, generalisation, validation, and packaging. Teams that fall in love with the research artefact and never build the last three stages produce papers. Teams that grind through the narrowing produce products. The single craton was never the destination. It was the seed, and the economics only close at the far end, where the marginal cost of the next region collapses from a PhD to an API call.
Limitations
The funnel in the instrument is a schematic of a deployment pattern, not a measured pipeline. Band widths, expert-versus-automation shares, and the next-region cost framings are illustrative; the real dataset behind the story is the single-craton profile and its roughly ten thousand receiver functions. Nothing here removes the need for expert review at the edges: a deployed picker flags low-confidence regions precisely so a specialist can step in, and unusual crustal settings outside the training distribution still deserve a human pass. Receiver functions themselves carry assumptions, and station coverage, not modelling, remains the binding constraint in poorly instrumented regions.
By the numbers
| Stage | What exists | Who can use it | Next region costs |
|---|---|---|---|
| One craton | a figure and expert scripts | the scientist who built it | another PhD |
| Curate + label | traceable, auditable labels | the research group | months of expert QC |
| Generalise | a model taught many crusts | ML engineers | weeks of retraining |
| Validate | evidence it works off-craton | a cautious asset team | days of validation |
| Deploy | depth + uncertainty endpoint | any team | an API call |
Stage sequence follows the source thesis pipeline; cost framings are illustrative of the pattern, not measured metrics.
Takeaways
- A great single-region result is a seed, not a product; the value is unlocked by the stages after it.
- Curation and labelling are load-bearing: traceable labels are what make a model reproducible and auditable.
- Generalisation needs variety the first dataset lacks; augmentation and synthetics turn one craton into many.
- Validate on stations and regions the model has never seen; home-region accuracy is not evidence of generalisation.
- The deployed endpoint is the payoff: depth plus uncertainty on demand collapses the cost of the next region from a PhD to an API call.
References
[1] Langston, C. A. (1979). Structure under Mount Rainier, Washington, inferred from teleseismic body waves. J. Geophys. Res., 84, 4749-4762. doi:10.1029/JB084iB09p04749
[2] Zhu, L. and Kanamori, H. (2000). Moho depth variation in southern California from teleseismic receiver functions. J. Geophys. Res., 105, 2969-2980. doi:10.1029/1999JB900322
[3] Sculley, D., et al. (2015). Hidden technical debt in machine learning systems. Advances in Neural Information Processing Systems, 28. papers.nips.cc
[4] Breck, E., Cai, S., Nielsen, E., Salib, M., and Sculley, D. (2017). The ML test score: a rubric for ML production readiness and technical debt reduction. IEEE International Conference on Big Data, 1123-1132. doi:10.1109/BigData.2017.8258038
[5] Source: 2018 PhD thesis, receiver-function imaging of the Moho/LAB, Fig 3.8 (single-craton Moho depth profile) and its curation-to-deployment pipeline.


