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.
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 Stop on Disk Full is selected, then Scream! will stop recording data once it runs out of space in its directory. This way, the data recorded will have a known starting point.
If you select Ring Buffer, then Scream! will start deleting the oldest files in the data directory in order to make space for new data, so that you will always have access to the most recent recorded measurements. Scream! does not check whether it created the files itself. If you put your own files in Scream!'s data directory, then they are at risk of being deleted.
If Stream Buffer Only is selected, Scream! will delete any file which no longer appears in the stream buffer. This is useful if you are only recording to preserve data in the stream buffer through restarts of Scream!.
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).
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:
YYYY the year number (e.g. 2003),
M the month number (1 – 12),
D the day of the month (1 – 31),
H the hour (0 – 23),
N the minute (0 – 59),
S the second (0 – 59),
R or J the day number in its year (1 – 366),
X the date represented as an 8-digit hexadecimal number (this allows a complete date to fit in the DOS 8.3 format, for compatibility),
I the System ID,
T the Stream ID (e.g. MYDMZ2),
E the Serial Number of the digitizer, as given in the first 4 characters of the Stream ID (e.g. MYDM.) You can change this Serial Number when you reconfigure the digitizer, so it does not always correspond with the Güralp Systems assigned serial number.
C the component identifier (Z,N,E,M, etc.),
P the sample rate, in samples per second;
A the name of the stream, if you have set a mapping (see Section 4.4, page 49), otherwise the same as T.
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
record in GCF and perform conversions later using freely-available tools, or
record in one format and set up a Scream! server to relay real-time data to another Scream! on the same computer (see Chapter 5, page 52.)
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:
FTP or emailing files to remote data centres,
format conversion using a third party utility,
post-processing of file data headers to add site-specific information.
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.
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:
The instrument's serial number is used as the MiniSEED Station ID.
Streams with sample rates ≥ 80 samples/s use H as the band code (first character) in the Channel ID.
Streams with sample rates between 10 and 50 samples/s use B as the band code in the Channel ID.
Streams with sample rates between 2 and 8 samples/s use M as the band code in the Channel ID.
Streams with sample rates of 1 sample/s use L as the band code in the Channel ID.
All streams use H as the instrument code (second character) in the Channel ID.
Streams ending in Zn, Nn, and En use Z, N, and E respectively as the orientation code (third character) in the Channel ID.
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.
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.
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.
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.
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.
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.
To replay a stored GCF file or files:
Select File → Replay Files... from Scream!'s main menu and select the data you want to replay, or drag GCF files from a Windows Explorer window into Scream!'s main window.
You can also select directories and drag them into Scream!'s main window. Scream! will replay all the GCF files it finds in that directory.
Microsoft Windows will not let you select files from more than one window at the same time. However, you can use the Search tool to select files from more than one directory. Open a window on the topmost data directory and click Search, or press F3:
winxp-file-search
Fill in your search criteria (e.g. name contains gcf), and click Search.
winxp-file-search-results
You can now select these files and drag them all into Scream!.
The main window will change to include the file(s) you selected:
Main-window-replay
Select streams from the files in Scream's main window, and view them in a Waveview window.
The Replay Control window contains controls for moving through the files.
replay-window
To begin with, the replay is set to the beginning of all files, and the Pause button is active.
Use the Slower
replay-slower-icon and Faster
replay-faster-icon icons to set the speed at which you wish to replay the file(s). You cannot choose a negative speed.
Scream! will replay data into the stream buffer, which has a limited length. If your file is longer than the buffer, Scream! will eventually begin overwriting old data. To see this data, you will have to begin the replay again.
If your file is shorter than the memory buffer, you can safely choose the highest speed and play the entire file into memory.
You can read files into memory one at a time by selecting them in the drop-down box. If you select All files, the files are replayed together at the same rate.
When you are ready to play the file, unpause the replay by clicking on the Pause button
replay-pause-icon.
Alternatively, click the Block step button
replay-step-icon to replay the files one block at a time.
Open Waveview windows as required on the data streams. Waveview windows begin in continuous mode, starting at the last data “received” (i.e. played back). All the normal functions of Waveview windows are available to you (see Chapter 4, page 28.)
If you want to pause the Waveview window to examine or measure signals, it is recommended that you pause the replay beforehand, so that the data you are viewing stays in Scream!'s memory buffer. If you leave the replay running, the data you are viewing may be replaced with newer blocks.
When all files have finished playing back, the Replay Control window will disappear. You can continue to work with the data that remains in Scream!'s memory buffer.
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.
Choose File → Replay SCSI disk from Scream!'s main menu. If Scream! cannot detect any suitable interfaces, this option will be greyed out.
Scream! will now search for SAM or DFD disks, and search for data streams on each disk it finds. When it has finished, a Select streams for Replay window will open.
Select the stream or streams you wish to replay, and click OK.
The streams will appear in Scream!'s main window as a group, and the Replay Control window will open; you can now replay the files as above.
You can open more groups of streams by repeating steps 1 – 4 as desired.
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.
Scream! can also replay data directly from an attached SCSI tape, provided that
it detects a SCSI interface with at least one tape drive connected, and
a suitable ASPI driver layer has been installed.
If more than one tape drive is connected, Scream! will use the one with the lowest SCSI ID.
To record data, select File → SCSI Tape → Record Data. All data subsequently received by Scream! will be recorded onto the tape, regardless of where it comes from, or whether the Rec. option is set for the streams. Choose File → SCSI Tape → Record Data again to stop recording.
If the tape drive fails or goes offline for any reason, Scream! will begin buffering data internally, and will continue recording once the fault has been resolved.
To replay data, select File → SCSI Tape → Replay Data. This opens a Replay window for loading the data on the tape into Scream!. Data is loaded into Scream! one block at a time; Scream! then waits until a time determined by the Faster and Slower icons in the Replay window before loading the next block. Setting these icons to Max stops Scream! from waiting at all. If you are using a slow tape drive, Scream! may not need to wait, and so the faster replay speeds will be equivalent.
Do not attempt to replay data from the tape whilst you are recording to it.
To rewind the tape to the beginning, select File → SCSI Tape → Rewind. If you are recording data onto the tape, Scream! will resume recording as soon as the rewind operation finishes.
To eject the tape, select File → SCSI Tape → Eject, or press the Eject button on the tape device. If you are recording data onto the tape, Scream! will begin buffering data internally until the tape drive is ready to accept new data, and will automatically resume recording on the new tape. This feature allows you to “hot-swap” tapes directly, without losing any data.
If no compatible tape drives are detected, these menu options will be greyed out.
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:
if your acquisition equipment only has FTP access to the computer running Scream!, you can gather data into GCF files and transfer them every so often into the autoload directory, where Scream! will process them next time it is running; or
you could set up a separate script on your computer that periodically fetches GCF files from a Web server.
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.