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 contains p. 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:
Returns:

delta_specvol (numpy.ndarray) – \(\Delta_e\hat\alpha(p)\) in m3 kg-1.