Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how to make constraints on the start model in the travel time inversion #239

Closed
siam2015 opened this issue Jun 12, 2020 · 5 comments
Closed
Assignees
Labels

Comments

@siam2015
Copy link

Hello, i am trying to do some travel-time inversions by using the TravelTimeManager function. I would like to constrain the velocity value at a certain position on the start inversion model and make it fixed during the iteration process. Is it possible to implement in the pyGimLi?

Your environment

Operating system: Windows
Python version: 3.6?
pyGIMLi version: 1.1
Way of installation: Conda package

@halbmy halbmy self-assigned this Jun 12, 2020
@halbmy
Copy link
Contributor

halbmy commented Jun 12, 2020

Even though I don't quite understand what exactly you're trying to do: the answer is yes. There is always a way to do special things in pyGIMLi. I suggest you start writing a script by using the traveltime manager example and try to explain in detail what you're trying to do. Do you want to fix the velocity at some distinct points or do you have a whole subsurface model that you want to use as a reference?

Please make sure to install the latest pyGIMLi v1.1 using conda and Python 3.7 (there is no package for Python 3.6 on Windows anymore) so that we don't have to look back into the history.

@siam2015
Copy link
Author

Thank you for your reply. I have updated to the latest pyGimLi v1.1 and Python 3.7. Sorry for that misleading question. It could be divided into two questions:
(1) how to set a start inversion model in the TraveTimeManager module? I found there is a createStartModel function in it. My intent is to assign a velocity value to several points or an area based on the prior information. Is this function a good way to achieve this?
(2) how to fix the assigned velocity value in the start model? Generally, the velocity in the start model will be updated by the iteration process. But the velocity somewhere can be quite sure, such as the velocity value near the wellbore. Thus, this part of values just needs to be fixed.
Looking forward to your comments.

@halbmy
Copy link
Contributor

halbmy commented Jun 17, 2020

Indeed a very interesting and important question.

A starting model for inversion can be provided by tt.invert(..., startModel=...). However, it is just a starting model vector and no reference the solution is constrained against. Moreover, it does hold for the whole subsurface. To include local prior information, there are two main ways:

  1. Define some regions in the mesh with a specific marker and treat this region in the region manager specifically (single region, constrain to neighbors). See Rücker (2011) dissertation or Wunderlich et al. (2018) paper for details and examples.
  2. A very new and easier way is to do a joint inversion of point values using a prior data forward operator (see tutorial on geostatistic regularization). I am working on a nice example how to do this by hand inversion (modelling level) and how to inject this into an existing manager (Application level) which is not yet clear.

@siam2015
Copy link
Author

Greatly appreciate your comments. I will read the references you recommended and look forward to the new example. Thanks!

@halbmy
Copy link
Contributor

halbmy commented Nov 30, 2020

I am closing this issue as it was a question that had been answered. Nevertheless, we need some example for constraining models easily but that's another story (for which we have a nice solution). Thank's for the interesting question.

@halbmy halbmy closed this as completed Nov 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants