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 seismo@geo.uib.no 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: jens.havskov@geo.uib.no 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