polaris.ocean.eos.compute_density

polaris.ocean.eos.compute_density(config: PolarisConfigParser, temperature: DataArray | float, salinity: DataArray | float, pressure: DataArray | float | None = None, tracer_convention: str = 'teos-10', lon: DataArray | ndarray | float | None = None, lat: DataArray | ndarray | float | None = None) DataArray | float[source]

Compute the density of seawater based on the equation of state specified in the configuration.

Parameters:
  • config (polaris.config.PolarisConfigParser) – Configuration object containing ocean parameters.

  • temperature (float or xarray.DataArray) – Temperature (conservative, potential or in-situ) of the seawater.

  • salinity (float or xarray.DataArray) – Salinity (practical or absolute) of the seawater.

  • pressure (float or xarray.DataArray, optional) – Pressure (in-situ or reference) of the seawater.

  • tracer_convention ({'teos-10', 'mpas-ocean'}, optional) – The convention of temperature and salinity. TEOS-10 requires conservative temperature and absolute salinity, so tracers straight out of MPAS-Ocean must say so and are converted first, which needs lon and lat. The two conventions are indistinguishable for any other equation of state.

  • lon (float, numpy.ndarray or xarray.DataArray, optional) – Longitude(s) in degrees, needed only to convert from the MPAS-Ocean convention.

  • lat (float, numpy.ndarray or xarray.DataArray, optional) – Latitude(s) in degrees, as for lon.

Returns:

density (float or xarray.DataArray) – Computed density (in-situ or reference) of the seawater.