> On the morning of Jan. 26, as two Alaska Airlines flights from Seattle to Hawaii lifted off six minutes apart, the pilots each felt a slight bump and the flight attendants at the back of the cabin heard a scraping noise.
> ...a software bug was sending bad takeoff weight data to its crews...
> ...To determine the thrust and speed settings for takeoff, Alaska’s pilots and others use a performance calculation tool supplied by a Swedish company called DynamicSource.
It delivers a message to the cockpit with crucial weight and balance data, including how many people are on board, the jet’s empty and gross weight and the position of its center of gravity.
In a cockpit check before takeoff, this data is entered into the flight computer to determine how much thrust the engines will provide and at what speed the jet will be ready to lift off.
> [!!] the bug [..] only presented when many aircraft at the same time were using the system.
Yes, they are done in the operations center. The weight of the aircraft empty, how much fuel has been loaded, how many passengers are boarding, the baggage weight, any cargo carried, the airport altitude, weather, runway length, and a great many other variables, plus a safety margin, all come from a variety of sources. Why would it be done on the aircraft, and how?
I have the idea that a captain is responsible for its flight, and thus want to have as much information as possible. I think flights have their own full manifest anyway, so they have all the information you mentioned?
As to "how", I'm not sure I understand the issue, can't the same computations be done locally? The computations you mention doesn't sound too computing intensive.
I concur with sibling "Why does this seem so absurd to you?". You probably know real reasons for this not to be done from aircraft, and we're curious to see some.
The pilot arrives about when you do, or is already on board from the previous flight.
Sure, the pilot could plug those numbers into the same computer the dispatcher does before they board, or disembark and use the computer and re-board, but it would be one more thing to do before you can start boarding. They could install that computer on every plane, but that's one more piece of equipment to go wrong/need to be certified, etc...
Why not have a helper who has access to networked systems with all of the cargo and passenger information available do it for the pilot, and access to complex software that they are specifically trained in, and have the calculations printed out and done for the pilot to review? Well, that's exactly what they do.
The pilot could probably do the calculations by hand (it is something you have to demonstrate knowledge of for small plane licenses, which all these pilots have), but that would take an hour at least.
While the calculations aren't compute intensive, there are a LOT of variables. Off the top of my head: passenger count, altitude and temperature at both departure and destination, cargo, cargo distribution, fuel, fuel distribution, reserve fuel needed for the weight carried and destination and routing.
What you end up with is that you want someone whose job it is to exclusively know how to correctly load the planes, and brief the pilots on how they've done it.
So what happens is exactly that. There's a room full of people for any given airline who figure out the weather, the cargo they need to to move, how full flights are, etc. and do all the math and hand the pilot a ream of paperwork that says that we loaded the plane factoring all these things in, here's the proof of work. And the pilot says: looks good. A person with more tools and information and expertise than me on loading has proven they did their job, I trust them in the same way that I trust the mechanic who rebuilt this engine, and the fuel guy who pumped the correct amount of fuel into the correct tanks, and the flight crew who have checked that the doors are latched and armed.
Everything on a commercial airliner is designed to fly safely and subject to FAA regulations. That includes (usually, the 737Max shows there are problems) high standards for the software on board. Once in the air, all the software and computational power, plus whatever networking hardware and software would be needed to talk the multiple systems needed for the computations, is just dead weight, and excess complexity.
Which would you rather have, a software error on the ground that results in a minor incident, or a software error while in flight, resulting in a possibly fatal crash?
The pilots have the necessary information and know how to do the calculation with pencil and paper if necessary. But computers can do the calculation faster and with less chance of error. And a computer in a vendor's data center is easier to maintain than a computer in every plane.
Are these calculations made/provided using metric units in American airports? If not, that's pretty much a death blow against doing them on-aircraft, as any international system has to support two different modes of ingesting data.
Edit: And even still, international regulations will vary and so the aircraft carrying two different sets of regulations seems complicated I would think?
To reduce the risk of this sort of thing happening. I imagine aircraft software standards are a bit better than whatever standards this software uses, if it failed simply due to high load.
> and how?
I'm pretty sure the computer on an aeroplane can handle this simple computation.
Pilots carried a paper performance manual for the aircraft and did the necessary calculations during preflight, I believe - though they stopped doing this because the computerised figures were much more accurate and reliable.
Having no knowledge about how the system works, I could imagine the bug being that one of the calculations timed out under load and wasn't caught, leading to the output not being added to the final calculation.
Where is it mentioned that it's Fortran? and what do you mean by "It’s Fortran so fixed array sizes might be to blame". Who says one cannot have dynamic array sizes in Fortran? You can have fixed array size in any language.
> On the morning of Jan. 26, as two Alaska Airlines flights from Seattle to Hawaii lifted off six minutes apart, the pilots each felt a slight bump and the flight attendants at the back of the cabin heard a scraping noise.
> ...a software bug was sending bad takeoff weight data to its crews...
> ...To determine the thrust and speed settings for takeoff, Alaska’s pilots and others use a performance calculation tool supplied by a Swedish company called DynamicSource. It delivers a message to the cockpit with crucial weight and balance data, including how many people are on board, the jet’s empty and gross weight and the position of its center of gravity. In a cockpit check before takeoff, this data is entered into the flight computer to determine how much thrust the engines will provide and at what speed the jet will be ready to lift off.
> [!!] the bug [..] only presented when many aircraft at the same time were using the system.