"Index at value or level off" needs to pass frequency to "Find level off" as this is slope dependent.
Frequency parameter passed out of flight phase calculations into find_low_alts.
Combined Descent replaced by Descent
Descent flight phase added, with test case.
Heading Change KPV added.
Bottom of Descent simplified to match the Top of Descent in using Cruise Climb Descent phases, hence ensuring matched pairs of KPVs.
Top of Climb / Top of Descent expanded to provide bottoms of climb and descent using similar algorithms. Unsatisfactory, but included as an interim step. Also, find_level_off included to avoid problems of reverse slicing.