Monte Carlo approach to assess the uncertainty of wide-angle layered models

VMONTECARLO

VMONTECARLO (Loureiro et al., 2016) is a suite of programs designed to provide a probabilistic approach to the uncertainty of velocity models using the RAYINVR parametrisation. It generates random velocity models within a pre-established solution space around the preferred model, the Random Models Universe (RMU), building a Model Ensemble (ME), where the quality of each model is evaluated by a scoring function based on the ray-tracing results. The ray-tracer is the same as implemented by Zelt & Ellis (1988)Zelt & Smith (1992) in the RAYINVR suite.

Probability distributions of the model scores are generated along depth-velocity profiles using all random models. Models within a user-defined quality threshold are used to estimate the preferred model’s uncertainty and to generate parameter probability distribution histograms. VMONTECARLO and related companion programs usage is described at the header of the source code or, in a much more convenient way, by invoking each program with the -h option.

The source code for version 3.16 and files to run the synthetic example can be downloaded here: Source code

(Sep/2021): version 3.16 - several bug fixes. Added support for RAM disk

Sep/2018): version 3.10 - increased stability for larger models.

(Aug/2018): Added auto-detection and compilation options for Mac OS on the Makefile

(Dec/2017): version 3.9 - several bugfixes, better detection of bad models, ability to stop execution mid-run(Mar/2017): version 3.8 - better handling of poor models.

(Feb/2017): version 3.7 - several bugfixes.

(Jan/2017): VMONTECARLO v3 launched - new random model generation engine, adaptive variance and binary output that reduces disk usage by a factor of 30, among several bugfixes.


If compilation fails, it is recommended to install the following: gfortran gcc libgcc-4.8-dev libquadmath0 libgfortran-4.8* g++-multilib gcc-multilib gfortran-multilib fort77 libx11-dev libx11-dev:i386

For Fedora/Red Hat users, if compilation fails, it is recommended to compile in dynamic mode (remove static flag) and install the following: libgcc.i686 libquadmath.i686 glibc-devel.i686 gcc-gfortran.i686

On gcc versions newer than 4.9 there might be some compiler memory optimization issues that break memory bounds defined by the program. Vmontecarlo might be unable to run at all. A possible work around involves migrating vmontecarlo to 64 bits, but the underlying ray solver, based on rayinvr will still be at 32 bits, meaning that the maximum model size will be about half of what vmontecarlo is currently capable of testing.

Example output figures


pict

Figure 1: Normalised average models scores distribution.

pict

Figure 2: Histograms of parameter values of acceptable models.

pict

Figure 3: Global uncertainty plot.


References

   A. Loureiro, A. Afilhado, L. Matias, M. Moulin and D. Aslanian. Monte Carlo approach to assess the uncertainty of wide-angle layered models: Application to the Santos Basin, Brazil. Tectonophysics, 2016. doi: 10.1016/j.tecto.2016.05.040.

   C. A. Zelt and R. M. Ellis. Practical and efficient ray tracing in two-dimensional media for rapid traveltime and amplitude forward modeling. Canadian Journal of Exploration Geophysics, 24(1):16–31, 1988.

   C. A. Zelt and R. B. Smith. Seismic traveltime inversion for 2-D crustal velocity structure. Geophysical Journal International, 108(1):16–34, 1992. doi: 10.1111/J.1365-246X.1992.TB00836.X.