Guralp Systems Limited

Previous Next

Introduction Installation and Configuration The main window Waveview windows Networking Supplementary windows Configuring digitizers Controlling digitizers Recording and playback Printing options  Logging and notification  Extending Scream! Keyboard shortcuts Inside Scream! Revision history

Recording and playback

Scream! allows you to record all incoming data and store it on the local hard disk. To do this, you should select the streams you want to record from Scream!'s main window, right-click, and choose Start recording from the pop-up menu. The streams will display Yes in the Rec. column to indicate that they are recording.

When Scream! starts recording, it starts at the earliest point in the current stream buffer, and immediately records all it can. For continuous streams, the recorder will soon catch up with the real-time data.

If there is a gap in a stream (e.g. because you are using adaptive mode: see Section 8.5, page 95), Scream! will pause recording that stream until the gap is filled. If the gap reaches the end of the stream buffer before data is transmitted to fill it, Scream! will give up and begin recording data from after the gap.

By default, recorded data is placed in a data directory within the Scream 4 installation, in GCF format. Scream! records files for each stream separately, which it puts in that stream's own directory. This directory may contain one or several GCF files.

Scream! has a number of options which allow you to change the way data is recorded and filed. From the main window, select Setup... from the File menu to open the Setup window. Click on the Recording tab.

Recording

Setup-recording

The upper part of this pane allows you to instruct Scream! to record various streams automatically. Scream! will start recording all relevant streams immediately, but will also remember the settings for the next time it is started up.

Auto Record—Enable for Data Streams : Check this box to make Scream! save all local data streams automatically.

Auto Record—Enable for Status Streams : Check this box to make Scream! save all local status streams automatically.

Auto-record uploaded streams : If you have selected Auto-upload on heartbeat, you can check this box to instruct Scream! to automatically record to the local hard disk any data that it receives. These are not normally counted with the streams above, since they may come from another Scream! which is already recording.

Auto-upload on heartbeat : If a digitizer has been configured to record data into its own Flash memory only (FILING mode), it transmits heartbeat status messages. With this box checked, Scream! will listen for heartbeat messages, and ask the digitizer to send filed data whenever it receives one.

Close Files after timeout : Normally, Scream! keeps GCF files open whilst it records them. This can be a problem in some situations, because no other program can access the file whilst it is open. To make Scream! close files, check this box, and enter a time (in seconds) in the field which appears. Scream! will close the file if it has not written anything to it for this number of seconds.

The lower section tells Scream! how to use its hard disk space:

If there is very little space on the disk, the PC's operating system can become slow or unstable. By default, Scream! will consider the disk “full” when only 50 Mb of space remains on it. You can change this amount by altering the value at bottom right (Leave x Mb free disk space).

Files

Another part of the Setup window allows you to alter the way Scream! files the data it receives. Click on the Files tab to open the following pane:

Setup%20files

The options you can change are:

Base Directory: This specifies the root directory in which data files will be saved. There are useful notes about the choice of directory in Section 2.3, page 11. Files for each stream are stored in sub-directories below this root. The sub-directory structure depends on the filename format.

Filename format: This allows you to describe how you want files to be named by entering a format specifier. The string you enter is used to construct the file names for all files. Among the specifiers you can use are:

The specifiers MM, DD, HH, NN, SS, RRR, JJJ, IIIIII, TTTTTT and EEEE are the same as their single-letter counterparts, but they are padded with zeros or underscores to a constant length. YY can also be used for a 2-digit abbreviation of the year (e.g. 03 for 2003), and MMM for a 3-letter month name (jan, feb, etc.)

Any other letters (including small letters) in the filename will be left as they are, so you can add constant descriptions or field separators as you wish. Owing to operating system limitations, you cannot use any of the punctuation marks * ? " : < > | in filenames. You can create directory structures by using the \ character.

For example:

T\YYYY_MM_DD;HHhNNmSSs will give filenames like dmz2\1997_10_05;07h35m20s.

You should always ensure that files are given unique names. Scream! writes each stream separately. If it finds that it cannot write to a file because it is already open for another stream, the write will fail and data will not be recorded.

Scream! can record data in many formats. Some file formats, such as gcf and MiniSEED, divide their internal data into blocks, each of which has a timestamp. Such formats can store streams which includes gaps. Most other formats are not block-structured and only have a single time-stamped header at the start of the file. If Scream! is saving data in a non-block-structured format and encounters a gap in the stream, it starts a new file. If the file-name configuration does not permit sufficient granularity, Scream! will silently over-write the previous file, resulting in loss of data. You should pay particular attention to the file-name settings when using these formats in order to avoid this scenario.

Data Format : Selects the format of the recorded data files. Options are GCF, SAC, MiniSEED, P-SEGy, PEPP, SUDs, GSE, UFF (ufa and ufb; see below), and CSS. A single Scream! can only record in one format at a time; if you need output in multiple formats, you can either

Byte Order : For SAC, SEG-y, UFB and CSS files, the byte order of the files can be specified. This can be used to match the byte order with the native order of the platform where you are going to perform analysis. GCF and MiniSEED are defined to be in “Motorola or SPARC” byte order. PEPP and SUDs data is defined to be in “Intel” byte order. Byte order is not applicable to the ASCII-like GSE or UFA formats.

Granularity : Allows you to decide how large files are allowed to become before a new one is started, for three different types of stream (high sample rates, low sample rates and status streams.) The distinction between high and low sample rates is set by the number in the Sample Rates >= box; the remaining boxes give the number of hours of data that Scream! should combine into a single file for each type of stream. In the example above, streams with a sample rate of 20 samples/sec or above will be recorded in files with up to 1 hour's data per file; lower-rate streams will be recorded in 4-hour files, whilst a new status file will be started every 12 hours. You will need to choose a Filename format (see above) which gives each file a unique name.

If you prefer to set a limit on a file's size, rather than its duration, choose Kilobytes from the drop-down menu (instead of Hours or Minutes) and set as appropriate.

Post-processor : This option allows you to specify a program which Scream! will run every time it closes a file. The name of the file is passed as a parameter. You can use this feature to interface to other analysis or archival systems, for example:

UFF file format

Universal File Format (UFF) is a commonly-used interchange format for seismic data.Two types of UFF format are supported: ASCII and binary, where the extension ".ufa" denotes the ASCII variant, and ".ufb" denotes the binary variant. The byte order used for the binary variant is specified in the Recording pane of the Setup window. ASCII does not have byte-ordering options. Details for the layout of the UFF format can be obtained from the University of Cincinnati at http://www.sdrl.uc.edu/uff2/uff2.html

You can instruct Scream! to record incoming data directly in UFF format. To do this, open the Files pane of the Setup window as above and select either UFF ASCII (.ufa) or UFF Binary (.ufb) in the Data format drop-down menu. However, UFF files tend to be large, and the format does not retain the full resolution of the data gathered by the sensor. It is recommended that you keep the initial recording in GCF format, and convert to UFF as required using the tools provided (see below).

Files in UFF format must represent a continuous period of time. If a discontinuity is detected in the incoming data stream, then the file which is currently recording will be closed, and a new file opened with a filename and time stamp matching the start of the new file. This operation will take place whatever options you have specified for Granularity, although the Granularity options will still work. For example, if you specify files lasting one hour, a new file will be opened on the hour, every hour, whether or not a discontinuity occurred during the previous hour (which will have caused a new file to be opened at that point).

Converting between UFF and other file formats

On occasion, you may need to convert files between the various data formats supported by Scream!. For example, you may want Scream! to record data in GCF format and convert it to UFF later, to ensure that you retain all the data received from the sensors. The most convenient way to convert a GCF file into UFF format is using the command-line tool gcf2asc, available from Güralp Systems' website at http://www.guralp.com/. Once the program is installed, you can convert files from a command window (click on Windows Start – Run... and type cmd<enter>). The command to issue is

gcf2asc your-gcf-file.gcf /uff

where your-gcf-file.gcf should be replaced with the correct filename.

To get help on using the gcf2asc command, type gcf2asc /?

By default, gcf2asc will create a file with the same name as the original, but with a .txt extension; you may want to rename the file produced to have a .uff or .ufa extension. Any time periods missing from the GCF file are represented by values of –2147483647 (the lowest possible negative number in the GCF format).

You should ensure that you have enough space to create a UFF file before running gcf2asc. ASCII files are typically around 10 times larger than the equivalent GCF file.

MiniSEED file format

Scream! supports recording in the IRIS MiniSEED format, using the same rules for file and directory names as for GCF files (see above), but using the extension .msd.

Data is stored in 4K blocks with Motorola byte order, using Steim-1 compression. If a discontinuity is detected in the incoming data stream, then the block which is currently being built is written to disk, and a new block is started with its timestamp in the header. Files continue to be created according to the options you have specified for Granularity.

The MiniSEED headers are formed to comply with the FSDN SEED naming conventions:

You can also define your own SEED names for streams in Scream's scream.ini file. To do this, add a line to the end of the file reading

[ExportInfo]

After this line, list channels you want to map, one per line, in the format

SYSTID-STREAM=sta:SSS chan:CCC net:NN loc:LL

or

SYSTID-SERN=sta:SSS net:NN loc:LL

or

SYSTID=net:NN loc:LL

where SYSTID is the System ID, STREAM is the Stream ID, SERN is the serial number, SSS is the desired station name, CCC the channel code, NN is the 2-character network code, and LL the location code.

If you use a SYSID-SERN line, Scream! will apply it to all streams from the digitizer with that serial number, filling in the channel code automatically.

If you use a SYSID line, Scream! will apply it to all streams from any digitizer with that System ID, filling in the channel code automatically and taking the Station Name from the digitizer's serial number.

If both instrument (SYSTID-SERN) and stream (SYSID-STREAM) lines are present, the stream lines will override the instrument lines. Likewise, a SYSTID-SERN line will override a line with just SYSID if both are present. This allows you to set default values for an instrument or network in a single section.

If you miss out a specification, Scream! will fill in the default value. The loc: specification is optional.

SAC file format

Scream! supports recording in the SAC format, using the same rules for file and directory names as for GCF files (see above), but using the extension .sac instead of .gcf.

Files in SAC format must represent a continuous period of time. If a discontinuity is detected in the incoming data stream, then the file which is currently recording will be closed, and a new file opened with a filename and time stamp matching the start of the new file. This operation will take place whatever options you have specified for Granularity, although the Granularity options will still work.

Before you start recording SAC files, you should ensure you have selected the correct byte order in the Recording tab of the Setup window.

By default, Scream! uses the SAC header field KSTNM to store the stream's System ID; the Stream ID is output in the KCMPNM header field.

You can set your own header fields by preparing an [ExportInfo] section in the scream.ini file. See the MiniSEED section, above, for more details. The specifications you can use are:

net: or KNETWK: Sets the KNETWK (network) header field.

sta: or KSTNM: Sets the KSTNM (station name) header field.

chan: or KCMPNM: Sets the KCMPNM (component name) header field.

type: or KINST: Sets the KINST (instrument) header field.

STLA: Sets the STLA (station latitude) header field.

STLO: Sets the STLO (station longitude) header field.

STEL: Sets the STEL (station elevation) header field.

CMPAZ : Sets the CMPAZ (component azimuth) header field.

CMPINC : Sets the CMPINC (component inclination) header field.

KUSER0 :, KUSER1 :, KUSER2 : Sets the appropriate user header field.

If you miss out a specification, Scream! will fill in the default value.

Status streams are recorded as plain text, as for GCF files.

SUDS file format

Scream! supports recording in the USGS SUDS 1.x format, using the same rules for file and directory names as for GCF files (see above), but using the extension .sud.

Files in SUDS format must represent a continuous period of time. If a discontinuity is detected in the incoming data stream, then the file which is currently recording will be closed, and a new file opened with a filename and time stamp matching the start of the new file. This operation will take place whatever options you have specified for Granularity, although the Granularity options will still work.

The files generated have STATIONCOMP and DESCRIPTRACE header structures, using the following fields:

sc_name.network and dt_name.network : The last 3 digits of the System ID.

sc_name.st_name and dt_name.st_name : The first 4 digits of the Stream ID.

sc_component : v for Zn streams; n for Nn streams; e for En streams; m for the Mux channels Mn.

GSE file format

Scream! supports recording in the GSE 2.0 format (cm6 subformat) using the same rules for file and directory names as for GCF files (see above), but using the extension .cm6.

Files in GSE format must represent a continuous period of time. If a discontinuity is detected in the incoming data stream, then the file which is currently recording will be closed, and a new file opened with a filename and time stamp matching the start of the new file. This operation will take place whatever options you have specified for Granularity, although the Granularity options will still work.

You can set your own header fields by preparing an [ExportInfo] section in the scream.ini file. See the MiniSEED section, page 103, for more details.

The specifications you can use are sta:, chan:, aux:, calib:, calper:, hang:, and vang:

Each specification sets the header field with the same name. If you miss out a specification, Scream! will fill in the default value.

CSS file format

Scream! supports recording in the CSS 3.0 flat file format, using the same rules for file and directory names as for GCF files (see above), but using the extension .w, together with a wfdisc table stored in the Base directory.

.w files in CSS format must represent a continuous period of time. If a discontinuity is detected in the incoming data stream, then the file which is currently recording will be closed, and a new file opened with a filename and time stamp matching the start of the new file. This operation will take place whatever options you have specified for Granularity, although the Granularity options will still work.

Samples are stored in the .w files as signed 32-bit integers (s4 or i4), using the Byte Order you have specified. Scream! updates the wfdisc table whenever data is added to a .w file.

You can set your own header fields by preparing an [ExportInfo] section in the scream.ini file. See the MiniSEED section, page 103, for more details.

The specifications you can use are sta:, chan:, wfid:, calib:, calper:, type:, segtype:, and commid:

Each specification sets the header field with the same name. If you miss out a specification, Scream! will fill in the default value.

SEG-y file format

Scream! supports recording in the PASSCAL modified SEG-y format, using the same rules for file and directory names as for GCF files (see above), but using the extension .sgy.

Files in SEG-y format must represent a continuous period of time. If a discontinuity is detected in the incoming data stream, then the file which is currently recording will be closed, and a new file opened with a filename and time stamp matching the start of the new file. This operation will take place whatever options you have specified for Granularity, although the Granularity options will still work.

Before you start recording SEG-y files, you should ensure you have selected the correct byte order in the Recording tab of the Setup window.

Scream! sets header fields in SEG-y files as follows:

CHANNEL_NAME : The last two characters in the Stream ID, e.g. Z2.

STATION_NAME : The first four characters in the Stream ID.

SENSOR_SERIAL : The System ID.

CHANNEL_NUMBER : 1 for Zn streams; 2 for Nn streams; 3 for En streams; 4 – 19 for the 16 Mux channels Mn.

Status streams are recorded as plain text, as for GCF files.

Playback

GCF files

To replay a stored GCF file or files:

SCSI hard disks

You can use Scream! to replay streams direct from Güralp Systems SAM disks. These are normally SCSI disks, but FireWire (e.g. for CMG-6TD disks) and USB are also supported. Up to 100 disks can be connected to the system at once, depending on your operating system and hardware. To read an SCSI disk directly, Scream! may need administrator (root) privileges.

To record data from the disk into your file system, right-click on the streams when they appear in the main window and select Start Recording, as for a real-time stream. Data will be recorded in the file format and using the filenames you specified in the Recording and Files tabs of the Setup window. For the highest replay rate, do not open Waveview windows on the streams as you replay them.

Alternatively, if you are using Linux, you can create a raw disk image with the command dd. For more information, see the Linux man page for dd.

Scream! can read raw disk images as if they were connected disks; to attach an image to a disk slot, run Scream! with the command line

scream /disknn=image.bin

where image.bin is the path of the image file, and nn is the slot number (between 0 and 99.) This command line option can be repeated as many times as necessary.

Once you have read off all the data on a disk, you can blank it by selecting File → Reset SCSI disk from the main menu. You can now remove the disk and re-use it in a SAM or 6TD unit. Scream! will not reset a DOS-formatted disk this way, in case it contains other files besides data. DOS disks can be reformatted by your operating system.

SCSI tapes

Scream! can also replay data directly from an attached SCSI tape, provided that

If more than one tape drive is connected, Scream! will use the one with the lowest SCSI ID.

If no compatible tape drives are detected, these menu options will be greyed out.

Automatic playback

If a directory called autoload is present in Scream!'s program directory, Scream! will automatically look in it for GCF data and play it into the stream buffer in real time, as if it came from a local serial port. The data appears under Autoload in the Files section of Scream!'s stream list.

This feature allows you to transfer real-time data to Scream! by merely placing files in the designated directory. For example:

Once a file has finished playing back, Scream! deletes it from the autoload directory. If you want to keep the data, you will have to re-record it from Scream! into a directory that you specify. If Scream! cannot delete it, it remembers the file so that it does not try and replay it again. However, if you exit Scream! and restart, Scream! will replay the file if it is still there.

Data from the autoload directory will not be transmitted over the network.

Previous Next

Introduction Installation and Configuration The main window Waveview windows Networking Supplementary windows Configuring digitizers Controlling digitizers Recording and playback Printing options  Logging and notification  Extending Scream! Keyboard shortcuts Inside Scream! Revision history