- Notifications
You must be signed in to change notification settings - Fork0
mkvishesh/RTM----segyio-devito-
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Reverse time migration belongs to the class of two-way full wave migration solutions. Rather than performing imaging by extrapolating the data in depth, as in traditional one-way full wave solutions, RTM solves the wave equation forward in time for the source modeling field and backward in time for the recorded receiver field for that shot. At each time step, the depth image is obtained by cross-correlating the two fields.
To installdevito follow the instructions fromDevito documentation. I recommend to set up a python environment with conda as also suggested in theinstallation web page
git clone https://github.com/devitocodes/devito.gitcd devitoconda env create -f environment-dev.ymlsource activate devitopip install -e .
All other packages (i.e.dask jobqueue,segyio) can be easily installed viapip
once you have activated the devito environment. To install them, run the following:
pip install segyiopip install dask-jobqueue --upgrade
The cluster (OGÚN) I use is managed bySlurm, but, for reasons I am unaware of, it does not allow manually setting the memory of nodes when submitting my computation in a batch mode. Because of this, I implemented a workaround that allowed me to submit my computation (Seedask-jobqueue issue #238). However, quite recently I realized that my workaround does not work for latest versions (0.7.0, 0.7.1
) of dask-jobqueue. Conversely, those newer versions provide a way to adress the issue by allowing users to skip some lines in the header when configuring the cluster (Seedask-jobqueue issue #238 reply). I tried the newly developed solution but I faced a problem, similar to above. The manager set a standard value of1.5 MB
for the memory of nodes, causing the computation to fail. If you face the same problems you can follow these steps:
pip unistall dask-jobqueuepip install dask-jobqueue==0.4.1
You will soon find out that this bring further problems. However, those problems should be solved by downgrading some packages. Install the following packages in the same way as above
distributed==1.27.0dask==1.1.4msgpack==0.6.1
You would then execute the script normally (seeRun description)
In order to run this code, you first need to download the files fromSEG wiki. I organized the shot gathers and anisotropic parameters in two separated floders,ModelShots
andModelParameters
respectively. You can proceed as follows:
mkdir ModelShots && cd ModelShotswget http://s3.amazonaws.com/open.source.geoscience/open_data/bptti2007/Anisotropic_FD_Model_Shots_part1.sgy.gzwget http://s3.amazonaws.com/open.source.geoscience/open_data/bptti2007/Anisotropic_FD_Model_Shots_part2.sgy.gzwget http://s3.amazonaws.com/open.source.geoscience/open_data/bptti2007/Anisotropic_FD_Model_Shots_part3.sgy.gzwget http://s3.amazonaws.com/open.source.geoscience/open_data/bptti2007/Anisotropic_FD_Model_Shots_part4.sgy.gzfor i in {1..4}; do gunzip Anisotropic_FD_Model_Shots_part${i}.sgy.gz; donerm *.gz && cd ..mkdir ModelParams && cd ModelParamswget http://s3.amazonaws.com/open.source.geoscience/open_data/bptti2007/ModelParams.tar.gzgunzip ModelParams.tar.gzrm *.gz && cd ..
I create a SLURM job filedask_launcher.job
. To run, simply submit the batch job
sbatch dask_launcher.job
You can check the progress of the code with:
tail -f dask_launcher.o<jid>
Below, you can see the final image (built only with 5 shots) overlaid with the background velocity model
About
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Languages
- Python97.2%
- Shell2.8%