A problem with generating true seismograms for FWI/RTM #203
Replies: 1 comment 2 replies
-
Hi Thanks for reaching out. Lemme try to answer as much as possible and we can continue the discussions if some points need clarification. So first, yes JUDI has gone through multipel updates since that dataset was generated. However you can clearly see that while there is differences due to changes in discretization and sligh modification of the formulation of the acoustic wave equation and boundary conditions, the difference are small amplitude change but do not impact the phase and traveltime. This means this is actually great for testing new algorithms since the data is very clean but you know you cannot have exact match (i.e not inverse crime). So I want to make very clear that the error you get in the right part of the model cannot come from those small diffrerence in the data, these are actual cycle skipping issues coming from an initial model that is too far from the true model. These errors are most likely due to that very high velocity layer you get at the ocean bottom that should not be there. The notebook you pointed to shows that in most case the inversion work perfectly fine. And the fact you did not get better result creating new "inverse-crime" data shows the issue is in the algorithm. Now on to the details:
|
Beta Was this translation helpful? Give feedback.
-
First, thank you for a great modeling/inversion package, you have done a great work in JUDI/Devito.
Now let me explain the problem I have noticed. Based on [05_custom_misfit.ipynb] I built my version with full Overthrust model.
I was pondering how to get a detailed image of the inhomogeneities located on the right side of the model, where there is a plane-parallel medium. I hoped to get full convergence avoiding cycle skipping by using Envelop FWI with a misfit defined in Hilbert space. While the left contrasting part turned out well, things were not so in the right plane-parallel. I was surprised to get an artifact in the right part (screenshot is attached). I started to deal with it and found the problem in the input data. I hope you can help me with this.
So, there is an original file with 97 shots for the full overtrust model. I also found a script in JUDI that generates the same data generate_data_overthrust_2D.jl in JUDI.jl/examples/software_paper/. Changing only the syntax to modern syntax (since the code doesn't run on the current version), I generated a file with the same 97 shots. Running the inversion on this file did not give me a better result. However, I was surprised to find that the original file and the generated file differed significantly. I attach screenshots of 25th shots for the generated and original file, their difference;
screenshots of the center trace (0-offset) of 25,50,75 shots superimposed on each other
and their difference in absolute values
. The graphs show that the discrepancies are strong, you can feel the displacements of the traces along the entire length. Thus, I am not sure that the inversion can eventually converge perfectly (as much as possible) in such a synthetic case. So I have several questions:
Thank you in advance!
Beta Was this translation helpful? Give feedback.
All reactions