slimgroup / JUDI.jl

Julia Devito inversion.
https://slimgroup.github.io/JUDI.jl
MIT License
94 stars 29 forks source link

Will `DataPreconditioner` work with OOC data in the future? #212

Closed kerim371 closed 3 months ago

kerim371 commented 8 months ago

Hi,

It is not an issue but rather a question. DataPreconditioner works only with IC judi Vectors. That means we have to load all shots of a SEGY file in RAM. Will it work with OOC judi Vector in the future so we could work with preconditioners and heavy SEGY files?

mloubout commented 8 months ago

It would be good to have in the future yes and only apply it on a single shot when needed

kerim371 commented 8 months ago

@mloubout are there some difficulties to implement that or it is not so important for now? I mean could I take a look at that to try work with that task?

mloubout commented 8 months ago

It's not that difficult just a bit time consuming

kerim371 commented 8 months ago

if you give me some hints where to start to work on that I could try.

kerim371 commented 4 months ago

Hi, this is more like a request for the new feature.

From time to time I'm asked if I can perform FWI with 3D land data and actually I have a dream to try it. FWI with land data is even more difficult than marine data because of the relief, absence of source signature, surface waves and maybe some other things.

From the technical part of this task the biggest problem that scares me is I'm unable to use DataPreconditioner as it requires to load all the field data to the memory. That is why most likely I will be unable to mute reflected waves along with the surface waves to perform FWI on refracted waves only (it also makes a small unconvenience with data filtering beacause I would need to filter data separately and store it on the disk). And according to my experiments and published articles refracted (turning) waves are able to recover low/medium frequency velocity model variations. So generally the refracted waves are more important than reflected waves. The reflected waves brings up only the "sharpenness" to the result model.

Another thing is that fwi_objective doesn't support muting #213. If I avoid using fwi_objective and use the solution described in #213 then the wavelield is computed twice that means the computational times takes 1.5 longer than using fwi_objective.

It would be great if such limitations were solved and I would be more confident in success if I get such opportunity.

mloubout commented 4 months ago

I do know and understand that this is an important feature. Unfortunately I only have limited time I can spend on it so I cannot make any predicitions on the time it will take but this is near the top of my list.