This repository implements the analysis described in:
Valentine, A.P. and D.R. Davies, 2020. Global Models from Sparse Data: A Robust Estimate of Earth's Residual Topography Spectrum. Geochemistry, Geophysics, Geosystems, doi:10.1029/2020GC009240.
A preprint of this paper is freely available here.
In addition to the software (described below), this repository also provides:
- Copies of all figures from the paper, in the directory
paper_figures/
, and - Files containing the spherical harmonic expansion coefficients of our mean
models (i.e. as depicted in Figs. 3--5), in the directory
paper_supplementary_data/
. As described in the paper, these are expressed relative to a basis of real surface spherical harmonics: for one implementation, see the functiondynamicTopoGP.real_sph_harm()
within this repository.
Our analysis is packaged as two main scripts. The data analysis is carried out by running
python analyseData.py
. This performs hyperparameter optimisation, constructs and
inverts the Gaussian Process covariance matrix, evaluates the GP on a regular
grid for plotting purposes, expands the solution in terms of spherical
harmonics, and (for the high-accuracy dataset) computes the information gain
associated with an additional sample at any point. All figures and table data
in the paper are then generated by running python generatePaperFigures.py
.
Before running any scripts, please edit userSettings.py
as necessary to
provide appropriate paths and select which data subsets are to be analysed.
You may wish to run the command:
git update-index --skip-worktree userSettings.py
so that git does not track changes to this file. To turn tracking back on, use
git update-index --no-skip-worktree userSettings.py
Note that analysing the full dataset is computationally- and memory-intensive (~36 hours on a quad-core 3.2GHz Intel i5 with 16Gb RAM) and is turned off by default. The plotting scripts are intended to be robust to missing subsets.
The data analysed in this study is available at: https://github.com/drhodrid/Davies_etal_NGeo_2019_Datasets.git. It is included as a submodule (~link) within this repository. If you have just obtained this repository from github you may need to run:
git submodule update --init --recursive
to also obtain a copy of the data file.
Individual data analysis tasks are handled by functions in dynamicTopoGP.py
.
Overall these contain some redundancy -- e.g. the distance matrix is recomputed
several times when a full analysis is performed -- but this enables one
processing step to be rerun independently of the others if necessary. This has
negligible effect on the overall runtime.
Andrew Valentine Research School of Earth Sciences The Australian National University June 2020