# CRUST1.0 — global 1°×1° crustal velocity model (mirror)

A convenience mirror of the freely-distributed **CRUST1.0** global model of Earth's crust.

**Original source & citation** (please cite the authors):
> G. Laske, G. Masters, Z. Ma, M. Pasyanos — *Update on CRUST1.0, A 1-degree Global Model of Earth's Crust*, Geophysical Research Abstracts 15, Abstract EGU2013-2658 (2013).
> https://igppweb.ucsd.edu/~gabi/crust1.html

Freely distributed academic data (initial release 15 Jul 2013). All credit to the original authors; this is an unmodified mirror for convenience. See `CRUST1.0-readme.txt` for the authors' notes.

## Contents
`crust1.0.tar.gz` → `crust1.vp`, `crust1.vs`, `crust1.rho`, `crust1.bnds` — each **64800 lines (360 longitude × 180 latitude, 1° cells)** with **9 values** per cell, one per layer:
`1 water · 2 ice · 3 upper sediments · 4 middle sediments · 5 lower sediments · 6 upper crystalline crust · 7 middle crystalline crust · 8 lower crystalline crust · 9 mantle (below Moho)`.

Grid: rows 89.5°N → −89.5°S, columns −179.5° → 179.5° (cell centres). `crust1.bnds` holds each layer's TOP depth in km (negative = below sea level).

## Quick load (Python)
```python
import numpy as np
vp   = np.loadtxt("crust1.vp").reshape(180, 360, 9)   # P-wave velocity (km/s) per layer
bnds = np.loadtxt("crust1.bnds").reshape(180, 360, 9) # layer top depths (km)
# effective crustal Vp: thickness-weighted mean over solid layers 2..7
thick = np.clip(bnds[:, :, 2:8] - bnds[:, :, 3:9], 0, None)
vp_eff = (vp[:, :, 2:8] * thick).sum(2) / (thick.sum(2) + 1e-6)
```
