Python adaptation of the Crust 1.0 model that also makes a kmz file to view the model with Google Earth.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Crust 1.0 and Google Earth

This project is a python adaptation of the Crust 1.0 model that also makes a kmz file to allow browsing the model and exploration of variations in crustal structure. Crust 1.0 is a one-degree model of the crust that includes (as needed) layers characterizing water or ice cover, sedimentary layering, upper, middle, and lower crust, and the uppermost mantle wave speed.

The Crust 1.0 model is a product of Gabi Laske, Zhitu Ma, Guy Masters (UCSD) and Michael Pasyanos(LLNL). More information about the model and the original FORTRAN routines can be found on the Crust 1.0 webpage.

Google Earth is a free, multi-platform, widely-used interactive GIS mapping tool. The file format, kml (keyhole markup language) is reasonably well documented a flexible enough to allow easy import of point, polygon, and raster data into the tool. Data for many earth-science analyses are readily available in KML format, including mnay resources from the USGS KML page, the KML Geology page, weather data from the National Weather Service, and [streamflow data](stream flow data kml). The popularity and ease of use of the Google Earth makes it ideal for educational applications because students are familiar with the tool or certainly familiar with the style of interaction needed to use the tool. It also provides quick access to the model for researchers that wish to quickly and visually locate crustal information.

Rather than encode the model with a visualization (such as Visual Crust), we constructed a file that loads simple interactive markers that when clicked, present a listing of the Crust 1.0 layered model for the one-degree cell centered on the marker. The listing can be easily copied into other quantitative tools or spreadsheets for more detailed analysis, or simply read. A sample model listing is shown below. The heading and layer labels are constructed to allow easy importing of the information into scientific analysis tools or spreadsheet tools like Excel. For example, they can be loaded into Mathematica using the ImportString command or pasted directly into Excel.

Type	Vp	Vs	rho	Thickness	Top
Upper_Seds.	2.5	1.07	2.11	0.5	0.51
Middle_Seds.	4.6	2.59	2.46	4.0	0.01
Lower_Seds.	5.0	2.88	2.54	1.5	-3.99
Upper_Crust	6.3	3.63	2.79	14.41	-5.49
Middle_Crust	6.6	3.8	2.86	12.68	-19.9
Lower_Crust	7.0	3.99	2.95	7.21	-32.58
Mantle	8.25	4.57	3.39	0.0	-39.79

In this repository there is a pythonic way to access the model as well as a tool to produce a KMZ file to allow exploration of the model through the intuitive interface of Google Earth. The final KMZ is also included so you don't have to use the Python scripts unless you want to modify anything or access it from your own program.

How do I use it?

If you just want to use the Google Earth file, simply download the repository by clicking the "Download Zip" button above. Unzip the file and find the KMZ file. Open it in Google Earth and explore by clicking on a red point. The pop-up box will show you the latitude and longitude of that point and the information for each layer of the model. Information includes the P-wave speed [km/s], S-wave speed [km/s], density [g/cc], layer thickness [km], and elevation of the top of the layer with respect to sea level [km]. If you're not familiar with the structure of the Earth, explore it with some activities (below) and read about the structure of the Earth. You can copy and paste information out of the pop-up box as plain-text. Try exploring the different types of crust (continental and oceanic), noting differences between them.

Where are things?

  • The final KMZ file for Google Earth is in the main directory.
  • Activities are listed below.
  • Images and other things used for the documentation are in docs.
  • The Python files and model data in all in model.


  • Transitional Crust - from Continent to Ocean: Look at the crustal structure along the continental margin of the coast of the United States east of Florida. Explore the crustal structure beneath regions of flooded continental material such as the Persian Gulf, southeast Asia, north of Russia near Novaya Zemlya. What differences can you find? How does the crust change from continental to oceanic crust?

  • Large Plateaus and Deep Valleys: Describe the crustal structure beneath the Tibetan Plateau. Then examine the crust beneath the Altiplano of Bolivia. Contrast that structure with that centered on Death Valley in the central Basin and Range, the Dead Sea Rift in the Middle East, and the Salton Trough of Southern California.

  • Mountain Ranges: Explore patterns in crustal thickness beneath active mountain regions such as the Himalayas, the Alps, the Zagros, the Tien Shan, and the Rocky Mountains.

  • Platforms and Shields: Compare the crustal structure beneath the shield regions of Canada and the sediment-covered regions of the northern Great Plains of the United States. Then compare the crust beneath the Arabian shield and platform across Saudi Arabia. What is the primary difference between the crust in these regions?

  • Rifts: Compare the crust beneath actively extending continental regions such as the western conterminous United States, the east African Rift, the Lake Baikal region. How does it compare to stable regions?


We always welcome new ideas and improvements. Feel free to fork the repository and make modifications, file issues, etc. You can always email the authors for more information. Improvements in rendering and development of curriculum with educators are potential areas for future development.



John Leeman :
Charles Ammon :