This is a population-density model of the migrant pump, not a swarm of tracked individuals. It solves a 1-D advection–diffusion (Fokker–Planck) equation for the depth density n(z,t) of the whole population, on a depth-time grid — the scrolling panel is a genuine echogram (depth vs. time), the way oceanographers actually see DVM in ADCP backscatter data.
Population continuity:
∂n/∂t = -∂(v·n)/∂z + D·∂²n/∂z²
Swimming drift (relax toward the light-cue depth):
v(z,t) = K·(z_target(t) − z)
Light-cue target depth (isolume tracking, Beer–Lambert-shaped):
I_surf(t) = max(0, −cos(2π·t/24h)) [day/night irradiance]
z_target = A · ln(I_surf/Iref + 1) / ln(1/Iref + 1)
Flux crossing the mixed-layer depth (finite-volume face flux):
J(MLD,t) = v·n − D·∂n/∂z |_{z=MLD}
Migrant-pump export (respiration while below MLD):
F = N · R · f_MLD , f_MLD = ∫_MLD^∞ n dz / ∫_0^∞ n dz
Rather than teleporting individuals to a target depth every frame, the whole population is treated as a continuous, diffusing cloud: K sets how fast it relaxes toward the light-driven target depth, and D sets how much individual variability spreads that cloud out — exactly the trade-off a real Fokker-Planck / Ornstein-Uhlenbeck migration model captures (its steady-state spread is the classic σ² = D/K). The solver is a finite-volume upwind-advection / central-diffusion scheme with reflecting boundaries, so total population is conserved to machine precision every frame — verified numerically.
- Migration amplitude — the depth scale of the light-driven target; deeper excursions push more of the density profile below the MLD.
- Swim responsiveness (K) — how tightly the population tracks the instantaneous light cue; low K lags the day/night forcing, high K snaps to it.
- Behavioural spread (D) — individual variability in depth-keeping; higher D smears the migrating band into a wider cloud on the echogram.
- Boundary crossing flux readout — the instantaneous advective+diffusive flux computed directly at the MLD face of the finite-volume grid, positive when the bulk of the profile is actively crossing downward.
- Profile mass check — total ∫n dz relative to the population slider, confirming the numerical scheme is conserving population (should stay pinned at 100%).
Field estimates (Steinberg et al., Bianchi et al.) put the migrant pump at roughly 10–40% of the gravitational (sinking) pump's carbon export in many ocean regions — this 2D model and the companion 3D instanced-swarm simulation compute the same real flux from two independent mechanisms: a continuum population PDE here, versus individually tracked animals there.