Simple Subduction Model: 2D Chunk#

Contributed by Magali Billen

This tutorial will present how to set up a subduction model structure intended for use in a mantle convection model. The model will use a 2D slice in a spherical chunk geometry. The model will consist of 3 features:

  1. An oceanic plate defining the overriding plate structure

  2. An oceanic plate defining the sinking plate structure (along the model surface)

  3. A subducting plate defining the subducted portion of the sinking plate (the slab)

For each feature, we need to choose the geometry and we can define the temperature model and the composition model to delineate layers in the plates and slab.

For this example, the full model domain is a 90 degree profile in longitude and 1000 km deep. The limits of the domain are chosen as 45 and 135 degrees, centered at 90 degrees. These limits are chosen in combination with the limits of the cross section parameter in World Builder file (see below). In the grid file, we choose a chunk geometry: in 3D, the chunk is a 3D section of a spherical shell. In 2D, the chunk is a great circle slice through a section of a spherical shell. We also indicate that there will be 2 compositions in addition to the temperature.

The figure below shows how the longitude angle is measured in the 3D World Builder space.
the longitude parameter increases counter clockwise, from the y-axis. If viewed in Paraview, this is the orientation in which the output will appear, .

Orientation of longitude coordinate in 2D chunk slice and location of the grid data points.

Orientation of longitude coordinate in 2D chunk slice and location of the grid data points.#

To visualize the output, using Paraview (or similar), we use two grid files (gwb-grid): a low resolution version (for quick checking) and a high resolution version (for careful checking of the details). The only parameters to change are the number of grid points in each location:

# Simple slab in 2D chunk geometry
# Low resolution grid for quick testing
grid_type = chunk
dim = 2
compositions = 2 
# x: longitude, y: latitude, z: radius
x_min = 45
x_max = 135
y_min = 0
y_max = 0
z_min = 5.371e6
z_max = 6.371e6
# grid properties
n_cell_x = 300 
n_cell_z = 50
# Simple slab in 2D chunk geometry
# higher resolution grid to check slab temperature structure
grid_type = chunk
dim = 2
compositions = 2 
# x: longitude, y: latitude, z: radius
x_min = 45
x_max = 135
y_min = 0
y_max = 0
z_min = 5.371e6
z_max = 6.371e6
# grid properties
n_cell_x = 900 
n_cell_z = 100

These figures illustrate how the temperature structure may look wrong (discontinuous) if the mesh resolution is too low, but increasing the mesh resolution, it is clear that the temperature is smooth across a fine mesh.

../../../../_images/chunk_2d_low_res_temperature.png
../../../../_images/chunk_2d_high_res_temperature.png

Root model information#

In the root model section we need to indicate a spherical geometry (to agree with the spherical coordinate system of the chunk). We also set the parameter ‘depth method’ to “begin at end segment” (see this page) for more information The cross section parameter defines the start and end locations for the cross section at the surface of the model (z = 0). For this example, we choose to put the cross section at the equator (y/latitude = 0), and give the start and end points of the cross section in longitude as x = 0 and x = 180 degrees. As noted above, the start value of the cross section can shift where features appear within the grid.

 1{
 2  "version":"1.0",
 3  "coordinate system":{"model":"spherical", 
 4  "depth method":"begin at end segment", 
 5  "radius":6371000.0},
 6  "cross section":[[0,0],[180,0]],
 7  "surface temperature":273, "potential mantle temperature":1573,
 8  "thermal expansion coefficient":3.1e-5, 
 9  "specific heat":1000, "thermal diffusivity":1.0e-6,
10  "features":
11  [
 1{
 2  "version":"1.0",
 3  "coordinate system":{"model":"spherical", 
 4  "depth method":"begin at end segment", 
 5  "radius":6371000.0},
 6  "cross section":[[0,0],[180,0]],
 7  "surface temperature":273, "potential mantle temperature":1573,
 8  "thermal expansion coefficient":3.1e-5, 
 9  "specific heat":1000, "thermal diffusivity":1.0e-6,
10  "features":
11  [
12    {"model":"oceanic plate", "name":"Overriding", 
13      "min depth":0, "max depth":300e3,
14      "coordinates" :[[0,-5],[0,5],[90,5],[90,-5]],
15      "temperature models":[{"model":"half space model", 
16        "min depth":0,  "max depth":300e3, 
17        "top temperature":273, "bottom temperature":-1,
18        "spreading velocity":0.1,
19        "ridge coordinates":[[[0,-5],[0,5]]] 
20        }],
21      "composition models":[
22        {"model":"uniform", "compositions":[0], "min depth":0, "max depth":100e3}]
23    },
24    {"model":"oceanic plate", "name":"Subducting", 
25      "min depth":0, "max depth":300e3,
26      "coordinates" :[[90,-5],[90,5],[135,5],[135,-5]],
27      "temperature models":[ {"model":"half space model", 
28        "min depth":0,  "max depth":300e3, 
29        "top temperature":273, "bottom temperature":-1,
30        "spreading velocity":0.05,
31       "ridge coordinates":[[[135,-5],[135,5]]] 
32         }],
33      "composition models":[
34        {"model":"uniform", "compositions":[1], "min depth":0, "max depth":100e3}]
35    },
36    { "model":"subducting plate", "name":"Slab", 
37      "coordinates":[[90,-5],[90,5]], 
38      "dip point":[0,0], "max depth":1000e3,
39      "segments":[
40        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[0,30]},
41        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[30,50]},
42        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[50,50]},
43        {"length":300e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[50,10]},
44        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[10,10]},
45        {"length":300e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[10,150]},
46        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[150,150]},
47        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[150,90]},
48        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[90,90]}      
49      ],
50    "composition models":[
51      { "model":"uniform", "compositions":[1], "max distance slab top":100e3}],
52    "temperature models":[
53      { "model":"mass conserving", 
54        "reference model name": "half space model",
55        "density":3300, "thermal conductivity":3.3,"adiabatic heating":true,
56        "spreading velocity":0.05,
57        "subducting velocity":0.05,
58        "ridge coordinates":[[[135,-5],[135,5]]],
59        "coupling depth":80e3, 
60        "forearc cooling factor":10.0, 
61        "taper distance":150e3, 
62        "min distance slab top":-200e3, "max distance slab top":300e3}]
63     }      
64  ]
65}

The three images below show how changing only the starting value for the cross section shifts the position of the slab (no other values are changed; same grid file) Therefore, unless you have a specific reason, the cross section parameter should start at x = 0 (longitude). For the models with a shifted start location, the temperature for the region beyond the sinking plate is filled in with the background adiabatic temperature gradient.

../../../../_images/cross_section_0_180.png
../../../../_images/cross_section_10_180.png
../../../../_images/cross_section_30_180.png

The other physical parameters are defined as reference values, which will be used by the feature temperature models if the values are not entered separately.

Feature Geometry, Temperature and Composition#

For each feature, we define the extent of that feature, a compositional layer and the temperature structure. For the compositional layer, we use a thickness of 100 km as a marker of the outline of the plate, and not to indicate an actual compositional structure. We also use two different compositional values: 0 for the overriding plate and 1 for the sinking plate and subducting plate.

Oceanic Plates#

We will place the trench at the center of the profile at 90 degrees. Therefore,

  • Overriding plate extends from 90 to 135 degrees in longitude.

  • Sinking plate extends from 45 to 90 degrees in longitude.

In the z direction, the maximum depth of the plate is chosen to be deep enough to account for any changes in the plate temperature in depth. If too small a value is chosen, a sharp jump in temperature will be seen in the output, (see, for example, Simple Subduction 2D Cartesian).

For the temperature model we use the half space cooling model (appropriate for ages less than 80 my). The temperature of the oceanic plates is calculated from the plate age, which is based on the location of the ridge for that plate and the spreading velocity. For this model we place the ridge for the sinking plate at the edge of the box (x = 135 degrees). However, for the overriding plate, we place the location of the ridge outside the model domain area (x = 0 degrees): this shows how World Builder considers distance (i.e., distance to the ridge) on a full 3D sphere, even though we are only interested in the effect within the limits of the grid we define.

To specify that the half space cooling model should meet the background adiabatic temperature, we set bottom temperature to -1.

12    {"model":"oceanic plate", "name":"Overriding", 
13      "min depth":0, "max depth":300e3,
14      "coordinates" :[[0,-5],[0,5],[90,5],[90,-5]],
15      "temperature models":[{"model":"half space model", 
16        "min depth":0,  "max depth":300e3, 
17        "top temperature":273, "bottom temperature":-1,
18        "spreading velocity":0.1,
19        "ridge coordinates":[[[0,-5],[0,5]]] 
20        }],
21      "composition models":[
22        {"model":"uniform", "compositions":[0], "min depth":0, "max depth":100e3}]
23    },
24    {"model":"oceanic plate", "name":"Subducting", 
25      "min depth":0, "max depth":300e3,
26      "coordinates" :[[90,-5],[90,5],[135,5],[135,-5]],
27      "temperature models":[ {"model":"half space model", 
28        "min depth":0,  "max depth":300e3, 
29        "top temperature":273, "bottom temperature":-1,
30        "spreading velocity":0.05,
31       "ridge coordinates":[[[135,-5],[135,5]]] 
32         }],
33      "composition models":[
34        {"model":"uniform", "compositions":[1], "min depth":0, "max depth":100e3}]
35    },
 1{
 2  "version":"1.0",
 3  "coordinate system":{"model":"spherical", 
 4  "depth method":"begin at end segment", 
 5  "radius":6371000.0},
 6  "cross section":[[0,0],[180,0]],
 7  "surface temperature":273, "potential mantle temperature":1573,
 8  "thermal expansion coefficient":3.1e-5, 
 9  "specific heat":1000, "thermal diffusivity":1.0e-6,
10  "features":
11  [
12    {"model":"oceanic plate", "name":"Overriding", 
13      "min depth":0, "max depth":300e3,
14      "coordinates" :[[0,-5],[0,5],[90,5],[90,-5]],
15      "temperature models":[{"model":"half space model", 
16        "min depth":0,  "max depth":300e3, 
17        "top temperature":273, "bottom temperature":-1,
18        "spreading velocity":0.1,
19        "ridge coordinates":[[[0,-5],[0,5]]] 
20        }],
21      "composition models":[
22        {"model":"uniform", "compositions":[0], "min depth":0, "max depth":100e3}]
23    },
24    {"model":"oceanic plate", "name":"Subducting", 
25      "min depth":0, "max depth":300e3,
26      "coordinates" :[[90,-5],[90,5],[135,5],[135,-5]],
27      "temperature models":[ {"model":"half space model", 
28        "min depth":0,  "max depth":300e3, 
29        "top temperature":273, "bottom temperature":-1,
30        "spreading velocity":0.05,
31       "ridge coordinates":[[[135,-5],[135,5]]] 
32         }],
33      "composition models":[
34        {"model":"uniform", "compositions":[1], "min depth":0, "max depth":100e3}]
35    },
36    { "model":"subducting plate", "name":"Slab", 
37      "coordinates":[[90,-5],[90,5]], 
38      "dip point":[0,0], "max depth":1000e3,
39      "segments":[
40        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[0,30]},
41        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[30,50]},
42        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[50,50]},
43        {"length":300e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[50,10]},
44        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[10,10]},
45        {"length":300e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[10,150]},
46        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[150,150]},
47        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[150,90]},
48        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[90,90]}      
49      ],
50    "composition models":[
51      { "model":"uniform", "compositions":[1], "max distance slab top":100e3}],
52    "temperature models":[
53      { "model":"mass conserving", 
54        "reference model name": "half space model",
55        "density":3300, "thermal conductivity":3.3,"adiabatic heating":true,
56        "spreading velocity":0.05,
57        "subducting velocity":0.05,
58        "ridge coordinates":[[[135,-5],[135,5]]],
59        "coupling depth":80e3, 
60        "forearc cooling factor":10.0, 
61        "taper distance":150e3, 
62        "min distance slab top":-200e3, "max distance slab top":300e3}]
63     }      
64  ]
65}

Subducting Plate#

Here we first add the compositional layer to continue the layer from the sinking plate. For the slab, we choose segments of different lengths, some with constant dip angle and others with variable dip. We also illustrate that the slab geometry can be overturned by increasing the angle beyond 90 degree. We keep the thickness and top truncation values constant. These parameters are illustrated in Simple Subduction 2D Cartesian).

The last step is to define the temperature structure of the slab. For this we choose the temperature model mass conserving and the half space model option for reference model name. The temperature structure depends on the age of the plate at the trench and subducting plate velocity. The age of the plate at the trench is determined from the ridge coordinates, and subducting plate velocity. The slab continues to get older with depth based on the length along the slab surface and subducting plate velocity. For the mass conserving temperature model, heating up of the slab and cooling down of the surrounding mantle depends on age, subducting plate velocity and length of the slab.

In the temperature model mass conserving, the parameter min distance slab top has the same role as top truncation in defining how far above the slab layer information is calculated for the subducting plate feature. Similarly, in the temperature model mass conserving, the parameter max distance slab top has the same role as thickness in defining how far below the slab top information is calculated for the subducting plate feature.

36    { "model":"subducting plate", "name":"Slab", 
37      "coordinates":[[90,-5],[90,5]], 
38      "dip point":[0,0], "max depth":1000e3,
39      "segments":[
40        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[0,30]},
41        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[30,50]},
42        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[50,50]},
43        {"length":300e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[50,10]},
44        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[10,10]},
45        {"length":300e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[10,150]},
46        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[150,150]},
47        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[150,90]},
48        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[90,90]}      
49      ],
50    "composition models":[
51      { "model":"uniform", "compositions":[1], "max distance slab top":100e3}],
52    "temperature models":[
53      { "model":"mass conserving", 
54        "reference model name": "half space model",
55        "density":3300, "thermal conductivity":3.3,"adiabatic heating":true,
56        "spreading velocity":0.05,
57        "subducting velocity":0.05,
58        "ridge coordinates":[[[135,-5],[135,5]]],
59        "coupling depth":80e3, 
60        "forearc cooling factor":10.0, 
61        "taper distance":150e3, 
62        "min distance slab top":-200e3, "max distance slab top":300e3}]
 1{
 2  "version":"1.0",
 3  "coordinate system":{"model":"spherical", 
 4  "depth method":"begin at end segment", 
 5  "radius":6371000.0},
 6  "cross section":[[0,0],[180,0]],
 7  "surface temperature":273, "potential mantle temperature":1573,
 8  "thermal expansion coefficient":3.1e-5, 
 9  "specific heat":1000, "thermal diffusivity":1.0e-6,
10  "features":
11  [
12    {"model":"oceanic plate", "name":"Overriding", 
13      "min depth":0, "max depth":300e3,
14      "coordinates" :[[0,-5],[0,5],[90,5],[90,-5]],
15      "temperature models":[{"model":"half space model", 
16        "min depth":0,  "max depth":300e3, 
17        "top temperature":273, "bottom temperature":-1,
18        "spreading velocity":0.1,
19        "ridge coordinates":[[[0,-5],[0,5]]] 
20        }],
21      "composition models":[
22        {"model":"uniform", "compositions":[0], "min depth":0, "max depth":100e3}]
23    },
24    {"model":"oceanic plate", "name":"Subducting", 
25      "min depth":0, "max depth":300e3,
26      "coordinates" :[[90,-5],[90,5],[135,5],[135,-5]],
27      "temperature models":[ {"model":"half space model", 
28        "min depth":0,  "max depth":300e3, 
29        "top temperature":273, "bottom temperature":-1,
30        "spreading velocity":0.05,
31       "ridge coordinates":[[[135,-5],[135,5]]] 
32         }],
33      "composition models":[
34        {"model":"uniform", "compositions":[1], "min depth":0, "max depth":100e3}]
35    },
36    { "model":"subducting plate", "name":"Slab", 
37      "coordinates":[[90,-5],[90,5]], 
38      "dip point":[0,0], "max depth":1000e3,
39      "segments":[
40        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[0,30]},
41        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[30,50]},
42        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[50,50]},
43        {"length":300e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[50,10]},
44        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[10,10]},
45        {"length":300e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[10,150]},
46        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[150,150]},
47        {"length":200e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[150,90]},
48        {"length":100e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[90,90]}      
49      ],
50    "composition models":[
51      { "model":"uniform", "compositions":[1], "max distance slab top":100e3}],
52    "temperature models":[
53      { "model":"mass conserving", 
54        "reference model name": "half space model",
55        "density":3300, "thermal conductivity":3.3,"adiabatic heating":true,
56        "spreading velocity":0.05,
57        "subducting velocity":0.05,
58        "ridge coordinates":[[[135,-5],[135,5]]],
59        "coupling depth":80e3, 
60        "forearc cooling factor":10.0, 
61        "taper distance":150e3, 
62        "min distance slab top":-200e3, "max distance slab top":300e3}]
63     }      
64  ]
65}

Three other parameters control details of the temperature structure:

  • the rate of heating is different where the slab is in contact with the overriding plate versus when it is in direct contact with the mantle. This change is controlled by the coupling depth parameter.

  • the temperature of the forearc region depends on the duration of subduction and shielding of this region from the warmer mantle. The amount of additional cooling of the forearc is controlled by the forearc cooling factor. This is a unconstrained tuning parameter in this model. Typical values are in the range of 0-20.

  • the down-dip end of the slab needs to smoothly transition into the surrounding mantle. To achieve this, the taper distance indicates the distance at which to start linearly tapering the slab temperature into the background temperature.

Final model figures:

../../../../_images/chunk_2d_full_domain.png

Contours show outline of overriding plate composition (white) and sinking plate and slab (yellow)#

../../../../_images/chunk_2d_high_res_temperature_compositions.png

Contours show outline of overriding plate composition (white) and sinking plate and slab (yellow)#

../../../../_images/chunk_2d_high_res_ridge_corner.png

Corner of model domain showing the ridge temperature structure for the sinking plate.#

Experimenting with the Model#

Recommendations for things to experiment with (only vary one parameter at a time):

  • Try changing the shape of the slab, by adjusting the dips or lengths of the slab.

  • Try change the location of one of the ridges.