Buoyancy frequency N²
Buoyancy (Brunt-Vaisala) frequency squared N2 (TEOS-10), 10 m running mean
1/s2key buoyancy_n2no NERC concept says exactly thisseries buoyancy_n2
CalCOFI holds 650,235 values of it from 9,470 sampling events in one dataset, 1993–2026, from the surface to 3,620 m. At 200–500 m it has risen 0.00 per decade since 1993.R The buoyancy frequency squared N² says how strongly the water column resists vertical mixing at each depth: large where layers are stacked tightly, near zero in a mixed layer, so it maps the layers and the mixing between them along a transect.C
- 650,235
- values
- 0
- flagged
- 1993–2026
- years
- 1
- dataset
- 6–3,620 m
- depth
- every month
- months
Measured in
1 dataset
i
One row per series, one cell per year, darker with more values — the same strip the front
door draws per dataset and a species page draws per taxon. Each row is one dataset's own
measurement_type; the label is written once, in the title above.
i
One row per series, one cell per year, darker with more values — the same strip the front door draws per dataset and a species page draws per taxon. Each row is one dataset's own measurement_type; the label is written once, in the title above.
-
series
buoyancy_n2· source columntemperature_ave; salinity_ave_corr; pressureno flag at this grain no P01 concept
Explorera depth section vs normaldb-queryThis page as JSON R · Python · Parquet
Every way in 7 ways · Parquet · R · Python · JSON
Read from measurements.json of release v2026.11.05, written at release by calcofi4db::build_measurements_catalog() beside taxa.json. The catalog's index is /measurements/; the JSON-LD on this page is a schema.org/DefinedTerm in the NERC P01 term set with a PropertyValue per series.
ExplorerExplorer · a depth section vs normaldb-querySELECT * FROM read_json('…/v2026.11.05/catalog.json')
-- objects[] WHERE table = 'obs_env'
-- AND partition_value = 'buoyancy_n2'library(calcofi4r)
con <- cc_get_db() # the promoted release
tbl(con, "obs_env") |> filter(measurement_type %in% c("buoyancy_n2"))import calcofi4py as cc
con = cc.cc_get_db()
con.sql("SELECT * FROM obs_env WHERE measurement_type IN ('buoyancy_n2')").df()How it is measured no method registered yet
No method row is registered for this measurement yet (metadata/measurement_method.csv).
Why it matters 3 ways to say it · EOV Subsurface temperature
the GOOS specification sheet for this Essential Ocean Variable lists it
other ways to say why · 2
- TEOS-10 gsw_Nsquared on the 1 m bins of the sensor-pair averaged temperature and salinity, smoothed with a 10 m running mean (Rasmus Swalethorp, SIO, 2026-09-24). needs a citation before it can be the pick
- Wikipedia In atmospheric dynamics, oceanography, asteroseismology and geophysics, the Brunt–Väisälä frequency, or buoyancy frequency, is a measure of the stability of a fluid to vertical displacements such as those caused by convection. More precisely it is the frequency at which a vertically displaced parcel will oscillate within a statically stable environment. Brunt–Väisälä frequency · CC BY-SA 4.0 · rev. 1381494343
The record’s own history 7 depth bands against the 1993–2013 normal
Each year against the normal i
Deeper than the climatology reaches: 3,190 values at 2000+ m have no
normal to depart from, because the release’s climatology stops at its
deepest built bin. Carrying it to the bottom is one argument of
build_climatology() and puts these bands on the page too.
i
Deeper than the climatology reaches: 3,190 values at 2000+ m have no
normal to depart from, because the release’s climatology stops at its
deepest built bin. Carrying it to the bottom is one argument of
build_climatology() and puts these bands on the page too.
Units and range 1/s2 · -0.2 … 0.2 declared · 0 flagged
1/s2
details
- bounds
- The registry declares
-0.2 … 0.2 1/s2forbuoyancy_n2; a value outside it is dropped at the ingest (drop_out_of_bounds()). - observed
- CTD Derived Products
buoyancy_n2-0.01814 · median 3.12229e-05 · 0.01706 1/s2 (5th–95th percentile 4.20523e-06–0.0002932) - flags
- CTD Derived Products
buoyancy_n2carries no quality code at the release grain; qual_ok keeps all 650,235. - baseline
- A monthly climatology exists for this measurement (the release's climatology table: 1993–2013, dataset × station × the cruise's month × 10 m bin), so the Explorer can draw anomalies against it rather than values.
- derivation
- calcofi4db::ctd_n2(smooth_m = 10): gsw_SA_from_SP, gsw_CT_from_t, gsw_Nsquared at the mid-points of the 1 m bins, aligned to the bins by linear interpolation, then a centred 10 m running mean (the CTD team's draft R script, with the running mean in place of its smoothing spline; questions Q11); on the sensor-pair averaged corrected temperature and salinity, final and preliminary_with_bottle casts only; emitted at the depths calcofi_ctd-cast publishes
The familiar scale i
Bars are each series' 5th–95th percentile, the line its minimum to maximum, the ring its median;
the marks are metadata/measurement_scale.csv's, each hovering to its own source.
i
Bars are each series' 5th–95th percentile, the line its minimum to maximum, the ring its median;
the marks are metadata/measurement_scale.csv's, each hovering to its own source.
By depth · by month 6–3,620 m · every month
By depth i
Values per depth band at the release grain, one thin bar per series. The bands are the
record's own (0-10 … 2000+ m).
i
Values per depth band at the release grain, one thin bar per series. The bands are the record's own (0-10 … 2000+ m).
By month i
Values per calendar month, one row per series: CalCOFI's quarterly cruises show as peaks in
the months the ships sail.
i
Values per calendar month, one row per series: CalCOFI's quarterly cruises show as peaks in the months the ships sail.
Cite the release, v2026.11.05
Cite the release; each dataset's own citation, licence and DOI are on its page — CTD Derived Products. The Explorer's Share → Cite writes it for the view you make.