Brunt-Vaisala Frequency
Estimate layer N² from measured virtual potential temperature and report stable oscillation versus unstable growth separately; signed N² is preserved rather than attempting an imaginary frequency or claiming turbulence forecast.
Description
Brunt–Väisälä stability relates the vertical gradient of virtual potential temperature to a parcel's buoyancy response.
Brunt–Väisälä stability relates the vertical gradient of virtual potential temperature to a parcel's buoyancy response. Stable layers support an oscillation frequency, while negative squared frequency represents an unstable growth rate.1
Estimate layer N² from measured virtual potential temperature and report stable oscillation versus unstable growth separately; signed N² is preserved rather than attempting an imaginary frequency or claiming turbulence forecast.
When to use Brunt-Vaisala Frequency
Use this tool to estimate layer N² from measured virtual potential temperature and report stable oscillation versus unstable growth separately; signed N² is preserved rather than attempting an imaginary frequency or claiming turbulence forecast.
Prepare the climate observations and independently chosen model parameters. Confirm units, daily coverage, chronological order and the intended seasonal window.
How to use Brunt-Vaisala Frequency and understand its results
- Prepare the climate observations and independently chosen model parameters. Confirm units, daily coverage, chronological order and the intended seasonal window.
- Enter profileHeightsM, virtualPotentialTemperaturesK, gravityMPerSecondSquared using the field table and calculation rules, then run the tool.
- Read layerBuoyancyFrequencySquaredPerSecond2, stableLayerFrequencyPerSecond, unstableLayerGrowthRatePerSecond. The explanation below defines the units, signs, ordering and any flags or placeholder values.
- If the tool reports an input issue, correct the values and run it again. Apply the stated assumptions when interpreting a successfully returned result.
| Input field | Meaning | Value type; see rules below | Requirement |
|---|---|---|---|
| profileHeightsM | Profile heights m | list of number | Required |
| virtualPotentialTemperaturesK | Virtual potential temperatures k | list of number | Required |
| gravityMPerSecondSquared | Gravity m per second squared | number | Required |
Supply strictly increasing observed heights in m, aligned positive virtual potential temperatures in kelvin and positive gravity. At least two levels are required. The tool calculates one signed N² value per adjacent layer, then returns √max(0,N²) as stable frequency and √max(0,−N²) as unstable growth rate, both in s⁻¹.
N²_i = g(θv_(i+1)−θv_i)/[mean(θv_i,θv_(i+1)) Δz_i] Units, indexing, boundary conditions and exceptional cases are defined in the calculation rules above.
| Output field | Meaning | Value type |
|---|---|---|
| layerBuoyancyFrequencySquaredPerSecond2 | Layer buoyancy frequency squared per second2 | list of number |
| stableLayerFrequencyPerSecond | Stable layer frequency per second | list of number |
| unstableLayerGrowthRatePerSecond | Unstable layer growth rate per second | list of number |
{
"input": {
"profileHeightsM": [
0,
1000
],
"virtualPotentialTemperaturesK": [
300,
300
],
"gravityMPerSecondSquared": 10
},
"output": {
"layerBuoyancyFrequencySquaredPerSecond2": [
0
],
"stableLayerFrequencyPerSecond": [
0
],
"unstableLayerGrowthRatePerSecond": [
0
]
}
} Limitations and assumptions
The two real-valued rates are separate outputs; a zero stable frequency does not imply neutral stability if unstable growth is positive. Resolution and virtual-temperature preparation are supplied. The calculation does not predict turbulence or resolve sublayer structure.
Numeric inputs must be finite. Follow the calculation-specific rules for overflow, underflow and exceptional cases. Numeric lists are limited to 100,000 entries; the rules above may require smaller limits. Missing required fields, extra fields, wrong value types and violations of the calculation rules are input errors.
Alternative or Complementary methods
Use Potential Temperature Poisson: Compute pressure-normalized dry potential-temperature sounding under caller R/cp/reference pressure; no moisture normalization or actual measured parcel temperature at reference pressure. For a complementary task, use Virtual Temperature Correction: Compute exact ideal moist-air virtual temperature with vapor and suspended-liquid specific mass fractions relative to total mixture; differs from vapor mixing-ratio approximations and excludes ice unless caller independently models it.
References
-
Brunt-Vaisala Frequency — tool.io
Similar or alternative tools
- Potential Temperature Poisson
Compute pressure-normalized dry potential-temperature sounding under caller R/cp/reference pressure; no moisture normalization or actual measured parcel temperature at reference pressure.
- Virtual Temperature Correction
Compute exact ideal moist-air virtual temperature with vapor and suspended-liquid specific mass fractions relative to total mixture; differs from vapor mixing-ratio approximations and excludes ice unless caller independently models it.