Class CollectWaves

java.lang.Object
  |
  +--CollectWaves

public class CollectWaves
extends java.lang.Object

CollectWaves:
given a hypocenter and origin time, CollectWaves determines which stations supply wave forms via AutoDRM.
Through option settings one can select:
-) stations within a distance range
-) stations within an azimuth sector
-) closest stations around the epicentre for a number of sectors

The program than determines the necessary time window for waveforms such that the desired seismic phases are contained in it.
Finally it sends e-mails to the AutoDRM's to request the waveforms for desired channel types.

The program is intended to be used from command line or from shell scripts. Therfore, a number of command line options are available. For a list of options, use 'java CollectWaves'.

Travel time calculations are done by default with TauP_Time (Author: H. Philip Crotwell, crotwell@seis.sc.edu,)
for download: http://www.seis.sc.edu

For formatted input/output Henrik Bengtsson' (henrikb@braju.com) printf/scanf for java, which is true C-style
for download: http://www.braju.com

Version:
Version 1.5.2 (January 29 2003)
Author:
Manfred Baer, Swiss Seismological Service, ETH Zurich, Switzerland baer@seismo.ifg.ethz.ch

Field Summary
 float dep1
          internal use, must be public for Format class
 float dmy
          internal use, must be public for Format class
 float dmy1
          internal use, must be public for Format class
 com.braju.beta.format.FormatString ffmt
          internal use, must be public for Format class
 com.braju.beta.format.FormatString flin
          internal use, must be public for Format class
 float la1
          internal use, must be public for Format class
 java.lang.String line
          internal use, must be public for Format class
 float lo1
          internal use, must be public for Format class
 java.lang.String sfmt
          internal use, must be public for Format class
 java.lang.String skey
          internal use, must be public for Format class
 
Constructor Summary
CollectWaves()
          constructor for reading the station list from URL

CollectWaves(AzimuthSector as, CollectWaves adrm)
          given a list of stations (CollectWaves) select only the closest station in each sector AzimuthSector

CollectWaves(CollectWaves sect, CollectWaves all, PreferredComp pc)
          combine two station lists in CollectWaves and extract according to the preferred channel list in PreferredComp

CollectWaves(CollectWaves v, java.lang.String auto)
           
CollectWaves(java.lang.String file)
          constructor for reading the station list with the format file defined in 'String'

CollectWaves(java.lang.String sdx, CollectWaves adrm)
          given a list of stations (CollectWaves) select only stations within the distance range specified in String

 
Method Summary
 void addDelay(CollectWaves delay)
          add delay times to AutoDRM requests
 void addDelAz(java.lang.String slatlon)
          add distance and azimuth to the table based on the epicentre coordinates LAT/LON (format: 47.5/-8.3 )
 void blackListAutoDRM(java.lang.String blacklistFile)
          delete blacklisted AutoDRM address or station from this table
 void calcTtime(boolean taup, java.lang.String tfil, java.lang.String tfmt, java.lang.String sphwi, java.lang.String sdmax)
           
 void consistancy()
          checks the whole table for the consistancy in FDSN-channel codes and the AutoDRM address
 void display(java.lang.String s)
          displays all stations in this table
 void doCalcTtime(TravelTime tt, java.lang.String sphwi, java.lang.String sdmax)
          add travel times to the table using specific traveltime table class
sphwi= list of desired seismic phases with corresponding timwindow
sdmax= maximum distance to which travel times should be included
 void doRequest()
          mark all stations in this table as 'to be requested`
 void doTauP_Time(java.lang.String tfil, float depth, java.lang.String sphwi)
           
static void main(java.lang.String[] args)
          CollectWaves

by Manfred Baer, Swiss Seismological Service, ETH Zurich, baer@seismo.ifg.ethz.ch

 int nrOfStations()
          returns the number of stations in the table
 void originTime(java.lang.String sorigin)
          add the event origin time to this table
 void readStations(java.lang.String file)
          read all stations from file
 void readStations(java.lang.String file, PreferredComp pc)
          read stations from file, keep only the preferred channels
 void readURLStations(java.lang.String file, PreferredComp pc, java.lang.String av)
          read stations from URL file, keep only the preferred channels
 void replaceAutoDRM(java.util.Vector rst)
          replace the AutoDRM address in this table by the corresponding address contained in the stationlist in Vector when station name AND channel match
 void replaceAutoDRMall(java.util.Vector rst)
          replace the AutoDRM address in this table by the corresponding address contained in the stationlist in Vector when station name only matches
 void selectFromSegment(java.lang.String segment)
          select all stations within an azimuth sector.
 void setRequested()
          mark all stations in this table as 'allready requested'
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

skey

public java.lang.String skey
internal use, must be public for Format class

sfmt

public java.lang.String sfmt
internal use, must be public for Format class

line

public java.lang.String line
internal use, must be public for Format class

ffmt

public com.braju.beta.format.FormatString ffmt
internal use, must be public for Format class

flin

public com.braju.beta.format.FormatString flin
internal use, must be public for Format class

la1

public float la1
internal use, must be public for Format class

lo1

public float lo1
internal use, must be public for Format class

dep1

public float dep1
internal use, must be public for Format class

dmy

public float dmy
internal use, must be public for Format class

dmy1

public float dmy1
internal use, must be public for Format class
Constructor Detail

CollectWaves

public CollectWaves()
constructor for reading the station list from URL


CollectWaves

public CollectWaves(java.lang.String file)
constructor for reading the station list with the format file defined in 'String'


CollectWaves

public CollectWaves(java.lang.String sdx,
                    CollectWaves adrm)
given a list of stations (CollectWaves) select only stations within the distance range specified in String


CollectWaves

public CollectWaves(AzimuthSector as,
                    CollectWaves adrm)
given a list of stations (CollectWaves) select only the closest station in each sector AzimuthSector


CollectWaves

public CollectWaves(CollectWaves sect,
                    CollectWaves all,
                    PreferredComp pc)
combine two station lists in CollectWaves and extract according to the preferred channel list in PreferredComp


CollectWaves

public CollectWaves(CollectWaves v,
                    java.lang.String auto)
Method Detail

readStations

public void readStations(java.lang.String file)
read all stations from file

readStations

public void readStations(java.lang.String file,
                         PreferredComp pc)
read stations from file, keep only the preferred channels

readURLStations

public void readURLStations(java.lang.String file,
                            PreferredComp pc,
                            java.lang.String av)
read stations from URL file, keep only the preferred channels

nrOfStations

public int nrOfStations()
returns the number of stations in the table

addDelAz

public void addDelAz(java.lang.String slatlon)
add distance and azimuth to the table based on the epicentre coordinates LAT/LON (format: 47.5/-8.3 )

consistancy

public void consistancy()
checks the whole table for the consistancy in FDSN-channel codes and the AutoDRM address

originTime

public void originTime(java.lang.String sorigin)
add the event origin time to this table

setRequested

public void setRequested()
mark all stations in this table as 'allready requested'

doRequest

public void doRequest()
mark all stations in this table as 'to be requested`

display

public void display(java.lang.String s)
displays all stations in this table

blackListAutoDRM

public void blackListAutoDRM(java.lang.String blacklistFile)
delete blacklisted AutoDRM address or station from this table

replaceAutoDRM

public void replaceAutoDRM(java.util.Vector rst)
replace the AutoDRM address in this table by the corresponding address contained in the stationlist in Vector when station name AND channel match

replaceAutoDRMall

public void replaceAutoDRMall(java.util.Vector rst)
replace the AutoDRM address in this table by the corresponding address contained in the stationlist in Vector when station name only matches

addDelay

public void addDelay(CollectWaves delay)
add delay times to AutoDRM requests

selectFromSegment

public void selectFromSegment(java.lang.String segment)
select all stations within an azimuth sector. segment= az_min,az_max [deg] clock wise from north

calcTtime

public void calcTtime(boolean taup,
                      java.lang.String tfil,
                      java.lang.String tfmt,
                      java.lang.String sphwi,
                      java.lang.String sdmax)

doCalcTtime

public void doCalcTtime(TravelTime tt,
                        java.lang.String sphwi,
                        java.lang.String sdmax)
add travel times to the table using specific traveltime table class
sphwi= list of desired seismic phases with corresponding timwindow
sdmax= maximum distance to which travel times should be included

doTauP_Time

public void doTauP_Time(java.lang.String tfil,
                        float depth,
                        java.lang.String sphwi)

main

public static void main(java.lang.String[] args)
CollectWaves

by Manfred Baer, Swiss Seismological Service, ETH Zurich, baer@seismo.ifg.ethz.ch