Update to PolyTEOS10_bsq
kernel
In recent days we’ve come across a bug in an application kernel of parcels
. The PolyTEOS10_bsq
kernel is used to calculate the density of seawater from the temperature and salinity fields. The kernel is based on equation (13) from
Roquet et al. (2014) where the density is determined from the summation of a vertical reference profile and a residual function or density anomaly . That is, .
Up until the fix in v3.1.3 (see PR #2133), the kernel only computed the density anomaly , and did not include the vertical reference profile. At the ocean surface this isn’t a problem, as and so the computed density was correct. However, below the ocean surface, and at relatively deep depths, this value can be significant. For example, at 100 m depth this value is 0.46443 kg/m and at 500 m depth this value is 2.31175 kg/m, see the figure below.
By using the kernel implementation before the fix in PR #2133, the seawater density at depths below the ocean surface were being underestimated, as the actual seawater density would have otherwise been higher. Simulations that computed vertical velocities (such as sinking/rise velocities) using density differences between a particle and its surrounding seawater may have been impacted.
Below we’ve compiled a list of several papers that may be impacted, but we urge the community to check their own projects for use of this kernel at depth. This list may be updated as we become aware of other potentially impacted papers.
Potentially impacted papers