Skip to content

Latest commit

 

History

History
52 lines (31 loc) · 2.24 KB

File metadata and controls

52 lines (31 loc) · 2.24 KB

plotPOS version 0.1

python plotter for POS (PBO Station Position Time Series) geodesy data, among other things

requires: python3, numpy, scipy, matplotlib

the code as of now is geared towards GAMIT/GLOBK data (e.g. the format of the rename/eq files) but with a little tweaking it should be easy enough to use anything. on that note the inspiration behind a lot of the aesthetic design here is based on the plots generated by sh_plot_pos (mike floyd) which is included in the wonderful gamit/globk suite (http://geoweb.mit.edu/gg/).

code needs some tweaking but if you just need some nice looking plots and/or want to calculate coseismic offsets and/or correct for these, and for whatever reason tsview isn't doing it for you, please enjoy.

examples

for help

$ ./plotPOS.py -h

creates AUCK_fixed.png (offsets fixed) in dir "plots", also writes these offsets to an eq file, also shows a PSD figure

$ ./plotPOS.py AUCK.anu.orbit_unkno.pos -plotdir plots -eqfiles auck.eq -fix_offsets -write_offsets -plot_spectral -days_per_data 7

creates AUCK.png in dir "plots", original data with offsets uncorrected. n.b. days_per_data = # days in combined data file

$ ./plotPOS.py AUCK.anu.orbit_unkno.pos -plotdir plots -eqfiles auck.eq -days_per_data 7

plots ALL your .pos files in your pos/ directory with 8 cores, and writes offsets

$ ./plotPOS.py pos -plotdir plots -eqfiles itrf14.eq,auck.eq -fix_offsets -write_offsets -days_per_data 7 -numproc 8

features

  • calculates and optionally corrects for coseismic offsets by comparing a series of weighted low pass filters (also optionally writes these out as a gamit/globk "earthquake" .eq file)

  • fully parallel

  • plots these low-pass filters (defaults to 3 months & 1 year), even for non-uniform timeseries

  • optionally plots power density spectra

  • optional interactive mode to zoom in and easily identify DOY dates for ill-fitting data (good for marking bad campaign data)

TODOs

  • calculate both white and frequency-dependent noise via spectral fitting

  • make some plot settings more sane/easier to customise

  • output offset-corrected POS files (for use in noise calculations with tsfit etc)

  • lots of tiny formatting issues

thanks & bear with me here. comments / tips / bug reports appreciated