10.1 Satellite Oceanography
Satellites revolutionized oceanography by providing synoptic, global, repeated measurements of the ocean surface. Radar altimeters measure sea surface height with centimeter accuracy, scatterometers map ocean winds, radiometers retrieve sea surface temperature and salinity, and ocean color sensors estimate chlorophyll-a concentration—all essential for understanding ocean dynamics, climate, and marine ecosystems.
Satellite Altimetry
A radar altimeter on the satellite transmits microwave pulses and measures the round-trip travel time to the sea surface. The sea surface height (SSH) is derived by subtracting the measured range $R$ from the precisely determined satellite orbit altitude $h$:
$$\text{SSH} = h_{\text{orbit}} - R - \Delta R_{\text{iono}} - \Delta R_{\text{tropo}}^{\text{wet}} - \Delta R_{\text{tropo}}^{\text{dry}} - \Delta R_{\text{tide}} - \Delta R_{\text{IB}}$$
Geophysical corrections must be applied to achieve cm-level accuracy
Ionospheric Correction
Free electrons in the ionosphere delay the radar signal. Corrected using dual-frequency altimeters: $\Delta R_{\text{iono}} \propto f^{-2}$. Typically 0–30 cm.
Tropospheric Corrections
Dry troposphere (~2.3 m, modeled from surface pressure). Wet troposphere (0–40 cm, measured by onboard microwave radiometer). Both slow the radar pulse.
The dynamic topography (deviation from the geoid) drives geostrophic currents. On a rotating Earth, the geostrophic balance relates SSH gradients to surface velocity:
$$u_g = -\frac{g}{f}\frac{\partial \eta}{\partial y}, \quad v_g = \frac{g}{f}\frac{\partial \eta}{\partial x}$$
$\eta$ = SSH anomaly, $f = 2\Omega\sin\phi$ = Coriolis parameter,$g$ = gravity
Scatterometry & Sea Surface Temperature
Ocean Wind Vectors
Scatterometers (QuikSCAT, ASCAT, ScatSat) measure radar backscatter from capillary waves, which are related to surface wind speed and direction. The normalized radar cross section$\sigma_0$ follows a geophysical model function:
$\sigma_0 = f(U_{10}, \chi, \theta)$ where $\chi$ = relative wind direction
SST Retrieval
Infrared radiometers (MODIS, VIIRS) measure thermal emission at 3.7–12 μm with ~0.3°C accuracy but are blocked by clouds. Microwave radiometers (AMSR-E/2) penetrate clouds but at coarser resolution (~25 km).
Planck function: $B(\lambda, T) = \frac{2hc^2}{\lambda^5} \frac{1}{e^{hc/(\lambda k_B T)} - 1}$
Ocean Color Remote Sensing
Ocean color sensors (SeaWiFS, MODIS, OLCI) measure the spectral reflectance of sunlight leaving the ocean surface. After atmospheric correction (removing ~90% of the signal from Rayleigh scattering and aerosols), the remote-sensing reflectance $R_{rs}(\lambda)$is related to chlorophyll-a concentration through band-ratio algorithms:
$$\log_{10}[\text{Chl-}a] = a_0 + \sum_{i=1}^{4} a_i \left(\log_{10}\frac{R_{rs}(\lambda_{\text{blue}})}{R_{rs}(\lambda_{\text{green}})}\right)^i$$
OC4 algorithm: fourth-order polynomial using blue/green band ratio
SAR (Synthetic Aperture Radar)
All-weather imaging: wave spectra, internal waves, oil spills, sea ice extent, and ship detection. Sentinel-1 provides routine global coverage.
Gravity Missions (GRACE/GRACE-FO)
Measure ocean mass changes from ice melt and water redistribution. Combined with altimetry: separate steric from mass sea level rise.
Atmospheric correction is the largest source of uncertainty in ocean color retrieval. The total radiance measured at the satellite $L_t$ includes atmospheric path radiance$L_a$, surface-reflected sunlight $L_r$, and the desired water-leaving radiance $L_w$:
$$L_t = L_a + t_d L_r + t_d t_u L_w$$
$t_d, t_u$ = downward/upward atmospheric transmittance; $L_a$ accounts for ~90% of $L_t$ over the ocean
Key Satellite Missions
TOPEX/Poseidon → Jason → Sentinel-6
Reference altimetry mission (1992–present). 10-day repeat orbit. Sea level climate data record. ~3.6 mm/yr rise.
SWOT (2022)
Wide-swath interferometric altimetry. Resolves submesoscale features (<15 km). Revolutionary for coastal and estuarine studies.
Aquarius / SMOS / SMAP
L-band microwave radiometers for sea surface salinity. First global SSS maps. Sensitivity ~0.2 PSU.
PACE (2024)
Hyperspectral ocean color. Phytoplankton community composition. Aerosol-cloud-ocean interactions.
Microwave Salinity & Multi-Sensor Synergy
Sea surface salinity (SSS) is retrieved from L-band (~1.4 GHz) microwave radiometry. The brightness temperature $T_B$ at this frequency is sensitive to the dielectric constant of seawater, which depends on salinity:
$$T_B = e(\theta, S, T_s, f) \cdot T_s, \quad e = 1 - |R(\epsilon)|^2$$
$e$ = emissivity, $R$ = Fresnel reflectivity,$\epsilon(S, T_s, f)$ = complex dielectric constant of seawater
Combining multiple satellite sensors (altimetry + SST + ocean color + salinity + gravity) provides a holistic view of ocean dynamics. Data fusion techniques and ocean state estimation systems (e.g., ECCO, GLORYS) integrate these diverse observations with numerical models through 4D-Var data assimilation.
±0.2 PSU
SSS accuracy (Aquarius, SMOS, SMAP)
~40–100 km
Spatial resolution of SSS retrievals
Weekly
Global SSS map update frequency
Derivation: Remote Sensing Reflectance
Step 1: Top-of-Atmosphere Radiance Budget
The total radiance measured by a satellite sensor at wavelength $\lambda$ is the sum of atmospheric path radiance, surface-reflected radiance, and water-leaving radiance, each modified by atmospheric transmittance:
$$L_t(\lambda) = L_{\text{path}}(\lambda) + t_d(\lambda)\,L_r(\lambda) + t_d(\lambda)\,t_u(\lambda)\,L_w(\lambda)$$
Step 2: Isolate Water-Leaving Radiance
Atmospheric correction removes $L_{\text{path}}$ (Rayleigh scattering + aerosols) and $L_r$ (sun and sky glint). The water-leaving radiance is:
$$L_w(\lambda) = \frac{L_t(\lambda) - L_{\text{path}}(\lambda) - t_d(\lambda)\,L_r(\lambda)}{t_d(\lambda)\,t_u(\lambda)}$$
Step 3: Normalize to Remote Sensing Reflectance
Divide the water-leaving radiance by the downwelling irradiance $E_d(\lambda)$ just above the surface to obtain the dimensionless remote sensing reflectance:
$$R_{rs}(\lambda) = \frac{L_w(\lambda)}{E_d(\lambda)} \quad [\text{sr}^{-1}]$$
Step 4: Relate $R_{rs}$ to Inherent Optical Properties
The remote sensing reflectance is related to the ratio of backscattering $b_b$ to absorption $a$ coefficients through the Gordon approximation:
$$R_{rs}(\lambda) \approx \frac{f}{Q} \cdot \frac{b_b(\lambda)}{a(\lambda) + b_b(\lambda)}$$
where $f/Q \approx 0.09$ sr$^{-1}$ depends on the underwater light field geometry.
Step 5: Band-Ratio Chlorophyll Algorithm
Chlorophyll-a absorbs strongly in the blue (443 nm) and weakly in the green (555 nm). The OC4 algorithm exploits this spectral contrast:
$$\log_{10}[\text{Chl-}a] = a_0 + \sum_{i=1}^{4} a_i \left(\log_{10}\frac{R_{rs}(\lambda_{\text{blue}})}{R_{rs}(\lambda_{\text{green}})}\right)^i$$
The maximum band ratio (MBR) approach selects the largest of $R_{rs}(443)/R_{rs}(555)$, $R_{rs}(490)/R_{rs}(555)$, or $R_{rs}(510)/R_{rs}(555)$ to extend the dynamic range.
Derivation: Altimetric Sea Surface Height
Step 1: Radar Range Measurement
The altimeter transmits a short radar pulse (Ku-band, ~13.6 GHz) and records the two-way travel time $\Delta t$. The measured range is:
$$R_{\text{meas}} = \frac{c \cdot \Delta t}{2}$$
where $c \approx 3 \times 10^8$ m/s is the speed of light in vacuum.
Step 2: Ionospheric Path Delay Correction
Free electrons in the ionosphere slow the radar signal. The range error depends on the total electron content (TEC) and varies as $f^{-2}$. Using dual-frequency measurements at $f_1$ (Ku) and $f_2$ (C-band):
$$\Delta R_{\text{iono}} = \frac{f_2^2}{f_1^2 - f_2^2}(R_1 - R_2) = \frac{40.3 \cdot \text{TEC}}{f^2}$$
Step 3: Tropospheric Corrections
The dry troposphere delay is modeled from surface atmospheric pressure $P_s$ using the hydrostatic approximation:
$$\Delta R_{\text{dry}} = -\frac{0.2277 \, P_s}{1 - 0.00266 \cos 2\phi - 0.00028 \, h_s} \quad (\text{cm})$$
The wet troposphere delay (0–40 cm) is measured by the onboard microwave radiometer from brightness temperatures at 18, 21, and 37 GHz.
Step 4: Sea State Bias (Electromagnetic Bias)
Wave troughs reflect radar more effectively than crests, biasing the measured range toward the troughs. The sea state bias is empirically modeled as a fraction of significant wave height:
$$\Delta R_{\text{SSB}} \approx -(0.02\text{--}0.05) \cdot H_s$$
Step 5: Corrected SSH and Dynamic Topography
The fully corrected sea surface height is the orbit altitude minus the corrected range:
$$\text{SSH} = h_{\text{orbit}} - R_{\text{meas}} - \Delta R_{\text{iono}} - \Delta R_{\text{dry}} - \Delta R_{\text{wet}} - \Delta R_{\text{SSB}} - \Delta R_{\text{tide}} - \Delta R_{\text{IB}}$$
Step 6: Geostrophic Currents from SSH Gradients
The absolute dynamic topography (ADT) is $\eta = \text{SSH} - N$, where $N$ is the geoid. The geostrophic balance on a rotating Earth gives surface velocities:
$$u_g = -\frac{g}{f}\frac{\partial \eta}{\partial y}, \quad v_g = \frac{g}{f}\frac{\partial \eta}{\partial x}, \quad f = 2\Omega\sin\phi$$
A 10-cm SSH gradient over 100 km at 35$^\circ$N yields $v_g \approx (9.81 \times 0.1)/(8.4 \times 10^{-5} \times 10^5) \approx 0.12$ m/s.
Derivation: SST Retrieval from Brightness Temperature
Step 1: Planck's Radiation Law
The spectral radiance emitted by a blackbody at temperature $T$ is given by the Planck function:
$$B(\lambda, T) = \frac{2hc^2}{\lambda^5} \cdot \frac{1}{e^{hc/(\lambda k_B T)} - 1}$$
where $h = 6.626 \times 10^{-34}$ J s is Planck's constant, $c = 3 \times 10^8$ m/s, and $k_B = 1.381 \times 10^{-23}$ J/K.
Step 2: Define Brightness Temperature
The brightness temperature $T_B$ is the temperature a blackbody would need to emit the same radiance as measured by the sensor. For a surface with emissivity $\varepsilon(\lambda)$ at physical temperature $T_s$:
$$L_{\text{measured}}(\lambda) = \varepsilon(\lambda) \, B(\lambda, T_s) + (1 - \varepsilon(\lambda)) \, L_{\text{reflected}}(\lambda)$$
Step 3: Atmospheric Radiative Transfer
The radiance reaching the satellite passes through the atmosphere, which attenuates the surface signal and adds its own emission:
$$L_{\text{TOA}}(\lambda) = \tau(\lambda)\,\varepsilon(\lambda)\,B(\lambda, T_s) + L_{\text{atm}}^{\uparrow}(\lambda) + \tau(\lambda)(1-\varepsilon)\,L_{\text{atm}}^{\downarrow}(\lambda)$$
where $\tau(\lambda)$ is the atmospheric transmittance.
Step 4: Multi-Channel SST (MCSST) Algorithm
Rather than inverting the full radiative transfer equation, operational SST is retrieved using a statistical regression of brightness temperatures in multiple IR channels (e.g., 11 and 12 $\mu$m split-window):
$$\text{SST} = a_0 + a_1 T_{B,11} + a_2 (T_{B,11} - T_{B,12}) + a_3 (T_{B,11} - T_{B,12})(\sec\theta - 1)$$
Step 5: Physical Basis of the Split-Window Technique
Water vapor absorbs differently at 11 and 12 $\mu$m. The brightness temperature difference $\Delta T_B = T_{B,11} - T_{B,12}$ is proportional to the atmospheric water vapor correction needed. The view-angle term $(\sec\theta - 1)$ accounts for the longer atmospheric path at oblique viewing:
$$T_{B,i} \approx T_s - \frac{(1-\tau_i)\,(T_s - T_{\text{atm}})}{\tau_i}$$
Step 6: Microwave SST Retrieval
In the microwave (Rayleigh-Jeans regime, $hc/\lambda k_B T \ll 1$), the Planck function simplifies and $T_B$ is linearly related to surface temperature:
$$T_B \approx \varepsilon(\theta, S, T_s, f) \cdot T_s, \quad \varepsilon = 1 - |R(\varepsilon_r)|^2$$
The Fresnel reflectivity $R$ depends on the complex dielectric constant $\varepsilon_r(S, T_s, f)$ of seawater, which varies with salinity, temperature, and frequency. This enables SST retrieval through clouds at ~25 km resolution.
Python: Geostrophic Currents from SSH & Chlorophyll Algorithm
Python: Geostrophic Currents from SSH & Chlorophyll Algorithm
Python!/usr/bin/env python3
Click Run to execute the Python code
Code will be executed with Python 3 on the server
Fortran: Satellite Altimetry Data Processing
This program processes along-track altimetry data by applying geophysical corrections (ionosphere, troposphere, tides, inverse barometer) and computing sea surface height anomaly (SSHA) relative to a mean sea surface.
Fortran: Satellite Altimetry Data Processing
FortranSatellite altimetry SSH computation with geophysical corrections
Click Run to execute the Fortran code
Code will be compiled with gfortran and executed on the server