polaris.tasks.ocean.horiz_press_grad.finite_volume.delta_specvol_at_pressure
- polaris.tasks.ocean.horiz_press_grad.finite_volume.delta_specvol_at_pressure(pieces: dict, edge_layer: int, pressure: ndarray, guards: set[str] | None = None) ndarray[source]
The design’s
[dalpha]: the fixed-pressure contrast in specific volume.\[\Delta_e\hat\alpha(p) = \bar\alpha_\Theta^{e,k}\,\Delta_e\Theta(p) + \bar\alpha_S^{e,k}\,\Delta_e S(p)\]Both columns use the edge-shared coefficients of edge layer
edge_layer, and each supplies its own \(\Theta(p)\), \(S(p)\) from whichever of its own layers containsp. The \(\bar\alpha_0\) and \(\bar\alpha_p(p-\bar p^e)\) terms are the same numbers in both columns and cancel, so they are not formed at all.This is the central property of the scheme: the result is a coefficient times a horizontal contrast at matched pressure, so it is identically zero pointwise whenever the two columns’ reconstructions describe the same water – independently of the coefficients, of the quadrature, and of whether the interfaces line up.
- Parameters:
pieces (dict) – From
matched_pressure_pieces().edge_layer (int) – The edge layer whose shared coefficient set to use.
pressure (numpy.ndarray) – Sea gauge pressures in Pa, all within edge layer
edge_layer.
- Returns:
delta_specvol (numpy.ndarray) – \(\Delta_e\hat\alpha(p)\) in m3 kg-1.