Skip to content

Input Files

Luca De Siena edited this page Jun 18, 2023 · 3 revisions

Contents

  1. Input MLX Files
  2. Video
  3. General Fields
  4. Peak Delay
  5. Direct-Wave Attenuation
  6. Coda-Wave Attenuation
  7. Geometry and Velocity
  8. Inversion

Input MLX Files

The .mlx format in Matlab allows rich commenting and documenting of Matlab commands. After providing SAC data in the correct format, building these input files becomes the most important and time-consuming activity for the user. Probably the best way to undrstand how to set up your input is to just adapt one of the three examples (Murat_inputMSH.mlx; Murat_inputRomania.mlx; Murat_inputToba.mlx) to your dataset. Below there is a video of how to do so and a description of each field in the files.

Video

General

This sections sets the path of the data directory, defines the name of the folder where results will be stored, and, if the user wants to use a parallelized or sequential inversion, how many cores are used. These fields are set at the beginning and never changed, except Murat.input.workers. The first run should always be sequential (set it to []). Only tThe sequential run must be used to debug the code. While MuRAT has several embedded error messages, it is often necessary to stop the run especially during data processing (see the Debug page). The debug function in Matlab does not allow pinpointing the incorrect waveform with a parallelised processing. However, it is recommended to perform the final runs in parallelised mode: the parallelised processing reduces computational time from ∼ 15 s to ∼ 4 s for the MSH dataset.

Waveform data

You can check the data requirents for SAC files at the page Data. The header variable set here must be the same for all files (e.g., variable ’a’ for P-wave picking or ’o’ for the origin). The number of components is defied at the start. The code allows a single analysis for multiple frequencies with bandwidth 1/3 of the central frequency. Finally, the declustering variable divides the grid into smaller cells to select the best earthquake waveforms in the cell, avoiding different repeated measurements that increase residuals. It is recommended to test the code first without declustering.

Peak delays

Setting the minimum and, especially, the maximum allows avoiding tracking phases unrelated to the direct wave arrival. Sometimes tracking these phases, typically surface waves generated by a strong impedance contrast at the surface, is useful to map changes in topography and geomorphology.

Coda attenuation

There are three methods to measure coda attenuation: using a constant start time ('Constant'), the peak amplitude ('Peak') and a number multiplied by the travel time ('Travel'). The standard practice is to use the last option (e.g., 2tS), however, coherent waves are often still in the corresponding window. The 'Peak' option is used with active data in volcanics, as in that case the waveform becomes rapidly diffusive.

If the user has no idea of albedo or extinction length, he/she can use published values for the area or the crust. Murat.input.kernelTreshold must be set to find a compromise between accuracy of the kernels and computational costs. Setting it to 1 solves the forward kernels on the same grid used in the inversion: this is typically too coarse, e.g., to interpolate the poles of the kernes at source and station. The minimum value is set to two, with 4/8 providing the most accurate results.

While the standard practice is to linearise the inversion by taking the logarithm of the envelope, the user can choose a non-linear approach. In the first case, the minimum accuracy is set with Murat.input.fitTresholdLinear, representing the Paerson coefficient relative to a line. The advice is to set it to a very low value (e.g., 0.1) as this measurement will be used anyway to weight the inversion. In the non-linear case, the weight is given by the PDF of the misfit.

Body-wave attenuation

The spectral day has minimal effect on variations in space, but it can affect absolute values of total attenuation. Murat.input.bodyWindow must be small enough to still assume a ray approximation but large enough to mitigate changes in radiation pattern, the primary trade-off of the coda-normalisation method.

Murat.input.startNoise depends on how much noise you have at the start of your recordings. The code will measure noise from this point on the window set for body wave and use it to compute signal-to-noise ratios. All waveforms measurements below Murat.input.tresholdNoise are discarded.

Geometry and velocity

The extension and number of nodes of the inversion grid are often changed throughout the analysis because of the need for testing and avoiding spurious earthquakes. MuRAT inverts on a regular grid defined in latitude , longitude and depth. If using a 1D model (Murat.input.availableVelocity = 0) the user can input depths in km, otherwise using a 3D model (Murat.input.availableVelocity = 1) depths are in meters. The text file of the 3D velocity model must replicate the structure of modvMSH.txt, for the 1D that of iasp91.txt. Both files are inside the velocity_models folder. The user can set average velocities for P and S waves for standard calculations.

Inversion

The user choses if using the Regtools (Murat.input.inversionMethod$ = 'Tikhonov') or IR Tools ( = 'Iterative' or 'Hybrid'), the two packages included in the code and necessary to invert for direct and coda attenuation. After the first run of MuRAT, a new folder (Test) will provide several figures that show either the residual vs norm function or a cost function that must be minimised. By selecting the corresponding parameter for each frequency, the user dampens the inversion.

The other inputs define the multiplication factor of the checkerboard test relative to node spacing (2 or 4) and the values of the alternating checkerboard anomalies. The inputs for the spike test define its location and value.