Known Failure Modes

Overview

This doc attempts to capture known failure modes of PypeIt and potential mitigation strategies. These are intended to be distinct from common user error.

Odd Behavior and/or Faults After Upgrading PypeIt

The best approach is to always re-reduce data you’re still working with anytime you update PypeIt.

Different versions of PypeIt may include changes to the input/output file data models. These changes are not required to be backwards-compatible, meaning that faults may occur when trying to use files intended for or produced by your existing PypeIt version after upgrading to a new version.

Generally, incorrect data models will cause the code to fault. However, those faults may provide very obscure errors. If you run into a fault that you don’t understand, and you’ve recently upgraded your version of PypeIt, your go-to troubleshooting test should be to re-reduce your data.

Bad Headers

A common failure mode is individual data files have corrupt headers. This occurs somewhat frequently at the Keck Observatory when the instrument loses connectivity with the telescope.

The pypeit_setup and pypeit_obslog scripts have been written to be immune from this. Therefore, a failure when using this scripts should be brought to the attention of the developers.

The run_pypeit script, however, is designed to fail as the default when presented with files that have corrupt headers. To over-ride that, you need to add the following to your PypeIt Reduction File:

[rdx]
ignore_bad_headers = True

Note that PypeIt always uses the entries in your data block (often slurped from the headers) as the true values, i.e. you can modify those by hand to over-come aspects of your corrupt header.