You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Performance.Descent.initialDescent is now a Performance.MachDescentBand
rather than a DescentBand. EUROCONTROL publishes the initial descent as a
Mach number and a rate of descent, never as an IAS, so the band the model
asked for could never be assembled and the field was always nil.
Performance.Climb.machClimb is now a Performance.MachClimbBand rather
than a bare Double, so the band's rate of climb — published by EUROCONTROL
alongside its Mach number, and previously discarded — is available. The Mach
itself is now machClimb?.mach.
RECATEU.code is now String?, because the new RECATEU.special case
carries no CAT-X code.
Added
A Distribution Watch workflow that probes the FAA workbook daily and parses
the full distribution whenever it changes — or monthly regardless, since the
EUROCONTROL side cannot be probed cheaply. Coverage is compared against the
previous check, so a field that quietly stops being parsed is reported even
though it raises no error.
SwiftACD_E2E parse --report <path> writes a JSON report of profile counts,
per-record errors, and how many profiles carry each field; --baseline <path>
compares that against an earlier report and exits non-zero when a field loses
all of its values.
The FAA's ICAO_WTC column now fills Categories.wakeTurbulence for types
EUROCONTROL does not list, which carried no wake category at all before.
EUROCONTROL still wins where both publish one, since it gives the ICAO letter
directly, and a type the FAA records as straddling two categories
("Light/Medium") is left empty rather than rounded to one side.
RECATEU.special, the "Special" category EUROCONTROL publishes for types
it separates case by case (A225, B2, B52), which previously decoded to nil alongside genuinely uncategorized types.
Dimensions.wingspanWithWinglets (and its wingspanWithWingletsFt scalar)
expose the FAA's winglet/sharklet wingspan column, which the parser
previously ignored.
Fixed
The EUROCONTROL index page (apd/listpage.html) is no longer parsed as an
aircraft detail page, so the profile dictionary no longer contains an empty
entry keyed listpage.
Types whose FAA row fills in only the winglet-equipped wingspan column (for
example GLF6 and the E-Jets) no longer report a wingspan of 0 ft; Dimensions.wingspan falls back to that column before falling back to
EUROCONTROL.