README.soutifu 7.38 KB
Newer Older
1 2 3
this is <README.soutifu>
============================================================================
soutifu toy example - step by step
4 5
==================================

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
Purpose and basic usage
-----------------------
src/ts/wf/testcases/Makefile.soutifu contains the definition of test cases for
soutifu. Change directory to src/ts/wf/testcases and execute

  make soutifutests

This will run all tests as defined in Makefile.soutifu The results will be
presented in PDF files:

  soutifu1_add_report.pdf  soutifu2b_report.pdf  soutifu3b_report.pdf
  soutifu1_report.pdf      soutifu2c_report.pdf  soutifu3c_report.pdf
  soutifu2a_report.pdf     soutifu3a_report.pdf

These reports contain descriptive texts and waveform displays. They serve as a
quick test for proper operation and should be useful as a first approach to
soutifu operation. The setup of the test cases can be controlled through make
variables passed on the command line. This way they can serve as toy examples.

Principle of operation for test cases and toy examples
------------------------------------------------------
The test cases are applied to simulated recordings and corresponding
synthetics. Both are computed with the reflectivity algorithm as implemented
in the program refmet.

A plot of the waveform data all other components are based on, can be produced
by

  make soutifubasewaveform.pdf

To study the surface wave propagation properties, plots of Fourier-Bessel
expansion coefficients are provided too. Additionally a plot of the difference
between expansion coefficients for both subsurface models (2lay and 2layb) ㄞs
provided:

  make soutifu2laysyggrn.pdf soutifu2laybsyggrn.pdf
  make soutifudiffgrn.pdf

To simulate recordings a low-pass filter, a time delay, and a scaling factor
are applied to the seismograms. Additionally noise can be added. This results
in two sets of data. On the one hand there are the simulated recorded data and
on the other hand there are the corresponding synthetics. A plot of simulated
observations can be produced by

  make soutifudataplot.pdf

The corresponding synthetics are display by

  make soutifusyntheticplot.pdf

When adding noise to the simulated observations, a plot of waveform amplitudes
can be helpful:

  make soutifuamp.pdf

The data simulation can be controlled by the following make variables:

SRCDUR      source wavelet duration
SRCDEPTH    source depth
NOISEAMP    noise rms-amplitude
STFPER      low-pass eigenperiod (in seconds) for source time function 
STFFAC      scaling factor for source time function simulation
STFDELAY    delay (in seconds) to simulate a trigger advance

To start a new test case from scratch (without recalculation of the
reflectivity run) first execute

  make soutifuclean

For example the effect of a larger delay, a smaller low-pass period and
additional noise can be studied by

  make soutifuclean soutifudataplot.pdf NOISEAMP=7.e-6 STFPER=0.001 STFDELAY=0.3

The noise amplitude can be adjusted by

  make soutifuclean soutifuamp.pdf NOISEAMP=2.e-5

and varying the value of NOISEAMP.
85

86 87
Using the toy examples
----------------------
88

89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
The above mentioned test cases can well be used as toy examples to study the
effect of processing parameters. Just call 

  make soutifuclean soutifu1_report.pdp

to receive a display of the result for testcase 1 in the PDF previewer. If you
like to change the default PDF previewer to e.g. okular, call

  make soutifuclean soutifu1_report.pdp PDFPREVIEWER=okular

instead. Testcase 1 uses identical wave propagation for simulated data and
synthetics. In this case it is always possible to reproduce data from
synthetics by the appropriate correction filter, as well as it is possible to
reproduce the actual source time function. This is displayed by

  make soutifuclean soutifu1_add_report.pdp

which adds test time series, which are filtered by the source time function as
used in producing simulated data as well as with the correction filter derived
by soutifu. Both operations should provide identical results.

Noise added to the data will result in a noise correction filter:

  make soutifuclean soutifu1_add_report.pdp NOISEAMP=5.e-5

A finite waterlevel in the deconvolution reduces high-frequency noise without
noticable deterioration of waveform simulation. However in the additional test
time series the lack of low-frequency energy in the signals use to optimize
the correction filter becomes apparent:

  make soutifuclean soutifu1_add_report.pdp NOISEAMP=5.e-5 \
    SOUTIFU1='fdlsq:tshift=0.4:waterlevel=0.01'

The deterioration becomes stronger with increasing waterlevel:

  make soutifuclean soutifu1_add_report.pdp NOISEAMP=5.e-5 \
    SOUTIFU1='fdlsq:tshift=0.4:waterlevel=2.'

127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
Test case 3 uses slightly different wave propagation for the synthetics
compared to the simulated observations. This way it is impossible to reproduce
all recordings with one single correction filter. Without offset dependent
scaling the near-source traces dominate the misfit, such that the correction
filter will be adjusted to reproduce the near-offset traces:

  make soutifuclean soutifu3x_report.pdp STFPER=0.04 

This will be the desired result in most cases of practical relevance.

An extreme increase of weight with offset can be used adjust the fit to the
trace with the largest offset:

  make soutifuclean soutifu3x_report.pdp STFPER=0.04 SOUTIFU3EXP=40.

An intermediate value for the exp-parameter will produce a kind of compromise:

  make soutifuclean soutifu3x_report.pdp STFPER=0.04 SOUTIFU3EXP=2.5
145

146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
============================================================================
Testing special features
============================================================================

Taper applied to impulse response
=================================
All procedures operating in the Fourier domain accept the option "irtap" to
apply a taper to the impulse response of the source time function corrections
filter:

  irtap=t1,t2,t3,t4  taper impulse response of correction filter

See the output of "soutifu -phelp fdlsq" (or "onlinehelp -p fdlsq" in the
source directory of libstfinv) for details. Here are some examples to test
this feature.

Tests to fail
-------------

Must fail because taper times must increase monotonically:

  make soutifuclean soutifu1_report.pdp \
    SOUTIFU1='fdlsq:tshift=0.4:irtap=0.1,0.2,0.1,0.4'

However accepted is:

  make soutifuclean soutifu1_report.pdp \
    SOUTIFU1='fdlsq:tshift=0.4:irtap=-0.1,-0.1,0.2,0.2'

Tapers longer than the duration of the time series are not accepted:

  make soutifuclean soutifu1_report.pdp \
    SOUTIFU1='fdlsq:tshift=0.4:irtap=-0.5,-0.1,0.2,2.6'

Tests to demonstrate action
---------------------------

For 

  make soutifuclean soutifu1_report.pdp NOISEAMP=1.e-5 \
    SOUTIFU1='fdlsq:tshift=0.4:waterlevel=2.:exp=4.'

the impulse response of the correction filter contains acausal artefacts. They
and an unwanted coda in the correction filter as well as in the convolved
synthetics are removed by

  make soutifuclean soutifu1_report.pdp NOISEAMP=1.e-5 \
193
    SOUTIFU1='fdlsq:tshift=0.4:waterlevel=2.:exp=4.:irtap=0.,0.05,0.1,0.15'
194 195 196 197 198 199 200 201 202 203 204 205

Similarly for an intentionally acausal correction filter:

  make soutifuclean soutifu2a_report.pdp NOISEAMP=1.e-6 \
    SOUTIFU2='fdlsq:tshift=0.4:exp=2.5'

Which can be used to demonstrate the applicability of negative taper
definition times: 

  make soutifuclean soutifu2a_report.pdp NOISEAMP=1.e-6 \
    SOUTIFU2='fdlsq:tshift=0.4:exp=2.5:irtap=-0.12,-0.1,-0.02,0.02'

206
----- END OF README.soutifu -----