oggm.diagnostics.compute_errors#
- oggm.diagnostics.compute_errors(prun, max_msg_length=80)[source]#
Which tasks the failed glaciers failed on, by number and by area.
Errors are split by what they cost us, in the status column:
fatal: the glacier has no usable output at the end, so it is out of every aggregated number of the report.
recovered: the task errored, but the glacier still has a complete run and is used like any other. This is what the dynamic melt_f calibration does when it does not converge: it runs with ignore_errors=True, logs the error and falls back to a simpler initialisation.
The split is made on the outcome (does this glacier have complete output in every run?), not on the task itself. It has to be: the glacier directory keeps only the last error of each glacier, so a task which errored and was recovered is overwritten in the record by any later failure. In other words recovered means “this glacier ended up usable despite this error”, not “this particular task was retried successfully”. The per-glacier log files of the run hold the full trace, but they are not part of the summary output this tool reads.
- Returns:
- a DataFrame with one row per (source, region, error, status), sorted by
- area.