PIASD: Programs for the Interactive Analysis of Strainmeter Data

Introduction
Data Editing
Tides and Dislocations
Plotting Data
Documentation
Portability
Obtaining the Programs
Other Packages

Introduction

PIASD is a set of programs designed for the analysis of time series, particularly the kinds of analysis commonly done on data from strainmeters and tiltmeters: tidal analysis, interactive editing, and spectrum computation. Like UNIX, this system uses separate programs, each with a specific function. This provides flexibility from being able to put the programs together in different ways.

Data are not piped between programs but instead are written to and read from disk files. In addition to the data, separate files of metadata (mostly timing information) can be used; these are called header files.

For interaction with the user, the programs usually ask questions and read typed-in answers: compared to command-line usage this is verbose, but it decreases how much the user needs to remember. Tools are provided to make it easy to turn such a session into a self-documented script, which makes it easy to do things over, and keep a record of what was done. This is a major advantage in doing research, since it makes all the results easily replicable. The system could be combined, for example with that developed by Jon Claerbout and his colleagues to allow complete rebuilds of all results.

A catalog of the main programs is here. See the file NEWS for versions and changes (this is also included in the distribution).

Data Editing

The basic philosophy adopted in PIASD for data editing is to make it interactive, since only a few kinds of simple problems can be handled by automatic editing programs. Anything complicated calls for the judgement of an expert. The PIASD editing programs aim to make it as easy as possible to apply expert judgement, while minimizing the drudgery of keeping track of the editing information. The most important part is the program called credit (for ‘‘cursor edit’’), which displays a time series on the screen and allows the user to indicate where edits should be made, both to discard data and, if necessary, to offset the series. This program produces an ‘‘edits file’’ that contains the editing information only. Given this file, other programs can produce a file of cleaned data. Keeping the editing information separate from the data is useful in other ways: for example, in performing a tidal analysis, the program reads an edits file to find out where to assume there are ‘‘gaps’’ in the data.

Tides and Dislocations

PIASD includes a programs for computing the theoretical tides on an oceanless Earth, making an harmonic analysis of tidal data, and making a prediction given tidal harmonics. Some scripts and auxiliary programs are provided to combine these into a package for accurate tidal analysis and prediction.

For the task of computing load tides, use the software package SPOTL.

The package also includes programs for computing the strains and tilts (and other changes) from dislocation sources in a half-space, and finding the magnitude of the signal expected from various sources for a given measurement.

Plotting Data

Aside from the screen plots made within credit, this package does not include any software for plotting data; there are lots of good programs for this already available. One is the plotxy program developed by R. L. Parker and Loren Shure, PIASD includes programs for converting to formats compatible with gnuplot and GMT.

Documentation

All of the programs are somewhat self-documenting through the questions they ask; those that do not ask questions will print a usage statement if invoked with no argument. Fuller descriptions are provided by the man pages included in the distribution; there is an index to these. There is also an introduction that goes into more detail, and should be read if you are interested; also a tutorial for the interactive-editing program credit. Both of these are PDF files.

Portability

Most of the code in PIASD is Fortran77 (or earlier), and should compile with no difficulty using any compiler; I have used the HP-UX and g77 compilers. Some of the routines are in C, and compile using gcc. A few routines make use of some Unix system functions. So, this package should run with no changes (except perhaps to the makefile options) on any Unix or Linux system.

The date-editing program uses, as a graphics interface, the Tektronix emulation built into most X11 packages via the Unix command xterm -t. As of mid-2005 this was not properly implemented on Mac OS X 10.4 (though it is fine on 10.3).

The programs read and write binary files. These will not be compatible between Linux and Mac/Sun because of the differing byte order, but will be compatible across all machines which use the same byte order. The programs deice and decant, which read files from two kinds of dataloggers, will need to be rewritten to be used on a system with Linux (PC) byte order.

As indicated in the file COPYING that is included in the distribution, there are no restrictions on use of the source code.

Obtaining the Programs

All the source code and documention is available as a gzipped tar file (1.4 Mb).

Other Packages

While PIASD includes a serviceable routine for estimating power spectra, a better one is the standalone package psd, developed by Bob Parker, that uses sine multitapers.

TSoft is a Windows-based package for time series and tidal analysis.

BAYTAP-G is a package of Fortran programs designed specifically for the analysis of earth-tide data, including the removal of drift and air-pressure noise.

The IOS Tidal Package of Fortran programs for the analysis of ocean-tide data, which will work fine for purely tidal analysis of strainmeter data (though the drift should be filtered out first).

The T_Tide Harmonic Analysis Toolbox which implements the same analysis as the IOS routines, but in MATLAB (so, including graphics).

Here is a comparison between some of the programs mentioned, and some others in use by the Earth-tide community.