NMO and DMO stacks

The NMO and DMO stacks of the FIRE project are available as a set of SEG-Y files. The file sizes range from 45 MB (FIRE 2-3) to 655 MB (FIRE 4 & 4A). The number of CMPs vary from 1,537 to 22,699.

Typically, each stack represents a different subdivision of a line – FIRE 2-1 is separate from FIRE 2-2 and so on. The only exception is FIRE 4 & 4A. They form a continuous line but were surveyed in different directions, the former from south to north (Ranua to Sirkka) and the latter from north to south (Näätämö to Sirkka). In OpenFIRE, FIRE 4 and 4A  have been joined to avoid possible confusion.

These files are based on the original stacked data provided by Specgeofizika. All the brute stacks had a sample rate of 2 milliseconds (15,000 samples per trace). The subsequent processing steps took place at the Institute of Seismology, University of Helsinki.

  • The NMO stacks were balanced by dividing each trace by their rms value.
  • The DMO stacks were shortened to 16 seconds TWT, keeping the sample rate at 2 milliseconds (8,001 samples per trace). The traces were balanced by dividing each trace by their rms value.

The trace amplitudes of the brute stacks present typically the following behavior (see image): for the first 2–3 seconds TWT the mean trace amplitude grows from zero to a maximum due to the muting of surface waves. After this, the mean amplitudes decay until ~22 seconds TWT, and finally the trace amplitudes increase in the range 22–30 seconds TWT due to the AGC method used by Specgeofizika. There are also characteristic maxima centered around 6 and 15 seconds TWT.

This curious amplitude behaviour was eliminated in the final stacks. The objective was to mimic a monotonically decreasing amplitude all the way through the length of the trace.

The Seismic Un*x program supgc was first used to create a version of the stack where the amplitude decay was compensated entirely, resulting in a stack whose amplitude along trace averages to 1.0. After this, the decay was restored by performing an exponential fit to the original decay curve and scaling the compensated stack accordingly. The program used for this (su_balance_fire) is included in the OpenFIRE tools Github repository.

Fig. 1: (on the left) A typical amplitude decay curve of brute FIRE stacks.

Finnish Reflection Experiment is a 2-D crooked-line seismic survey covering around 2,100 km of survey lines. The recording geometry is split-spread (asymmetric at the end of lines) with 362 active channels separated by a nominal group interval of 50 meters. This results in a nominal fold of ~90 for the entire survey.

The CMP interval in the stacked data is 25 meters.

FIRE 1, 2 and 2A form a continuous line. The CMPs of FIRE 1 and FIRE 2 match as indicated in the table below.

CMP (line 1-3)

CMP (line 2-1)







The CMP 1381 in line 2A matches with the CMP 8655 in line 2-3.


  • There is a gap of 392 CMPs between lines 1-1 and 1-2 due to the crossing of Lake Rehja-Nuasjärvi near the city of Kajaani.
  • There is a gap of 166 CMPs between lines 2-1 and 2-2 due to the town of Orivesi.
  • There is a gap of 260 CMPs between lines 2-2 and 2-3 due to the city of Hämeenlinna.
  • There is a gap of 196 CMPs between lines 3-1 and 3-2 due to the city of Joensuu.


  • FIRE 3A crosses FIRE 1 near the CMP 12200 of line 3A and the CMP 16823 of line 1-3.
  • FIRE 3A departs from FIRE 3 near the CMP 1858 of line 3-1. There is a 300-meter gap between the two.
  • The CMP 9919 in FIRE 4 corresponds to the CMP 212 in FIRE 4B. This is also where the lines depart from one another.

The naming of files follows the general pattern


The 3200-byte textual header contains general information of the data and is organized as follows:

C1  FIRE Finnish Reflection Experiment 2001-2003                        * C2  Client : FIRE consortium: University of Helsinki, University of Oulu* C3                            and Geological Survey of Finland          * C4  Contractor: Spetsgeofyzika, Russia                                  * C5  LINE [NUMBER] [REGION] ; acquisition: [TIME INTERVAL]               * C6                                                                      * C7  UNMIGRATED [NMO/DMO] STACK                                          * C8                                                                      * C9  Band-pass filtering: 6, 12-80, 125 Hz + notch filter 50 Hz          * C10 Geometrical spreading correction: velocity-dependent sphdiv         * C11 Deconvolution: operator length 160 ms, white noise 0.1 per cent,    * C12                evaluation windows remain constant                   * C13 Whole-trace equalisation at the University of Helsinki.             * C14                                                                     * C15 CDP range: [RANGE]                                                  * C16 Number of samples: [NO OF SAMP]  Sampling interval: [INTERVAL]      * C17 Horizontal extent:  [KILOMETERS]                                    * C18   Vertical extent:  [SECONDS]                                       * C19                                                                     * C20 NOTE! There is a gap of 196 CDPs between FIRE 3-1 and 3-2 due to    * C21       the city of Joensuu.                                          * C22                                                                     * ... [OTHER MISCELLANEOUS NOTES, CUT TO SAVE SPACE]
C40 END TEXTUAL HEADER                              *                            

The 400-byte binary header has been set, at least for the following values:

  • bytes 5–8 (line number)
  • bytes 17–18 (sample interval in microseconds, typically 2000 us)
  • bytes 25–26 (data format, set to 1, ie. 4-byte IBM floats)
  • bytes 27–28 (fold, here 1 because stacked data)
  • bytes 29–30 (sorting code, set to 3, ie. single-fold continuous profiles)

In the trace headers, the following values should at least be set:

  • bytes 1–4 (trace sequence number within line)
  • bytes 5–8 (trace sequence number within the SEG-Y file)
  • bytes 21–24 (CMP number)
  • bytes 73–76 = 81–84 (CMP coordinates, northing)
  • bytes 77–80 = 85–88 (CMP coordinates, easting)
  • bytes 115–116 (number of samples, 15000 or 8001)
  • bytes 117–118 (sample interval in microseconds, typically 2000 us)

The trace sequence number within line (bytes 1–4) continues to increase across FIRE 1 and 2. Where the stacked sections overlap, the numbers are shared. Similarly has been done for lines 4 & 4B and 3-1 & 3-2.

The header variable at bytes 1–4 should be primarily used for cutting and joining lines. As an example, if the user wants to combine FIRE 4 & 4B into a single profile, they both should be split at trace sequence number 9912 (corresponding to CMP 9919 and 212, respectively).

The coordinate system of the data is the Finland Uniform Coordinate System (EPSG:2393). As a convention, the "X" (bytes 73–76 or 81–84) in trace headers is the northing and "Y" (bytes 77–80 or 85–88) is the easting.