In this example we show the results of various methods that can be used to determine the misfit between different shear wave splitting (SWS) parameters and illustrate how these can be used to fit a model to measured SWS data. The four methods that are implemented in MSAT which can be used to estimate the difference between one splitting parameter, $\Gamma_1 = (dt_1 , \phi_1)$, and a second, $\Gamma_2 = (dt_2 , \phi_2)$, are first outlined and results illustrated. In the second part of the example we show how this approach can be used to find the best-fitting model assuming tilted transverse isotropy (TTI) to a collection of synthetic SWS measurements.

Calculating a misfit

The example file demo_splitting_misfit.m in the examples/splitting_misfit directory shows how the MSAT function MS_splitting_misfit can be used and plots the value of the misfit function for pairs of splitting parameters. The reference splitting parameters, $\Gamma_1$, for this illustration are $dt_1 = 2$ seconds and $\phi_1 = 0$ degrees. This is compared with $\Gamma_2$ with values varying from $\phi_2 = -90$ to $\phi_2 = 90$ degrees and $dt_2 = 0$ to $dt_2 = 4$ seconds. For the methods that are sensitive to source polarization three values are used, 45, 30 and 0 degrees. The calculation of misfit over this grid of values of $\Gamma_2$ is done as follows in the function calc_misfit_surface:

   fast = [-90:5:90] ;
   tlag = [0:0.1:4] ;

   [TLAG,FAST] = meshgrid(tlag,fast) ;
   MISFIT = FAST.*0 ;

   % generate misfit
   for itlag=1:length(tlag)
      for ifast=1:length(fast)
        MISFIT(ifast,itlag) = ...
           MS_splitting_misfit(fast_ref,tlag_ref, ...
              fast(ifast),tlag(itlag),spol,0.1,'mode',modeStr,'max_tlag',10) ;
      end
   end

The call to MS_splitting_misfit calculates the misfit for each of the values of $\Gamma_2$. This is done for each of the polarisation directions and misfit calculation methods ("simple", "intensity", "lam2" and "lam2S") and the calculated misfit surfaces plotted.

Misfit surfaces for 0 degree polarisation

The images above show the misfit surfaces produced by the demo_splitting_misfit example for the 0 degree polarisation angle. It is instructive to first consider the "simple" approach (lower left figure). This approach takes the average of the magnitude of the difference between the delay times and magnitude of the difference of between the fast directions. That is:

$\displaystyle{\frac{1}{2} \left(\frac{|dt_1-dt_2|}{(0.25/f_d)} + \frac{|\phi_1 - \phi_2|}{90}\right)}$,

where $f_d$, the dominant frequency, and 90 are included to properly normalise the two parts of the sum. This is not dependent on the initial polarisation direction and always forms a diamond shape with a minimum located at the point where $dt_1 = dt_2$ and $\phi_1 = \phi_2$. Another approach is the comparison of splitting intensity activated by the "intensity" method. The approach is to calculate the splitting intensity for both pairs of parameters:

$\displaystyle{S_i = dt_i \sin(2 \beta_i)}$,

(where $\beta$ is the difference between the initial polarisation angle and $\phi$) and taking the magnitude of the difference between $S_1$ and $S_2$. As shown in the lower right figure, the misfit surface is more complex but retains a minimum where the two splitting operators are equal. MSAT also implements two other approaches motivated by the way that SWS parameters can be extracted from data and, in particular the minimum eigenvalue method (Silver and Chan, 1991). Details of the approach, which involves splitting a probe wavelet using $\Gamma_1$, "unsplitting" it using $\Gamma_2$, and comparing the result with the probe wavelet, is given in the user guide but the result is shown in the top two figures. The top left figure shows the results of the "lam2" method which, because SWS operators are not commutative, differs if the values of $\Gamma_1$ and $\Gamma_2$ are exchanged. The top right figure shows the "lam2S" method where the forward and reversed "lam2" results are averaged to give a misfit function which is independent of the order that the splitting functions are supplied. The misfit function for both eigenvalue based methods change with both the initial polarisation angle and the dominant frequency of the test wavelet. In the following section the "lam2" misfit function is used to derive and elastic model that best fits SWS results.

From a misfit to a model

The file examples/splitting_misfit/fit_TTI_orientation.m shows how the splitting misfit described above can be used to find an elastic model that matches a set of SWS measurements. In the following example an elastic model with tilted transverse anisotropy (TTI) is generated and used to calculate three splitting parameters that would correspond to observations of rays arriving from different azimuths and inclinations. A grid search over different orientations of the TTI medium is then performed and at each orientation the model’s predicted splitting parameters are calculated. These are then compared with the "observations" and the orientation that minimises the sum of the misfit found. This orientation is then reported (along with the resulting misfit surface. Key parts of the code for this example are described below

The first step is to generate an elasticity matrix describing the "observed" TTI medium and calculate the "observed" splitting parameters. The model is set up as follows:

   %% set the raypath parameters. ---------------------------------------------
   razi = [045 135 048] ;
   rinc = [000 000 032] ;
   dist = 50 ; % km

   %% set up the medium to be modelled. ---------------------------------------
   str = 60 ;
   dip = 25 ;

   vpi=2;
   vsi=1;
   rh=2000;

   [Craw]=MS_VTI(vpi,vsi,rh,0.05,0.05,0.05) ;

and we note that (as is commonly the case for SWS) there is no way to distinguish a thin layer of strong anisotropy from a thick layer of weak anisotropy. We thus assume a 50 km thick layer of fixed strength of anisotropy throughout and only solve for the orientation of this layer. The "observed" parameters are returned by a the function call [fast,tlag,ravs]=create_dataset(Craw,rh,str,dip,razi,rinc,dist) ;, which makes use of MS_phasevels.

The second stage of the calculation is to compute the misfit between fast and tlag and the calculated splitting parameters for a range of TTI orientations. This is done in the loop over strikes and dips thus:

   %% calculate a grid of misfits over a range of strikes and dips. -----------
   fprintf('Grid searching over strike and dip ... \n')
   [GSTR GDIP] = meshgrid([0:10:360],[0:5:90]) ;
   GMIS=GSTR.*0 ;
   [n,m]=size(GSTR) ;
   for i=1:n
      for j=1:m
         str_dip = [GSTR(i,j) GDIP(i,j)] ;
         GMIS(i,j) = orientation_misfit(str_dip,Craw,rh,...
            0,0.1,fast,tlag,razi,rinc,dist) ;
      end
   end

with the misfit stored in GMIS. Calculation of the misfit for each orientation is performed by the orientation_misfit function with the body of the calculation involving the use of MS_phasevels and MS_splitting_misfit for each "observed" splitting function:

   % rotate the test matrix
   [Ctest]=MS_rot3(Cbase,0,-str_dip(2),str_dip(1)) ;

   % calculate associated splitting
   [pol,avs,vs1,vs2,~,~,~] = MS_phasevels(Ctest,rh,rinc,razi) ;
   fast = pol ;
   tlag = dist./vs2 - dist./vs1 ;


   % calculate the misfit (the average over all raypaths)
   misfit=0 ;
   for i=1:length(data_fast)
      misfit = misfit + MS_splitting_misfit(data_fast(i),data_tlag(i),...
                           fast(i),tlag(i),data_spol,data_dfreq,'mode','lam2') ;
   end
   misfit = misfit ./ length(data_fast) ;

The final step is to report and plot the best fitting model and misfit surface. The model and "observations" are plotted together using the "sdata" option in MS_plot:

   fprintf('Plotting model and observations\n')
   Cbest = MS_rot3(Craw, 0, -GDIP(imin,jmin), GSTR(imin,jmin));
   MS_plot(Cbest,rh,'sdata',razi,rinc,fast',ravs','plotmap', {'avspol'}) ;

which produces the diagnostic pole figure below. In this figure "observed" SWS data (white lines, coloured spots refer to strength of anisotropy) and the best fitting model (black lines, coloured contours refer to strength of anisotropy) are both shown.

Pole figure of