The techtonic stress field

The Earth

In [1]:
import IPython.display
IPython.display.Image('images/earth.png', embed=True, width=600)
Out[1]:

© National Geographic Image Source

In [2]:
IPython.display.Image(url="http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Earth-cutaway-schematic-english.svg/1280px-Earth-cutaway-schematic-english.svg.png", 
      embed=True, width=600)
Out[2]:

© USGS Image Source

Continental Drift

In [3]:
import requests
from PIL import Image
import io

url = 'http://pubs.usgs.gov/gip/dynamic/graphics/Fig2-5globes.gif'
response = requests.get(url)
#Load image from url
img = Image.open(io.BytesIO(response.content))
#Crop original image
width, height = img.size
cropped = img.crop((0, 0, int(width-310), int(height-560)))
#resize image while maintaining aspect ratio
basewidth = 400
wpercent = (basewidth/float(1.5*width))
hsize = int((float(height)*float(wpercent)))
resized = cropped.resize((basewidth,hsize), Image.ANTIALIAS)
resized.save('images/permian.png')
IPython.display.Image('images/permian.png', embed=True)
Out[3]:

© USGS Image Source

Permian -- 250 Million Years Ago

In [4]:
cropped = img.crop((310, 0, int(width), int(height-560)))
#resize image while maintaining aspect ratio
basewidth = 400
wpercent = (basewidth/float(1.5*width))
hsize = int((float(height)*float(wpercent)))
resized = cropped.resize((basewidth,hsize), Image.ANTIALIAS)
resized.save('images/triassic.png')
IPython.display.Image('images/triassic.png', embed=True)
Out[4]:

© USGS Image Source

Triassic -- 200 Million Years Ago

In [5]:
cropped = img.crop((0, 260, int(width-310), int(height-290)))
#resize image while maintaining aspect ratio
basewidth = 400
wpercent = (basewidth/float(1.5*width))
hsize = int((float(height)*float(wpercent)))
resized = cropped.resize((basewidth,hsize), Image.ANTIALIAS)
resized.save('images/jurassic.png')
IPython.display.Image('images/jurassic.png', embed=True)
Out[5]:

© USGS Image Source

Jurassic -- 145 Million Years Ago

In [6]:
cropped = img.crop((310, 260, int(width), int(height-290)))
#resize image while maintaining aspect ratio
basewidth = 400
wpercent = (basewidth/float(1.5*width))
hsize = int((float(height)*float(wpercent)))
resized = cropped.resize((basewidth,hsize), Image.ANTIALIAS)
resized.save('images/cretaceous.png')
IPython.display.Image('images/cretaceous.png', embed=True)
Out[6]:

© USGS Image Source

Cretaceous -- 65 Million Years Ago

In [7]:
cropped = img.crop((160, 530, int(width-150), int(height-20)))
#resize image while maintaining aspect ratio
basewidth = 400
wpercent = (basewidth/float(1.5*width))
hsize = int((float(height)*float(wpercent)))
resized = cropped.resize((basewidth,hsize), Image.ANTIALIAS)
resized.save('images/present.png')
IPython.display.Image('images/present.png', embed=True)
Out[7]:

© USGS Image Source

Present Day

Tectonic plates

In [8]:
url = 'http://pubs.usgs.gov/gip/dynamic/graphics/Fig1.jpg'
response = requests.get(url)
#Load image from url
img = Image.open(io.BytesIO(response.content))
#Crop original image
width, height = img.size
cropped = img.crop((50, 50, int(width-50), int(height-50)))
#resize image while maintaining aspect ratio
basewidth = 500
wpercent = (basewidth/float(width))
hsize = int((float(height)*float(wpercent)))
resized = cropped.resize((basewidth,hsize), Image.ANTIALIAS)
resized.save('images/plates.png')
IPython.display.Image('images/plates.png', embed=True)
Out[8]:

© USGS Image Source

Plate Boundaries

In [9]:
url = 'http://pubs.usgs.gov/gip/dynamic/graphics/Fig13.gif'
response = requests.get(url)
#Load image from url
img = Image.open(io.BytesIO(response.content))
img.save('images/plate_bound.png')
IPython.display.Image('images/plate_bound.png', embed=True)
Out[9]:

© USGS Image Source

Fault types

Normal fault

In [10]:
#url = 'http://geomaps.wr.usgs.gov/parks/deform/normfaultLABEL.gif'
#response = requests.get(url)
#Load image from url
#img = Image.open(io.BytesIO(response.content))
#img.save('images/normal_fault.png')
IPython.display.Image('images/normal_fault.png', embed=True, width=500)
Out[10]:

© USGS Image Source

Reverse fault

In [11]:
#url = 'http://geomaps.wr.usgs.gov/parks/deform/reversefaultLABEL.gif'
#response = requests.get(url)
#Load image from url
#img = Image.open(io.BytesIO(response.content))
#img.save('images/reverse_fault.png')
IPython.display.Image('images/reverse_fault.png', embed=True, width=500)
Out[11]:

© USGS Image Source

Strike-slip

In [12]:
#url = 'http://geomaps.wr.usgs.gov/parks/deform/strikeslip.gif'
#response = requests.get(url)
#Load image from url
#img = Image.open(io.BytesIO(response.content))
#img.save('images/strike-slip_fault.png')
IPython.display.Image('images/strike-slip_fault.png', embed=True, width=500)
Out[12]:

© USGS Image Source

Reality

  • Much more complicated!

Sources of techtonic stress

Plate driving stresses

  • Tectonic plates are pushed by compressional forces from mid-ocean ridges
  • Drag forces on the base of the plates
  • Frictional resistance to subduction

Topography and buoyancy forces

  • Density anomalies
  • Plate thinning
    • extension
  • Plate thickening
    • compression

Plate flexure

  • Sediment loading on a techtonic plate
  • Wavelength can be as long as 1000km