Buoyancy Frequency (Brunt-Vaisala) Calculator

Find the buoyancy frequency, its period and the stability of a stratified water column from two density measurements, or from temperature and salinity.

🌊 Buoyancy Frequency (Brunt-Vaisala) Calculator
Upper density (ρupper)
kg/m³
10001050
Lower density (ρlower)
kg/m³
10001050
Depth of upper level (zupper)
m
01000
Depth of lower level (zlower)
m
05000
Upper temperature (Tupper)
°C
-235
Lower temperature (Tlower)
°C
-235
Upper salinity (Supper)
psu
3040
Lower salinity (Slower)
psu
3040
Depth of upper level (zupper)
m
01000
Depth of lower level (zlower)
m
05000

Linear equation of state used: α = 2×10-4 K-1 and β = 7.6×10-4 psu-1.

Reference density (ρ0)
kg/m³
10001050
N² (buoyancy frequency squared)
—
N (rad/s)
—
N (cycles per hour)
—
Buoyancy period (2π/N)
—
Stability
—
Density difference
—

🌊 What is the Buoyancy (Brunt-Vaisala) Frequency?

The buoyancy frequency, also called the Brunt-Vaisala frequency and written N, is the natural angular frequency at which a small parcel of water oscillates up and down when it is pushed away from its equilibrium depth in a stably stratified water column. If the parcel is displaced upward it becomes denser than its surroundings and sinks back, overshoots, and the cycle repeats. The stronger the density increase with depth, the stiffer this restoring force and the larger N. It is the single most important number describing how stratified the ocean is at a given depth.

Oceanographers use N constantly. It sets the upper limit on the frequency of internal gravity waves, controls how much energy is needed to mix a layer vertically, appears in the Richardson number that predicts shear instability, and is used to calculate turbulent diffusivity from microstructure measurements. Typical values are about 10 cycles per hour in the main thermocline and about 1 cycle per hour in the deep ocean, so stratification varies by roughly an order of magnitude with depth. Lakes, estuaries and fjords have their own characteristic profiles and are described in the same way.

A common mix-up is to treat N as a wave frequency you can observe directly. It is not; it is a property of the water column, and it only becomes a wave frequency as the upper bound for internal waves. Another confusion is the sign convention: N squared can be negative, which means the water is statically unstable and will overturn by convection. In that case N itself is imaginary, so this calculator reports N squared and the classification rather than a meaningless real number. The result is also a layer average. It uses two levels, so it describes the mean stratification between them rather than a point value.

This calculator takes two densities at two depths (or the temperature and salinity that determine them), the reference density rho0, and returns N squared, N in rad/s and cycles per hour, the buoyancy period, the stability class and a chart of N against density difference for the layer you entered.

📐 Formula

N²  =  −(g / ρ0) · dρ/dz  ≈  (g / ρ0) · (ρlower − ρupper) / (zlower − zupper)
g = 9.80665 m/s², standard gravity
ρ0 = reference density (kg/m³), usually 1025 for sea water
ρupper, ρlower = densities at the two levels (kg/m³), and z = depth in metres, positive downward
N = √(N²) in rad/s, valid only when N² > 0. In cycles per hour, Ncph = N × 3600 / (2π). Buoyancy period T = 2π / N.
Temperature and salinity mode: ρ = ρ0(1 − αΔT + βΔS), so N² = g(−αΔT + βΔS) / Δz, with α = 2×10-4 K-1, β = 7.6×10-4 psu-1, and Δ meaning lower minus upper.
Example: ρupper = 1025, ρlower = 1026, 50 m to 150 m, ρ0 = 1025 gives N² = 9.567×10-5 s-2, N = 5.60 cph.

📖 How to Use This Calculator

Steps

1
Choose a mode. Pick Density to enter two measured densities, or Temperature and salinity to derive the density contrast from a linear equation of state.
2
Enter the two levels. Type the density (or temperature and salinity) and the depth of the upper and lower levels, and confirm the reference density rho0.
3
Read N and the stability class. The calculator gives N squared, N in rad/s and cycles per hour, the buoyancy period and whether the layer is stable, neutral or unstable, and plots N against the density difference. The dashed lines mark typical deep ocean (about 1 cph) and thermocline (about 10 cph) values.

💡 Example Calculations

Example 1 — Seasonal Thermocline Layer

ρupper = 1025.0, ρlower = 1026.0 kg/m³, 50 m to 150 m, ρ0 = 1025

1
N² = (9.80665 / 1025) × (1026 − 1025) / (150 − 50) = 9.567×10-5 s-2
2
N = √(9.567×10-5) = 9.781×10-3 rad/s, which is 5.60 cph
Buoyancy period = 2π / N = 10.71 min (stable)
Try this example →

Example 2 — Sharp Summer Pycnocline

ρupper = 1023.5, ρlower = 1026.5 kg/m³, 20 m to 60 m, ρ0 = 1025

1
N² = (9.80665 / 1025) × 3.0 / 40 = 7.176×10-4 s-2
2
N = 2.679×10-2 rad/s, which is 15.35 cph, stronger than the typical 10 cph thermocline value
Buoyancy period = 3.91 min (stable)
Try this example →

Example 3 — Weakly Stratified Deep Ocean

ρupper = 1027.6, ρlower = 1027.7 kg/m³, 2000 m to 3000 m, ρ0 = 1025

1
N² = (9.80665 / 1025) × 0.1 / 1000 = 9.567×10-7 s-2
2
N = 9.781×10-4 rad/s, which is 0.56 cph, close to the deep ocean value of about 1 cph
Buoyancy period = 107.06 min (stable)
Try this example →

Example 4 — From Temperature and Salinity

T: 20 to 10 °C, S: 35.5 to 35.0 psu, 50 m to 150 m, ρ0 = 1025

1
ΔT = 10 − 20 = −10 °C and ΔS = 35.0 − 35.5 = −0.5 psu, so −αΔT + βΔS = 2.0×10-3 − 3.8×10-4 = 1.62×10-3
2
N² = 9.80665 × 1.62×10-3 / 100 = 1.589×10-4 s-2, N = 1.260×10-2 rad/s = 7.22 cph, with a density difference of 1.660 kg/m³
Buoyancy period = 8.31 min (stable). The cooling more than offsets the salinity decrease.
Try this example →

❓ Frequently Asked Questions

What is the Brunt-Vaisala frequency?+
The Brunt-Vaisala frequency N, also called the buoyancy frequency, is the angular frequency at which a vertically displaced parcel of fluid oscillates in a stably stratified fluid. It is defined by N squared = -(g/rho0) d(rho)/dz, and it sets the upper limit for the frequency of internal gravity waves.
What is the formula for buoyancy frequency in the ocean?+
N squared = -(g/rho0) times d(rho)/dz, with g = 9.80665 m/s2 and rho0 about 1025 kg/m3. With two measurements it is approximated as (g/rho0) times (rho_lower - rho_upper) divided by (z_lower - z_upper), and N is the square root when that value is positive.
What is a typical value of N in the ocean?+
In the main thermocline N is typically about 5 to 15 cycles per hour (about 0.01 to 0.03 rad/s). In the deep ocean stratification is weak and N is closer to 1 cycle per hour (about 0.002 rad/s). A strong near surface pycnocline can reach 20 cph or more.
What does a negative N squared mean?+
A negative N squared means density decreases with depth, so denser water lies above lighter water. The column is statically unstable and overturns by convection. N is then imaginary and no internal waves can propagate in that layer.
How do I convert N from rad/s to cycles per hour?+
Divide N in rad/s by 2 pi to get a frequency in hertz, then multiply by 3600 s per hour. For N = 0.01 rad/s that gives 0.01/(2 pi) x 3600, which is about 5.73 cycles per hour.
What is the buoyancy period?+
The buoyancy period is T = 2 pi / N, the shortest period at which a displaced parcel can oscillate vertically. For N = 0.01 rad/s it is about 628 s, or 10.5 minutes. Internal waves must have periods longer than this.
Why do internal waves exist only below the buoyancy frequency?+
Internal gravity waves rely on buoyancy as the restoring force, and a parcel cannot oscillate faster than the buoyancy frequency. Their frequency omega must lie between the inertial frequency f and N. At higher frequencies the fluid cannot support propagating waves.
How is N calculated from temperature and salinity?+
With a linear equation of state rho = rho0 (1 - alpha dT + beta dS), N squared = g (-alpha dT + beta dS) / dz, where dT and dS are lower minus upper values. This calculator uses alpha = 2e-4 per kelvin and beta = 7.6e-4 per psu.
Why does the reference density rho0 matter?+
rho0 is the constant Boussinesq reference density, usually 1025 kg/m3 for sea water. It only scales N squared slightly (a 1 percent change in rho0 changes N squared by 1 percent), so the density difference between the two depths is far more important.
Is the Brunt-Vaisala frequency the same in the atmosphere?+
The concept is identical, but the atmosphere uses potential temperature: N squared = (g/theta) d(theta)/dz. The tropospheric value is about 0.01 rad/s and the stratosphere is about 0.02 rad/s. In the ocean the density gradient is used directly.
How accurate is a two point estimate of N?+
It gives the average N squared between the two depths. If the density profile is not linear between them, a finer set of samples will give larger peaks and smaller troughs. Use thin layers and in situ density corrected for compressibility for the best estimates.

What is the Brunt-Vaisala frequency?

The Brunt-Vaisala frequency N, also called the buoyancy frequency, is the angular frequency at which a vertically displaced parcel of fluid oscillates in a stably stratified fluid. It is defined by N squared = -(g/rho0) d(rho)/dz, and it sets the upper limit for the frequency of internal gravity waves.

What is the formula for buoyancy frequency in the ocean?

N squared = -(g/rho0) times d(rho)/dz, with g = 9.80665 m/s2 and rho0 about 1025 kg/m3. With two measurements it is approximated as (g/rho0) times (rho_lower - rho_upper) divided by (z_lower - z_upper), and N is the square root when that value is positive.

What is a typical value of N in the ocean?

In the main thermocline N is typically about 5 to 15 cycles per hour (about 0.01 to 0.03 rad/s). In the deep ocean stratification is weak and N is closer to 1 cycle per hour (about 0.002 rad/s). A strong near surface pycnocline can reach 20 cph or more.

What does a negative N squared mean?

A negative N squared means density decreases with depth, so denser water lies above lighter water. The column is statically unstable and overturns by convection. N is then imaginary and no internal waves can propagate in that layer.

How do I convert N from rad/s to cycles per hour?

Divide N in rad/s by 2 pi to get a frequency in hertz, then multiply by 3600 s per hour. For N = 0.01 rad/s that gives 0.01/(2 pi) x 3600, which is about 5.73 cycles per hour.

What is the buoyancy period?

The buoyancy period is T = 2 pi / N, the shortest period at which a displaced parcel can oscillate vertically. For N = 0.01 rad/s it is about 628 s, or 10.5 minutes. Internal waves must have periods longer than this.

Why do internal waves exist only below the buoyancy frequency?

Internal gravity waves rely on buoyancy as the restoring force, and a parcel cannot oscillate faster than the buoyancy frequency. Their frequency omega must lie between the inertial frequency f and N. At higher frequencies the fluid cannot support propagating waves.

How is N calculated from temperature and salinity?

With a linear equation of state rho = rho0 (1 - alpha dT + beta dS), N squared = g (-alpha dT + beta dS) / dz, where dT and dS are lower minus upper values. This calculator uses alpha = 2e-4 per kelvin and beta = 7.6e-4 per psu.

Why does the reference density rho0 matter?

rho0 is the constant Boussinesq reference density, usually 1025 kg/m3 for sea water. It only scales N squared slightly (a 1 percent change in rho0 changes N squared by 1 percent), so the density difference between the two depths is far more important.

Is the Brunt-Vaisala frequency the same in the atmosphere?

The concept is identical, but the atmosphere uses potential temperature: N squared = (g/theta) d(theta)/dz. The tropospheric value is about 0.01 rad/s and the stratosphere is about 0.02 rad/s. In the ocean the density gradient is used directly.

How accurate is a two point estimate of N?

It gives the average N squared between the two depths. If the density profile is not linear between them, a finer set of samples will give larger peaks and smaller troughs. Use thin layers and in situ density corrected for compressibility for the best estimates.