spherical earth and dinver

This forum is dedicated to discuss all problems and suggestions related to the inversion software
akoehler
Posts: 9
Joined: Tue Feb 01, 2011 3:55 pm

spherical earth and dinver

Postby akoehler » Tue Feb 01, 2011 4:13 pm

Hi Marc,

I'm using dinver to invert phase velocities at longer periods (noise cross-correlation). From about 20 s period, it starts to have a significant effect on phase velocities whether they are computed from a flat or from a spherical earth model.

I was just wondering if it would be straight forwards to include the correction in the forward computation in dinver or if there is any option which I didn't discovered yet.

Thanks of your help!

Andreas

admin
Site Admin
Posts: 412
Joined: Mon Aug 13, 2007 11:48 am
Location: ISTerre
Contact:

Postby admin » Mon Feb 07, 2011 4:56 pm

Hi Andreas,

No there is no hidden option. This is simply not implemented. For fast implementation, can you give me a synthetic reference or an explanation of what should be changed regarding flat implementation?

akoehler
Posts: 9
Joined: Tue Feb 01, 2011 3:55 pm

Postby akoehler » Wed Feb 09, 2011 11:07 am

We are using the program of Saito for the forward computation in a spherical earth. The problem may be that it is written in fortran and, more serious, that it needs much more computation time than computing velocities from a layered model in a flat earth.

In order to take into account the spherical earth, the model has to be sub-sampled in depth and the solution is found numerically. Could be too much effort to include that into the code and the inversion in dinver would finally become too slow.

However, there is also another approach: I will try to correct phase velocities before inverting with dinver (one could find a empirical relation and there is also work done by Bhattacharya, GJR, 1976). To check the correction one can recompute misfits with the Saito program after running dinver.

Andreas

admin
Site Admin
Posts: 412
Joined: Mon Aug 13, 2007 11:48 am
Location: ISTerre
Contact:

Postby admin » Wed Feb 09, 2011 11:54 am

Herrmann codes were doing some sort of simple correction for sphericity. But I cannot remember the details and a reference would be helpful. Herrman's correction is certainly similar to the one described in your reference.

akoehler
Posts: 9
Joined: Tue Feb 01, 2011 3:55 pm

Postby akoehler » Wed Feb 09, 2011 1:03 pm

There are basically three ways to take into account the spherical earth:

1. Correct phase velocities empirically (don't have to change anything in dinver). Bhattacharyam, 1976 is showing a plot of that relation (Fig 1), but I also tried to find one by myself by simply generating random models (gpparam2model) and comparing the forwards computed velocities from dinver (gpdc) and Saitos program. Problem: Correction might not be that exact

2. Flattening transformation directly on the models: Bhattacharyam, "Computation of Surface waves ...",BSSA, 99(6), 2009 is a good reference here. Also the book of Kennett "Seismic Wave Propagation in Stratified Media" explains this transformation. The problem here: Body waves velocities and densities have to be corrected depending on the depths (or radius). That could be difficult to implement in dinver since simple layered models are not that simple any more.

3. Forward computation of phase velocities: no analytic solution, needs numerical integration, e.g. Saitos program: Takeuchi, H. and Saito, M., "Seismic surface waves", Methods in computational physics,1972. Problem: Computation time

I'm not sure what Herrmann did ...

admin
Site Admin
Posts: 412
Joined: Mon Aug 13, 2007 11:48 am
Location: ISTerre
Contact:

Postby admin » Wed Feb 09, 2011 4:03 pm

Why can't we use Saito's code for forward computation? It will be a bit slower but more accurate, but how much?

I guess that discretization remains identical to the current flat implementation. Surface wave dinver module could serve as a bsis for a new plugin (e.g. Spherical Surface Wave). Parameterization is already implemented in a separate library that both plugin can access.

Marc

akoehler
Posts: 9
Joined: Tue Feb 01, 2011 3:55 pm

Postby akoehler » Wed Feb 09, 2011 4:48 pm

Yes, using Saito for forward computation would be the "cleanest" or most accurate solution. Would it be possible to include a fortran code directly as a plugin or has it to be rewritten in cpp? I could forward you the code if you want to have a look.

I compared the Saito (spherical) and dinver forwards computation. Difference in phase velocity is about 1% at 50 and 2% at 100 s. Computation time: Not sure if we can compare it directly since I'm calling saito in a script for each model separately, but it takes about 10 seconds for 100 models. Without all the written output, I expect that we can speed up the process.

admin
Site Admin
Posts: 412
Joined: Mon Aug 13, 2007 11:48 am
Location: ISTerre
Contact:

Postby admin » Wed Feb 09, 2011 5:54 pm

Fortran code can be included in the spherical surface wave module.
However, we should first ask for permission to Saito. Does he agree to release it under GPL? Or should we make a sort of academic license?

akoehler
Posts: 9
Joined: Tue Feb 01, 2011 3:55 pm

Postby akoehler » Thu Feb 10, 2011 10:51 am

The code was originally distributed with the book from 1988 "Seismological Algorithms: Computational Methods and Computer Programs". Saitos package was called "DISPER80: A subroutine package for the calculation of seismic normal-mode solutions". The book says that everyone who wants could get the code from the World Data Center Solid Earth (on tape :) ) . That's of course more than 20 year ago. So I'm not sure about the licence today and whom to contact. I did some searching but wasn't successful so far ...

freitag
Posts: 10
Joined: Wed Sep 09, 2009 2:21 am

Postby freitag » Fri Feb 11, 2011 12:10 am

I'd also be interested to find out about the licence status of DISPER80 in order to include it into ObsPy (www.obspy.org). However I could neither track down Saito nor Doornbos (the editor). Quite strange.

admin
Site Admin
Posts: 412
Joined: Mon Aug 13, 2007 11:48 am
Location: ISTerre
Contact:

Postby admin » Fri Feb 11, 2011 8:17 am

Thanks to your post I went to further reading of ObsPy project. I wonder whether it could be interesting to have a GeopsyPy module to be included in ObsPy.

akoehler
Posts: 9
Joined: Tue Feb 01, 2011 3:55 pm

Postby akoehler » Fri Feb 11, 2011 8:52 am

Apart from the licence question, which we have to solve somehow, do you have access to Saitos code, Marc? I'm working with a version, which has been modified a bit by Valerie Maupin since the code arrived in Oslo 20 years ago. But we could prepare or find a clean version and send it to you.

admin
Site Admin
Posts: 412
Joined: Mon Aug 13, 2007 11:48 am
Location: ISTerre
Contact:

Postby admin » Fri Feb 11, 2011 9:03 am

I remember some discussion with Helle Pedersen some years ago and she was also working with codes from Valerie Maupin. I can ask her whether she has access to some original version.

akoehler
Posts: 9
Joined: Tue Feb 01, 2011 3:55 pm

Postby akoehler » Fri Feb 11, 2011 9:20 am

Just talked to Valerie. She also still has the original version. She will check what modifications she made we may need. I will come back to you ...

freitag
Posts: 10
Joined: Wed Sep 09, 2009 2:21 am

Postby freitag » Fri Feb 11, 2011 9:05 pm

I was also thinking of a GeopsyPy module for ObsPy. I've written a couple of scripts that basically interface with the dinver-tools. Was that what you had in mind or did you think of something more sophisticated.


Return to “Dinver usage”

Who is online

Users browsing this forum: No registered users and 1 guest