TODO
- Create a getamps.py script that will retrieve peak ground motions from various sources.
smtools is a library and a set of tools for downloading, calibrating, and converting earthquake strong motion sensor data to peak ground motions, in a format suitable as input for the ShakeMap program. It also provides a script to "clone" a (modern*) ShakeMap from the USGS web site.
*The ShakeMap must provide an info.xml file, which older versions of the ShakeMap software did not create.
This package depends on:
- numpy, the fundamental package for scientific computing with Python. http://www.numpy.org/
- matplotlib, a Python 2D plotting library which produces publication quality figures. <a href="http://matplotlib.org/index.html
- scipy, a Python library which provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization. <a href="http://www.scipy.org/scipylib/index.html
- obspy, a Python library for dealing with seismology data.
- neicio, a Python library for reading/writing various spatial data formats (including ShakeMap grid.xml).
The best way to install numpy,matplotlib,and scipy is to use one of the Python distributions described here:
http://www.scipy.org/install.html
Anaconda and Enthought distributions have been successfully tested with smtools.
Most of those distributions should include pip, a command line tool for installing and managing Python packages. You will use pip to install the other dependencies and smtools itself.
You may need to open a new terminal window to ensure that the newly installed versions of python and pip are in your path.
To install obspy:
pip install obspy
To install neicio:
pip install git+git://github.com/usgs/neicio.git
To install smtools:
pip install git+git://github.com/mhearne-usgs/smtools.git
To uninstall:
pip uninstall smtools
To update:
pip install -U git+git://github.com/mhearne-usgs/smtools.git
usage: getstrong.py [-h] [-c] [-i INPUTFOLDER] [-d] [-r RADIUS] [-e EVENTID] [-y TIME LAT LON] [-w TIMEWINDOW] [-f FOLDER] [-u USER] [-p PASSWORD] [-n] [-o] [-q] [-v] {knet,geonet,turkey,iran,iris,italy,unam} Download and process strong motion data from different sources (NZ GeoNet, JP K-NET, Turkey) into peak ground motion values, and output in an XML format suitable for inclusion in ShakeMap. The output files will be named according to the input data source: knet_dat.xml, geonet_dat.xml, etc. Generic (non-ShakeMap) Usage: To configure the system for further use (you will be prompted for KNET username/password, and ShakeMap home): getstrong.py knet -c To process data from a local folder (rather than downloading from a remote source): getstrong.py -i INPUTFOLDER -f OUTPUTFOLDER To process data from a local folder and print peak ground motions to the screen: getstrong.py -i INPUTFOLDER -d To retrieve data from K-NET with a user-supplied K-NET username/password: getstrong.py knet -f ~/tmp/knet -y 2014-05-04T20:18:24 34.862 139.312 -u fred -p SECRETPASSWD To retrieve data from GeoNet: getstrong.py geonet -f ~/tmp/knet -y 2014-01-20T02:52:44 40.660 175.814 To retrieve data from Turkey: getstrong.py turkey -f ~/tmp/knet -y 2003-05-01T00:27:06 38.970 40.450 ############################################################### For Shakemap Users: To download K-NET data for an event into the event "input" folder (the -f option is unnecessary), while retaining the raw data in event "raw" folder: getstrong.py knet -e EVENTID To download K-NET data for an event into it's input folder, while deleting the raw data: getstrong.py knet -e EVENTID -n To download data from Turkey: getstrong.py turkey -e EVENTID To download data from GeoNet: getstrong.py geonet -e EVENTID To download data from IRIS: getstrong.py iris -e EVENTID To download data from Iran: Download the files from "Digital Records," copy onto your local machine (http://www.bhrc.ac.ir/portal/Default.aspx?tabid=635) getstrong.py iran -e EVENTID -i PATH WHERE DATA IS LOCATED To download data from Mexico: Select all boxes and download. Copy onto the your local machine getstrong.py unam -e EVENTID -i PATH WHERE DATA IS LOCATED To download data from Italy: Download ASCII corrected files. Copy onto your local machine getstrong.py italy -e EVENT ID -i PATH WHERE DATA IS LOCATED positional arguments: {knet,geonet,turkey,iran,iris,italy,unam} Specify strong motion data source. optional arguments: -h, --help show this help message and exit -c, -config Create config file for future use -i INPUTFOLDER, -inputfolder INPUTFOLDER process files from an input folder. -d, -debug print peak ground motions to the screen for debugging. -r RADIUS, -radius RADIUS Specify distance window for search (km) (default: 50 km.) -e EVENTID, -event EVENTID Specify event ID (will search ShakeMap data directory. -y TIME LAT LON, -hypocenter TIME LAT LON Specify UTC time, lat and lon. (time format YYYY-MM- DDTHH:MM:SS) -w TIMEWINDOW, -window TIMEWINDOW Specify time window for search (seconds) (default: 60). -f FOLDER, -folder FOLDER Specify output station folder destination (defaults to event input folder or current working directory) -u USER, -user USER Specify K-NET user (defaults to value in config) -p PASSWORD, -password PASSWORD Specify K-NET password (defaults to value in config) -n, -nuke Do NOT retain extracted raw data files -o, -plot Make QA plots -q, --noRotation Do NOT apply rotation to IRAN longitudinal/transverse channels -v, --verbose Print out progress/warning messages
usage: smcheck.py [-h] eventID dataFile Compare station data against a modeled ShakeMap. positional arguments: eventID Specify event ID (will search ShakeMap data directory. dataFile Specify name of data file in event input folder to compare against ShakeMap grid. optional arguments: -h, --help show this help message and exit
usage: cloneshake.py [-h] url Clone a ShakeMap from NEIC web site. Examples: Cloning a scenario: cloneshake.py http://earthquake.usgs.gov/earthquakes/shakemap/global/shake/capstone2014_nmsw_m7.7_se/ Cloning a real-time event: cloneshake.py http://comcat.cr.usgs.gov/earthquakes/eventpage/usb000slwn#summary positional arguments: url the URL of the desired ShakeMap. optional arguments: -h, --help show this help message and exit