Closed banesullivan closed 2 years ago
👋 Thanks for opening your first issue here! Please make sure you filled out the template with as much detail as possible.
You might also want to take a look at our Contributing Guide and Code of Conduct.
Sounds good, although I am not sure if it is that straight forward. How does RockHound work? The zip file contains many different things - SEGY-files, horizons, velocity-zips, and so on.
If we do the Salt Model we should also do the Overthrust model. Both are heavily used examples.
I guess we should add https://wiki.seg.org/wiki/AGL_Elastic_Marmousi to this PR, as they will be very similar to include.
I'm not sure how all this works but I imagine it uses pooch
to download the data which should be able to handle navigating many files in a single archive.
We should probably wait until a maintainer here provides insight on how these various datasets should be handled
@banesullivan @prisae thanks for pointing these out! Completely forgot that they existed :)
If we do the Salt Model we should also do the Overthrust model. Both are heavily used examples.
I agree that it would be great to have all of these here.
I guess we should add https://wiki.seg.org/wiki/AGL_Elastic_Marmousi to this PR, as they will be very similar to include.
It would be better to add these models in separate pull requests, though. Would any of you mind opening other issues requesting each model? Who knows, maybe a willing volunteer will show up and implement them for us :)
I'm not sure how all this works but I imagine it uses pooch to download the data which should be able to handle navigating many files in a single archive.
It does use Pooch and the new post-processing hooks in Pooch were motivated by it. So one can download a zip and have pooch unzip/untar/decompress it locally for easy access (which adds a bit of storage requirements).
The bedmap2 code is a good place to start: https://github.com/fatiando/rockhound/blob/master/rockhound/bedmap2.py
What we need when adding a new data set is:
1 and 2 are placed in rockhound/registry.txt
and pooch will handle the download automatically.
Thanks @leouieda for the info. @bane re initial question about help implementing it. I have not used rockhound so far and haven't planned to use it currently, but I'll keep it on my list ;-)
Another thing to think about: is it worth repackaging this dataset? I just downloaded the file and it's big (489Mb) but the surfaces and grids loaded in the PyVista notebook only account for ~25Mb of that. If we only need those parts, it might be better to repackage them and host somewhere else (which is allowed under CC-By) so we don't have to download all of it.
Where could we store data? GitHub LFS in a repo under @softwareunderground perhaps?
Hello, I'm definitely interested in easily obtaining this velocity grid for the Overthrust and Salt model.
In the mean time, the download link provided by the OP has a file that references CD-ROMS and file formats that aren't very clear to me (e.g., ".vo" and "@@saltf"). How do you read these data into Python to create the above image of the salt model? Many thanks.
Hi @krober10nd
The short answer is that I don't know. The original data back in the days was distributed on CD-ROMS, it came in three pieces, you can see them in the scanned manual.
The only thing we did was using the velocity model and a few horizons. I particularly used the Saltf@@
file, which you get from extracting the SALTF.ZIP
:
import zipfile
import numpy as np
# Dimensions
nx, ny, nz = 676, 676, 210
# Extract Saltf@@ from SALTF.ZIP
zipfile.ZipFile('./data/SALTF.ZIP', 'r').extract('Saltf@@', path='./data/')
# Load data
with open('./data/Saltf@@', 'r') as file:
v = np.fromfile(file, dtype=np.dtype('float32').newbyteorder('>'))
v = v.reshape(nx, ny, nz, order='F')
You can have a look at my example here: https://empymod.github.io/emg3d-gallery/gallery/reproducing/SEG-EAGE_3D_salt_model.html
Bane's example lives here: https://nbviewer.jupyter.org/github/pyvista/show-room/blob/master/seg-eage-3d-salt-model.ipynb which is an adjustment of my examples, adding some of the layers.
Hope that helps.
Hey excellent. Thank you. This helps a lot. So @@ indicates binary ? well that’s new to me. :)
On Tue, 17 Mar 2020 at 4:52 PM Dieter Werthmüller notifications@github.com wrote:
Hi @krober10nd https://github.com/krober10nd
The short answer is that I don't know. The original data back in the days was distributed on CD-ROMS, it came in three pieces, you can see them in the scanned manual.
The only thing we did was using the velocity model and a few horizons. I particularly used the Saltf@@ file, which you get from extracting the SALTF.ZIP:
import zipfile import numpy as np
Dimensions
nx, ny, nz = 676, 676, 210
Extract Saltf@@ from SALTF.ZIP
zipfile.ZipFile('./data/SALTF.ZIP', 'r').extract('Saltf@@', path='./data/')
Load data
with open('./data/Saltf@@', 'r') as file: v = np.fromfile(file, dtype=np.dtype('float32').newbyteorder('>')) v = v.reshape(nx, ny, nz, order='F')
You can have a look at my example here:
https://empymod.github.io/emg3d-gallery/gallery/reproducing/SEG-EAGE_3D_salt_model.html
Bane's example lives here:
https://nbviewer.jupyter.org/github/pyvista/show-room/blob/master/seg-eage-3d-salt-model.ipynb which is an adjustment of my examples, adding some of the layers.
Hope that helps.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fatiando/rockhound/issues/50#issuecomment-600266246, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEOBZ7FZCH7RGTO3L4DXKTLRH7IJNANCNFSM4H4O7RLQ .
--
Keith Roberts Post-doctoral researcher University of São Paulo krober@usp.br krober10@nd.edu
Desired dataset/model:
Are you willing to help implement and maintain this feature? Somewhat... @prisae, would you want to help me and we could both do this?
NOTE: The SEG website is having some issues and has been down for a few days, but the direct download link still works.
Also, here is a notebook we put together to show how to download and visualize the model and the various accompanying surface meshes using PyVista: https://nbviewer.jupyter.org/github/pyvista/show-room/blob/master/visualize-data.ipynb
(that example notebook might move around so let me know if the link breaks in the future)