.. _basin_and_range: Basin and Range model ===================== In this tutorial, we explore advanced fault modelling by way of a basin and range model. In an extensional tectonic setting, a series of faults can create a pattern of repeating horsts (ridges) and grabens (valleys). In this example, we model a small number of faults forming a single graben and bounded by a regional listric fault. To achieve this we need to use :ref:`fault groups ` and :ref:`fault relations `. .. figure:: /images/faults/overview.png :align: center :width: 100% To access the data used in this tutorial, `download the "Basin_and_range_model.geoh5" here `_ Setup ----- First, we need to define the contact points for the pre-faulting geology. Here, we keep the model simple by picking the base of a thin overburden below an air boundary. GemPy interpolates faults in their own scalar field and applies a drift-function to offset geological units in groups affected by the fault(s). These facts have two consequences: - Faults must have at least one orientation to constrain their unique scalar field, or in the case of conformable faults, at least one orientation per fault *group*. - The contact points for the layers must already contain the offsets to describe the action of the faults. In our example, the overburden and air contacts have something like a staircase pattern to indicate the action of the normal faults forming the graben. .. figure:: /images/faults/layers.png :align: center :width: 100% *Contact points and orientations for the conformable overburden and air layers containing offsets for the normal faults making up the graben.* Next, we define the regional listric fault that underlies the model and bounds both the *synthetic* (similar dip to the listric fault) and *antithetic* (opposite dip) faults forming the graben. .. figure:: /images/faults/listric.png :align: center :width: 100% *Contact points and orientations for the regional listric fault.* Then we pick fault contact points and orientations that pass through the layer offsets. There is a single synthetic fault in the east. .. figure:: /images/faults/synthetic.png :align: center :width: 100% *Contact points and orientations for the synthetic fault.* and the two conformable antithetic faults in the west. .. figure:: /images/faults/antithetic.png :align: center :width: 100% *Contact points and orientations for the antithetic faults.* In order to model the faults correctly, we need to pay close attention to the age and grouping of the units and faults. The :ref:`table ` below summarizes the geological units, their relative ages, and the grouping needed to create our model. .. _basin_and_range_history_table: .. table:: Geological units organized by age and group. +-----------+------------+-------------+----------+ | Age | Group | Unit/Event | Relation | | Index | | | | +===========+============+=============+==========+ | 1 | F4 | f4 | fault | +-----------+------------+-------------+----------+ | 2 | F3 | f3 | fault | +-----------+------------+-------------+----------+ | 3 | F2F1 | f2 | fault | +-----------+------------+-------------+----------+ | 4 | F2F1 | f1 | fault | +-----------+------------+-------------+----------+ | 5 | Layers | air | erode | +-----------+------------+-------------+----------+ | 6 | Layers | overburden | erode | +-----------+------------+-------------+----------+ .. _fault_groups: Fault groups ............ Normally, faults belong to their own group since they are not generally conformable to other geological features. However, in some settings, such as the basin and range, faults can be conformable with one another. Just like layers, we model conformable faults by placing them in their own group. .. figure:: /images/faults/grouping.png :align: center :width: 100% *Observation points colored by groups. The two layers and the two antithetic faults are each placed in groups indicating that the units/faults are conformable.* .. _fault_relations: Fault relations ............... In order for the regional fault to bound the synthetic and antithetic faults forming the graben, we need to provide GemPy with fault relations data. We accomplish this in ANALYST by selecting our ``Structural group`` data and editing the ``Color table``. A new column can be added by clicking on the ``+`` button in the bottom right corner. .. figure:: /images/faults/add_data_map.png :align: center :width: 100% *Adding a column of fault relations data.* The fault relations are specified in GemPy as a matrix of ones and zeros. Each row and column represents a structural group. Rows and columns share the same order, and it is chronological. A one in row i and column j means that group i influences group j. GemPy (and nature) imposes a couple of rules on the binary choices: 1. Faults cannot influence themselves, 2. Faults cannot influence younger events. This means that the matrix for fault relations will always be *upper triangular*. Additionally, we implemented the fault relations on an *as needed* basis so that only deviations from the default behaviour (faults influence all younger non-fault groups) need to be encoded. So for our example, we add only two extra columns for groups ``F3`` and ``F2F1``, in which we add a one to the first ``F4`` row. This tells GemPy that fault ``F4`` influences (terminates) faults belonging to groups ``F3`` and ``F2F1``. .. figure:: /images/faults/data_maps.png :align: center :width: 60% *Structural group data to provide fault relations as needed.* Modelling the Basin and Range ----------------------------- The basin and range model is interpolated by filling out the UI with our observations. Importantly, we must pick the ``Faults`` boolean and ``Structural groups`` referenced data to dictate the chronology, faultiness, and fault relations of the groups/events to GemPy. Note that the fault relations data are not a direct input in the UI, but supplied through the ``Structural groups`` data. .. figure:: /images/faults/uijson.png :align: center :width: 60% *GemPy UI filled with contacts, orientations, groups and faults data.* The resulting model correctly offsets the overburden and basement along the provided faults. The antithetic faults are modelled conformably as indicated by our grouping. The supplied fault relations properly terminate the synthetic and antithetic faults at the basal listric fault. All of these details are seen in the :ref:`figure ` below. .. _result: .. figure:: /images/faults/result.png :align: center :width: 100% *Basin and range model with synthetic and antithetic faults bounded by a regional listric fault.*