What a reader of an annual answer for year must be told, or undefined. Upstream the two
endpoints count from different data (UBA, Schnittstellenbeschreibung Luftdaten-API):
transgressions is the exceedance table for the running year, built from preliminary
data, while annualBalances is evaluated "auf Basis der endgültigen Daten", published in
June of the following year. A completed year's transgressions table is not brought up to
the final data: for 2019–2025 its yearly count differs from the annual balance at 10–35 %
of PM₁₀ stations, in both directions, and the annual balance agrees with the station's
own daily means (Halle/Paracelsusstr., PM₁₀ 2024: transgressions 17 days, annual balance
and daily means 8). So:
transgressions for a completed year: say the counts are preliminary and name
annualBalances (CLI annual-balances) as the year's exceedance count.
annualBalances without rows: say there is no annual balance (yet), and when.
now is the reference date (default: today); the CLI logs the note as an INFO record
of luftqualitaet.api on stderr.
What a reader of an annual answer for
yearmust be told, or undefined. Upstream the two endpoints count from different data (UBA, Schnittstellenbeschreibung Luftdaten-API):transgressionsis the exceedance table for the running year, built from preliminary data, whileannualBalancesis evaluated "auf Basis der endgültigen Daten", published in June of the following year. A completed year's transgressions table is not brought up to the final data: for 2019–2025 its yearly count differs from the annual balance at 10–35 % of PM₁₀ stations, in both directions, and the annual balance agrees with the station's own daily means (Halle/Paracelsusstr., PM₁₀ 2024: transgressions 17 days, annual balance and daily means 8). So:transgressionsfor a completed year: say the counts are preliminary and nameannualBalances(CLIannual-balances) as the year's exceedance count.annualBalanceswithout rows: say there is no annual balance (yet), and when.nowis the reference date (default: today); the CLI logs the note as anINFOrecord ofluftqualitaet.apion stderr.