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[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["https://www.wsgs.wyo.gov/gis-files/caldera.zip", "CoordinateSystemInformation"] |
Next, I extract the data and labels:
✕
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]] |
For my purposes, I only need the "Geometry" and "LabeledData" properties:
✕
labeleddata = "LabeledData" /. shpdata[[1]] |
✕
labels = "LTYPE" /. labeleddata; |
✕
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 = 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["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[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[{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 = 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[{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