-
Notifications
You must be signed in to change notification settings - Fork 68
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move forward modeling examples to own category (#72)
There will be many of these it might help to have them separated for emphasis. Simplify the tesseroid example to only compute g_r to reduce the run time of the example. Put on lower latitude to see the warping effect of curvature.
- Loading branch information
1 parent
8222ed7
commit 301ca90
Showing
3 changed files
with
45 additions
and
67 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Forward Modeling | ||
---------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
""" | ||
Tesseroid Forward Modelling | ||
=========================== | ||
Computing the gravitational fields generated by regional or global scale structures | ||
require to take into account the curvature of the Earth. One common approach is to use | ||
spherical prisms also known as tesseroids. We will compute the radial component of the | ||
gravitational acceleration generated by a single tesseroid on a computation grid through | ||
the :func:`harmonica.tesseroid_gravity` function. | ||
""" | ||
import harmonica as hm | ||
import verde as vd | ||
import matplotlib.pyplot as plt | ||
import cartopy.crs as ccrs | ||
|
||
|
||
# Get default ellipsoid (WGS84) to obtain the mean Earth radius | ||
ellipsoid = hm.get_ellipsoid() | ||
|
||
# Define tesseroid with top surface at the mean Earth radius, thickness of 10km | ||
# (bottom = top - thickness) and density of 2670kg/m^3 | ||
tesseroid = [-70, -50, -40, -20, ellipsoid.mean_radius - 10e3, ellipsoid.mean_radius] | ||
density = 2670 | ||
|
||
# Define computation points on a regular grid at 100km above the mean Earth radius | ||
coordinates = vd.grid_coordinates( | ||
region=[-80, -40, -50, -10], | ||
shape=(80, 80), | ||
extra_coords=100e3 + ellipsoid.mean_radius, | ||
) | ||
|
||
# Compute the radial component of the acceleration | ||
gravity = hm.tesseroid_gravity(coordinates, tesseroid, density, field="g_r") | ||
print(gravity) | ||
|
||
# Plot the gravitational field | ||
fig = plt.figure(figsize=(8, 9)) | ||
ax = plt.axes(projection=ccrs.Orthographic(central_longitude=-60)) | ||
img = ax.pcolormesh(*coordinates[:2], gravity, transform=ccrs.PlateCarree()) | ||
plt.colorbar(img, ax=ax, pad=0, aspect=50, orientation="horizontal", label="mGal") | ||
ax.coastlines() | ||
ax.set_title("Radial component of gravitational acceleration") | ||
plt.show() |
This file was deleted.
Oops, something went wrong.