Passive tracers
The passive-tracer subsystem (calc_ytrc in src/yelmo_tracers.f90, group &ytrc) traces the deposition time of the ice, from which the depths of isochronal layers follow. It does not feed back on the flow. Three backends can run in any combination:
| Backend | Switch | Method | Output |
|---|---|---|---|
| Eulerian | use_euler, calc_age |
Advection of the deposition time on the model grid (calc_tracer_3D), with uz_star |
t_dep_euler |
| Lagrangian particles | use_tracer |
Particle model (tracer), with ux, uy, uz; namelist tracer_nml |
t_dep_trc |
| Lagrangian layers | use_elsa |
Layer model (elsa), driven by the ice thickness, velocity and surface and basal mass balance; namelist elsa_nml, group elsa_group |
t_dep_elsa |
All backends are off by default. Each one gives a deposition-time field on the Yelmo vertical grid. The backend selected by t_dep_source ("euler", "trc" or "elsa") is copied to t_dep, from which the depths of the isochrones at the times time_iso [ka] are diagnosed (depth_iso; with calc_age = False, only the first time is used). The Eulerian solver is explicit (tracer_method = "expl", vertical advection sub-stepped to a Courant number of at most 1) or implicit in the vertical with an artificial diffusion tracer_impl_kappa ("impl"). In both cases the horizontal advection is explicit and is that of the thermodynamics (flux-limited second order on the face velocities, sub-cycled), with its own parameters advecxy_order, advecxy_cfl and advecxy_nmax (same defaults). It transports the deposition time relative to the time of its cold start, t_ref_euler (t_dep_euler_rel; both are in the restart file), so its precision does not depend on the absolute time; t_dep_euler is the absolute deposition time. Where the depth-averaged speed exceeds 500 m a^{-1}, the Eulerian tracer is set to the surface value. The elsa layer stack is sized by the simulation end time time_end, which must be later than the start time. On a restart, the state of the Lagrangian backends is read from separate files next to the restart file (for restart.nc: restart_tracer.nc, and restart_elsa.nc with elsa_restart = True).
The tracers are updated after the material properties and before the thermodynamics in each time step. The variables are listed in the tracer variable table.