Observation (OBS) Module: FFTools Plug-In
Description
The OBS module is used as an aid for setting up "Observation Points" in FEFLOW. It is particularly useful when the screened section of a monitoring well spans several layers of a FEFLOW model. OBS can also record simulated head and drawdown values at FEFLOW observation locations, but it cannot directly identify those observations by name because FEFLOW's library of IFM routines (version 7.1) does not include this functionality.
If logging of head and/or drawdown data is activated, the resulting "obs.log" file is useful when PEST is used to drive calibration of a FEFLOW model.
Observation Points can only be created in the FEFLOW interface, but the OBS module can be used to create a file that can be imported into the "Maps" panel of FEFLOW's interface, which is then used to create the desired Observation Points by right-clicking the imported map, selecting "Convert to" then "Observation Points". The OBS module requires the following user-supplied data:
- Monitor Well Name,
- X and Y location of the well (L),
- Ground surface or riser elevation (TOC) (L),
- Depth from TOC to the top of the screened (or open) interval (L),
- Depth from TOC to the bottom of the screened (or open) interval (L), and
- Value of a measured parameter, for example the typical water-level elevation in the well. The value has no effect on model results, it is merely a reference for the user's purposes. Only one value is currently supported; support for multiple values over time is planned.
For monitor wells that span multiple FEFLOW layers, OBS computes a "weight" for each slice intersected by a well's screen. For example, if a well is screened on two slices (two Observation Points in FEFLOW), and one slice represents 80% of the well screen, and the other slice represents 20% of the well screen, OBS will provide the weights for two Observation Points (0.8 and 0.2) as an additional field in the map file. When Observation Points are made from the map, the user has the choice of also assigning these numbers as weights. Simulation results, for example head, can then be used to compute an average simulated head from the Observation Points representing the monitor well.
If the user opts to have OBS record drawdown data in the "obs.log" file, drawdown at the end of a time step equals the initial head at the start of the simulation minus the head at the end of a time step (the first value of drawdown will always be zero).
Suggested FEFLOW Configuration
The OBS module has been tested on models with the following characteristics:
- FEFLOW versions 7.x
- Three-dimensional mesh using layered prismatic elements (prismatic elements having a triangular shape in horizontal cross section)
- All slices set to "fixed" in FEFLOW's "3D Layer Configuration..." editor
- FEFLOW Problem Class: Richard's equation for variably-saturated media
- State: Transient
Support for other types of models (quadrilateral elements, tetrahedral elements, etc.) may be added in future releases.
Setup
Setup of the OBS module is specified in the OBS tab (Figure 1) of the FFTools Plug-in edit window. In the upper section of the tab, the user imports a CSV file containing the necessary information for each monitor well. In the lower section, the user can select what head and/or drawdown data to write to the "obs.log" file. If either head or drawdown is to be logged, at the end of every time step a value for one or both will be saved for every defined observation point (the output will include all FEFLOW observation points regardless of creation method used).
- Figure 1: OBS Properties and Data Setup Tab.
Format of the Observation-Point Map Setup File
To create the necessary Map file, the user must create and import into OBS the following:
- Input L1 is a required "header" line that is not read into OBS. It is for the user's record keeping and any string of text can replace any of the field names listed:
NAME, X, Y, TOC_ELEV, TOS_DEPTH, BOS_DEPTH, VALUE
- Input L2, for each monitor well to be represented in FEFLOW with Observation Points:
NAME, X, Y, TOC_ELEV, TOS_DEPTH, BOS_DEPTH, VALUE
where:
NAME
is the name or identifier of the monitor well (spaces are allowed; commas are not allowed).X
is the X coordinate of the monitor well (L)Y
is the Y coordinate of the monitor well (L)TOC_ELEV
is the elevation of the top of the monitor well (L)TOS_DEPTH
is the depth to the top of the screened interval ("top of screen" or TOS) of the monitor well relative to its TOC (L)BOS_DEPTH
is the depth to the bottom of the screened interval ("bottom of screen" or BOS) of the monitor well relative to its TOC (L)VALUE
is the "observed" value. For example, a measured water level in the monitor well, or FEFLOW Time Series identifier for transient "observations"
Format of the Output "Obs.Log" File
For the initial simulation time and at the end of every time step, OBS will write data to the "obs.log" for every FEFLOW Observation Point (regardless of how a point is entered into the model). The data is written in CSV format:
- Output L1, header line listing generic names for every observation. "OBS" means simulated head and "DD" means calculated difference in head (as explained previously):
TIME,OBS1,DD1,OBS2,DD2,OBS3,DD3, ... , OBS(n-1),DD(n-1),OBS(n),DD(n)
- Output L2, at the initial time and at the end of every time step for each observation:
TIME,OBS1,DD1,OBS2,DD2,OBS3,DD3, ... , OBSn-1,DDn-1,OBSn,DDn
where:
n
is the total number FEFLOW Observation PointsTIME
is either the initial time or simulation time at the end of a time stepOBSi
is the simulated head at the ith Observation Point (i ranges from 1 to n)DDi
is the calculated head change relative to the initial head at the ith Observation Point (i ranges from 1 to n)
Example
Use of the OBS tool is provided in the Tailing Impoundment and Mine Pit example.