Diagnose a variable-aware vertical transition-layer candidate
transition_layer.RdInterpret a generic C5 gradient candidate as an unthresholded thermocline, halocline, branch-aware oxycline, or C9 potential-density pycnocline candidate only when certified semantic identity authorizes that interpretation.
Usage
transition_layer(
x,
diagnostic,
variable = NULL,
support = c("local", "all")
)Arguments
- x
A direct certified source-profile
<ocean_cube>, an already computed certified C4 vertical-gradient<ocean_cube>, or a certified C9 thermodynamic state for the pycnocline route.- diagnostic
Required diagnostic name:
"thermocline","halocline","upper_oxycline","lower_oxycline", or"pycnocline".- variable
Optional exact current variable name.
NULLselects the sole variable whose preserved source CFstandard_nameis eligible; zero or multiple eligible variables are errors.- support
C5 support policy.
"local"excludes explicitly gapped secants;"all"may return a truthfully labelled gapped candidate.
Value
A base data.frame with one row per longitude, latitude, and time. C5
feature diagnostics are retained and augmented with physical-variable
identity, diagnostic definition, basis, direction, strength, input mode,
diagnostic status, Provenance V1, and bounded QA.
Details
Physical eligibility is determined only from immutable preserved source CF
standard_name and a bounded compatible-unit contract. Variable names
and long_name are never semantic evidence. Thermocline selects the
strongest eligible negative temperature gradient with depth. Halocline selects
the strongest eligible absolute salinity gradient and preserves its sign.
Direct source profiles compose depth_gradient() and
depth_feature(). Existing certified gradients are not differentiated a
second time. Gaps, ties, missingness, completeness, source brackets, spacing,
support gaps, and certification limits remain authoritative. The pycnocline
route accepts only C9 potential density referenced to 0 dbar and uses the
strongest positive gradient; it is an operational candidate rather than a
universal complete layer definition. Oxygen diagnostics first resolve a
complete-profile minimum/core, then rank negative gradients on
the upper branch or positive gradients on the lower branch. No threshold,
smoothing, prominence, width, curvature, or mixed-layer depth is calculated.
localization_half_span_m is a vertical
resolution scale, not statistical uncertainty.
Examples
if (FALSE) { # \dontrun{
transition_layer(cube, diagnostic = "thermocline")
transition_layer(cube, diagnostic = "halocline", support = "all")
transition_layer(cube, diagnostic = "upper_oxycline")
transition_layer(cube, diagnostic = "lower_oxycline")
transition_layer(state, diagnostic = "pycnocline")
gradient <- depth_gradient(cube)
transition_layer(gradient, diagnostic = "thermocline")
} # }