Skip to content

Commit e523e94

Browse files
committed
Update observations documentation for seismic
1 parent 01eb067 commit e523e94

1 file changed

Lines changed: 82 additions & 0 deletions

File tree

docs/ert/reference/configuration/observations.rst

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ different classes of observations using the associated keywords:
4242
from a reservoir simulator RFT file. Examples are pressure and saturation
4343
values.
4444

45+
- :ref:`SEISMIC_OBSERVATION <seismic_observation>`: For loading spatially
46+
distributed observations along a horizon, typically 4D seismic
47+
attributes. Observations are loaded from a CSV or Parquet file with
48+
one row per measurement location.
49+
4550

4651
Please note that observations and datatypes are quite tightly linked together.
4752
Before reading this you should have a firm grasp of the dynamic data types
@@ -707,3 +712,80 @@ is ``summary``. Valid formats are:
707712
- date: '2015-03-15'
708713
value: 0.015
709714
error: 0.01
715+
716+
717+
.. _seismic_observation:
718+
719+
SEISMIC_OBSERVATION keyword
720+
---------------------------
721+
722+
The keyword ``SEISMIC_OBSERVATION`` is used to condition on spatially
723+
distributed observations along a horizon, such as 4D seismic attributes
724+
(amplitude, time-shift, impedance change, etc.). Each observation
725+
represents a single measurement at a specific horizontal location, and a
726+
single ``SEISMIC_OBSERVATION`` declaration typically defines many
727+
individual measurements loaded from an external file.
728+
729+
A minimal seismic observation is created as follows:
730+
731+
.. code-block:: none
732+
733+
SEISMIC_OBSERVATION OBS_MEAN_2025 {
734+
OBS_FILE = path/to/observations.csv;
735+
};
736+
737+
The name (``OBS_MEAN_2025`` above) is used as a label for the observation
738+
within ERT and must be unique. If the name is omitted, the stem of the
739+
observation file will be used.
740+
741+
Observations are read from either a CSV file or a Parquet file. The file
742+
type is determined from the file extension (``.csv`` or ``.parquet``).
743+
Parquet is the preferred format for seismic observations as it is a typed,
744+
compressed binary format that is significantly smaller and faster to load
745+
than CSV. The file must contain one row per observation with the following
746+
required columns:
747+
748+
- ``X_UTME``: Easting coordinate of the measurement location.
749+
- ``Y_UTMN``: Northing coordinate of the measurement location.
750+
- ``OBS``: The observed value at that location.
751+
- ``OBS_ERROR``: The observation error (absolute standard deviation).
752+
753+
.. note::
754+
The ``CSV`` key is a deprecated alias for ``OBS_FILE``.
755+
Existing configurations using ``CSV = path/to/observations.csv;`` will
756+
continue to work but emit a deprecation warning; new configurations should
757+
use ``OBS_FILE``. ``OBS_FILE`` and ``CSV`` cannot be combined in the same
758+
declaration.
759+
760+
An example of such a CSV could look like this:
761+
762+
.. code-block:: none
763+
764+
X_UTME,Y_UTMN,OBS,OBS_ERROR
765+
463401.665023891,6929758.90312445,0.008602961,0.005
766+
463312.374851203,6929712.58234601,-0.007062605,0.005
767+
463245.488743621,6929689.04095157,0.009096828,0.005
768+
463198.920134567,6929645.33178924,-0.007231411,0.005
769+
770+
All observation coordinates within a single ``SEISMIC_OBSERVATION``
771+
declaration must be at least 0.2 m apart. Overlapping or duplicate
772+
coordinates will cause ERT to raise a configuration error.
773+
774+
Limiting observations with a boundary polygon
775+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
776+
777+
An optional ``BOUNDARY`` file may be provided to restrict which
778+
observations are used during the update step. Observations located
779+
outside the polygon are deactivated. The boundary file must contain a
780+
closed polygon, given as ``X Y Z`` triplets, with the polygon terminated
781+
by a line containing ``999.0 999.0 999.0``:
782+
783+
.. code-block:: none
784+
785+
SEISMIC_OBSERVATION OBS_MIN_2025 {
786+
OBS_FILE = path/to/observations.csv;
787+
BOUNDARY = path/to/boundary.pol;
788+
};
789+
790+
The boundary file is resolved relative to the directory containing the
791+
observation configuration file, the same as ``OBS_FILE``.

0 commit comments

Comments
 (0)