pelagos_py.steps.processing.interpolate_par#

pelagos_py.steps.processing.interpolate_par.estimate_euphotic_depth(par, depth)[source]#

Euphotic depth (1% light) from a log-linear Beer-Lambert fit of PAR vs depth.

Returns metres positive down, or NaN when the fit is invalid (fewer than 4 valid points, non-physical slope, or beyond the ~186 m clear-water limit).

pelagos_py.steps.processing.interpolate_par.depth_of_ipar(depth, ipar, level)[source]#

Depth (positive-down m) where downwelling iPAR crosses level, or NaN.

Interpolates on the irregular profile grid; clamps to the deepest / shallowest sample when level lies outside the observed PAR range.

class pelagos_py.steps.processing.interpolate_par.InterpolatePAR(name, parameters=None, diagnostics=False, context=None)[source]#

Bases: pelagos_py.steps.base_step.BaseStep, pelagos_py.utils.qc_handling.QCHandlingMixin

Derive the euphotic depth ZEU and the iPAR isolume depth Z_IPAR.

Both are per-profile scalars found from the downwelling PAR profile and broadcast across each profile’s measurements. Profiles without usable PAR are optionally filled by interpolating each scalar in time (interpolate_*); otherwise they stay NaN.

Parameters:
  • par_var (str, optional) – Downwelling PAR variable read per profile. Default "DOWNWELLING_PAR".

  • depth_variable (str, optional) – Vertical coordinate (m, positive down). Default "DEPTH".

  • ipar_level (float, optional) – Irradiance level (umol m-2 s-1) whose crossing depth becomes Z_IPAR. Default 15.0.

  • compute_zeu (bool, optional) – Whether to produce ZEU / Z_IPAR at all. Both default True.

  • compute_ipar (bool, optional) – Whether to produce ZEU / Z_IPAR at all. Both default True.

  • interpolate_zeu (bool, optional) – When True (default) the scalar is interpolated in time onto every profile; when False only profiles with usable PAR carry it.

  • interpolate_ipar (bool, optional) – When True (default) the scalar is interpolated in time onto every profile; when False only profiles with usable PAR carry it.

Examples

steps:
  - name: Interpolate PAR
    parameters:
      par_var: DOWNWELLING_PAR
      ipar_level: 15.0
      interpolate_zeu: true
      interpolate_ipar: true
    diagnostics: false

Which samples are usable is governed by qc_handling_settings (calculation_flag_filter), exactly as in the other processing steps.