tephpy.exceptions#
The public tephpy exception hierarchy (spec §6).
Every exception tephpy raises for user-correctable input derives from
TephpyError, so except TephpyError catches them all. Units
problems raise TephpyUnitsError; physically impossible data raises
a TephpyValidationError subclass carrying the offending level
indices. Validation happens at ingest (Sounding construction), not
mid-plot.
Configuration-file problems are the one place tephpy also warns:
TephpyConfigWarning is a UserWarning, not a
TephpyError, because an unusable configuration file degrades to
the hardwired defaults instead of stopping the import (configfile spec §5).
Exceptions#
Root of the tephpy exception hierarchy. |
|
Missing, ambiguous, unparsable, or wrong-dimension units (spec §5). |
|
Physically impossible input, identified by level indices (spec §6). |
|
Pressure is not strictly monotonic (spec §3.4). |
|
Dewpoint exceeds temperature at one or more levels (spec §3.4). |
|
The sounding lacks a field the requested operation needs (spec §6). |
|
A reader could not fetch or make sense of its source (spec §6). |
|
The profile tops out at or below the parcel's LCL (spec §6). |
|
A configuration file could not be read or made sense of. |
|
A configuration file was used, but something in it was ignored. |
Module Contents#
- exception tephpy.exceptions.TephpyError[source]#
Bases:
ExceptionRoot of the tephpy exception hierarchy.
- exception tephpy.exceptions.TephpyUnitsError[source]#
Bases:
TephpyErrorMissing, ambiguous, unparsable, or wrong-dimension units (spec §5).
- exception tephpy.exceptions.TephpyValidationError(message: str, *, levels: tuple[int, Ellipsis] = ())[source]#
Bases:
TephpyErrorPhysically impossible input, identified by level indices (spec §6).
- Parameters:
- Attributes:
- levels = ()#
- exception tephpy.exceptions.NonMonotonicPressureError(message: str, *, levels: tuple[int, Ellipsis] = ())[source]#
Bases:
TephpyValidationErrorPressure is not strictly monotonic (spec §3.4).
- exception tephpy.exceptions.DewpointExceedsTemperatureError(message: str, *, levels: tuple[int, Ellipsis] = ())[source]#
Bases:
TephpyValidationErrorDewpoint exceeds temperature at one or more levels (spec §3.4).
Equality — saturation — is physical and accepted; only strict excess is rejected.
- exception tephpy.exceptions.MissingDataError(message: str, *, levels: tuple[int, Ellipsis] = ())[source]#
Bases:
TephpyValidationErrorThe sounding lacks a field the requested operation needs (spec §6).
Raised at the operation’s boundary — the earliest point the need is knowable — e.g. parcel analysis without dewpoint, or (in a later release) wind barbs without wind.
- exception tephpy.exceptions.TephpyIOError[source]#
Bases:
TephpyErrorA reader could not fetch or make sense of its source (spec §6).
Network failures, HTTP errors, the archive’s “no data” replies, a malformed or unrecognisable file, and an ambiguous read (an IGRA station file holding many soundings with no
time=selector) all raise this, summarising the upstream response or file state.
- exception tephpy.exceptions.ProfileTooShortError(message: str, *, levels: tuple[int, Ellipsis] = ())[source]#
Bases:
TephpyValidationErrorThe profile tops out at or below the parcel’s LCL (spec §6).
No moist ascent exists, so every parcel-derived quantity would be meaningless;
calc.parcel_pathandcalc.indicesboth raise this. The LCL tested is the one the path would use — the corrected one when a cloud-base correction is requested.
- exception tephpy.exceptions.TephpyConfigError[source]#
Bases:
TephpyErrorA configuration file could not be read or made sense of.
A malformed YAML document, a top-level entry that is not a mapping, an unknown configuration section, and a
$TEPHPYRCnaming a file that does not exist all raise this. Raised only when the file was asked for explicitly; the import-time auto-load warns instead (configfile spec §5).
- exception tephpy.exceptions.TephpyConfigWarning[source]#
Bases:
UserWarningA configuration file was used, but something in it was ignored.
An unknown option, an option whose value is an explicit null, and any failure during the import-time auto-load warn rather than raise, so a typo in a configuration file cannot make
tephpyunimportable (configfile spec §5).