Let's take an example:
You invert a dispersion curve with 20 points from 5.5 to 18 Hz, and 14 autocorrelation curves with varying number of samples and varying frequency ranges (from 0.75 to 18 Hz). If you are not defining a common sampling frequency sampling for all curves, you might have a total number of samples of (1+14)*50 = 750 sample points if the average number of points per curve is 50. Dealing with so many samples is useless and expensive in time and storage. If all curves have a common frequency sampling, we can represent almost the same information with much less samples. For doing so, you must carefully resample all curves individually with the same range (from 0.75 to 18 Hz in this case) and with a reasonable number of points (e.g. 50 or 75).
To calculate the approximate size of a report file or the memory space needed to plot autocorrelation curves the following formulas can be used.
Each sample is store by its X and Y value (total of 16 bytes). There is no savings made to store a common X scale to all curves. This is more expensive but allows more flexibility. Each model with 15 curves and a total of 750 points occupies 176 Kb. Some extra storage is needed for the Vs, Vp and Rho profiles, neglected here. If there is only 75 samples per model
its size drops to 17.6 Kb. If 10,000 models are generated, the approximate size of a report (and needed for plotting) is 171 Mb.
Hence, when dealing with the inversion of autocorrelation curves you have to be careful with the number of generated models, unless you have a 8-core processor and 32 Gb of ram.
If storage on hard disk is not a problem for you, it is possible to plot one ring at a time.
Code: Select all
for (( index = 0 ; index<15 ; index = index + 1 )); do
gpdcreport -aV 0 -m 1 run_01.report -ring $index | figue -mc -addlayer ring${index}-target.layer
done