The Boundaries of the Ocean¶
Before dealing with the water itself, let’s first examine the space that the water lives in. This space is defined by the ocean bottom (the bathymetry) and the top (the free surface).
Spatial Coordinates¶
Longitude: \(\varphi\), Latitude: \(\lambda\)
Boundaries¶
Bottom: \(H = H(\varphi, \lambda)\), Surface: \(\eta = \eta(\varphi, \lambda, t)\)
The ocean has no side boundaries!
The vertical coordinate: z¶
\(z = 0\) at sea level
But what is sea level? Determined by the geoid: isosurfaces of gravitational + centrifugal potential.

The Geoid¶
Determined by distribution of mass within the Earth + planetary rotation rate
Always perpendicular to gravity vector
Varies on O(100 m) over Earth’s surface
The Free Surface¶
Deviates from the geoid due to ocean mean circulation, waves, etc
Varies on O(1 m)
Negligible contribution to overall ocean volume
The Bottom¶
To look at the bottom boundary of the ocean, we will load data from the NGDC ETOPO5 database from the IRI Data Library.
import xarray as xr
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams['figure.figsize'] = (12,5)
import hvplot.xarray
ds = xr.open_dataset('http://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NGDC/.ETOPO5/dods')
ds = ds.rename({'X': 'lon', 'Y': 'lat'})
ds['elev_ocean'] = ds.elev.where(ds.elev<0).load()
ds
<xarray.Dataset>
Dimensions: (lat: 2160, lon: 4320)
Coordinates:
* lat (lat) float32 90.0 89.92 89.83 89.75 ... -89.75 -89.83 -89.92
* lon (lon) float32 0.0 0.08333 0.1667 0.25 ... 359.8 359.8 359.9
Data variables:
elev (lat, lon) int16 -4290 -4290 -4290 -4290 ... 2774 2774 2774 2774
elev_ocean (lat, lon) float64 -4.29e+03 -4.29e+03 -4.29e+03 ... nan nan nan
Attributes:
description: ETOPO5 5x5 minute land surface elevations an...
dataset_documentation.html: http://iridl.ldeo.columbia.edu/SOURCES/.NOAA...
Conventions: IRIDL- lat: 2160
- lon: 4320
- lat(lat)float3290.0 89.92 89.83 ... -89.83 -89.92
- standard_name :
- latitude
- pointwidth :
- 0.08333333
- gridtype :
- 0
- units :
- degree_north
array([ 90. , 89.916664, 89.833336, ..., -89.75 , -89.83333 , -89.916664], dtype=float32) - lon(lon)float320.0 0.08333 0.1667 ... 359.8 359.9
- standard_name :
- longitude
- pointwidth :
- 0.08333333
- gridtype :
- 1
- units :
- degree_east
array([0.000000e+00, 8.333333e-02, 1.666667e-01, ..., 3.597500e+02, 3.598333e+02, 3.599167e+02], dtype=float32)
- elev(lat, lon)int16-4290 -4290 -4290 ... 2774 2774
- long_name :
- elevation/bathymetry
- units :
- m
- scale_min :
- -9964
- maxncolor :
- 253
- CS :
- -9964.0
- ncolor :
- 253
- CE :
- 7964.0
- scale_max :
- 7964
- colormap :
- 0 1973790 4026644 4026644 28 9125192 9125192 28 15736992 15 11829830 15 16711680 15 16760576 29 16776960 14 65280 3329434 2330219 9234160 3 65535 55295 755384 755384 4 9408444 9408444 3 6053069 6053069 4 1262987 1262987 3 2970272 8 17919 15 7504122 7504122 14 13353215 13353215 14 12903679 12903679 14 14480885 14480885 14 16777215 16777215 13 12632256
- colorscalename :
- topographycolorscale
array([[-4290, -4290, -4290, ..., -4290, -4290, -4290], [-4288, -4288, -4288, ..., -4288, -4288, -4288], [-4288, -4288, -4288, ..., -4287, -4287, -4287], ..., [ 2774, 2774, 2774, ..., 2774, 2774, 2774], [ 2774, 2774, 2774, ..., 2774, 2774, 2774], [ 2774, 2774, 2774, ..., 2774, 2774, 2774]], dtype=int16) - elev_ocean(lat, lon)float64-4.29e+03 -4.29e+03 ... nan nan
- long_name :
- elevation/bathymetry
- units :
- m
- scale_min :
- -9964
- maxncolor :
- 253
- CS :
- -9964.0
- ncolor :
- 253
- CE :
- 7964.0
- scale_max :
- 7964
- colormap :
- 0 1973790 4026644 4026644 28 9125192 9125192 28 15736992 15 11829830 15 16711680 15 16760576 29 16776960 14 65280 3329434 2330219 9234160 3 65535 55295 755384 755384 4 9408444 9408444 3 6053069 6053069 4 1262987 1262987 3 2970272 8 17919 15 7504122 7504122 14 13353215 13353215 14 12903679 12903679 14 14480885 14480885 14 16777215 16777215 13 12632256
- colorscalename :
- topographycolorscale
array([[-4290., -4290., -4290., ..., -4290., -4290., -4290.], [-4288., -4288., -4288., ..., -4288., -4288., -4288.], [-4288., -4288., -4288., ..., -4287., -4287., -4287.], ..., [ nan, nan, nan, ..., nan, nan, nan], [ nan, nan, nan, ..., nan, nan, nan], [ nan, nan, nan, ..., nan, nan, nan]])
- description :
- ETOPO5 5x5 minute land surface elevations and sea floor depths
- dataset_documentation.html :
- http://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NGDC/.ETOPO5/.dataset_documentation.html
- Conventions :
- IRIDL
ds.elev_ocean.hvplot('lon', 'lat', clim=(-8000, 0), rasterize=True, height=500, width=1000, cmap='ocean')