Thanks to
@mjw s persistence he retrieved the .DAT and can take a closer look at this incident. There were actually 2 very similar incidents. Following is the analysis of one of those.
The P3 gets it's heading info from a combination of sensors; mostly the gyros, then the accelerometers. Shortly after batteryOn the Flight Controller initializes the Yaw value based on the compass magnetometers but after that it's info coming from the gyros and accelerometers that determine Yaw. After this the magnetometers have only a small effect on the value of Yaw.
If the launch site is geomagnetically distorted the Yaw value will be incorrect because of the effect on the magnetometers. When the P3 has clears the effects of the geomagnetic distortion the compass/magnetometers become correct, BUT the Yaw is being determined by the gyros which hasn't changed.
That's what happened in this incident.
The P3 was launched from a concrete driveway that contains rebar. magYaw is a diagnostic value calculated from the magnetometers. magYaw and Yaw (the value that the P3 uses for heading) are the same incorrect value until the P3 launches at time 16 secs. Then magYaw (blue line) changes to -127, the correct value, BUT Yaw (green line) stays at the old, incorrect, value of -65. This difference is the reason that a COMPASS_ERROR_LARGE is declared (denoted by the pink background).
The FC should have switched to ATTI mode from GPS_ATTI. The fact that it didn't is the reason it was still tying to navigate using the incorrect Yaw value. If it had switched to ATTI it would have drifted with the wind but wouldn't have been difficult to control. The fact that it didn't switch is very unusual; the other flight did switch.
Unfortunately, checking the magMod value isn't much use in detecting this situation before launch. The geoMagnetic field is distorted but it's strength hasn't changed enough to notice. At the edge of the concrete there
may be enough field strength difference to notice. The only way to really detect this kind of problem is to eyeball the P3, know which way it's pointing, and check that with the red arrow in the display. Having said that, I'll also add that I never do this.
The cause of this incident had nothing to do with the compass calibration or lack thereof.