Wolfram Computation Meets Knowledge

Fire in the Hole! Exploring the Yellowstone Calderas with GeoGraphics and USGS Data

Fire in the Hole! Exploring the Yellowstone Calderas with GeoGraphics and USGS Data

Yellowstone National Park has long been known for its active geysers. These geysers are a surface indication of subterranean volcanic activity in the park. In fact, Yellowstone is actually the location of the Yellowstone Caldera, a supervolcano: a volcano with an exceptionally large magma reservoir. The park has had a history of many explosive eruptions over the last two million years or so.

I’ve found that the United States Geological Survey (USGS) maintains data on the various volcanic calderas and related features, which makes it perfect for computational exploration with the Wolfram Language. This data is in the form of SHP files and related data stored as a ZIP archive. Thanks to the detail of this available data, we can use the Wolfram Language and, in particular, GeoGraphics to get a better picture of what this data is telling us.

Generating a Relief Map

First, I want to examine the area of interest. The following code generates a relief map of the data within 50 miles of the center of the Yellowstone Caldera:

Engage with the code in this post by downloading the Wolfram Notebook
GeoGraphics
&#10005

GeoGraphics[GeoBackground -> "ReliefMap", ImageSize -> 600, 
 GeoCenter -> Entity["Volcano", "Yellowstone"], 
 GeoRange -> Quantity[50, "Miles"]]

Although there are some interesting features visible in the data, it’s not immediately clear where the volcanic calderas are, although some possible candidates are visible as flat areas among the surrounding mountainous terrain.

Mining for Details

In order to gain a better understanding of the region, let’s pull in some additional data from the USGS in the form of an SHP file and the corresponding support files stored in the ZIP archive. Ideally, we would be working with the data straight from the Wolfram Data Repository, which makes storing, importing and computing data easy. It may be some time before this data is submitted, due to the complexity of the SHP file format and sheer volume of metadata; so in the meantime, this is a good example of working with data “in the wild,” without the benefit of the standardization found in the Data Repository.

In order to use this data, we need to understand the datum used so it can be properly transformed for representation using GeoGraphics:

csi = Import
&#10005

csi = Import["https://www.wsgs.wyo.gov/gis-files/caldera.zip", 
  "CoordinateSystemInformation"]

Next, I extract the data and labels:

shpdata = Import
&#10005

shpdata = 
  Import["https://www.wsgs.wyo.gov/gis-files/caldera.zip", "Data"];

The data has various “properties” that can be extracted:

shpdata[[1, All, 1]]
&#10005

shpdata[[1, All, 1]]

For my purposes, I only need the "Geometry" and "LabeledData" properties:

labeleddata = "LabeledData" /. shpdata[[1]]
&#10005

labeleddata = "LabeledData" /. shpdata[[1]]

labels = "LTYPE" /. labeleddata;
&#10005

labels = "LTYPE" /. labeleddata;

lines = "Geometry" /. shpdata[[1]];
&#10005

lines = "Geometry" /. shpdata[[1]];

With the data extracted, it’s now in suitable shape to add to our map.

Making Mountains out of Data Points

Let’s see what the data can reveal to us. I can use the "CoordinateSystemInformation" we extracted to transform the data via GeoGridPosition:

convertedlines
&#10005

convertedlines = 
  lines /. Line[data_] :> 
    Line[GeoGridPosition[data, "UTMZone12", "NAD831986"]];

Now let’s give this some style! I choose some distinct colors to represent the various labels found in the data:

color
&#10005

color["Outer Ring Fault"] = White;
color["Inner Ring Fault"] = Red;
color["Resurgent Dome"] = Yellow;
color["Caldera Rim"] = Black;

Then I combine the colors and labels, and add a tooltip:

coloredtooltip
&#10005

coloredtooltip[line_, label_] := {color[label], Tooltip[line, label]}

For a sense of scale, I include the state outlines for Wyoming, Idaho and Montana, with the data drawn using colored lines:

GeoGraphics
&#10005

GeoGraphics[{EdgeForm[Black], GeoStyling[Opacity[.4]], Red, 
  Polygon[Entity[
    "AdministrativeDivision", {"Montana", "UnitedStates"}]], Purple, 
  Polygon[Entity[
    "AdministrativeDivision", {"Idaho", "UnitedStates"}]], Blue, 
  Polygon[Entity[
    "AdministrativeDivision", {"Wyoming", "UnitedStates"}]], 
  Thickness[.003], 
  coloredtooltip @@@ Transpose[{convertedlines, labels}]}, 
 GeoBackground -> "ReliefMap", ImageSize -> 600, 
 GeoCenter -> Entity["Volcano", "Yellowstone"]]

The extent of the Yellowstone calderas is quite impressive! Now that we have an idea of the larger scope, I want to try and get a bit more detail with a closer look at the area.

A useful surface marker we can use as a reference point is the location of Yellowstone Lake, which we’ll visually distinguish with a white rectangle:

yellowstonelake
&#10005

yellowstonelake = 
  Rectangle[GeoPosition[{Latitude[#[[1]]], Longitude[#[[2]]]}], 
     GeoPosition[{Latitude[#[[3]]], Longitude[#[[4]]]}]] &@
   Entity["Lake", "YellowstoneLake::5n289"][{"SouthernmostPoint", 
     "WesternmostPoint", "NorthernmostPoint", "EasternmostPoint"}];

Zooming in on Yellowstone with a radius of 50 miles will show more detail:

GeoGraphics
&#10005

GeoGraphics[{EdgeForm[Black], GeoStyling[Opacity[.4]], Red, 
  Polygon[Entity[
    "AdministrativeDivision", {"Montana", "UnitedStates"}]], Purple, 
  Polygon[Entity[
    "AdministrativeDivision", {"Idaho", "UnitedStates"}]], Blue, 
  Polygon[Entity[
    "AdministrativeDivision", {"Wyoming", 
     "UnitedStates"}]], {EdgeForm[], White, Opacity[.5], 
   yellowstonelake}, Thickness[.007], 
  coloredtooltip @@@ Transpose[{convertedlines, labels}]}, 
 GeoBackground -> "ReliefMap", ImageSize -> 600, 
 GeoCenter -> Entity["Volcano", "Yellowstone"], 
 GeoRange -> Quantity[50, "Miles"]]

The Feature Presentation

As a result of visually consolidating the available data and its properties, we can better understand the interactions and relationships between them. This map represents a flattened timescale of the Yellowstone calderas’ activity and their surrounding area, shaped over many millennia. We can see that some of the faults and rims of the various calderas correspond to visible surface features. A pair of resurgent domes (the yellow circular features) can be found within the data; these domes are areas where uplift occurred due to follow-up eruptions within older calderas. Through its visualization, the data reveals several calderas in the location of the largest—which we know by name as the Yellowstone Caldera.

Analyzing even this one dataset with the Wolfram Language allows us some perspective into geographical features that appear to be immutable from our point of view, yet are actually full of life and transformation. And fortunately for us, there’s a surfeit of data out there, just waiting to be given form—I look forward to seeing what you can create out of it!

Get full access to the latest Wolfram Language functionality with a Mathematica 12 or Wolfram|One trial.

Comments

Join the discussion

!Please enter your comment (at least 5 characters).

!Please enter your name.

!Please enter a valid email address.