Skip to content

Commit

Permalink
Merge branch 'release/0.1.0'
Browse files Browse the repository at this point in the history
Former-commit-id: 2c07c32e630902d795bc5f610eeaf027f876a25e [formerly be102e6]
Former-commit-id: cf329b5881331471b85c69b07e3e20bff4eb92f9
  • Loading branch information
calum-chamberlain committed Feb 24, 2016
2 parents 1eeaa99 + f71062a commit b5f8e5a
Show file tree
Hide file tree
Showing 169 changed files with 14,295 additions and 11,736 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,9 @@ matcherr_*
build
dist
EQcorrscan.egg-info
*.xml
.cache
.eggs
.tox
eqcorrscan/tutorials/*.jpg
pytest_runner*
34 changes: 24 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,28 @@
language: python
os: linux
os:
- linux
# - osx # Note, travis doesn't support python builds on osx
python: "2.7"

virtualenv:
system_site_packages: true
sudo: false

# Test with multiple obspy versions, allow some backwards compatability
env:
- OBSPY_VERSION=0.10.2
- OBSPY_VERSION=1.0.0

addons:
apt:
source:
- lucid
packages:
- python-opencv
# - python-opencv
- pandoc

# before_install:
# - sudo apt-get update
# - sudo apt-get install python-opencv
# - sudo dpkg -L python-opencv
# before install:
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install pandoc; fi

install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
Expand Down Expand Up @@ -59,33 +67,39 @@ install:
lxml
sqlalchemy
mock
nose
gdal
pyproj
docopt
coverage
requests
pytest
pytest-pep8
opencv
- source activate test-environment
# install packages not available via conda
# - pip install -r requirements.txt
- pip install coveralls
- pip install geographiclib
- pip install pypandoc
# current pyimgur stable release has a py2.6 incompatibility
- pip install https://github.com/megies/PyImgur/archive/py26.zip
- pip install obspy==$OBSPY_VERSION
- pip freeze
- conda list
# done installing dependencies
- git version
- pip install .
script:
# Run the tests available, more should be added
- python eqcorrscan/tests/runtests.py
# - python eqcorrscan/tests/install_test.py
# py.test
python setup.py test

notifications:
email: false
webhooks:
urls:
- https://webhooks.gitter.im/e/10122f10ed5043c58ae7
on_success: never # options: [always|never|change] default: always
on_success: change # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: never # options: [always|never|change] default: always
12 changes: 12 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
## 0.1.0
* Implimented tests for synthetic generation and match-filter functions
* Developed new tutorials that download from GeoNet and are much clearer
* Changed from PICK and EVENTINFO classes to obspy.core.event classes, note
this will break some previous scripts, however wrappers are included for this,
this ended up being the biggy, and is the reason for ceasing the 0.0.x line.
* Added synthetic seismogram generation, very basic seismograms, but they work
as templates for the detection of *some* seismicity.
* Added compatibility with Obspy v.1.0.0.
* All files now follow pep8.
* Removed parameter files completely, and redundant scripts.

## 0.0.9
* Working towards following pep8
* Change how match_filter handles missing data - now remove template traces (which have been copied)
Expand Down
13 changes: 7 additions & 6 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,20 @@

include README.md
# include eqcorrscan/test_data/tutorial_data.tgz
include eqcorrscan/tutorial.py
# include eqcorrscan/tutorial.py
recursive-include eqcorrscan/utils *.py
recursive-include eqcorrscan/par *.py
recursive-include eqcorrscan/scripts *.py
# recursive-include eqcorrscan/par *.py
# recursive-include eqcorrscan/scripts *.py
recursive-include eqcorrscan/tutorials *.py
recursive-include eqcorrscan/doc *
recursive-include eqcorrscan/core *.py
recursive-include eqcorrscan/tests *.py

# exclude rules
global-exclude *.pyc *.ms *.tgz
# global-exclude *.pyc *.ms *.tgz
prune eqcorrscan/doc/_build/latex
prune eqcorrscan/plot
prune eqcorrscan/detections
prune eqcorrscan/grid
prune eqcorrscan/stack_templates
prune eqcorrscan/templates
# prune eqcorrscan/stack_templates
# prune eqcorrscan/templates
77 changes: 46 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,47 @@
[![DocumentationStatus](http://readthedocs.org/projects/eqcorrscan/badge/?version=latest)](http://eqcorrscan.readthedocs.org/en/latest/?badge=latest)

# Installation
We are now listed on pypi! Installation has been tested on both OSX and Linux (Ubuntu) and
is as simple as:
Installation has been tested on both OSX and Linux (Ubuntu), we currently do not support
Windows systems, but plan to in the future. Installation for Linux and OS X should be as simple as:

*pip install EQcorrscan*
```pip install EQcorrscan```

If upgrading from a previous version, rather than running install --upgrade, I recommend the following:

*pip install -U --no-deps EQcorrscan*
```pip install -U --no-deps EQcorrscan```

This will not try to upgrade your dependencies, which is not needed for 0.0.8.
This will not try to upgrade your dependencies, which is not needed. You may wish
to update your obspy version to 1.0.0 which was recently released. We have tested
this and support it, nevertheless, if you find any issues then let us know.

If you want to be kept informed about releases, bug-tracking and enhancements
without having to keep looking on github, subscribe to our [google group](https://groups.google.com/forum/#!forum/eqcorrscan-users).

You will likely need sudo permissions to run this command. This installation
method is quite new to the package (as of v0.0.4), so there are some things that
are changing in the install process at the moment. This should be smoothed out
by v0.1.0 (maybe mid 2016).
*You will likely need sudo permissions to run this command.*

If you have any issues installing please let me know. You will need to install openCV
seperately using (on Linux):
separately using (on Linux):

*sudo apt-get install python-opencv*
```apt-get install python-opencv```

Or, for Mac users, this is available on Macports or other similar package managers.

## Updates

If you want to be kept informed about releases, bug-tracking and enhancements
without having to keep looking on github, subscribe to our [google group](https://groups.google.com/forum/#!forum/eqcorrscan-users).

# Documentation

The full documentation for this package can be found here:
[Docs](http://calum-chamberlain.github.io/EQcorrscan/) - you are also
welcome to suggest documentation updates or update the doc in the develop branch, please
do not work on the documentation in the gh-pages branch!
[Docs](http://eqcorrscan.readthedocs.org/en/latest/?badge=latest).
Any errors including typos and just missing bits can either be fixed by you,
or flagged in the issues tab here. We host our docs on readthedocs, which
uses sphinx to scrape the docstrings in the codes, so it is simple to
match the docs to the codes and change the docstrings.

We also have a github-pages site [EQcorrscan](http://calum-chamberlain.github.io/EQcorrscan/),
which uses jekyll to build the site. Changes or additions to this site can be made on
the gh-pages branch.

# Functionality

This package contains routines to enable the user to conduct match-filter earthquake
detections using [obspy](https://github.com/obspy/obspy/wiki) bindings when reading
Expand All @@ -51,37 +62,40 @@ Also within this package are:
* Peak finding algorithm (basic);
* Automatic amplitude picker for local magnitude scale;
* [Seisan](http://seisan.info/) S-file integration for database management and routine earthquake location;
* Obspy.core.event integration, which opens up lots of other functions (Seishub, hypoDDpy etc.);
* Stacking routines including phase-weighted stacking based on Thurber at al. (2014);
* Brightness based template creation based on the work of Frank et al. (2014)
* Brightness based template creation based on the work of Frank et al. (2014);
* Singular Value Decomposition derived magnitude calculations based on Rubinstein & Ellsworth (2010).

This package is written by Calum Chamberlain of Victoria University of Wellington, and
is distributed under the LGPL GNU License, Copyright Calum Chamberlain 2015.
We are currently hovering around 9,000 lines of code (including doc-strings) - it is probably worth
having a look at the docs to check what functions we have. We plan to write a series of tutorials to be
included on the EQcorrscan API to highlight key functions, currently our tutorial only shows
how to do the core matched-filter detection.

# Licence

This package is written by Calum Chamberlain and Chet Hopp of Victoria University of Wellington, and
is distributed under the LGPL GNU License, Copyright Calum Chamberlain 2015, 2016.

# Parameter files
To use this package you will need to set up default parameters in the parameter
file. Currently these are located in the source directory, this will change in
the future, hopefully. It is recommended that you copy these default parameter
files before adding your own to allow you to easily transfer back to other
parameter set ups. **These are being migrated to a script directory along with all scripts
for version 0.0.5***

# Contributing

Please fork this project and work on it there then create a pull request to
merge back into develop.

When you make changes please run the tests in the test directory to ensure
everything merges with minimum effort.
everything merges with minimum effort. If there is not yet a test to cope
with your changes then please write one.

Please document your functions following the other documentation within the
functions, these doc-scripts will then be built into the main documentation
using Sphinx.

We are trying to implement a better branching model, following that found here:
http://nvie.com/posts/a-successful-git-branching-model/
We are trying to implement a better branching model, following that found [here](http://nvie.com/posts/a-successful-git-branching-model/).
To this end, please fork the development branch if you want to develop
things, and flag issues in the master for us to bugfix.
If you have a feature you want to develop please create a new branch
of the development branch for this and work in there, we can then merge
from the development branch and work on it there, we can then merge
it back in to the development branch when it is stable enough.

This branching model (git-flow) is pretty well established, and I would recommend
Expand All @@ -93,3 +107,4 @@ will keep us all branching in the same way.
* CJ Chamberlain, DR Shelly, J Townend, TA Stern (2014) [Low‐frequency earthquakes reveal punctuated slow slip on the deep extent of the Alpine Fault, New Zealand](http://onlinelibrary.wiley.com/doi/10.1002/2014GC005436/full), __G-cubed__,doi:10.1002/2014GC005436
* Thurber, C. H., Zeng, X., Thomas, A. M., & Audet, P. (2014). [Phase‐Weighted Stacking Applied to Low‐Frequency Earthquakes](http://www.bssaonline.org/content/early/2014/08/12/0120140077.abstract), __BSSA__, doi:10.1785/0120140077.
* Frank, W. B., & Shapiro, N. M. (2014). [Automatic detection of low-frequency earthquakes (LFEs) based on a beamformed network response](http://gji.oxfordjournals.org/content/197/2/1215.short), __Geophysical Journal International__, 197(2), 1215-1223, doi:10.1093/gji/ggu058.
* Rubinstein, J. L., & Ellsworth, W. L. (2010). [Precise estimation of repeating earthquake moment: Example from Parkfield, California](http://www.bssaonline.org/content/100/5A/1952.short), __BSSA__, doi:10.1785/0120100007
Loading

0 comments on commit b5f8e5a

Please sign in to comment.