Giter Site home page Giter Site logo

dilshad-geol / geophysical_notes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aadm/geophysical_notes

0.0 0.0 0.0 536.01 MB

Collection of geophysical notes in the form of IPython/Jupyter notebooks.

Python 0.15% Lasso 5.15% Jupyter Notebook 94.70%

geophysical_notes's Introduction

// geophysical_notes //

My collection of geophysical notes written as Jupyter notebooks.

(Mostly obsolete now, don't have time for a proper update; for example I stopped wasting my time with jupyter widgets and Panel for interactive apps and I am now using Streamlit).

seismic petrophysics

Do magic things with well log data.

support data for "seismic petrophysics"

  • well_2*.txt: raw log data from Well 2 of Quantitative Seismic Interpretation (QSI)
  • qsiwell2.csv: assembled all the logs from various files
  • qsiwell2_frm.csv: qsiwell2 + fluid replaced elastic logs
  • qsiwell2_augmented.csv: barebones well data, only Ip, Vp/Vs and LFC (litho-fluid class log)
  • qsiwell2_synthetic.csv: synthetic data generated through Monte Carlo simulation, same logs as in qsiwell2_augmented.csv (Ip, Vp/Vs and LFC)
  • qsiwell2_dataprep.py: Python script to assemble all the original QSI files

seismic and rock physics stuff

How to load and display SEG-Y files, plus some simple ways to play with the data, e.g. extracting amplitude informations, adding noise & filtering. Also, a notebook entirely dedicated to wedge modeling and how to reproduce a couple of figures from scientific publications.

support data for "seismic stuff"

  • 16_81_PT1_PR.SGY, 16_81_PT2_PR.SGY, 16_81_PT3_PR.SGY, 31_81_PR.SGY: 2D lines in SEGY format from the USGS Alaska dataset
  • 3d_farstack.sgy, 3d_nearstack.sgy: 3D cubes from the QSI dataset (see above)
  • Top_Heimdal_subset.txt: interpreted horizon for the QSI near and far angle cubes
  • ST10010ZC11_FAR_T_CROP.seisnc, ST10010ZC11_NEAR_MID_T_CROP.seisnc, ST10010ZC11_NEAR_T_CROP.seisnc: angle stacks from Equinor's Volve dataset
  • Interpreted horizons for the Volve seismic are in Horizons_TWT/Official_Horizons
  • volve10r12-full-twt-sub3d.sgy, hor_twt_hugin_fm_top.dat: small segy and interpreted horizon from segysak documentation examples (also from Volve dataset)

miscellaneous

Other notebook of interest, maybe only tangentially related to geophysics, such as a notebook showing a comparison between colormaps (the dreadful jet against a bunch of better alternatives) and another that uses the well known Gardner's equation as an excuse to practice data fitting in Python.

notes on running python

I used to recommend either Enthought's Canopy Express or Anaconda. I haven't been using Canopy for a while now and I'm very particular about installing stuff on my computers, so right now what I use (and suggest everyone else to do) is to install a subset of Anaconda called miniconda. Starting from this, it's easy to install the packages you need for your work and nothing else. For example, this is how I setup my system for work:

$ conda install numpy scipy pandas matplotlib jupyter scikit-learn scikit-image xarray dask netCDF4 bottleneck
$ conda install -c bokeh colorcet
$ conda install -c conda-forge jupyterlab

Then I install some additional packages with pip:

$ pip install bruges lasio segyio

Instead of integrated environments (for example, Spyder) I simply use a modern (and free!) editor like VSCode (Atom is a good alternative) to code and write. However, JupyterLab gets better everyday and it can already be used to do everything in a browser window (but to me it's still slower than a text editor and a jupyter console window); I like the idea of Juyter Notebooks to distribute commented code and simply as a working tool to make code interact with explanatory text and plots.

using SEG-Y data

To read and write SEG-Y data in Python you need additional libraries like ObsPy, Segpy or Equinor's segyio.

My current favourite is however segysak, based on segyio. In addition to the qualities of the underlying segyio (a 340 Mb file is read in 1 second, while obspy needs 8), it also adds some very cool features to map horizons to seismic cubes (amplitude extraction!).

# timeit results using segyio:
1.11 s ± 17.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

# timeit results using obspy:
8.85 s ± 1.07 s per loop (mean ± std. dev. of 7 runs, 1 loop each)

license

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

geophysical_notes's People

Contributors

aadm avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.