seislog_1.2.7.doc

Seislog for Windows
A seismic data acquisition system for
Windows9X/NT/2000/XP
Version 1.2.7
Øyvind Natvik
Jens Havskov
Department of Earth Science
University of Bergen
Allegt. 41, 5007 Bergen
Norway
Ph +47 55583600
Fax +47 55589669
Email [email protected]
June 25, 2004
1
COPYRIGHTS. ........................................................................................................................ 4
THIRD PARTY SOFTWARE IN SEISLOG. ....................................................................... 4
2.0 PRINCIPLE OF OPERATION ............................................................................... 5
3.0 INSTALLATION ......................................................................................................... 6
4.0 STARTING AND STOPPING SEISLOG ........................................................... 7
5.0 SETTING UP AND CHANGING SEISLOG PARAMETERS ...................... 7
SETTING UP A SYSTEM FOR THE FIRST TIME ......................................................... 7
PROGRAM SETTINGS .................................................................................... 8
SETTING UP A DIGITIZER ............................................................................. 11
CHANNELS AND RING-BUFFERS...................................................................... 16
NETWORK TRIGGERING ............................................................................... 20
HOW TO CHANGE PARAMETERS, AND HOW IT AFFECTS OTHER SETUP .......................... 24
6.0 MONITORING SEISLOG ..................................................................................... 25
ACTIVITY MONITOR. .................................................................................. 25
LOG WINDOW. ......................................................................................... 26
CHECKING FOR EVENTS. .............................................................................. 26
PLOTTING SIGNALS IN REAL TIME ................................................................... 26
ARRANGING THE ORDER OF THE SEISLOG WINDOWS. ........................................... 28
7.0 MANUALLY TRIGGER SEISLOG TO RECORD AN EVENT. ................. 28
8.0 DATA RECORDED AND DATA INSPECTION ............................................ 29
CONTINUOUS DATA ................................................................................... 29
SEISAN CONTINUOUS DATABASES ................................................................. 30
TRIGGERED DATA...................................................................................... 31
CHECKING TRIGGERED EVENTS ...................................................................... 32
PLOTTING TRIGGERED EVENTS ...................................................................... 33
9.0 TIMING ........................................................................................................................ 33
CPU SYNCHRONIZED WITH EXTERNAL DIGITIZER: ............................................... 34
CPU SYNCHRONIZED WITH EXTERNAL GPS: ...................................................... 34
MONITORING TIME SYNCHRONIZATION: ........................................................... 36
10.0 COMMUNICATION WITH SEISLOG ........................................................... 37
DATA DOWNLOAD ONLY. ............................................................................. 37
FULL CONTROL OF SEISLOG.......................................................................... 37
PARTIAL CONTROL OF SEISLOG. .................................................................... 37
AUTOMATIC DOWNLOAD OF DATA TO A CENTRAL COMPUTER. ................................... 38
SETTINGS FOR UNATTENDED OPERATION OF SEISLOG ......................................... 38
11.0 WHAT CAN GO WRONG ................................................................................... 40
2
TIMING PROBLEMS .................................................................................... 40
DIGITIZER STOPS OR SENDS CORRUPTED DATA ................................................... 41
DISK FULL .............................................................................................. 41
RING BUFFER FILES HAVE SHORTER LENGTH IN TIME THAN SPECIFIED ........................ 41
SYSTEM DOES NOT TRIGGER ......................................................................... 41
POWER FAILURE ....................................................................................... 41
MESSAGES FROM SEISLOG ........................................................................... 42
ACKNOWLEDGEMENTS ............................................................................................... 43
REFERENCES ..................................................................................................................... 43
APPENDIX .......................................................................................................................... 44
SFS-FILE FORMAT SPECIFICATION .................................................................. 44
SERIAL DEVICE MAY BE DETECTED AS A SERIAL MOUSE IN WINDOWS 2000............... 45
EXAMPLE OF OF HOW TO CONFIGURE AND INSTALL SEISLOG IN A SEISMIC NETWORK ...... 48
INDEX ................................................................................................................................... 50
3
Copyrights.
The Seislog executable and all Seislog source files are copyrighted to
Department of Earth Science (IFG), University of Bergen. However, IFG
grants permission to use and modify the Seislog source files for noncommercial purposes. IFG shall not be held responsible for any loss or
damage caused by use of this software, financially or otherwise.
Commercial use of this software requires a written agreement with IFG.
Use of the software implies agreement with the terms above.
Please address all questions to Jens Havskov:
E-mail: [email protected]
Tel: +47 55 58 34 14
Third party software in Seislog.
ZLIB
This program uses compression routines from the free ZLIB library. The
version of ZLIB used is 1.4.1. For more info about the ZLIB library go to
http://www.gzip.org/zlib/.
TVicHW32
TVicHW32 is a general-purpose device driver that can be used to access
and control hardware directly from a Win32 application under Windows
95/98/Me/NT/2000/XP without having to use the Windows DDK. Seislog
uses this driver to access pins on the LPT ports. IFG has bought a license
that allows us to distribute the tvichw32 driver freely with the Seislog
binaries. However - organisations or people that compiles their own
version of Seislog from the Seislog source code are responsible for buying
their own license. See http://www.entechtaiwan.com/tvichw32.htm for
more information. Seislog currently uses TVicHW32 version 5.1.
4
1.0 Introduction
The standard Seislog seismic data acquisition system for the QNX
operating system has been around for some years and is well tested
(Utheim and Havskov, 1999, Utheim et al., 2001). It uses a real time
operating system with accurate timing built in and, since it is a multi-user
system, it is very flexible for network integration and remote use over
both serial lines and Internet. More and more digitizers now have built in
timing so there is less need to use a real time operating system. Most
users have Windows 9x/NT, so there is a need for a simpler data
acquisition system using the standard operating system. The development
of Seislog for Windows was initiated in order to have a simple data
acquisition with GeoSig low cost GBV recorders; however Seislog now
operates with several other digitizers as well. In addition, it has been a
goal to integrate Seislog closer to SEISAN (Havskov and Ottemøller, 1999)
in order to facilitate processing. A simple version is also available for PDA
devices running the Pocket PC operating system.
This manual describes the installation and operation of the system. The
Seislog Windows version will hereafter just be referred to as Seislog.
Seislog QNX, Seislog Windows and SEISAN are freely available for noncommercial use at http://ftp.geo.uib.no.
2.0 Principle of operation
The Seislog data acquisition system consists of one or several digitizers
connected to a PC using the serial lines or input from files. Each digitizer
(maximum 50) can have up to 64 physical channels. A maximum of 208
logical channels can be handled by the system. The digitizers will normally
provide time stamped data blocks. However, if no timing is given, timing
can be done from the system clock. In this case, less accurate timing will
be obtained, even though the system time can be synchronized with a
GPS. The digitizers need not use the same sample rate, nor be time
synchronized.
The data from the physical channels will enter memory ring buffers (one
for each logical channel), where STA/LTA calculations are performed, and
single channel detections declared. Each channel can optionally be written
to a disk ring buffer, and there can thus be a disk ring buffer for each
logical channel.
Using the detection states of the memory ring buffers, network detections
are declared using up to 5 different sets of detection criteria, like
minimum number of channels to be detecting an event among a given set
of channels. On declaration of an event, the waveform data file for
selected channels is written out directly from memory. In addition,
trigger-times for each channel is written out in a separate file. Both files
5
are written in SEISAN format and can optionally be written directly into a
SEISAN database for ease of later analysis or automatic location and
magnitude calculation.
Since SEISAN is intended for the main data inspection and processing
system, Seislog only has two types of monitor windows where real time
signals can be shown, and many real time parameters monitored. Both
event files and ring buffer files can be plotted with SEISAN.
The system is intended to be able to recover from power failures and
breakdown of digitizers, so if e.g. one digitizer falls out, the system will
continue to operate and seamlessly start using the digitizer when it comes
back. The system can also handle differences between time in timestamped data blocks, and the system clock. What this means in practice is
that the system, up to a certain limit, can handle delays in transmission of
data from digitizers.
3.0 Installation
Seislog requires a standard PC running Win9x/NT/2000/XP, 32MB RAM
and a digitizer connected to the PC. Windows 2000/XP is the
recommended operating system. If running Windows 2000/XP a minimum
of 96 MB RAM is recommended.
Seislog consists of the executable file (seislog.exe), and other files such as
DLL files. These can be downloaded from our web site. Here are the steps
required to install Seislog:
1. Start Windows
2. Make an installation directory, for example C:\Seislog.
3. Copy the Seislog_bin.zip file to directory C:\Seislog, and unzip it
here.
4. Make a shortcut to C:\Seislog\seislog.exe on your desktop.
5. If you would like Seislog to start automatically when Windows starts,
then make a shortcut in the Startup folder as well.
6. Seislog can now be started (no reboot is needed).
When Seislog is first started, it will prompt the user for its basic
configuration. Defaults for most settings are supplied. When configuration
has been entered, Seislog saves this information in the Windows registry,
and then restarts itself. During this process all needed subdirectories will
be created in the Seislog base directory. Each time Seislog starts it will
check the information in the registry. If any information is found to be
wrong or missing, Seislog will prompt the user for the setup configuration
again. The registry key used by Seislog is:
6
HKEY_LOCAL_MACHINE\SOFTWARE\IFG\Seislog. Though it is possible to
change the registry information using the regedit program, the preferred
way is using the Configuration dialog box inside Seislog. Seislog now uses
a driver (TVicHW32) to get low-level access to the LPT port. Seislog will
install this driver automatically from the C:\Seislog\Drivers subdirectory as
needed.
The Seislog base directory will, when the system is in operation, contain
various log and system status files created by Seislog. The most important
is seislog.log, where all messages from Seislog are stored.
Seislog system limitations in the current version:
- 50 digitizers (devices).
- 208 channel recording
- 208 ring-buffers
- 64 physical channels pr device
Duration of ring-buffers is practically only limited by disk space. The
maximum duration of a recordable event is limited by the size of allocated
memory for the logical channels. A 16 channel system, with 100 Hz
sampling, 4 byte data, and 10 minutes of memory ring-buffers, will
require about 4 Mb of memory for the memory ring buffer system.
4.0 Starting and stopping Seislog
Clicking on the Seislog icon will start Seislog. If the system has been set
up with relevant parameters, the program will load immediately. If the
parameters have not been set up adequately, the user will be prompted
for information and several parameters must be defined (see section on
program settings). Seislog can be started and stopped using the ‘File’
menu where Start, Stop and Exit are the options. Once Seislog is running,
a monitor screen comes up and the signal can be plotted in real time (see
section on monitoring).
5.0 Setting up and changing Seislog parameters
Setting up a system for the first time
In order to set up Seislog for the first time, several Seislog parameters
7
must be set depending on the digitizers connected, and how the user
would like the system to operate. The user must go through all 4 steps of
setting up Seislog parameters as described in the next sections:
-
Program settings
Digitizer setup
Channels and ring-buffers
Network triggering
Program settings
When Seislog start, it will try to load some of its configuration from the
Windows registry. If the information is missing or incorrect, the dialog box
in Figure 1 will notify the user that something is missing. Press OK to
continue.
Figure 1: Seislog message: Startup check failed
The program settings window will now appear (Figure 2).
8
Figure 2: Program settings
Most parameters will have defaults that are suitable in most cases. If this
is new system with no special requirements, it is recommended to only set
parameters on the right side of the screen where no defaults are given. All
mandatory fields must be filled in with valid values before the user is
allowed to close the window.
The parameters are:
Program base directory (Default C:\Seislog)
This is the directory under which most Seislog parameters and data
resides. The Seislog executable should also reside here.
In registry: ProgDir.
Directory for ringbuffer files (Default C:\Seislog\Ringbuffers)
Directory for location of ring-buffers. In this directory, new directories will
be created - one for each ring-buffer. In registry: RngBufDir.
Create ringbuffer s-files (Default off)
If this option is turned on, an s-file will be automatically created for each
ring-buffer file. This is needed in order to use SEISAN program to plot and
extract data from all ring buffer files simultaneously. SEISAN should be
installed in the default location. In registry: CreateRngBufSFiles
Directory for ringbuffer s-files (Default C:\Seismo\Rea)
The directory where the ring-buffer s-files will be placed.
9
In registry: RngBufSFileDir
Enable automatic backup of ringbuffer files (Default off)
Use this option to automatically backup ring-buffer files. The backuped
files will be compressed with gz compression. In registry: RngBufBackup.
Backup every X hour (Default 6)
The backup will run at the interval given here. Using the default setting of
6 hours means that the backup will run once every 6 hour. The files will be
compressed into .gz format using the ZLIB library before backup. All ring
buffer files that have not already been backed up, will be copied. This
option is intended for automatic backup at remote stations to removable
media, like a USB connected disk, or a PacketCD formatted CD-RW disk. If
the disk runs full, backup will continue when a new disk is inserted. After
a power loss, backup will continue from where it left off. Backup can be
done instantly using option under file menu ‘Backup RB files now’.
In registry: RngBufBackupInterval
Make sure the backup device supports a large number of files; device
should be formatted using the FAT32 or NTFS filesystem.
Backup directory (Default C:\Seislog\Backup)
The compressed ring-buffer files will be saved in this directory.
In registry: RngBufBackupDir
Directory for event waveform files (Default C:\Seislog\Events)
The directory where the triggered waveform files is recorded. If a SEISAN
system is used, it is recommended to use C:\seismo\WAV since SEISAN
always look for files there.
In registry: EventFileDir.
Directory for event s-files (Default C:\Seislog\Events)
Directory for S-files. An S-file (see also SEISAN manual) is created for
each triggered event and contains trigger time for each channel as well as
the duration of each trigger for each channel. The S-files can be used for
SEISAN processing like earthquake location and plotting, section on
SEISAN integration. If a SEISAN system is installed, it is recommended to
use a SEISAN data base like c:\seismo\rea\BERGE where BERGE is the
SEISAN data base name (see SEISAN manual).
In registry: SFileDir.
Automatically append SEISAN subdirectories, default=no
Since many events and corresponding S-files will be stored in the S-file
directory, it may be useful to store the files in a directory structure made
from years and months. If choosing this option, the S-files will be stored in
the following directory structure by default:
10
C:\Seislog\Events
|
-----------------|
|
1999
2000
|
|
------------- -------------|
|
| |
|
|
01 02 ... 12 01 02 ... 12
If this data base structure is to be used directly with SEISAN, the S-file
directory must be named in accordance with SEISAN rules (see SEISAN
manual) like C:\seismo\REA\BERGE where BERGE is the SEISAN name
chosen for the SEISAN data base (user selectable) and REA is the SEISAN
directory under which S-files reside. In registry: CreateSFileSubDirs.
Short network name
The name MUST be entered and it must be between 3 and 5 characters
long. The name is used for naming event waveform files. In registry:
NetworkCode.
Long network name
The name MUST be entered, can be 1 to 29 characters long. The name is
stored in the waveform event file header. In registry: NetworkName.
Autostart
Ticking off here means that Seislog automatically begins acquisition when
Seislog is started from Windows. To have Seislog automatically start when
the computer boots up, create a shortcut to Seislog and put it in the
Windows ‘Startup’ folder. This is useful for unattended systems. In
registry: AutoStart.
Click OK when all information has been entered. The Seislog main-window
now comes up. Before Seislog can be started, devices and channels have
to be configured.
Setting up a digitizer
Seislog is designed for use with several digitizers. The digitizers are
normally connected through serial-ports. Digitizers can be connected to all
serial ports available. In order to set up the digitizers, select
‘Configure|Administer devices’. The Administer devices window will come
up showing a list of already configured digitizers (Figure 3). If this is the
11
first time the system is set up, the list should be empty. To add a digitizer,
click Add, and a list of digitizers supported by Seislog will be shown
(Figure 3). Choose a digitizer, and press Configure. To remove a digitizer,
select digitizer and click Remove. When adding a digitizer, the configure
screen for that device will be shown (Figure 4 shows an example from a
GeoSig digitizer). The configure screen will vary a bit from digitizer to
digitizer, however the main topics will be the same except for the
synthetic digitizer (Internal Wave Generator). Common for all nearly all
digitizers is that they must be set up properly before being used with
Seislog.
Figure 3: Select and configure a digitizer.
12
Figure 4: A typical digitizer setup window. Note that additional
information on digitizers might be given in the log window.
Common parameters to set are:
Model: A manufacturer can have several similar models set up from the
same configuration window. The models supported are:
ComputerBoards CIO-DAS6402/16
Earth Data EDM006
Earth Data PS2400
GeoSig digitizers
Guralp digitizers
Kinemetrics K2
Mariotti SADC10,18,20,30
Nanometrics HDR24
Nanometrics RD3/RD6
SeisProd SEISAD18
Format description for some of these digitizers are available at our web
site.
In addition there is an internal wave generator and a file reader.
COM port: The digitizer can be connected to COM1 to COM16, choose the
13
appropriate number.
Sample rate: This is the sample rate set up on the digitizer. The sample
rates available on the digitizer will be shown here. In most cases, the
sample rate must be set separately with the manufactures setup program,
only for SEISAD18 will Seislog set the rate directly.
Apply time correction: The value entered here will be used to correct the
time that are used to timestamp the digitizer blocks.
Use PC clock for time tagging: Incoming data from the digitizer will most
often have been time tagged. However, if no time tagging is available, the
PC clock can optionally be used. This option is not recommended unless
the system clock is synchronized by some means.
The digitizer setup-window may have a NOTE section in the bottom (like
shown in figure 4). It is important to follow these notes when the digitizer
is set up for use with SESILOG, otherwise the driver in Seislog might fail
to operate.
When all parameters have been set, press OK. The newly configured
digitizer will now show in the list of configured digitizers. All digitizers
connected to the PC should be configured before setting up the channels.
The synthetic digitizer
This internal digitizer has been provided in order to be able to test Seislog
without any physical digitizer. The digitizer is called ‘Internal Wave
Generator’, and is selected like any other digitizer. However, the setup is
slightly different. The digitizer will by default have 4 different channels
(Figure 5). For each channel, 3 parameters can be set up:
14
Figure 5: Setup of the Internal Wave-Generator used for testing
Wave frequency: The frequency of the synthetic signal (1-30 Hz). The
sample rate is fixed to 120 Hz.
Simulate event every X second: In order to test triggering, an event can
be simulated every 10 to 120 seconds. This means that the amplitude is
increased by a factor of 3. Selecting 0 seconds means that no event is
simulated.
Each event should last for X seconds:
This is the duration of the event in whole seconds.
Once the synthetic generator has been set up, the remaining Seislog setup
follows the standard procedures.
Data from SFS file
Seislog can now read a continuous stream of data from a type of files
called SFS (Seislog File Stream) files. An SFS file can hold data for up to
64 channels. Normally, each file will hold one minute of data, but this is
not a requirement. The SFS file must be named using a the convention
15
given in the Appendix.
SFS files have a simple construction with a readable ASCII header, and a
binary data section following. When setting up the SFS driver in SESILOG,
a directory for incoming SFS files are given. When running, Seislog will
continuously scan this directory for SFS files, and process them in the
right order (oldest files first). When a file has been processed, it will be
deleted, and Seislog will start to process the next file. The SFS driver is
able to continue from where it left off after a system stop, or power
failure. When Seislog starts, any number of SFS files might exist in the
data-directory. This may cause problems because the data in these files
might be too old for Seislog to handle. Therefore Seislog will, when
started, delete all existing SFS files with age older then a given number of
minutes.
NOTE: When creating incoming SFS files in the SFS data-directory, it is
important to use a temporary filename with no ‘.dat’ extension. When the
file is completely written, then it can be renamed to its real name. If this
convention is not followed, Seislog might start to process an unfinished
file, and this will cause the driver to fail or crash.
Channels and ring-buffers
Each digitizer provides physical channels to the system. A 3-channel
digitizer will provide 3 physical channels. The user can now use these 3
channels to create any number of logical channels in memory. Each logical
channel can optionally have a disk ring buffer. A logical channel is a
memory ring buffer defined by the user. Event detection is done on the
memory ring buffers, and detected events are written out from them. In
the example with a 3-channel digitizer, the user can choose to use only
one channel; so only one logical channel is created. Another example is to
create 4 logical channels where the fourth channel is physical channel 1
used twice. The repeated channel could for example be filtered. Currently
the system has been limited to 64 logical channels.
Each channel can optionally have a ring-buffer on disk. The ring-buffer
consists of a series of files of equal size. The number of ring-buffers is only
limited by disk space. The user sets up the number of ring buffer files, and
their size. Each channel may be individually set up. The SEISAN formatis
used for the ring-buffer files so the files can be directly used with SEISAN
which can plot, append, extract and resample the ring-buffer files. If the
system has an unexpected stop, the last ring-buffer file will be repaired
when the system starts up again.
To set up the logical channels, select ‘Configure|Administer channels’, and
the dialog box in Figure 6 will pop up.
16
Figure 6: Selecting or adding a channel to configure
For a new system, there are no channels configured, and only the Add
button is activated. If channels have already been defined, Modify will
change the existing channel, and Remove will delete the channel (all
highlighted channels will be removed) . When clicking Add or Modify, the
following screen comes up (Figure 7). If using Modify, the existing setup is
shown. The Rebuild RB button can be used to rebuild a channel’s ringbuffer. This has to be done if the sample rate has been changed or the
user wants a different length ring buffer file. Beware that this operation
will delete all existing data in the ring-buffer.
Figure 7: Add or modify a channel
17
The parameters are:
Channel-number for new channel (mandatory): The next available channel
is shown by default so no change needs to be made if adding a channel.
Possible choices are: The next free channel (default value), or the number
of an existing channel. If a number of an existing channel is given, then
the existing channel, and all channels above it, will be renumbered
upwards (including ring buffer directory names).
Channels parameters (mandatory): Station code is a 1 to 5-letter code.
Component code is a 4-letter code of which the first letter MUST be one of
the following: S (short period), L (long period, B (broad band), A:
accelerometer. The last letter MUST be Z, N or E. The other 2 letters can
be anything. However, if used with the SEISAN system, there are some
restrictions. BOTH STATION CODE AND COMPONENT CODE MUST BE
SELECTED AND THEY MUST BE UPPER CASE.
Band-pass filter (optional): The data can be filtered before entering the
trigger algorithm. If filtering are activated, default filters (3 to 8 Hz) are
used. Other filters can be selected, however 3 - 8 Hz is a good filter to use
with short period data, and is also useful when triggering on tele-seismic
data. The filters are 3 pole filters.
Data to disk (optional): Each channel can be recorded in a disk ringbuffer, which is the default (tick in ‘Create ring-buffer and log data to
disk’). The data can be recorded filtered, however, that is normally not
done.
Memory buffer: This indicates how many minutes of data are stored
continuously in memory. The buffer must be larger than the time duration
of the largest event to be recorded in event trigger mode. With the default
5 minutes, an event of typically up to 4 minutes long will be completely
recorded so for many stations or networks, a larger number must be
chosen.
Note: If using devices that output’s data late (compared to real time),
then this value should be increased accordingly.
Event trigging (optional): If triggering is selected, the default trigger
parameters are used unless changed. The default has been set to
'reasonable values' using short period data.
Short term average (STA): The short time window over which the average
amplitude of the signal is calculated. The DC component is subtracted
before averaging. If a filter is selected, filtering is done before calculating
STA.
18
Long term average (LTA): The long time window over which the average
amplitude of the signal is calculated. The DC component is subtracted
before averaging. If a filter is selected, filtering is done before calculating
LTA.
Trigger ratio: Start of a trigger is declared for the selected channel if the
STA/LTA ratio exceeds the trigger ratio. LTA is now longer updated a rate
1000 times slower than usual so that a long event do not de-trigger before
the event is finish. There is no option for freezing STA.
De-trigger ratio: The end of the trigger is declared for the selected
channel if the STA/LTA ratio is below the de-trigger ratio. LTA starts being
updated.
Source of data (mandatory): The current logical channel
must get its stream of data from a physical channel.
configured devices, select the device you would like to
Next, from the list of device channels, choose one
channels.
being configured
From the list of
have data from.
of the physical
Press OK to continue. If a disk ring buffer has been selected, the Ringbuffer configuration screen now comes up (Figure 8).
Figure 8: Ringbuffer configuration.
Defaults are selected, however the options are:
19
File size: The size of each ring buffer file in minutes, from 1 to 60 minutes
is possible. The default 10 minutes is a reasonable number with 50 to 100
Hz data.
Total buffer size: The total size of the ring buffer system in days, settable
from 1 to 365.
Samples: Number of bytes pr sample to be written out. Check digitizer for
what is delivered. If 2 bytes are written out and the digitizer delivers 4
bytes, the upper 2 bytes are lost and the signal is clipped if larger than 2
bytes. If you are unsure, always use 4 bytes, even if the device resolution
is less than 4 bytes.
The bottom part of the screen shows
system. Make sure it is not larger than
disk goes full, an error message will be
The user must then free up space on
again.
the size of the new ring buffer
the amount of free disk space. If
given, and the buffer is removed.
the disk and create the channel
Press Apply to make the ring-buffer on the disk. When successfully done,
the complete configuration of the channel is finished.
Network triggering
Each channel has, as described above, its own trigger-set with short term
and long term averages, trigger ratio, de-trigger ratio. The system also
has a network trigger. This works in the traditional way in which a certain
number of channel-triggers is required within a given time window. Once
an event is declared, it can be written out with user specified pre and post
event lengths. The user can specify which channels are written, so
triggering can be done on any of the logical channels, and the output file
can also include any of the logical channels. The data does not have to
arrive at the different physical channels synchronized in time since the
data will be time ordered in memory. A delay between the PC system-time
and the time used to timestamp incoming data (other settings, Figure 10),
will be accepted. The event files are written out in SEISAN format and a
SEISAN S-file is written out with trigger times directly into a SEISAN
database. An event is declared finished when there are no more triggers
on any channels. The system can have up to 5 different trigger-sets
working at the same time, so that the system can be configured to trigger
on very different conditions.
To set up the network trigger, select ‘Trig|Configure Trigger sets’ from the
Seislog menu. The following window comes up (Figure 9).
20
Figure 9: Adding trigger-sets
All trigger-sets already defined have a name. If no trigger-set has been
defined, NO EVENTS WILL BE WRITTEN OUT, and only the Add button is
active. Press Add to create a new trigger-set. If trigger-sets are already
defined, then their names will be shown in the list, and they can be
removed (Remove) or modified (Modify). In the case of Add or Modify, the
Trigger-set screen will come up and the following parameters can be
set:
21
Figure 10: Configure a trigger set
Name of trigger-set (mandatory): The user MUST give a name to the
trigger-set.
Declare event: An event will be declared if this number of channels have
a trigger (of any time duration) within a time window of seconds as given
in the second input window. The time window is also called array
propagation window.
Max duration of event: The maximum duration allowed for event. This
parameter is meant to limit the size of a recorded event. The parameter
must be set smaller than the size of the memory-buffers used by the
channels selected for dumping in this trigger set. This is checked by the
trigger routine when it starts up.
Pre-event time: The number of seconds of pre-event time recorded in
event file counted from the channel with the earliest trigger.
22
Post-event time: The number of seconds added to the event file after the
network detector has declared the event finished. If max duration is
reached, then post-event recording time is still added.
Execute a command when an event is declared: Seislog can execute a
command each time an event has been dumped to disk. This function is
useful if one wants to process or handle an event immediately. In the field
named ‘Command to execute’ enter full path to the program or batch file
that is to be executed. In the field named ‘Command parameters’, enter
the parameters for the command. In the parameter list, you may use ‘%1’
to substitute the full path to the event S-File. You may also use ‘%2’ to
substitute the full path to the event wave-file. If you run into problems
when trying to execute a ‘bat’ or ‘cmd’ file, please try the following
solution:
WIN2K/XP:
Command to execute: C:\WINNT\SYSTEM32\CMD.EXE or
C:\WINDOWS\SYSTEM32\CMD.EXE
Command parameters: /C C:\MyBacthfile.bat %1
WINDOWS 9X:
Command to execute: C:\COMMAND.COM
Command parameters: /C C:\MyBacthfile.bat %1
Examples using SEISAN
Command to execute: As above
Command file in Seislog directory:
Example 1:
hyp %1
copy c:\seislog\hyp.out %1
The first command locates the event from the s-file. The output file
hyp.out is the copied back to the data base.
Example 2:
autosig -infile %1 -clear on >> test.out
hyp autosig.out >> test.out
autosig -infile hyp.out -phase off -spec on
hyp autosig.out >> test.out
copy c:\seislog\hyp.out %1 >> test.out
>> test.out
The program autosig makes auto picking, output is in autosig.out, hyp
then locates the event, output is in hyp.out, autosig do spectral analysis,
23
output is in autosig.out, a new location and moment magnitude is made,
output is hyp.out and finally result is copied back to data base. The >>
test.out will redirect all program messages to a file test.out for debugging.
NOTE: The autosig program to do the above is only available in SEISAN
version higher then 7.2.
Note that since Seislog starts the commands, all programs executed in the
script will have output in directory where Seislog.exe is installed.
Maximum time to delay event declaration: Some devices may delay the
sending of data to the PC for an unusual long time. In this case, the data
may arrive too late to be processed by the network trigger. If this
happens, the trigger will simply ignore the data, and write warnings in the
log. To overcome this problem, the user can increase the maximum wait
time to a suitable value. If value is increased, then the time it takes for
the network trigger to respond to an actual event will increase
accordingly. Seislog will also use more memory.
How to change parameters, and how it affects other setup
Parameters are essentially changed in the same way as they are set up
initially.
Changes in setup of logical channels:
When a logical channel is removed, the ring-buffer is also removed. If a
removed channel is referenced in a trigger-set, then the trigger-set must
be modified. The log will warn about any problems with the trigger-set
when the system starts.
Ring-buffer changes:
A channel’s ringbuffer can be recreated with new parameters without
affecting the setup of the corresponding logical channel or any triggersets. The only way to delete a ring-buffer is to delete its logical channel.
Removal of a digitizer:
If a digitizer used by one or several channels is removed, Seislog will give
an error message when started, and will not attempt to run those
channels depending on it. If digitizer is configured again, channels will run
again as normally. It is possible to set up a new device without configuring
any channels for it. The device driver will start normally when the system
is started, but will not deliver data to any channels. If a device is removed
and then recreated with the same name, but with a different sample-rate,
then the ring-buffers for all affected logical channels must be rebuilt.
24
6.0 Monitoring Seislog
Activity Monitor.
Seislog has an activity monitor that shows the overall operating status of
the program (Figure 11). The monitor window always comes up each time
Seislog is started.
Figure 11: Seislog Activity Monitor.
The fields shown are:
Ch: Logical channel.
Station: Station code.
Comp: Component code.
Date and Time: Date and time as given in the memory ring-buffer. This
time can be a few (or many) seconds behind real time. The different
channels may show different times if they come from different digitizers.
However, if the source is the same physical digitizer, the time is usually
the same.
In/Disk/Trig: There are 3 indicator lights, which can be green (active, all
ok), dark green (set to be active, but doing nothing at the moment), red
(error), or gray (not active). The lights are: In: Data is coming into this
channel. If a digitizer stops the light turns red. Disk: If dark green, a ring
buffer is associated with this channel, if green, data is being written to the
ring-buffer. Trig: If a trigger algorithm is running for this channel, the light
is dark green, and if the channel is in trigger state, the light turn light
green. Snc.: Green: Channel is time synchronized with a GPS, dark green:
GPS does currently not have satellite fix, red: a GPS communication error
occurs, gray: no GPS set up to synchronize this channel. See also section
on timing.
Network Trig 1-5: Seislog can have 5 independent network trigger sets
and each set is represented by one column of lights, one pr channel. If a
channel is included in the trigger-set, the lights are dark green. If a
network trigger is declared, all lights for the trigger-set turn light green.
Both the trigger and the network trigger are very useful for testing the
25
operation of the system.
Sample: The current sample value in the memory buffer corresponding to
Date and Time. The sample is the first sample in the memory buffer.
When using synthetic data, it will always show 0, since the sine waves
frequencies are integer numbers.
STA and LTA: Current short and long term averages for channel. Note that
LTA is nearly frozen if the channel is in trigger state (update 1000 times
slower than normal).
Offset (DC): The DC offset for the channel in counts.
RB file: The ring-buffer file currently being used with the channel.
Filter (Low/High): The band pass filter limits (Hz), if used.
Device Binding: This field shows from which device (and physical channel)
the channel receives its data.
Log window.
In addition to the Activity monitor, the log window below always comes
up. This window shows all Seislog messages, like starting and stopping the
system, errors, and network trigger activity. The messages are intended
to be self-explanatory. The log window, and the log file, can be cleared
using the log window’s dropdown menu.
Figure 12: Log Window, all times are GMT.
Checking for events.
Checking for declared events can be done by looking for event files in the
events directory, or by using the SEISAN EEV program (SEISAN must be
installed). As soon as an event is detected and written out, it can be
displayed and located. Since the trigger times and the duration of the
event is given in the SEISAN database, an initial automatic location and
magnitude can be made.
Plotting signals in real time
With Seislog, it is possible to plot any of the logical channels in semi real
time. On the main menu, select View, and then ‘Monitor Channel …’. The
following window (Figure 12) comes up:
26
Figure 13: Selection of channels to monitor.
Select a channel and press, ‘Monitor channel’ and the plot comes up after
a few seconds (Figure 14). Repeat for all channels you would like to
monitor. Press Done when finished.
Figure 14: Real time plot of channel 1. This window can be made into a
multi trace window by pulling at the bottom frame of the window.
The plotted data is scaled automatically. The plot shows station and
component. The time refers to the first sample in the plot. The length of
one second is shown, and the scaling of the y-axis is in counts. To change
the X and Y-axis scale, click the icon in the top left hand corner, and select
‘Properties…’. The following window (Figure 15) comes up:
27
Figure 15: Setting scale for real time plot
If the scale has to be changed, uncheck the Let Seislog handle the scaling
check box, and enter a new value for the maximum number on the y-axis,
and press Apply. This facility can for example be used to compare
unfiltered to filtered data. Note that the auto-scale value is only calculated
once, and that’s when the window is opened. Sample reduction is a
feature used to reduce the number of samples plotted in the X direction. If
enabled, a certain percentage of the samples are removed from the plot,
thereby compressing the plot in the X direction.
When the plot starts up, it will calculate an initial DC. Seislog will slowly
monitor DC and make adjustments, however, if a large DC occurs rapidly,
it will take some time before plotting is adjusted to the new DC and the
trace might temporarily disappear from the display.
Arranging the order of the Seislog windows.
The order of the windows can be automatically arranged in the preferred
order. To do this, activate all windows in the opposite order, start with the
last window and end with the first. Then select ‘tile’ or ‘cascade’ from the
windows menu.
7.0 Manually trigger Seislog to record an event.
It can often be useful to manually trig the Seislog system. This is done by
selecting Trig on the main menu, and then Simulate event. The following
window (Figure 15) comes up:
28
Figure 16: Making a manual event.
By pressing the START button, recording starts immediately, and when
pressing the button again, it stops. The recording is delayed a few seconds
relative to real time. All channels are recorded.
8.0 Data recorded and data inspection
When Seislog has been set up and running, data will be recorded in
different directories depending on the setup. The ring-buffer files will
continuously overwrite, however the event files will gradually fill up the
disk and it is up to the user to make sure the disk does not run full.
Continuous data
For each disk ring-buffer defined, there will be a directory where all the
ring-buffer files reside. For channel 2, the ring buffer files are in
C:\Seislog\Ringbuffers\Channel02. When a new channel has been set up,
the files are empty of data, and will all have the same file size. Filenames
are R00001, R00002, etc, to the number of ring buffer files set up. Seislog
will start writing in file # 1, then # 2 etc. When a file has been completed
with data, the file name will be expanded to give vital information about
the file. An example of file names of two buffer files following each other
in time is:
R00004-1999-01-11-2133-48-001200-0-BER__-S__Z
R00006-1999-01-11-2213-48-001200-0-BER__-S__Z
The file name is separated in different fields by ‘-‘ and from left to right
the fields are:
Ring buffer file number
Year
29
Month
Day
Hour- minute
Second
Duration of file in seconds: If file is complete, this duration will match the
set up for the ring buffer file.
Status of timing
Station
Component
The intention with the informative file name is to have a complete log of
the data available in the ring buffer system as well as the status of the
ring-buffer system. This information is not available any other place in
Seislog. By just listing the file names, it is thus straightforward to find out
if data in a given time interval is available. The corresponding ring buffer
file can then be copied to an analysis system for further processing or it
can be plotted directly using the SEISAN program MULPLT. There is also a
SEISAN program for extracting data in a given time interval, from some or
all of the ring buffers, if ring buffer data is registered into a SEISAN data
base (see below).
The timing status is:
0=Time is not synchronized. No sync possibilities exists.
1=Time is not synchronized, synchronization is enabled, but
device/system clock is not synchronized right now.
2=Time is synchronized. Synchronization is enabled, and device/system
clock is synchronized.
3=Time is not synchronized. An error occurs (disconnected or badly
configured GPS?)
4=Unknown time status, can happen after a crash.
SEISAN continuous databases
If this option has been selected, there will be a SEISAN database for each
ring buffer. This means that an S-file is created for each ring buffer file in
predefined SEISAN databases. The databases are called Ch001, Ch002 etc
for ring buffers 1,2 etc respectively. An example of s-file is
2003 1 8 1254 52.0 LM
TES
1
C:\Seislog\Ringbuffers\Channel01\R00004-2003-01-08-1254-52-000600-0-TEST_-A__E6
ACTION:NEW 03-01-08 13:05 OP:SEIS STATUS:
ID:20030108125452
I
As it is seen, the s-file gives a complete reference to the ring buffer file
location and can therefore be accessed from anywhere on the system. See
below how it can be used.
30
1: Plotting data, system with no ring buffer data base:
- Go to the ring buffer directory.
- Run command ‘dirf R2*’ to get a list of the ring buffer files already
written.
- Plot with mulplt, one file after the other can now be plotted, or
specific files plotted (see SEISAN manual).
2: Plotting data with a ring buffer data base, one channel:
- Access database directly with command ‘eev’ from any directory.
E.g. to plot file at or near time 20020202 for channel 2, write ‘eev
20020202 Ch002’. You can now go forth and back in the ring buffer,
however with the limitation of viewing only one file at a time.
3: Plotting data with a ring buffer data base, several channels:
In SEISAN versions higher than 7.2, ‘mulplt’ is able to plot from several
continuous data bases at the same time, such that any time window from
any number of the data bases can be seen at the same time across one or
several ring buffer files. In order to do so, the continues databases to be
plotted, must have been declared in the SEISAN.DEF file, see SEISAN
manual. The procedure is then:
- Start ‘mulplt’.
- Give option ‘cont’.
- Select start time and interval, the plot will then come up in the usual
way with all selected channels.
Extracting data from ring buffer file(s) using ‘mulplt’:
- Plot data with on of the methods given above.
- Use ‘Out’ function to extract data selected on the screen.
Note that only method 3 of plotting will give data from several channels
and across different ring buffer files.
Extracting data from any time interval of all or some ring buffer files,
continuous data base available:
- Use SEISAN program ‘wavetool’.
Triggered data
Seismic events triggering Seislog will generate two output files, a
waveform file with the selected channels, and a parameter file with trigger
information (S-file) (see below). The files are stored in the directories set
up by the user (see setup of Seislog). By default, both files will be in
C:\Seislog\events. The file names follow the SEISAN convention and
examples are:
Waveform file: 1999-11-12-1145-22S.BERGE-004
31
The name consists of year, date, and time on the right hand side. On the
left hand side is the network name and the number of channels in the file.
The waveform files are binary and written in SEISAN format.
S-file: 12-1145-22L.199911
The name consists of
event is a local event
year and month. The
the SEISAN definition.
‘day of month’ and time. The L indicates that the
by default (see SEISAN). On the left hand side is
S-files are written in ASCII and the format follows
An example for an S-file is shown below:
1999 623 7 5 30.0 LM
BER
1
1999-06-23-0705-30S.BBERG_003
6
ACTION:NEW 99-06-23 07:05 OP:SEIS STATUS:
ID:19990623070530
I
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO SNR AR TRES W DIS CAZ7
BER SZ IP
0705 30.10
10
ASK SZ IP
0705 30.10
10
EGD SZ IP
0705 30.10
10
A full description of the format is found in the SEISAN manual, so only the
important points will be given here. The first line is a header line giving
start time of the recording. The L stands for local event (by default) and
the M indicates that this event was triggered manually. If the trigger is by
trigger set n, then Ln is written. BER is the agency (first 3 letters as given
under network short name). Line 2 gives the name of the corresponding
waveform file, which is located in the events directory or where the user
has specified. Line 3 is a help line for lines following, which gives the
trigger time for each channel participating in the detection. The duration of
the trigger for each channel is given under coda. These times can be used
by SEISAN for locating the event if more than 3 stations are present, and
the magnitude is calculated from the coda.
Checking triggered events
Events that have trigged the system can be found by simply listing the
files in the events directory. However, the intention is to use SEISAN for
event inspection and processing, and there is no Seislog software for
plotting the events. If the system is set up to record everything in the
events directory, simply write (in a DOS window) cd \Seislog\Events and
then call up SEISAN event editor by typing EEV. Alternatively use the
Windows based SEISAN event editor (should appear as an icon on the
screen if SEISAN has been installed). A list of events will now appear and
normal SEISAN processing can take place. For a system with many events
recording over a long time, it will be an advantage to record into a SEISAN
data base meaning that the S-files are recorded into the SEISAN yearmonth directory structure. The command is ‘eev 199905’ to inspect data
for May 1999. This command can be given from any directory, or the
SEISAN Windows program can be used.
32
Plotting triggered events
Plotting can be done in two ways. From the event editor (Windows or
prompt), simply enter the command for plotting, and the MULPLT program
is started with the current event. Alternatively, MULPLT can be started in
the directory where the event waveform files are stored, and the
waveform files are plotted one by one. In both cases the user can do
housekeeping by inspecting events, delete false triggers, and do final
registration of the event into the SEISAN database.
9.0 Timing
The Seislog trigger system is dependent on having a CPU time, which is
accurate to within approx. 10 seconds since the CPU time is used to align
the data in memory from the different digitisers, and to determine if data
arrives too late to be used.
The memory buffer used by the trigger algorithm starts at ‘current CPU
time minus 10 seconds’, and ends a certain number of minutes later
(depending on the size of the memory buffer defined by the user). When
data comes in, it is placed in this buffer according to its time stamp. If the
time stamp is outside of the buffer’s time span, then an error message is
given, and the data will NOT be processed by the network trigger (but it
will still be written to the disk ring-buffer). So if the CPU time is behind
real time, new data could be time stamped too early to fit in the buffer.
However, Seislog has added an extra 10 sec. of memory in start of buffer
to deal with this problem, and this explains why CPU time must be
accurate within 10 sec. If data comes later than real time (CPU time), then
the CPU time can have larger errors without an error occurring, but this
will effectively shorten the size of the memory ring buffer.
When the system starts up, and no external device has set the CPU time
for a while, it might start data collection with an error larger than 10 sec.
Then, when the first correct time stamped data arrives, this might create a
problem, because the time of the data is very different from the CPU time.
Any change of the CPU time after the system is started, will not change
the timespan of the network trigger’s memory buffer, and therefore the
network trigger might fail. If the CPU time makes a jump for any reason, a
restart of Seislog is generally needed to assure a proper operation of the
network trigger.
A general way to avoid problems if you have an external GPS, is to start
Seislog with GPS connected, wait for GPS synchronization, and then start
data collection. If you have a GPS-syncronized digitizer setting the CPU
time, a restart of the system might be needed after the GPS gets its initial
sync.
The system time should always be synchronized with some external clock.
33
It can be done in two ways:
CPU synchronized with external digitizer:
Normally, each physical device has independent accurate timing so the
data arrives time stamped a little delayed relative to real time. The CPU
time can then be synchronized with one of the external digitizer clocks
setting an appropriate delay. If it is possible to use the digitizer for time
synchronization of the CPU time, this facility is set when the digitizer is
configured. Some digitizers have an unpredictable and non-constant time
delay (like Nanometrics) and cannot be used. Only one digitizer can be
used for system timing.
CPU synchronized with external GPS:
If no external digitizer has accurate time, the CPU can be synchronized to
a GPS receiver connected to one of the serial lines (4800 or 9600 baud).
The accuracy of the synchronization is depending on the GPS device. The
GPS has its own set-up screen selected under the configure menu in the
main Seislog window. In principle, any GPS sending a standard $GPRMC
string can be used, but the system has only been tested with Garmin GPS.
The principle of setting the time is as follows:
1. The system receives the time string.
2. The GPS time is extracted from the string.
3. GPS time is corrected for the time delay caused by the transfer on the
serial port.
4. GPS time is corrected with the user specified time correction.
5. The system time is compared with the GPS time. Based on the
result, the system time is adjusted 10 ms one-way or the other.
Note: Only one device (external GPS or digitizer) can be set up to
synchronize CPU time. If an attempt is made to use 2 or more devices, an
error message is given. The CPU time will only be adjusted when GPS or
external device is synchronized.
Some GPS devices has a delay between the second-pulse, and the start of
the sending of the $GPRMC sentence. This delay may be of fixed or
variable length. The delay should be compensated for. To do this, the user
must enter a time correction value when configuring the external GPS.
This value should correspond to the GPS delay. If the delay has variable
length, then a mean value should be used. Figure 17 shows the GPS setup screen. If system time is not synchronized, a message appears on
bottom of the Seislog window.
34
Figure 17: Setting up a system GPS
Seislog supports the use of a PPS (Pulse Per Second) signal. This is an
electrical pulse that precisely marks the start of a new second. The pulse
can be connected to pin 10 (ACK) on an available LPT port, and will
generate an interrupt at the start of each second. The interrupt is picked
up by Seislog, and used to synchronize the PC clock with high precision.
The pulse must follow the electrical specifications as required by the TTL
specification. The interrupt will be triggered by the LOW-to-HIGH
transition of the pulse.
If running Windows NT/2000/XP, then the interrupt must be enabled
manually for the LPT port. A standard IRQ must be assigned to the port in
question, that is IRQ7 for LPT1, and IRQ5 for LPT2. Here is the procedure
for Windows XP:
Open the Control Panel. Then go to System|Hardware|Device Manager. A
list of hardware classes appears. Open the ‘Ports (Com & LPT)’ branch,
and double click on the LPT port in question. The properties window for
the port now appears. Press ‘Port Settings’ and then choose ‘Use any
interrupt assigned to the port’. The procedure should be similar on
Windows 2000.
The following table shows the expected synchronization precision, with or
35
without PPS, using different versions of Windows:
Without PPS
signal
Using PPS
signal
Windows 9x
GPS dependant
Typical: <500ms
Worst case: <70ms
Typical: <=50ms
Windows NT/2000/XP
GPS dependant
Typical: <500ms
Worst case: <20ms
Typical: <=9ms
When no PPS signal is used, the time is updated incrementally to avoid
wildly changing times. If correction to make is less than 50 ms, no
correction is made. If correction is between 0.01 and 0.45 s, a 10 ms
correction is made. If the correction is larger than 0.5 s, the time is set to
the GPS time.
Monitoring time synchronization:
For each channel, there is a flag (LED) in the Activity Monitor window (see
Figure 11) indicating whether a channel is synchronized or not. If a
channel is time stamped at the digitiser, and the GPS on the digitiser falls
out, this will be indicated by a red LED for the affected channels. If the
same digitiser is used to synchronize the system-time, a message will
appear at the bottom of the Seislog screen saying that the system-clock is
NOT synchronized.
If the data-blocks from the digitisers are not time stamped, then the time
will be taken from the system-clock. In this case it is important that the
clock is synchronized with a GPS. As a general rule, the current systemtime will be taken immediately after the whole block has been received
from the serial port. The saved time will then be corrected for the block’s
transfer time on the port and an additional fixed time (depending on the
device). This correction is hardwired. The corrected time will finally be
adjusted with the user-specified time correction (which normally should be
zero or small), and used for time-tagging the block. The user-specified
time correction can be entered in the device configuration setup window.
It is possible to operate Seislog without any accurate time reference at all.
However, all timing will then depend on the system clock, which might
drift anywhere from several seconds and up to a few minutes every day.
All channels time stamped by the CPU will show ‘not synchronized’ (red
Snc LED) if the system GPS falls out. If no synchronization of the systemtime is enabled, then a grey Snc LED in the Activity Monitor window will
indicate this.
SEISAD18 digitizer. If the digitiser is synchronized with a 1 Hz signal with
a PLL, Seislog will assume that each block of data starts on the second
and the times seen in the display will always be whole seconds. In this
36
case there is no need to synchronize Seislog with the parallel port.
10.0 Communication with Seislog
The Seislog machine is often connected to a network. Seislog data can be
copied with normal network protocols like ftp. On remote unattended
systems, there is several ways of interacting with Seislog:
Data download only.
Activate the Windows ftp server and copy the data. This requires a TCP/IP
connection. Here is the procedure for activating the FTP server on
Windows
XP
Professional:
Open
‘Control
Panel|Administrative
Tools|Internet Information Services’. Double click on <YOUR MACHINE>
(local computer). Open the ‘FTP sites’ folder. Right click on ‘Default FTP
site’ and choose ‘Properties’. The ‘Default FTP site Properties’ window
appears. Press the ‘Home Directory’ tab. In the ‘Local path’ edit box, type
in the path to the folder that keeps the data you want to download, for
example ‘C:\Seisan’. Make sure the ‘Write’ check box is NOT checked.
Press OK to close the window. Now you need to start the server. Right
click on ‘Default FTP site’ again and choose ‘Start’. If the ‘Start’ menu is
greyed out, then the service is already running, and you should ‘Restart’ it
to activate any changes in the configuration. Note that this document does
not deal with any security issues regarding the use FTP of the service.
Full control of Seislog.
If a TCP/IP connection is available, a remote control software can be used.
Seislog
has
been
tested
with
the
free
software
VNC
(http://www.uk.research.att.com/vnc/), which allows a user to access the
user-interface of a remote Seislog machine on a local Windows or Unix
system. For installation instructions, please refer to the VNC
documentation.
Partial control of Seislog.
A user can log into the Seislog machine with telnet, and use the simple
‘seisctl’ utility to control Seislog. This utility can check if Seislog is running,
start and stop the system, and close Seislog. Running ‘seisctl’ without any
options will print out the usage syntax. In order for a remote user to log
in, the telnet server must run on the Windows machine. Here is the
procedure for activating the telnet server on Windows XP Professional:
Open ‘Control Panel|Administrative Tools|Services’. In the list of services,
right-click on ‘Telnet’ and press ‘Start’. If the ‘Start’ menu is greyed out,
then the service is already running.
Note: On windows 2000 Professional systems, it may be necessary to
disable NTLM authentication for the telnet server in order to successfully
log in from Linux/Unix/Win9x machines.
37
Automatic download of data to a central computer.
Seislog is prepared for operation with the SEISNET central data collection
software (Ottemöller and Havskov, 1999). The SEISNET software
automatically logs in at regular intervals, and transfer triggered or/and
continues data to a central SEISAN database.
Settings for unattended operation of SEISLOG
It is easy to operate SEISLOG manually from the local keyboard. However,
in order to make it possible to log in remotely and have SEISLOG recover
from a power failure, there are a few things to set.
FTP
If installed, see manual. The FTP server might not be installed in which
case it must be installed from the Windows distribution CD. To install FTP
server open the Control Panel. Then open ‘Add/Remove Programs’ and
press ‘Add/Remove Windows Components’. From the list that appears,
select ‘Internet Information Services’, and then Press ‘Details’. A new list
appears. Mark the FTP service for installation.
Telnet
In Windows XP Professional, Telnet is started from ‘Control Panel |
Administrative tools | Services’. From the list of services, right-click the
Telnet service, and select ‘Properties’. Make sure ‘Startup type’ is set to
‘Automatic’. If the service is not running, press the ‘Start’ button to start
it. In Windows 2000, go to ‘Control Panel | Administrative tools | Telnet
Server Administration’. Use this program to start the service.
Note that the Telnet service as default requires that the client uses NTLM
authentication. Otherwise, login is denied. This means you can only log in
from Windows NT/2000/XP machines. If you need to log in from other
operating systems, then the Telnet service needs to be configured to allow
non-NTLM authentication. In Windows 2000, the NTLM requirement can be
changed using the same program that is used to start and stop the
service. From the main menu select ‘Display/change registry setting’, and
then choose ‘NTLM’. NTLM value should be set to 0 to disable NTLM
completely. In Windows XP, open a command window and enter the
command ‘tlntadmn config sec=-NTLM mode=stream’. After having
changed NTLM authentication one should restart the Telnet service if it is
already running. Note that disabling the NTLM authentication causes userid and password to be sent unencrypted over the network. This is a
security risk!
In the list of services (Control Panel | Administrative tools | Services),
make sure the startup type for both FTP and Telnet is set to ‘Automatic’.
38
Windows XP firewall
In order for Telnet and FTP to work, the firewall may need to be
configured, or turned off. This is done under ‘Control Panel | Network
Connections’. Right click your active LAN connection and choose
‘Properties’. Press the ‘Advanced’ tab.
Note: Only Windows 2000 and XP Professional have telnet and FTP server
included.
Configuring Windows 2000 or XP for Autologon.
Automatic login is needed in case of power failures. Setting it up requires
the Windows registry to be edited. This is a somewhat risky operation, so
please make sure this procedure is done correctly. To set up autologon, do
the following:
Log into the account that you wish to enable for automatic logon.
Run the Windows Registry Editor (Start | Run | regedit.exe).
Open the following subkey: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
NT\CurrentVersion\Winlogon
Create and/or edit the following string (REG_SZ) value names with the
appropriate values as described below.
DefaultUserName: account user name
DefaultPassword: account password
DefaultDomainName: account domain (Usually the computer name).
AutoAdminLogon: set this value to 1
If the string is not there, right click in window with strings, and a new one
comes up and can be edited.
Restart the system and verify that Windows logs in automatically. Note
that this procedure involves a security risk since the password for the
account can be found in clear text in the registry.
Automatic start of PC after a power failure.
A PC may, or may not, turn itself ON after a power failure. Most modern
PC’s have an option in the system’s BIOS that specify how the machine
should behave when the power returns after a power failure. The machine
must be configured to turn itself ON when the power is restored. The
procedure for doing this differs from machine to machine (some old
machines do not support this). Basically you have to enter the BIOS setup
program before it boots. This is done by pressing a button (usually the
DEL key or F2 key), right after power has been turned on. Inside the BIOS
program, look for a settings called something like ‘AC-Recovery’ or
‘Power-on after power-fail’. Set to ‘ON’ or ‘Former Status’. When the BIOS
have been changed, save the new settings and start the machine. Check
that the configuration works by pulling out the power cable (when
Windows is running). Wait 10 seconds, and then restore the power cable.
39
The machine should now turn on and start up again.
Disable automatic mouse detection.
If a digitizer is connected to a serial port (and sending data) when
Windows starts up, Windows might think it is a mouse and then claim the
serial port for the mouse. If this happens, Seislog will not be able to open
the serial port for the digitizer. The same can happen for the GPS as well.
This Windows behaviour can be disabled by changing the registry. The
details as given by Microsoft is listed in Appendix. In order to simplify this,
SEISLOG has included registry files that can change the registry. The file
names are:
‘NONACPI_HAL.reg’, for a non-ACPI HAL machine.
‘ACPI_HAL.reg’, for an ACPI HAL machine.
In order to find which HAL your machine uses, open ‘Control panel |
System | Hardware | Device Manager’. A list of installed hardware
components for the computer appears. Double click the ‘Computer’ icon. A
description of the computer appears, telling if this is an ACPI PC or not.
Then double click on corresponding reg file. This will set the registry so
that auto detection of devices on COM1 and COM2 are disabled. For other
com-ports, see Appendix.
In Program settings, tick off box with ‘Start system automatically when
program starts’. A shortcut to Seislog.exe must be created in the startup
folder.
NOTE: The Windows system must be set up to start without asking
for password in order for Seislog to start up automatically in case
of power failure.
11.0 What can go wrong
Timing problems
GPS clock on digitizer stops: This will be indicated in the Activity Monitor
window (see description of Activity Monitor window). If the external
digitizer is used to synchronize the CPU time, then the two clocks might
drift apart. If the difference becomes more than 10 seconds, the system
might stop triggering, however recording in the ring-buffers will continue
as long as data comes in. In order to get it going again with a defect GPS
on the digitizer, use the system-clock to time stamp the data from the
digitizer.
40
Digitizer stops or sends corrupted data
If a digitizer stop sending data to Seislog or sends corrupted data, the
logical channels connected to the digitizer will stop operating which will be
indicated in the Activity Monitor window. This does not affect the other
channels, however - the system might not trigger since fewer channels are
active. When the data comes back, the channels will automatically become
active again without any user interaction. The previous ring-buffer file will
close and a new will open so that the data in each ring buffer file remains
continuous. If a network trigger occurs at the time of no data or partly
available data from one channel, the available data will be used. Some
digitizers send a checksum. This is used by Seislog to detect corrupted
data.
Disk full
The system continues to write to the ring buffers, but no event files can be
created. An error message will be given in the log window, but the log-file
may not be written to since the disk is full.
Ring buffer files have shorter length in time than specified
The system has lost data and the ring-buffer file has been closed. The
next ring-buffer file is opened when the data stream is resumed.
System does not trigger
If the system does not trigger on single channels, the trigger ratio might
have been set too high, or triggering has not been enabled for this
channel.
If there are no network triggers, the first thing to check is if the system
time is similar to the time for each channel (within 10 seconds) and that
the difference at least is smaller than the array propagation window. If a
warning messages of type ‘Block with bad time stamping received…’
appear in the log, then it may help to increase the value named ‘Maximum
time to delay event declaration’ in the network trigger setup.
Power failure
If the system has been set up to automatically start at boot up, Seislog
will start again. Otherwise, the system must be manually restarted. All
ring buffer files will be properly closed and the system will start with new
ring buffer files in order for all ring buffer files to have continuous data.
The time gaps will be seen in the ring buffer file names.
41
Messages from Seislog
Seislog has many messages, most should be self explanatory. A few are
listed below.
Not receiving data: Data is no longer coming in within the timeout.
Receiving data: Data has started to come again (NOTE: A new ring buffer
file will be started).
Data lost: Indicate data has been lost.
Received bad block: A corrupted data block is received. The data in the
block will be replaced by the FDC level of the signal.
Cannot syncronize systemclock, clock already synchronized: Two devices
(GPS or digitizer) have been set up to syncronize CPU time, only one can
be used.
42
Acknowledgements
GeoSig has provided the GeoSig driverr.
Kinemetrics has provided a K2 for testing, and paid for the development of
the SFS-file driver.
KMS has paid for the development of the multi-trace real time plotting.
References
Havskov, J and L Ottemöller. SEISAN earthquake analysis software.
Seismological Research letters, 70, 532-534.
Ottemöller, L and J. Havskov, 1999. SEISNET: A general
purpose virtual
seismic network, Seismological Research Letters, 70, 522-528
Utheim, T and J. Havskov, 1999. The Seislog data acquisition system,
Version 8.0. manual and software, Institute of Solid Earth Physics,
University of Bergen, Norway
Utheim, T., J. Havskov and Y. Natvik, 2001. Seislog data acquisition
systems, Seismological Research Letters, 77-79.
43
Appendix
SFS-file format specification
The SFS filename must be as follows:
YYYYMMDDHHMMSS_<what_ever>.DAT
The string “<what_ever>” can be anything, but must not contain whitespace or any other characters not allowed in a filename.
The SFS-file consists of 2 parts, an ASCII header, and a part with binary
data:
ASCII header (a total size of 1060 bytes):
Column
1
3
4
8
9
16
17
21
23
25
27
29
31
32
35
36
37
38
Size
2
1
4
1
7
1
4
2
2
2
2
2
1
3
1
1
1
1023
Field
NumberOfChannels
SampleRate
SamplesPrChannel
Year
Month
Day
Hour
Minute
Second
Dot
Milliseconds
GPS-status
Reserved
Comments
Number of channels in SFS file
Space
Nominal sample-rate of data.
Space
Total number of samples pr. channel in file.
Space
Year (Time for start of data)
Month (Time for start of data)
Day (Time for start of data)
Hour (Time for start of data)
Minute (Time for start of data)
Second (Time for start of data)
Dot (Time for start of data)
Milliseconds (Time for start of data)
Space
O=No fix, 1=Fix OK
Space
Reserved, not used by Seislog.
Data part:
Samples are immediately following the header. Data is placed in the file as
shown below:
1 Second Ch. 1,
1 Second Ch. 1,
.
.
.
1 Second Ch. 1,
Last Second Ch.
1 Second Ch. 2, 1 Second Ch. 3, . . . . .,
1 Second Ch. 2, 1 Second Ch. 3, . . . . .,
1 Second Ch. N
1 Second Ch. N
1 Second Ch. 2, 1 Second Ch. 3, . . . . ., 1 Second Ch. N
1, Last Second Ch. 2, Last Second Ch. 3, . . . . ., Last Second Ch. N
Samples are 4-byte signed integers, Intel byte order.
44
Serial Device May Be Detected as a Serial Mouse in Windows 2000
Note: This also seems to work for Windows XP
http://support.microsoft.com/default.aspx?scid=kb;enus;283063
From:
The information in this article applies to:

Microsoft Windows 2000 Server SP1

Microsoft Windows 2000 Server SP2

Microsoft Windows 2000 Advanced Server SP1

Microsoft Windows 2000 Advanced Server SP2

Microsoft Windows 2000 Professional SP1

Microsoft Windows 2000 Professional SP2
This article was previously published under Q283063
IMPORTANT: This article contains information about modifying the registry. Before you modify
the registry, make sure to back it up and make sure that you understand how to restore the
registry if a problem occurs. For information about how to back up, restore, and edit the
registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 Description of the Microsoft Windows Registry
SYMPTOMS
When you are using a Windows 2000-based computer, a serial device may be detected as a
serial mouse.
CAUSE
This problem can occur because most of the devices that are detected as serial mice that are
some other type of device constantly send data to the serial port which causes the detection
code to incorrectly identify the device as a serial mouse.
RESOLUTION
To resolve this problem, obtain the latest service pack for Windows 2000 and then update the
registry as instructed below. For additional information about the latest service pack for Windows
2000, click the article number below to view the article in the Microsoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
The English-language version of this fix should have the following file attributes or later:
Date
Time
Version
Size
File name
-----------------------------------------------------1/17/2001 03:48p
5.0.2195.3156
13,936
Serenum.sys
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may
require you to reinstall your operating system. Microsoft cannot guarantee that you can solve
problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
After you apply the hotfix or the service pack, follow these steps:
1.
Start Registry Editor (Regedt32.exe). To do this, click Start, click Run, type
regedt32 in the Open box, and then press ENTER.
2.
For instructions on how to identify the Enumerator, DeviceID, and InstanceID for
your COM Port refer to the More Information section below:
45
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\Enumerator\DeviceID\InstanceID\Device
Parameters
Note that there is one InstanceID for each port.
3.
On the Edit menu, click Add Value, and then add the following registry value:
Value Name: SkipEnumerations
Data Type: REG_DWORD
Radix: Hexidecimal
Value: 0 through FFFFFFFE
Note that a value of zero (0) disables the feature and device detection can resume. Each
time that Plug and Play does an enumeration, it counts down one, and when it counts
down to zero, it re-enumerates the hardware and then starts counting down again from
the registry value. When you reboot the computer, Plug and Play starts the count again
at the value that you typed.
4.
Quit Registry Editor.
WORKAROUND
To work around this problem, allow the device to be detected incorrectly, use Device Manager to
disable the device that is not the port to which the device is attached, and then reboot your
computer. When you do this, the port works correctly and the incorrectly detected device is
disabled.
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the
beginning of this article. This problem was first corrected in Windows 2000 Service Pack 3. After
you install Windows 2000 Service Pack 3, you must edit the registry as described in the
"Resolution" section of this article.
Note that Microsoft Windows XP also includes the fixed Serenum.sys file; you must edit the
registry as described in the "Resolution" section for Windows XP also.
MORE INFORMATION
For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server,
click the article number below to view the article in the Microsoft Knowledge Base:
265173 The Datacenter Program and Windows 2000 Datacenter Server Product
For additional information about how to install multiple hotfixes with only one reboot, click the
article number below to view the article in the Microsoft Knowledge Base:
296861 Use QChain.exe to Install Multiple Hotfixes with One Reboot
Applications may fail to initialize the GPS device once the SkipEnumerations change has been
added to the registry even though the GPS is no longer being detected as a Serial mouse. This
can be related to Ghosted serial devices still loading. For additional information about how to
locate and uninstall Ghosted devices from mice and other pointing devices, click the article
number below to view the article in the Microsoft Knowledge Base:
241257 Device Manager Does Not Display Devices Not Currently Present
Motherboard based COM Ports
First, you need to determine which HAL is being used before you can make the registry change.
To determine which HAL is running on the system open Device Manager and expand Computer.
If the system has an ACPI HAL you can add the SkipEnumerations Reg_DWORD Value shown in
Step 3 above to the serial port of choice located under
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\Port#\Device Parameters
If the system has a Standard (Non-ACPI HAL) you can add the SkipEnumerations Reg_DWORD
Value shown in Step 3 above to the serial port of choice located under
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\*PNP0501\Port#\Device Parameters
46
NOTE: Port# = InstanceID
COM Ports on Serial Port Add-On Cards
Discovering the correct location in the registry for the port is more involved. Below is a method
that will help to you locate and identify each component.
1.
Open Device Manager and view the Com Port's Device Description, or "Friendly
Name".
2.
Locate the Setupapi.log in C:\Winnt and search the setupapi.log for the Device
Description, exactly as it appears in Device Manger, of the Device hanging off the Port in
question.
3.
Once the device is located in the setupapi.log slowly scroll down until you locate the
entry "Doing copy-only install of Enumerator\DeviceID\InstanceID." For Example: Doing
copy-only install of
MF\PCI#VEN_131F&DEV_2052&SUBSYS_2052131F&REV_00\3&1E67C166&0&50#CHIL
D0003
Enumerator = MF
DeviceID = PCI#VEN_131F&DEV_2052&SUBSYS_2052131F&REV_0
InstanceID = 3&1E67C166&0&50#CHILD0003
NOTE: The SkipEnumerations Reg_DWORD Value is to be added under the \Device
Parameter's Key for each particular InstanceID.
4.
Open regedt32.exe and expand
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum5. Expand the Enumerator,
locate and expand the DeviceID then expand the InstanceID below that. This is the
Device ID for the specific port of the Serial Card where the Value is to be added.
When you attach a device to a serial port on a computer that is running Windows 2000
and reboot the computer, the operating system enumerates devices and looks for new
or removed hardware when the computer starts. During this detection phase, the
computer detects the serial ports and tries to determine what type of device is attached.
Typically, the software detects a serial mouse as attached when it is some other type of
hardware device, such as a Global Positioning System (GPS) devise.
5.
Expand the Enumerator, locate and expand the DeviceID then expand the
InstanceID below that. This is the Device ID for the specific port of the Serial Card
where the Value is to be added.
For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the
same time, click the article number below to view the article in the Microsoft Knowledge Base:
249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes
47
Example of of how to configure and install Seislog in a seismic network
This is an example of how Seislog is set up for a remote automatic station
in Norwegian National Seismic Network (example TRO). The station is
used with SEISNET and is therefore configured so data can be downloaded
automatically. This also includes making automatic remote extracts of ring
buffer files for a given interval and therefore SEISAN must also be
configured. This setup has only been tested with Windows 2000 and XP. It
is assumed that the station is connected to Internet, either permanently,
or through a dial up ISDN line.
PC set up:
- Autostart of Seislog after power failure, Chapter 10
- Disable automatic mouse detection, Chapter 10
- Configure Telnet and FTP, setup so login is to root directly, allow
write to ftp when this is secure, Chapter 10
- Configure VNC server, set up so it restarts after booting, Chapter
10
- Turn off all automatic communication out of PC, principally the
automatic Windows update, this is to avoid unnecessary
communication cost for telephone connected systems. The
Windows automatic update can be turned off from Control Panel
under Automatic Update (W2000) or System/Automatic Update
(XP).
- Make password permanent. If failure to do so, the password
might change after some time and the system will not come up
again after power failure, this is done from Control Panel, User
Accounts (XP) or Users and Passwords
(2000)/Advanced/Advanced and then properties for particular
account.
- Put DOS window on desktop, make it start in directory
c:\seismo\wor (right click on symbol,
set under Properties)
Seislog:
-
-
Install SEISLOG under c:\seislog
Configure digitizer
Set up channel trigger: STA: 4 s, LTA: 200 s, Filter: 3-10 Hz,
Memory buffer: 20 minutes, Ratio: 3, Ring buffer: At least 2
monthsSet up network trigger: 2 triggers to declare event (3 component
station), Pre: 40 s, Post: 60 s, Trigger window 2 s (for a 3-
48
-
component station), time delay: 10 s, use all channels for
trigger, use all channels for recording.
Set flag to make S-files for ring buffers (in order to do extract),
under Program Setting, see Chapter 8.
Directory for waveform files in \seismo\wav
Directory for event S-files: \seismo\rea\TRO__
Use year-month structure for triggers (automatically append
SEISAN subdirectories)
Short network name TRO
Autostart of system
SEISAN
-
-
-
Install SEISAN under c:\seismo, NOTE: Seislog will automatically
create REA\TRO__ directory structure.
Set up defaults for path to programs (environment variable
PATH) and data base name TRO, environment variable
DEF_BASE. Set in environment (Control
panel/System/Advanced), see also SEISAN manual Chapter 3.
Configure SEISAN for ring buffer extract in SEISAN.DEF in
directory \seismo\DAT. For each channels that has a ring buffer
and from which extract is desired, add )or modify) parameter
CONT BASE, with value Ch001, Ch002 etc E.g. for a 6 channel
system, there will be 6 lines. See also SEISAN manual section
3.9.
Set extension name to TRO of extracted file in SEISAN.DEF
(variable MERGEWAVEFORM)
Tests before deployment
-
Seislog ok with digitizer
Login telnet
Login ftp
Login VNC
Transfer data
Timing
Digitizer
Trigger ok
Restart and all should work
Test power failure
49
Index
Accuracy, timing;36
Array propagation
window;22
Automatic backup;10
Automatic start;11
Autosig;23
Autostart, Seislog;39
Backup of ringbuffers;10
Change ring buffer;24
Channel code;18; 30
Channel, modify;17
Channels, logical;16
Channels, physical;16
Channels, remove;17
Check events;26
Color, monitor;25
Compression;10
Continuous data;29
Continuous data,
plotting;31
CPU synchronization;33
Data arriving late;24
Data base, S-files;10
Data download;37
data lost;42
Data, continuous;29
DC level;26
Delay event declaration;24
Detrigger;19
Digitizer setup;11
Digitizer, remove;24
Digitizer, synthetic;14
Digitizers supported;13
Disk ring buffer;16
DLL files;6
Download data;37
Event declaration, delay;24
Event, maximum
duration;22; 23
Events, check;26
File driver;15
Filter;18; 26
Format, digitizer;13
Format, SEISAN;16
Freezing LTA;19
FTP server;37; 38
FTP, install;38
GMT time;26
GPS;34
HKEY_LOCAL_MACHINE;7
Hyp;24
Late data;24
Logging;7; 26
Logical channels;16
Long term average;19
LTA and STA;26
Manual trigger;28
Maximum duration of
event;22; 23
Memory buffer;18
Message, Seislog;42
Modify channel;17
Monitor Seislog;25
Monitor signal;27
Monitor timing;36
Monitor timing error;25
Monitor, color;25
Mouse, probelm;40
MULPLT;30
Network name, set;11
Network trigger;26
Physical channels;16
Plot, real time;26
Plotting, continuous data;31
Post event memory;20
Post event time;23
PPP;35
Pre event time;22
Problem, digitizer;41
Problem, mouse;40
Problem, timing;40
Real time plot;26
Real time plot, scale;27
Rebuild ring buffer;17
Received bad block;42
Remove channels;17
Remove digitizer;24
Ring buffer file name;30
Ring buffer, change;24
Ring buffer, disk;16
50
Ring buffers;7; 9
Sample rate;14; 17
Sample size, 2 or 4 byte;20
Scaling real time plot;27
SEISAN;20; 24; 26; 30
SEISAN format;16
Seislog file stream;15
Seislog messages;42
Seislog, autostart;39
Seislog, monitor;25
Seislog, unattended
operation;38
Seislog.log;7
SEISNET and Seislog;38
Server, FTP;37
S-file;32
S-files;9
S-files, directory;10
SFS;15
Short term average;18
Station code;18; 30
Status, timing;30
Synchronize with GPS;34
Synchronize with PPS;35
System limitations;7
Telnet;37
Telnet, install;38
Time correction;14
Time, GMT;26
Timing;33
Timing accuracy;36
Timing erro, monitor;25
Timing status;30
Timing, monitor;36
Timing, problem;40
Trigger;18
Trigger manually;28
Trigger ratio;19
Trigger, network;20; 26
TvicHW32;4
Unattended operation;38
VNC;37
Waveform files, directory;10
Zlib;4
2