stilt.transforms.AveragingKernel#

class stilt.transforms.AveragingKernel(*, kind: Literal['averaging_kernel'] = 'averaging_kernel', levels: list[float] | None = None, values: list[float] | None = None, table: str | None = None, coordinate: str = 'xhgt') → None[source]#

Weight each particle’s foot by an averaging kernel at its release coordinate.

Give the kernel inline as levels and values, or name a table holding one kernel per receptor (see averaging_kernel_table()); the receptor’s row is picked by context.receptor.id when the footprint is generated. A relative table path is resolved against the project root, so it works inside stilt run and on Slurm and Kubernetes workers. A receptor missing from the table is an error.

levels are release heights AGL in metres by default; set coordinate: pres for a kernel on pressure levels (hPa). Fold any instrument-specific factor (for example TCCON’s wet-air scaling) into the values. Adds an ak_weight column.

Methods#

apply(particles[, context])

Weight each particle by the averaging kernel at its level.

kernel([context])

Return (levels, values) for the receptor in context.

Attributes#

kind

levels

values

table

coordinate