# Adding a passive margin with variable depth#

Although we have hinted towards it before, there is also an area feature called `continental plate`

. It works as you would expect based on what you have seen with the oceanic plate. Here we are going to use it to do something very cool in our model - specify a feature with variable depths for the whole feature and also layers within the given feature!

To showcase this, we will be adding a passive margin to our model at the overriding plate side of our model. To start out, we need to know that both the `min depth`

and `max depth`

accept two types of values: a number and an array of values at points.

Note

For an example of what this looks like in technical terms, see /features/items/oneOf/1/max depth.

The number input we have seen before and it sets the maximum depth of the feature to a single value. The value at points system works a bit differently and can be used to achieve the same result. To start, this is exactly what we are going to do for the `max depth`

of the continental feature.

The value at points system creates a list of points that includes all the initial edge points of an object and assigns a value to them. We then interpolate between close points to obtain the actual values at the remaining points according to the model type, e.g., linearly to the points set in `max depth`

below.

Below are two examples of how to first set the depth of two points to 200 km, and then an example of how to also set a third point to a value of 100 km.

```
1 "max depth":[[200e3, [[10e3,0],[20e3,10e3]]]],
2
3 "max depth":[[200e3, [[10e3,0],[20e3,10e3]]],[100e3,[[15e3,0]]]]
```

A common operation is to set all the corners to a single value, and then maybe overwrite individual corners. To make life easy, there is a quick way to (re)set the value at the corner points: just pass a value with no points. This is what is done in the code sample below at the emphasized lines. The first entry is a value without points. That means that all the corner points are set to that value.

Note

If you provide a point twice, explicitly, or implicitly through the use of the corner values shortcut (e.g. `[200]`

), the last defined value is used. This follows the painting analogy used before, where you overpaint older values.

```
16 {
17 "model":"continental plate", "name":"Passive margin", "max depth":[[200e3]],
18 "coordinates":[[-1000e3,0],[-1000e3,1000e3],[0,1000e3],[0,0]],
19 "temperature models":
20 [
21 {"model":"linear", "max depth":[[100e3],[200e3,[[-250e3,0],[-750e3,1000e3]]]]}
22 ],
23 "composition models":
24 [
25 {"model":"uniform", "compositions":[3],
26 "max depth":[[100e3],[200e3,[[-250e3,0],[-750e3,1000e3]]]]},
27 {"model":"uniform", "compositions":[1],
28 "min depth":[[100e3],[200e3,[[-250e3,0],[-750e3,1000e3]]]]}
29 ]
30 },
```

```
1{
2 "version":"1.1",
3 "coordinate system":{"model":"cartesian"},
4 "features":
5 [
6 {
7 "model":"oceanic plate", "name":"Overriding Plate", "max depth":100e3,
8 "coordinates":[[0,0],[0,1000e3],[1500e3,1000e3],[1600e3,350e3],[1500e3,0]],
9 "temperature models":
10 [
11 {"model":"half space model", "max depth":100e3, "spreading velocity":0.04,
12 "ridge coordinates":[[[400e3,-1],[-100e3,2000e3]]]}
13 ],
14 "composition models":[{"model":"uniform", "compositions":[0], "max depth":50e3}]
15 },
16 {
17 "model":"continental plate", "name":"Passive margin", "max depth":[[200e3]],
18 "coordinates":[[-1000e3,0],[-1000e3,1000e3],[0,1000e3],[0,0]],
19 "temperature models":
20 [
21 {"model":"linear", "max depth":[[100e3],[200e3,[[-250e3,0],[-750e3,1000e3]]]]}
22 ],
23 "composition models":
24 [
25 {"model":"uniform", "compositions":[3],
26 "max depth":[[100e3],[200e3,[[-250e3,0],[-750e3,1000e3]]]]},
27 {"model":"uniform", "compositions":[1],
28 "min depth":[[100e3],[200e3,[[-250e3,0],[-750e3,1000e3]]]]}
29 ]
30 },
31 {
32 "model":"oceanic plate", "name":"Subducting Oceanic plate", "max depth":100e3,
33 "coordinates":[[2000e3,0],[2000e3,1000e3],[1500e3,1000e3],[1600e3,350e3],[1500e3,0]],
34 "temperature models":[{"model":"linear", "max depth":100e3}],
35 "composition models":[{"model":"uniform", "compositions":[3], "max depth":50e3},
36 {"model":"uniform", "compositions":[1], "min depth":50e3}]
37 }
38 ]
39}
```