Skip to contents

Standardized climatological anomaly magnitude

Usage

signal_noise(x, clim, signed = FALSE)

Arguments

x

An ocean_cube object.

clim

An ocean_clim object created by clim_month() or clim_day().

signed

A single non-missing logical. If FALSE, return the magnitude of the standardized climatological anomaly. If TRUE, retain its sign.

Value

An ocean_anom compatibility object with dimensionless unit "1".

Details

Despite its historical name, signal_noise() is not a general signal-to-noise ratio estimator. It first obtains the canonical signed standardized anomaly $$z = (x - mean_clim) / sd_clim$$ through cube_anomaly(). The numerator is the deviation from the climatological mean. The denominator is the climatological sample standard deviation across equally weighted day-year or month-year replicates. The default returns abs(z); signed = TRUE returns z unchanged.

Only safe modern ocean_clim objects from clim_day() or clim_month() are accepted. Canonical daily, monthly, or seasonal climatologies should use cube_anomaly(x, climatology, type = "z") directly. Zero or non-finite SD produces NA, negative finite SD is an error, and every positive finite SD is valid. Exact alignment, leap handling, finite masking, and bounded lazy NetCDF reads are inherited from the canonical anomaly engine.

Lifecycle

Deprecated as of oceancube 0.3.0 because the historical name is not a general signal-to-noise ratio. Use cube_anomaly(x, climatology, type = "z") and apply abs() explicitly when a magnitude is required.