Crust 1.0 data#
Crust 1.0 is built on a regular grid — it is also wrapped in the litho1pt0
module
import litho1pt0 as litho
import numpy as np
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In[1], line 1
----> 1 import litho1pt0 as litho
2 import numpy as np
ModuleNotFoundError: No module named 'litho1pt0'
# The full descriptions of the numbers in the table
print (litho.c1_region_descriptor )
# The table of data
crust_type = litho._c1_crust_type_lat_lon
print ("Resolution: ", crust_type.shape)
print (crust_type)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[2], line 2
1 # The full descriptions of the numbers in the table
----> 2 print (litho.c1_region_descriptor )
4 # The table of data
5 crust_type = litho._c1_crust_type_lat_lon
NameError: name 'litho' is not defined
gridlonv, gridlatv = np.meshgrid(np.linspace(0,360,720), np.linspace(-90,90,360), sparse=False, indexing='xy')
crust_type_i = np.empty_like(gridlonv, dtype=int)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[3], line 1
----> 1 gridlonv, gridlatv = np.meshgrid(np.linspace(0,360,720), np.linspace(-90,90,360), sparse=False, indexing='xy')
3 crust_type_i = np.empty_like(gridlonv, dtype=int)
NameError: name 'np' is not defined
for i in range(0, gridlonv.shape[0]):
for j in range(0, gridlonv.shape[1]):
crust_type_i[i,j]= litho.crust_type_at(lon=gridlonv[i,j], lat=gridlatv[i,j])
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[4], line 1
----> 1 for i in range(0, gridlonv.shape[0]):
2 for j in range(0, gridlonv.shape[1]):
3 crust_type_i[i,j]= litho.crust_type_at(lon=gridlonv[i,j], lat=gridlatv[i,j])
NameError: name 'gridlonv' is not defined
import cartopy
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
import matplotlib.colors as colors
global_extent = [-180.0, 180.0, -89, 89]
projection1 = ccrs.Orthographic(central_longitude=140.0, central_latitude=0.0, globe=None)
projection2 = ccrs.Mollweide()
projection3 = ccrs.Robinson()
base_projection = ccrs.PlateCarree()
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In[5], line 1
----> 1 import cartopy
2 import cartopy.crs as ccrs
3 import matplotlib.pyplot as plt
ModuleNotFoundError: No module named 'cartopy'
!ls ../../Mapping/
ls: cannot access '../../Mapping/': No such file or directory
## Background image
import xarray
import h5netcdf
(left, bottom, right, top) = (-180, -90, 180, 90)
map_extent = ( left, right, bottom, top)
etopo_dataset = "http://thredds.socib.es/thredds/dodsC/ancillary_data/bathymetry/ETOPO1_Bed_g_gmt4.nc"
etopo_data = xarray.open_dataset(etopo_dataset, engine="netcdf4")
regional_data = etopo_data.sel(x=slice(left,right,30), y=slice(bottom, top,30))
lons = regional_data.coords.get('x')
lats = regional_data.coords.get('y')
vals = regional_data['z']
x,y = np.meshgrid(lons.data, lats.data)
globaletopo_img = vals.data
from matplotlib.colors import LightSource, Normalize
cmap=plt.cm.Greys
ls = LightSource(315, 45)
hillshade = ls.shade(globaletopo_img, cmap, vert_exag=0.0005)[1::,1::]
## Drop one point here because the data are 361 x 721 !!
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In[7], line 3
1 ## Background image
----> 3 import xarray
4 import h5netcdf
6 (left, bottom, right, top) = (-180, -90, 180, 90)
ModuleNotFoundError: No module named 'xarray'
%matplotlib inline
from matplotlib import colors
crust1pt0_clist = [
# Platforms
"#6666ff",
"#b3b3ff",
# Archean / Proterozoic
"#003366",
"#003366",
"#004d99",
"#0066cc",
"#0066cc",
"#0080ff",
"#4da6ff",
# Arcs
"#b30000",
"#e60000",
"#ff6666",
"#ff9999",
# Extended crust
"#00cc88",
"#00cc88",
# Orogens
"#ff751a",
"#ff6600",
"#ff8533",
"#b34700",
"#ff9933",
# Margin
"#e6e600", # <- C. Margin
"#6666ff",
# Rifted and Extended
"#66ff99", # 3 Rifted / extended
# Phanerozoic
"#009999",
"#00e6e6",
# Oceans and plateau
"#BBBBBB",
"#BBBBBB",
"#BBBBBB",
"#e6e600", # <-- Shelf
"#b3b300", # <-- C. Slope
# Other
"#BBBBBB",
"#BBBBBB",
"#cccca3", # <- oceanic plateau / continental
"#BBBBBB",
"#BBBBBB",
"#BBBBBB" # 6 other
]
# map the image with the colors
crust_color_image = np.empty((crust_type_i.shape+(3,)))
for i in range(0,crust_type_i.shape[0]):
for j in range (0,crust_type_i.shape[1]):
crust_color_image[i,j] = colors.hex2color(crust1pt0_clist[crust_type_i[i,j]])
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In[8], line 1
----> 1 get_ipython().run_line_magic('matplotlib', 'inline')
2 from matplotlib import colors
4 crust1pt0_clist = [
5 # Platforms
6 "#6666ff",
(...)
61 "#BBBBBB" # 6 other
62 ]
File ~/.local/lib/python3.12/site-packages/IPython/core/interactiveshell.py:2482, in InteractiveShell.run_line_magic(self, magic_name, line, _stack_depth)
2480 kwargs['local_ns'] = self.get_local_scope(stack_depth)
2481 with self.builtin_trap:
-> 2482 result = fn(*args, **kwargs)
2484 # The code below prevents the output from being displayed
2485 # when using magics with decorator @output_can_be_silenced
2486 # when the last Python token in the expression is a ';'.
2487 if getattr(fn, magic.MAGIC_OUTPUT_CAN_BE_SILENCED, False):
File ~/.local/lib/python3.12/site-packages/IPython/core/magics/pylab.py:103, in PylabMagics.matplotlib(self, line)
98 print(
99 "Available matplotlib backends: %s"
100 % _list_matplotlib_backends_and_gui_loops()
101 )
102 else:
--> 103 gui, backend = self.shell.enable_matplotlib(args.gui)
104 self._show_matplotlib_backend(args.gui, backend)
File ~/.local/lib/python3.12/site-packages/IPython/core/interactiveshell.py:3667, in InteractiveShell.enable_matplotlib(self, gui)
3664 import matplotlib_inline.backend_inline
3666 from IPython.core import pylabtools as pt
-> 3667 gui, backend = pt.find_gui_and_backend(gui, self.pylab_gui_select)
3669 if gui != None:
3670 # If we have our first gui selection, store it
3671 if self.pylab_gui_select is None:
File ~/.local/lib/python3.12/site-packages/IPython/core/pylabtools.py:338, in find_gui_and_backend(gui, gui_select)
321 def find_gui_and_backend(gui=None, gui_select=None):
322 """Given a gui string return the gui and mpl backend.
323
324 Parameters
(...)
335 'WXAgg','Qt4Agg','module://matplotlib_inline.backend_inline','agg').
336 """
--> 338 import matplotlib
340 if _matplotlib_manages_backends():
341 backend_registry = matplotlib.backends.registry.backend_registry
ModuleNotFoundError: No module named 'matplotlib'
# crust_color_image2 = np.flipud(crust_color_image)
crust_color_image = crust_color_image**0.333 * hillshade[:,:,0:3]
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[10], line 1
----> 1 crust_color_image = crust_color_image**0.333 * hillshade[:,:,0:3]
NameError: name 'crust_color_image' is not defined
fig = plt.figure(figsize=(24, 12), facecolor="none")
ax = plt.subplot(111, projection=ccrs.PlateCarree())
# colormap = plt.cm.get_cmap(Crust1pt0, 36)
ax.set_global()
ax.imshow(crust_color_image, origin='lower', transform=base_projection,
extent=global_extent, zorder=0)
#ax.add_feature(cartopy.feature.OCEAN, alpha=0.5, zorder=99, facecolor="#BBBBBB")
ax.coastlines(resolution="50m", zorder=100, linewidth=1.5)
# fig.savefig("Crust1.0-Regionalisation.png", dpi=300)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[11], line 1
----> 1 fig = plt.figure(figsize=(24, 12), facecolor="none")
2 ax = plt.subplot(111, projection=ccrs.PlateCarree())
4 # colormap = plt.cm.get_cmap(Crust1pt0, 36)
NameError: name 'plt' is not defined
for i, desc in enumerate(litho.c1_region_descriptor):
print ("\t {:2d}: {}".format(i,desc))
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[12], line 1
----> 1 for i, desc in enumerate(litho.c1_region_descriptor):
2 print ("\t {:2d}: {}".format(i,desc))
NameError: name 'litho' is not defined
fig = plt.figure(figsize=(24, 12), facecolor="none")
ax = plt.subplot(111, projection=ccrs.PlateCarree())
# colormap = plt.cm.get_cmap(Crust1pt0, 36)
ax.set_global()
# cmap = plt.get_cmap("Crust1pt0")
# ax.imshow(crust_color_image, origin='upper', transform=base_projection,
# extent=global_extent, zorder=0, interpolation="lanczos")
# Platforms, Archean, Proterozoic
ax.contourf(crust_type, origin='upper', levels=[0.0, 1.5, 4.5, 6.5, 8.5],
colors=[ "#FF4400", "#ff751a", "#9999FF", "#4da6ff"],
hatches=["/////", "", "", ""],
extent=global_extent, transform=base_projection)
# Phanerozoic
ax.contourf(crust_type, origin='upper', levels=[23.0, 24.9],
colors=[ "#BBBBBB"],
hatches=["....", "", "", ""],
extent=global_extent, transform=base_projection)
# Orogens
ax.contourf(crust_type, origin='upper', levels=[15.0,20.0],
colors=[ "#00cc88", ],
hatches=["\\"*5, "", "", ""],
extent=global_extent, transform=base_projection)
# Arcs
ax.contourf(crust_type, origin='upper', levels=[9.0,13.0],
colors=[ "#AAFF00", ],
hatches=["\\"*5, "", "", ""],
extent=global_extent, transform=base_projection)
#ax.add_feature(cartopy.feature.OCEAN, alpha=0.5, zorder=99, facecolor="#BBBBBB")
ax.coastlines(resolution="50m", zorder=100, linewidth=1.5)
# fig.savefig("Crust1.0-Regionalisation.png", dpi=300)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[13], line 1
----> 1 fig = plt.figure(figsize=(24, 12), facecolor="none")
2 ax = plt.subplot(111, projection=ccrs.PlateCarree())
4 # colormap = plt.cm.get_cmap(Crust1pt0, 36)
NameError: name 'plt' is not defined
Now a worked example: Craton Averaged Properties