Friday, September 1, 2017

Useful Websites for ObsPy reference

Useful Websites for ObsPy reference — this is a living document that will be updated as new interesting and useful websites emerge during the semester

The homebase Wiki for ObsPy


There are books for new Python users.  I am using 

A Student’s Guide to Python for Physical Modeling Paperback – September 22, 2015
by Jesse M. Kinder, Philip Nelson  — the paperback version is roughly $20, and it might be on sale at the Yale Bookstore — there will be other Python texts at the Bookstore if Kinder/Nelson is not carried. 

Python has its own homebase website


And there is a cheatsheet for Python commands 


The recommended installation for ObsPy is achieved with the Anaconda “Data Science Platform”


Anaconda advertises itself as a platform for Python, but it also can be used with the R-language and supports the Jupyter notebook environment.  R is an open-source software package used for statistics and typical data analysis.  Jupyter notebooks are a standardized way to set of programming scripts for Python, R and other command-interpreter software packages, in ways that allow you to document your calculations more thoroughly.

Many of the open-source software packages, such as Python and R, can be used in overlapping contexts.  Nearly all of them can be forced to replicate the clear, but laborious, operation flow of an old-style FORTRAN program if you really really want to write all the code.  However, the motivation for using a high-level package is to reduce a complicated, but standardized, workflow into one or a few lines of code. Because the coding is highly compressed, knowing the syntax becomes crucial.

Python is implemented with a swarm of open-source computational modules that sit on the Web, waiting for your script to pull them down and use them.  The most important modules are

SciPy (pronounced “Sigh Pie”) is a Python-based ecosystem of open-source software for mathematics, science, and engineering


NumPy is the fundamental package for scientific computing with Python.


Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats


Installing Python within Anaconda gives you access to all these packages.  The websites are useful for reference, such as tutorials and example scripts.

The sources for seismic data can be found in several places.  The original ObsPy paper refers to the general WebDC address for seismic data archives from many sources, including the USA-based IRIS data archive.  Maintained by the Deutsches GeoForschungsZentrum (GFZ) at Potsdam, Germany.


The “central repository” of ObsPy applications, listed in Beyreuther et al (2010) is a dead link.  Alternatively, the ObsPy website points to software packages for ObsPy developers at a “conda-smithy repository for obspy”


Any “conda-smithy” websites are beyond the scope of this course!

The paper Megies et al (2011) points to a number of Python and ObsPy websites for reference. 

The Python Standard Library of functions, documented.  If you need a Python function  that handles or replicates a computational process from your past life, look here. 


The IPython package provides a rich architecture for interactive computing using GUI (graphical user interfaces)


Note that the IPython developers split off part of their project to a new “language-agnostic” scripting tool called Jupyter


From the website: Jupyter and the future of IPython
IPython is a growing project, with increasingly language-agnostic components. IPython 3.x was the last monolithic release of IPython, containing the notebook server, qtconsole, etc. As of IPython 4.0, the language-agnostic parts of the project: the notebook format, message protocol, qtconsole, notebook web application, etc. have moved to new projects under the name Jupyter. IPython itself is focused on interactive Python, part of which is providing a Python kernel for Jupyter.

The advertised ease of documentation within Jupyter is a strong motivation for learning it.  We hope to have chances to do so once we are comfortable with Python and ObsPy

The Python Package Index is a repository of software for the Python programming language. There are currently 115962 packages here. 
To contact the PyPI admins, please use the Support or Bug reports links.


Hopefully we wont need to plunge into these user-contributed libraries, aside from those that are in common use by ObsPy practitioners.  A wavelet transform is demonstrated by Megies et al (2011), with software from Machine Learning Python Library


There are some examples of ObsPy processing at 


but most files date from May 2013, so caveat emptor.

We will be working through various examples of ObsPy packages, such as the phase-picking software ObsPyck, as the weeks scroll by.



















No comments:

 
Link