argopy.extensions.OpticalModeling.Zeu

argopy.extensions.OpticalModeling.Zeu#

OpticalModeling.Zeu(axis: str = 'PRES', par: str = 'DOWNWELLING_PAR', method: Literal['percentage', 'KdPAR'] = 'percentage', max_surface: float = 5.0, layer_min: float = 10.0, layer_max: float = 50.0, inplace: bool = True)[source]#

Depth of the euphotic zone from PAR

PAR is the photosynthetically available radiation

Two methods are available (see details below):

  • percentage: Depth for which PAR is 1% that of the surface value, defined as the maximum above max_surface

  • KdPAR: -ln(0.01) times the inversed PAR attenuation coefficient over the layer between layer_min and layer_max

Parameters:
  • axis (str, optional, default='PRES') – Name of the pressure axis to use.

  • par (str, optional, default='DOWNWELLING_PAR') – Name of the PAR variable to use.

  • method (str, ['percentage', 'KdPAR'] = 'percentage') – Computation method to use.

  • max_surface (float, optional, default: 5.) – Used only with the percentage method. Maximum value of the vertical axis above which the maximum PAR value is considered surface values.

  • layer_min (float, optional, default: 10.)

  • layer_max (float, optional, default: 50.) – Used only with the KdPAR method. Minimum and maximum values of the vertical axis over which to compute the PAR attenuation coefficient.

  • inplace (bool, optional, default: True) – Should we return the new variable (False) or the dataset with the new variable added to it (True).

Returns:

Zeu as xarray.DataArray or, if the inplace argument is True, dataset is modified in-place with new variable Zeu.

Return type:

xarray.DataArray or xarray.Dataset

See also

Dataset.argo.optic, argopy.utils.optical_modeling.Z_euphotic()

Notes

The euphotic depth is estimated using the first method percentage directly from the vertical PAR profile as the depth for which PAR is 1% that of the surface value:

\[ \begin{align}\begin{aligned}I_0 = max(I(z\leq\text{max_surface}))\\Z_e = z | I(z) = 0.01\,I_0\end{aligned}\end{align} \]

But the euphotic depth can also be estimated using the exponential decay of light with depth, described by Beer’s Law [1]:

\[I(z) = I_0 \exp(-K_{PAR}\,z)\]

If we solve for $I(Z_e)=0.01 I_0$ we get:

\[Z_e = -\frac{\ln(0.01)}{K_{PAR}} = \frac{4.605}{K_{PAR}}\]

where the attenuation coefficient $K_{PAR}$ is for a homogeneous layer $z_1<z_2$ the most appropriately given by [2]:

\[K_{PAR} = -\frac{ln(PAR(z_2))-ln(PAR(z_1))}{z_2-z_1}\]

Using the method KdPAR, the homogeneous layer is set by the layer_min and layer_max arguments.

References

[1]

Kirk, J.T., 1994. Light and photosynthesis in aquatic ecosystems. Cambridge university press.

[2]

Kpar: An optical property associated with ambiguous values. J. Lake Sci., 21 (2009), pp. 159-164

Examples

from argopy import ArgoFloat
dsp = ArgoFloat(6901864).open_dataset('Sprof')

dsp.argo.optic.Zeu()
dsp.argo.optic.Zeu(method='percentage', max_surface=5.)
dsp.argo.optic.Zeu(method='KdPAR', layer_min=10., layer_maz=50.)