rdseed 4.6 Manual
(updated as of v4.6)
Jump to:
NAME
rdseed
- Read an FDSN SEED format volume
SYNOPSIS
rdseed -{acCsSpRtde} [-f filename] [v (n)]
OPTIONS
The following options may be selected:
-a retrieve the abbreviation dictionaries.
-b set the seismogram input buffer size (bytes)
-c retrieve volume table of contents.
-C retrieve the comments where arg is either STN or CHN
-d read data from tape
-e extract event/station data
-f input file name
-g alternate response files(s)
-i ignore location codes
-k strip records from output which have a zero sample count. (miniSEED
and SEED only)
-l list contents of each record in the volume.
-o specify output format (1=SAC, 2=AH, 3=CSS, 4=miniSEED, 5=SEED [default=1])
-p output poles and zeros
-q specify the output directory
-Q specify data type (E=Everythin, D=Data of undetermined state, R=Raw
waveform data, Q=QC'd data) -R print response data
-s retrieve all station header information.
-S retrieve station summary information
-t show start/stop times, start blocks of events
-u usage (this list)
-v select volume number
-x use summary file
-z check reversal
DESCRIPTION
rdseed reads from the input tape (or other input file) in the format
defined by the Federation of Digital Seismographic Networks (FDSN),
popularly known as the Standard for Exchange of Earthquake Data (SEED).
According to the command line function option specified by the user, rdseed
will read the volume and recover the volume table of contents (-c option),
the set of abbreviation dictionaries (-a option), or station and channel
information and instrument response tables (-s option).
The desired volume on tape (or in a file) can be selected with the (-v
option). The first volume is "1" , the second "2"
and so forth. (Note: this option is only used when a physical volume contains
more than one logical volume.
Two additional options allow access to detailed information concerning
the actual contents of the volume (rather than reading files purporting
to contain such information from the volume, for which one uses the -c
option). The first of these options (-t) writes out a list of data start
and stop times along with the starting records at which those data may
be found. (For the purposes of this discussion, a record is defined as
a set of station/channel/time continuous data records.) The other option
(-l) is primarily a diagnostic tool; it writes a description of every
record on the volume.
In order to extract data from the SEED volume for analysis by other packages,
the user must run rdseed in User Prompt Mode which is discussed below.
As data is extracted from the SEED volume, rdseed looks at the orientation
and sensitivity of each channel and determines if channel polarity is
reversed. Refer to the description of blockettes 52 and 58 in the SEED
manual for a description of reversed polarity. A negative sensitivity
in blockette 58 is indicative of a reversed polarity. The user can request
that reversed channels be corrected. This correction is a simple multiplication
by -1.0 . The output response file information is NOT adjusted for channels
which rdseed inverts.
Output Header Corrections
rdseed does correct the header information in the SAC, AH and
CSS files as follows:
SAC headers contain both scale factor and Dip/Azimuth information.
If a Dip/Azimuth reversal has been corrected, rdseed will correct
the Dip/Azimuth information in the SAC header. If a negative sensitivity
is corrected, the header SCALE value is also made positive. If rdseed
finds both types of reversals, NO corrections to the data or header
are made.
CSS headers are handled in the same way as SAC headers. The header
information is found in CSS formatted relation files that are seperate
from the data files. These files are named RDSEED.WFDISC, RDSEED.SITE
and RDSEED.SITECHAN.
The AH format presents a problem. There is no place for Dip/Azimuth
information. Headers contain only a scale factor. Therefore when a Dip/Azimuth
reversal occurs, there is no place in the header to indicate that occurrance.
Therfore the following rules are followed. If the user has not requested
dip/azimuth checking and one is detected, rdseed will invert
the sign of the scale factor in the AH header. If the user has asked
for inversion checking, the data will be inverted and NO change in the
scale factor will occur. Negative sensitivity is handled the same way
as in the SAC and CSS headers. Again, if rdseed finds both types of
reversals, NO corrections will be made.
User Prompt Mode
When rdseed is run without any options, the user is prompted
for all of the options as well as some additional options.
Input Options
- Input Device (/dev/nrst0):
- the input device can be changed from the default of /dev/nrst0.
Note that when a taoe is being accessed, it is best to use the norewind
device. This allows rdseed to search for multiple volumes
on tape accross tape file marks.
- Output Device (stdout):
- the output device can be changed from the default of stdout.\
- Volume # [(1)-N]:
- volume number can be changed from the default value of 1.
- Options [acsSrRtde]:
- one of the options must be selected. All except "d"
and "e" have the same meaning as the corresponding command
line options.
the "e" option will generate a "weed" compatible
event file.
If the "d", "s" or "S" option
is selected, further selection can be made.
- Summary File (None):
- a rdseed summary file can be selected as input for rdseed. Used
in conjunction with WEED to specify station
time windows.
- Station List (ALL) :
- a list of selected stations separated by spaces or commas. Wildcard
substitution of characters "*" , "?" and "."
is performed. A station name can be that of an alias whose name
is defined in a file whose filename is specified by the enviornment
variable SEEDALIAS. See details below.
- Channel List (ALL) :
- a list of selected channels separated by spaces or commas. Wildcard
substitution of characters "*" ,"?" and "."
is performed.
- Network Code (ALL) :
- a list of selected networks separated by spaces or commas. Enter
?? to disable network processing. If the "d" option is
selected, further selection can be made.
- Output Format [(1=SAC),2=AH,3=CSS, 4=miniseed, 5=seed, 6=SAC ascii,
7=SEGY]:
- select output format as SAC, AH, CSS 3.0 binary, mini seed, seed,
SAC ascii or SEGY; default is SAC.
- Check Reversal [(0=No), 1=Dip.Azimuth, 2=Gain, 3=Both]:
- select signal reversal checking; default is No.
- Start Time(s) (FIRST) :
- a list of seismogram start times of the form YYYY.DDD.HH:MM:SS.FFFF
or YYYY/MM/DD.HH:MM:SS.FFFF separated by spaces. YYYY may be
YY i.e. "90" for "1990". Least significant
parts may be omitted, in which case they become zero i.e. "90.270"
is time 00:00:00.000 of the 270th day of 1990.
- End Time(s) (LAST) :
- a list of seismogram end times of the same form as start times.
Each start time (except the last one) must have a corresponding
end time. If the last start time does not have a corresponding
end time, the end time is assumed to be the last time in the
volume.
- Sample Buffer Length [2000000]:
- each seismogram is assembled in a sample buffer prior to output.
The size of the buffer can be changed. This number is the number
of samples. If the length is too small for the any of the requested
seismograms an error message will inform the user that the waveform
is being broken into pieces. The user may increase the size
of the buffer to avoid this problem.
- Extract Responses [Y/(N)] :
- channel response extraction is selected via this prompt.
- Select Data Type [(E=Everything), D=Data of Undetermined state, R=Raw
waveform Data, Q=QC'd data]
-
Alternate Response Files and the Use of miniSEED Volumes
The user can specify that station configuration and responses be taken
from another SEED volume. This will allow for two possible scenarios to
be accomplished. First, if station information is found to be in error,
the user can use the headers from another SEED volume that is known to
be correct. Second, if the SEED volume is a "data-only" volume
(miniSEED), the user can use a "data-less" SEED volume and the
"data-only" SEED volume to extract the desired waveforms. So
you say, "how do I do this?". The environment variable ALT_RESPONSE_FILE
should be defined with its value being the path name of the SEED volume
(be it full or data-only SEED) from which responses should be taken. If
miniSEED is being used, enter the miniSEED file name into the rdseed prompt
as you would a normal seed volume.
The Alias File
An alias file can be defined which contains a list of station alias names.
The first word in each line of the file is the alias. The following words
are station names which will match the corresponding alias. The alias
file name must be defined in the SEEDALIAS environment variable. For example,
the file rdseed.alias contains the following:
CHINA BJI XIAN SHNG
All references to station CHINA will match station BJI, XIAN or SHNG.
The source code is written in such a way that it will run, with recompilation,
on both big-endian (e.g., Sun) and little-endian machines (e.g., VAX)
under UNIX. This program has not yet been tested under VAX VMS.
Time Tear Tolerance
Normally, the tolerance for determining time tears is found in the station
header information. Some stations may have clocks that wander excessively.
This may cause time tears in the data. The drift tolerance can be adjusted
by defining an environment variable called SEEDTOLERANCE. Its value is
multipled by a drift tolerance that is contained in the SEED volume for
each channel. Thus a value of 3.0 will increase the drift tolerance by
a factor of three. Drift is defined in units of "seconds per sample"
and is typically around .00005 sec/smp.
rdseed Alert message file
When rdseed determines that data reversal is necessary and the
user specifies that rdseed should reverse the data, rdseed
creates a file with the data reversal information inside. This information
includes the file name where the reversal was applied. When you exit the
program, a message is displayed reminding you to look at this file.
This file is called rdseed.alert.log and is located in the startup directory.
rdseed error logging
All rdseed error messages are logged to a file, called rdseed.error.log
with the date. This file is appended to throughout the day.
Data Recovery
There are two necessary steps to recovering seismograms from a SEED tape.
The first step consists of finding out what is on the tape; one does
this by using any of the command line options -c or -t, to list the station
and channel names, starting times, and record numbers of the seismograms
contained in the volume.
Seismic data are recovered from SEED tapes in the second step. Using
the station, channel and time information, use User Prompt Mode to select
start and stop times for individual seismograms.
Seismogram files are written to the current directory with names of the
form
yyyy.ddd.hh.mm.ss.ffff.SSSSS.CCC.SAC for SAC Files
yyyy.ddd.hh.mm.ss.ffff.SSSSS.CCC.AH for AH Files
yy.ddd.hh.mm.ss.ffff/SSSSS.CCC.w for CSS Files
mini.seed for mini seed
yyyy.ddd.hh.mm.ss.ffff.SSSSS.CCC.SAC_ASC for sac ascii
yyyy.ddd.hh.mm.ss.ffff.SSSSS.CCC.SEGY for SEGY
where yyyy is the year, ddd is the Julian day, hh.mm.ss.ffff is the time
of day of the start of the first record, SSSSS is the station name, and
CCC is the component name for the particular seismogram being recovered.
This seismogram file naming convention was chosen to provide unique names
to output files without user intervention; however, the large number of
files which can be generated to a single directory might cause problems
for some operating systems. Notice that CSS uses a slightly different
format that puts channel data in subdirectories. This is due to a limitation
in the filename field in the CSS database. For CSS there are three additional
files created, RDSEED.WFDISC, RDSEED.SITE and RDSEED.SITECHAN. These files
are used by the CSS database system.
Be aware that rdseed always appends onto the mini.seed file. You need
to manually remove this file if you wish to start over.
Recovering auxiliary data from an FDSN
One may also retrieve the set of abbreviation dictionaries or the set
of station information tables from an FDSN SEED volume. The former is
accomplished with the command
rdseed -af inputfile
while the latter results from
rdseed -sf inputfile
Output from these commands should be redirected to files, as in examples
6 and 7.
DIAGNOSTICS
Various warnings and error messages are issued to the standard error
device by the procedure. Typical response of the procedure to a warning
condition is to write a message to the standard error device and then
to continue execution. An error condition, on the other hand, will cause
a message to be generated to the standard error device followed by immediate
termination of the procedure.
EXAMPLES
1. Reading the table of contents from a volume.
rdseed -cf /dev/rmt8 > tape.contents & or rdseed
Input Device (/dev/rst0) : /dev/rmt8
Output Device (stdout) : tape.contents
Volume # [(1)-N] :
Options [acsSrRtde] : c
reads the table of contents from the tape on device /dev/rmt8 into
a file called tape.contents; the job is run in the background (command
line example). Output directed to "stderr", such as error
messages, comes to the terminal. Table-of-contents entries have the
format
AFI LPZ 1988,228,00:00:00.68 1 147
where the columns represent station name, channel name, start time,
location flag (here, a blank), subsequence number, and starting record
number.
2. Determining event start/stop times on a volume.
rdseed -tvf 2 image > image.times & or rdseed
Input Device (/dev/rst0) : image
Output Device (stdout) : image.times
Volume # [(1)-N] : 2
Options [acsSrRtde] : t
reads a disk file called "image" and creates a table containing
starting record numbers, station and channel names, start and stop times
of events, nominal sample rate, calculated sample rate and numbers of
samples for that file. Output is written to the file "image.times".
The lines of the output table have the format
119 ANMO LPZ 1988,230,00:00:00.6800 1988,230,18:35:04.6800 1.00 66904
where the columns represent station name, channel name, start time,
end time, sample rate in samples per second, number of samples, and
starting record number for these data.
3. Creating a detailed list of the contents of a volume.
rdseed -lf /dev/rmt11 > tape.list &
reads a tape on drive mt11 and writes a list of the contents of each
record to a file called tape.list. The job is run in the background.
4. Reading all data from a tape.
- rdseed
- Input Device (/dev/rst0): /dev/rmt8
- Output Device (stdout): tape.extraction.list
- Volume # [(1)-N]:
- Options [acsSrRtde]: d
- Station List (ALL):
- Channel List (ALL):
- Output format [(1-SAC),2-AH...]:
- Start Time(s) (FIRST) :
- End Time(s) (LAST):
- Sample Buffer Length [2000000]:
- Extract Responses [Y/(N)]:
reads all seismograms from the tape on device /dev/rmt8 into the current
directory, writes "stdout" output to a file.
5. Reading the abbreviation dictionaries.
- rdseed -af tape.image > tape.abbreviation.dictionaries or rdseed
- Input Device (/dev/rst0): tape.image
- Output Device (stdout): tape.abbreviation.dictionaries
- Volume # [(1)-N]: 1
- Options [acsSrRtde]: a
extracts the abbreviation dictionaries from a tape image stored on
disk, sends the result to a file, and runs in the foreground.
6. Reading station information.
- rdseed -sf /dev/rmt8 > tape.station.information & or rdseed
- Input Device (/dev/rst0): /dev/rmt8
- Output Device (stdout):tape.station.information
- Volume # [(1)-N]: 1
- Options [acsSrRtde]: s
recovers station and channel location and response information from
the tape on device /dev/rmt8, writes the information to a file, and
in the command line form runs in the background.
7. Reading specific station/channel/time information.
- rdseed
- Input Device (/dev/rst0) : /dev/rmt8
- Output Device (stdout) :
- tape.station.information
- Volume # [(1)-N] : 2
- Options [acsSrRtde] : d
- Summary File (None) :
- Station List (ALL) : BJI YKW1
- Channel List (ALL) : *Z
- Network List (ALL) :
- Output format [(1-SAC),2-AH..]:
- Start Time(s) (FIRST) : 1990,270,20:30
- End Time(s) (LAST) : 1991/2/1
- Sample Buffer Length [2000000]: 3000000
- Extract Responses [Y/(N)] : Y
reads all seismograms from stations BJI and YKW1, all Z channels, from
year 1900, julian day 270, hour 20, minute 30 to Febuaury 1, 1991. The
buffer size was increased to 3 million samples and the channel response
information will be output.
FILES
yyyy,ddd,hh.mm.ss.ffff.SSSSS.CCC - seismogram files as described
above
mini.seed - file of mini seed data
rdseed.err_log.MM.DD.YY - a log of all error messages created during
the day's usage.
rdseed.alert_log - file created when rdseed reverses the data.
SEE ALSO
Halbert, S. E., R. Buland, and C. R. Hutt (1988). Standard for the
Exchange of Earthquake Data (SEED), Version V2.0, February 25, 1988. United
States Geological Survey, Albuquerque Seismological Laboratory, Building
10002, Kirtland Air Force Base East, Albuquerque, New Mexico 87115. 82
pp.
O'Neill, D. (1987). IRIS Interim Data Distribution Format (SAC ASCII),
Version 1.0 (12 November 1987). Incorporated Research Institutions for
Seismology, 1616 North Fort Myer Drive, Suite 1440, Arlington, Virginia
22209. 11 pp.
Tull, J. (1987). SAC User's Manual, Version 10.2, October 7, 1987. Lawrence
Livermore National Laboratory, L-205, Livermore, California 94550. ???
pp.
SEED Reference Manual, WEED
CHANGES & BUGS
version 3.44
- added support for mini seed output
- added "r" option to output response information
- changed "Printers/*.c" to eliminate null pointer crashes
- merged ddl support fixed small bugs in parse_nchar.c & parse_double.c
version 3.45
- fixed bug in process_data.c, where under certain circumstances a
null pointer resulted in program crash.
- fixed minor bug, if they specified options:ct, then the times data
output complained.
- Also added a printout header to the time series output.
- modified and fixed some bugs in the free() routines. Put in checks
to make sure we weren't deallocating a NULL pointer, etc.
- added code to clear allocated memory to zeros.
- Added code to use multiple alt_response_file
- Added new way of calculating the A0 for AH output.
- If the output is SAC, added response file output.
- Fixed bug wherein program complained if outputing a mini-seed and
it encountered a blockette 1000 already.
- Fixed a bug wherein the program didn't put the correct time out to
mini-seed files.
- Fixed a steim compression bug. Program wasn't reading the start of
data correctly.
- Fixed a off-by-one bug in parse_61 - number_of_numerators
version 3.46
- fixed mini_flag not being reinitialized after every loop thru rdseed.
Minor bug.
- fixed small problem in process_data where the program returns if the
logical record's time was outside any selected time. Just let it do
its thing.
- added seed subset generation. ****
- expanded the decode string too hold complete name (from 5)
- added frequency multiplication to calib factor in output_css.c
version 4.0
- Finished seed subset generation. Generates the same seed version
as the original, if greater than 2.0
- Added more support for network code. Touched a lot of modules. Added
new command line for network code. This will allow for duplicate station
names.
- Added support for blocks 43..48 in output_ah.
- Changed process_data so it will look for and use the blockette 1000
information, if there.
- Added individual station/channel/network selection when the user selects
the 's' option.
- Untangled some minor spagetti which was causing some missed waveforms.
- Changed AH output so it doesn't do inapproriate calculations if channels
are AT, SHO, LOG
- Added network code to output file name of RESP files.
- updated the man page
- Made changes to the way rdseed reads in the header information. Previously,
rdseed would read in all stations/channel regardless of a specifications
made by the user. It would then eliminate station/ channels at output
time. Now it only reads in the requested station/ channels. Should save
memory, especially on dataless
SEED volumes being linked to miniseed stuff.
version 4.1
- changed all references to patchlevel.h in include statements to a
new file (called it version.h). In addition to the PATCHLEVEL, also
defines the VERSION for use in print statements
files effected by this procedure:
Main/output_resp.c
Main/rdseed.c
Printers/pagetop.c
Decoders/process_time_span.c
- changed the output format of the response file information in the
following files:
Main/output_resp.c
Printers/print_53.c
Printers/print_54.c
Printers/print_55.c
Printers/print_56.c
Printers/print_57.c
Printers/print_58.c
Printers/print_60.c
Printers/print_61.c
Printers/print_43.c
Printers/print_44.c
Printers/print_45.c
Printers/print_46.c
Printers/print_47.c
Printers/print_48.c
Printers/print_41.c
this includes changes that add the comment string (through the creation
of the Include/resp_defs.h include file) and the blockette/field number
addresses for parsing.
- Also added the Transfer Function Type to the output in Printers/print_53.c
(so that more than just the string generated by rdseed is given as the
Transfer Function Type) and aligned the dictionary reference integers
in [53] and [54] so that they look better.
- finally, the output for the print_60, find_41 and find_43 through
find_48 files were changed considerably. Breaking comments were added
to each type of filter, the blockette info from blockette 60 was expanded,
and blockette 60 had a breaking comment added. A new command line option
was also added to rdseed (-R) to print this new format. For the time
being, both RESP file formats will be supported. Eventually, only this
new format will survive.
the files that were changed to support this "dual" RESP format are:
Main/output_resp.c
Main/rdseed.c
Printers/print_53.c
Printers/print_54.c
Printers/print_55.c
Printers/print_56.c
Printers/print_57.c
Printers/print_58.c
Printers/print_60.c
Printers/print_61.c
Printers/print_43.c
Printers/print_44.c
Printers/print_45.c
Printers/print_46.c
Printers/print_47.c
Printers/print_48.c
Printers/print_41.c
- the changes should be easy to remove, since they involved defining
a new flag (outresp_old_flag) to output the old format (defined in rdseed.h
and rdseed.c), adding an option to the command line interpretation section
of rdseed.c, and duplicating most of the code in the rest of the files
to add an equivalent function where the dual functions can be identified
easily by the presence of the string 'old' in the function name that
is called to support the old format (e.g. old_print_type43 output_old_resp,
and print_old_resp). The R option was also added to the interactive
part of the rdseed program (and made the default if the user asks to
extract responses there).
- Added support for "weed"
- Added the 'S' extract station info option
- Added the 'e' extract event info option
- Found a bug in the output_seed stuff, where the program "forgot" to
output the block 74s.
- Added a routine to output the LOG records, if there.
- Added summary file processing to rdseed.
- Added new input line to the interactive mode. Input summary file >>>>
- updated man page
version 4.11
- added ability to ignore network codes if there. Farm products don't
all have network codes.
- fixed bug in free_43.c and free_44.c
version 4.11a
- If new style resp file output, no Network Code. Needed a line added.
fixed RESP file output so it indents properly - an issue for evalresp.
added the ability to skip channels and network from interactive cmdline.
version 4.12
- An error reading the tapes was fixed. - rdseed.c
- A0 * gains was added to SAC POLES & ZEROS file output for SAC data
- Some internal date format changes for use with WEED - summary.c
- A minor bug with blockette 1000 and steim 2 - output_mini.c
- Minor bug fix to parse_50.c - make sure network code is a null string
instead of a null byte.
- Added some code to clean up the logical record memory area, problem
crops up if logical record size < 4096 read_logical_record.c
- Added change so it processes "I" of family 50 - DDL - parse_key.c
& parse_30.c
- Also fixed a bug where it separated the timespan if they crossed a
day boundary.
- rdseed wasn't positioning itself properly when reading multiple tapes
volumes.
- AH output was changed, bug fix wherein it didn't get the right instrument
abbrviation, also added a unit type to the comment field, also added
hypocenter info in available.
- output_mini.c had a lot of changes needed to fix orientation code
missing in the geoscope volumes. Also put check in to make sure the
number of blockettes is accurate.
- Fixed a bug in time_span_out.c where the sample count was overflowing
the sizeof(int)!
- Also, if they specified multiple time slices, it wasn't processing
them all.
- output_sac.c - added conversion of CONSTANT value to what we do with
AH output data, convert from velocity or accel to displacement.
- Also changed the SAC poles and zeros file to reflect the 3 letter
channel name in the case of geoscope.
- minor problem with decode_32bit.c, needed unsigned changed to a signed
int.
- fixed a problem with the way that the 'station' information was output.
The 'new' RESP file format needed to be consistent with the station
information so that the blockette and field number prefixes could be
removed with a simple 'cut' command. The files effected by this change
were:
rdseed/Printers/find_30.c
rdseed/Printers/find_33.c
rdseed/Printers/pagetop.c
rdseed/Printers/print_10.c
rdseed/Printers/print_11.c
rdseed/Printers/print_12.c
rdseed/Printers/print_30.c
rdseed/Printers/print_31.c
rdseed/Printers/print_32.c
rdseed/Printers/print_33.c
rdseed/Printers/print_34.c
rdseed/Printers/print_35.c
rdseed/Printers/print_41.c
rdseed/Printers/print_43.c
rdseed/Printers/print_44.c
rdseed/Printers/print_45.c
rdseed/Printers/print_46.c
rdseed/Printers/print_47.c
rdseed/Printers/print_48.c
rdseed/Printers/print_50.c
rdseed/Printers/print_51.c
rdseed/Printers/print_52.c
rdseed/Printers/print_59.c
rdseed/Printers/print_70.c
rdseed/Printers/print_71.c
rdseed/Printers/print_72.c
rdseed/Printers/print_73.c
rdseed/Printers/print_74.c
rdseed/Printers/print_abrvd.c
- the result of these changes is that all of the 'station' information
will be preceded by a blockette and field number prefix, as was the
case with the response information in the RESP files. This consistency
should make it easier to parse the station information from this output,
since the routines that added a prefix to the response output in versions
4.1, 4.11, and 4.11a were used in the 'station' information output (so
the station information output had a mixture of blockette/field number
prefixes for some of the information and no blockette/field number prefixes
in other parts of the output). This fix may make this type of output
useable with evalresp once more. Thomas J. McSweeney, Feb 20, 1996
version 4.14
- changed 'print_type50' so that a network code is always printed.
If it is a NULL pointer, the string "??" is printed, otherwise the network
code is printed.
- bug fix to find_41.c to fix problems with output of RESP files containing
blockette [41] style FIR filters. Each was followed by a blank line
that should have contained a '#' character prefix on it. Thomas J. McSweeney
, Apr 29, 1996
- Added support for differing logical record sizes within the data record.
- Added support for event processing from weed. rdseed will place waveforms
for each event as found in the summary file into seperate directories.
This function is activated from the weed interface.
- Alpha port: Fixed many problems associated with 64bit compilation.
At the same time fixed many bugs which showed up with Alpha port (byte
swapped data).
- Added code to place event/station distance, both degrees and Km, azimuth
and back azimuth into SAC headers.
- Version support, looks to see the version of weed which is running
it.
- added sip and azimuth in AH output.
- Opps, dip and azimuth needed switching in AH header output.
- added dip and azimuth reversal in output_ah.c
- added event lat/lon information in AH headers.
- Changed some longs to ints in steim.c (64bit port)
- Added support for data blockette swapping if needed. Currently only
blockette 100 is located and swapped.
- Small bug fixed in output_css.c where if no description entered for
instrument type, program would crash.
- Added support for negative BIAS in summary file processing.
- Took out call to timelocal() and converted to mktime()
- Bug fix in summary file processing where it goofed about what data
to grab.
- Changed the output format for event files into a more readable format,
as per Ken suggestion. The precision of the floats were changed.
- changed decode_geoscope.c so i is insensitive to case when scanning
for data type code.
- added scan_for_blk_1000() in process_data.c so it would get the word
order from this if available.
- Changed process_data.c to do the byte swapping upfront, instead of
peppered throughout the code.
- The LOG record output wasn't being done right for "Seed" output. WOuld
miss the log records.
- Small bug fix for seed output, blockette 74s seek locations weren't
being computed properly on subsequent interations.
- Took out some longs and other problem spots for Alpha port.
- This version was never releases, went to 4.15 directly from 4.12
- Added SAC ascii output
version 4.15
- Added SEEDTOLERANCE - or rather activated it.
- Bug in output_polesNzeros() where if LOG channel it crashed.
- Changed the way rdseed reads stn/chn information, more flexible, not
dependent on order of info in seed volume.
- Added ability to process data records of varying sizes.
- needed to look at data record size from the blk1000
- added command line processing for summary file.
- bug in output_event_info, date conversion on leap years
- bug in steim.c when day is 366
- changed some things so it compiles and runs on linux.
- Conflict with rdseed.h's abs and stdlib.h's. Made into all CAPS.
- Small bug with using one letter network code ala geoscope
- Activated blk 11 and 12 usage.
- Added SEGY output.
- Bug fix with network codes of one letter, ala geoscope
- implemented blockette 11 and 12 usage, if disk file
- Added alert message processing, if reversals are initiated, rdseed
will write message to disk and alert the user about this file.
- Small bug caught in scanning for blockette 1000
- Added to "WEED" station file, station effective dates.
- Small bug in date conversion routine when leap year.
- removed some unnecessary routines from the Snoop directory
- Small bug in output_seed() where if network code is length of one,
the resulting blockettes needed padding to 2.
- In output_seed(), needed to get the network code from the data record.
- summary.c - small bug in how the channel names were being interfaced
to the old style holding array (from keyboard).
- ah_resp.c - small bug in the complex math routines.
- steim.c - bug in time computation when leap year.
- Added event info (if there) to output seed volume
- Added stdlib.h for atof()
- solaris compatability
revision 5 - took out getwd() for getcwd()
- also bug fix, fread didn't work on tape drives
rev 6 - Bug in naming of output files for geoscope
data
- bug in getcwd() in log_errors() resulted in I/O error - result too
large
- Bug in the 't' option - lrecord_ptr off by one
rev 7 - added event hypo info for SAC headers
- put some sanity checking for fsdh->bofb field
- one last bug fix for finding chn recs when stn recs don't match based
one effective time. Default to what is there
- added blockette 51, 59 output 'C' option
- new command line options for 'C'
- bug fix in convert date of event if leap year in output_event_info.c
rev 8 - changed how the summary file is processed.
- took out the old_resp flag option
- added a perror() to output_segy.c
- added some I/O error messages to output_sac.c
- same with output_resp.c output_ah.c and output_css.c
- output_css.c : changed elevation from meters to km also fix a calib
of zero bug (if no stage 0 (58))
rev 9 - bug fix for really small (<32k) seed volumes.
- bug fixes for summary file processing.
- small apparently harmless overflows fixed (process_data.c)
- some needed byteswapping for updated version
version 4.16
- output of sub-seed from Geoscope files had 0 in network code
- also, mod made for reading small <32k seed volumes
- took out innocous warning mess on 'c' option, could be dataless
- added station/channel/net prompts to option 'C', the station/channel
comments option. Also user can specify time windows for effective time
processing.
- bug in output_mini() where it didn't properly write records with an
existing blk1000 and the rec length !- 4096
- bug in output_seed, changed timeadd() to timeadd_double(). Also in
output of blk 55/56, missing % in sprintf()
- some errors which showed up in linux compilations.
- added in location code processing
4.16.1 - added toms fix to the IIR instrument error
message, poles > 0 in parse_53.c
4.16.2 - small fix to bug that seems to have come
back in extract_time_span() where if the data record size was < logrec
size, it didn't properly look at the sub index value as found in the
block 74. Off by one
- also add in if num_itms < 0 do perror("") in extract_this_time_span().
4.16.3 - blk 1001 virtual support, program complained
if running under linux
- location code processing added to the 't' option
4.16.8 - added in support for block 42/62.
- printing blocks 51/59 needed a flag to print the station information.
- added support for CSS's affiliate, network and hypocenter table.
- bug fix in output_mini.c, pointer to new block needed recalculating.
- sac ascii output needed the numbers reformatted from %15.7f to %15.7g,
to conform with the SAC manual. Maintains a 80 column output with large
numbers
- output_seed.c - changed fopen("a+") to fopen("a"), caused problems
with linux, but should be this way anyway. Also "w+" to "w".
- Polynomial response was added in.
- get_date() returned pointer to local variable.
- bug in rdseed.c - process_stn_lrecs(), buffer needed memset() to spaces
in case read failed from EOF.
- summary.c, many changes associated with location codes. Also added
file version checking.
version 4.17
- new summary file processing
- support for opaque data type
- added capability for processing multi 53 poles_zeros blks when calculating
A0
- took out erroneous message about found a pole > 0
- added support for 16 bit ints (H2O data)
version 4.18
- Doug Neuhauser's changes to allow 512 byte data records and to allow
for very low sample rate.
- fixed a crash bug when encountering an unknown compression code.
- SAC poles and zeros file needed location code in file name.
version 4.18.1
- decode_16_bit.c - needed to take out debug output file
version 4.18.2
- added in Jean-Francois Fels' fixes to decode_steim.c for
linux
- added in Chad Trabant's addins for alt response file
processing using command line option (g).
- added in command line processing to allow for designation
of file output directory (-q).
- added in command line processing for seismogram data input
buffer size specification (-b).
- small bug fix needed when fsdh has zero samples.
- added in Doug Neuhauser's fixes for default lat/lon output
in the station file (-S) option to have + for
positive lats.
version 4.19
- added in the DRQ in interactive and command line prompts.
- Added in DR or Q into file output names.
version 4.19.1
- took out Jean-Francois Fels' fixes for decode_steim.c
version 4.19.4
- bug in CSS output for origin event time.
- Function get_secs_since_1970() did not work. Took it out.
version 4.2
- add in more support for DRQ
- bug fix in output_seed_data_file. needed support for multi
- data rec lengths. decode_usnsn had an ugly bug.
- MAC makefile changes. Some fixes for linux.
version 4.3
- added in some robustness in process_data.c because
bad data was creeping into seed volumes.
- ah_resp.c wasn't processing dictionary blockettes
properly.
- linux bug in ah_resp.c for pointer math.
- ALT_RESPONSE_FILE processing wasn't right for linux
- rdseed.c:
- changed reads to fread
- needed num_bytes_read returned from skip_to_DRQ
- changed checking for LRECL only if scln changed
- alt_response.c:
- changed file numbers to FILE
- process_data.c:
- checked for sample rate sanity
- miniseed blockettes processing had a bug.
- heck for good bod field
- decode_steim2.c
- still had LRECL hardcoded as 4096 instead of
variable.
- timeqc.c, timetol.c:
- if the blk52 has a zero for a clock tolerance,
substitute a 1 so math will work.
- VERSION.h updated to version 4.3 so page_top.c would
print out properly.
version 4.4
- log_errors.c for newer gcc
- also, bug in ah_resp.c which only showed up in
ah_resp.c
version 4.5
- fix for GEOSCOPE data
- changed makefile to use gcc
- took out some references to version for easier maintenance
version 4.6
- Added identifying time to file names of SAC poles and zeros files
- Added blockette 40's logic
- Fixed SAC evdp * 1000
- Fixed bug in leap year calculation
- Added SAC idep (units)
Address bug reports to Sandy Stromme at IRIS DMC, 206-547-0393, or send
email to .
Please DO NOT "fix bugs" locally without telling the author
about them. Please DO NOT redistribute this program. Address requests
for the program to IRIS at the numbers given above.
AUTHORS
Dennis O'Neill, Allen Nance, Chris Laughbon, Sandy Stromme
IRIS Data Management Center
[return to top]
updated 07/23/2004
|