DOI: 10.5281/zenodo.6969602
title: Dataset for paper "Mitigating the effect of errors in source parameters on seismic (waveform) inversion"

description: Dataset corresponding to the journal article "Mitigating the effect of errors in source parameters on seismic (waveform) inversion" by Blom, Hardalupas and Rawlinson, accepted for publication in Geophysical Journal International. In this paper, we demonstrate the effect or errors in source parameters on seismic tomography, with a particular focus on (full) waveform tomography. We study effect both on forward modelling (i.e. comparing waveforms and measurements resulting from a perturbed vs. unperturbed source) and on seismic inversion (i.e. using a source which contains an (erroneous) perturbation to invert for Earth structure. These data were obtained using Salvus, a state-of-the-art (though proprietary) 3-D solver that can be used for wave propagation simulations (Afanasiev et al., GJI 2018). This dataset contains: The entire Salvus project. This project was prepared using Salvus version 0.11.x and 0.12.2 and should be fully compatible with the latter. A number of Jupyter notebooks used to create all the figures, set up the project and do the data processing. A number of Python scripts that are used in above notebooks. two conda environment .yml files: one with the complete environment as used to produce this dataset, and one with the environment as supplied by Mondaic (the Salvus developers), on top of which I installed basemap and cartopy. An overview of the inversion configurations used for each inversion experiment and the name of hte corresponding figures: inversion_runs_overview.ods / .csv . Datasets corresponding to the different figures. One dataset for Figure 1, showing the effect of a source perturbation in a real-world setting, as previously used by Blom et al., Solid Earth 2020 One dataset for Figure 2, showing how different methodologies and assumptions can lead to significantly different source parameters, notably including systematic shifts. This dataset was kindly supplied by Tim Craig (Craig, 2019). A number of datasets (stored as pickled Pandas dataframes) derived from the Salvus project. We have computed: travel-time arrival predictions from every source to all stations (df_stations...pkl) misfits for different metrics for both P-wave centered and S-wave centered windows for all components on all stations, comparing every time waveforms from a reference source against waveforms from a perturbed source (df_misfits_cc.28s.pkl) addition of synthetic waveforms for different (perturbed) moment tenors. All waveforms are stored in HDF5 (.h5) files of the ASDF (adaptable seismic data format) type How to use this dataset: To set up the conda environment: make sure you have anaconda/miniconda make sure you have access to Salvus functionality. This is not absolutely necessary, but most of the functionality within this dataset relies on salvus. You can do the analyses and create the figures without, but you'll have to hack around in the scripts to build workarounds. Set up Salvus / create a conda environment. This is best done following the instructions on the Mondaic website. Check the changelog for breaking changes, in that case download an older salvus version. Additionally in your conda env, install basemap and cartopy: <pre><code class="language-bash">conda-env create -n salvus_0_12 -f environment.yml conda install -c conda-forge basemap conda install -c conda-forge cartopy</code></pre> Install LASIF (https://github.com/dirkphilip/LASIF_2.0) and test. The project uses some lasif functionality. To recreate the figures: This is extremely straightforward. Every figure has a corresponding Jupyter Notebook. Suffices to run the notebook in its entirety. Figure 1: separate notebook, Fig1_event_98.py Figure 2: separate notebook, Fig2_TimCraig_Andes_analysis.py Figures 3-7: Figures_perturbation_study.py Figures 8-10: Figures_toy_inversions.py To recreate the dataframes in DATA: This can be done using the example notebook Create_perturbed_thrust_data_by_MT_addition.py and Misfits_moment_tensor_components.M66_M12.py . The same can easily be extended to the position shift and other perturbations you might want to investigate. To recreate the complete Salvus project: This can be done using: the notebook Prepare_project_Phil_28s_absb_M66.py (setting up project and running simulations) the notebooks Moment_tensor_perturbations.py and Moment_tensor_perturbation_for_NS_thrust.py For the inversions: using the notebook Inversion_SS_dip.M66.28s.py as an example. See the overview table inversion_runs_overview.ods (or .csv) as to naming conventions. References: Michael Afanasiev, Christian Boehm, Martin van Driel, Lion Krischer, Max Rietmann, Dave A May, Matthew G Knepley, Andreas Fichtner, Modular and flexible spectral-element waveform modelling in two and three dimensions, <em>Geophysical Journal International</em>, Volume 216, Issue 3, March 2019, Pages 1675–1692, https://doi.org/10.1093/gji/ggy469 Nienke Blom, Alexey Gokhberg, and Andreas Fichtner, Seismic waveform tomography of the central and eastern Mediterranean upper mantle, <em>Solid Earth</em>, Volume 11, Issue 2, 2020, Pages 669–690, 2020, https://doi.org/10.5194/se-11-669-2020 Tim J. Craig, Accurate depth determination for moderate-magnitude earthquakes using global teleseismic data. <em>Journal of Geophysical Research: Solid Earth</em>, 124, 2019, Pages 1759– 1780. https://doi.org/10.1029/2018JB016902