Propagate a known irradiance to any other depth (bidirectional).
Source:R/depth_propagation.R
propagate_depth.RdComputes E(to) = E_known * exp(-Kd * (to - from)). Works forward (to > from), inverse (to < from, recovering a shallower value), and between any two depths.
Arguments
- E_known
Irradiance at depth
from. Scalar or vector.- Kd
Diffuse attenuation coefficient in 1/m. Scalar.
- from
Depth of the known measurement in metres. Default 0 (surface).
- to
Target depth(s) in metres. Scalar or vector.
- allow_above_surface
Logical; permits negative absolute depths (above the surface). Default FALSE.
Note
Un-attenuating with a negative depth delta assumes the water column
is homogeneous above the measurement point. For stratified water bodies
(thermocline, chlorophyll layer) the result will be approximate. Inverse
propagation also amplifies measurement noise and can overflow for long or
strongly attenuating paths. This model does not cross the air-water
interface; use surface_transmittance explicitly or a
high-level workflow such as light_at_depth.