hydro.exchange.exceptions

Exceptions

ExchangeError

This is the base exception which all the other exceptions derive from.

ExchangeEncodingError

Error raised when the bytes for some exchange file cannot be decoded as UTF-8.

ExchangeBOMError

Error raised when the exchange file has a byte order mark.

ExchangeLEError

Error raised when the exchange file does not have the correct line endings.

ExchangeMagicNumberError

Error raised when the exchange file does not start with BOTTLE or CTD.

ExchangeEndDataError

Erorr raised when END_DATA cannot be found in the exchange file.

ExchangeParameterError

Base exception for errors related to parameters and units.

ExchangeParameterUndefError

Error raised when the library does not have a definition for a parameter/unit pair in the exchange file.

ExchangeParameterUnitAlignmentError

Error raised when there is a mismatch between the number of parameters and number of units in the exchange file.

ExchangeDuplicateParameterError

Error raised when the same parameter/unit pair occurs more than once in the excahnge file.

ExchangeOrphanFlagError

Error raised when there exists a flag column with no corresponding parameter column.

ExchangeOrphanErrorError

Error raised when there exists an error column with no corresponding parameter column.

ExchangeFlaglessParameterError

Error raised when a parameter has a flag column when it is not supposed to.

ExchangeFlagUnitError

Error raised if a flag column has a non empty units.

ExchangeDataError

Base exception for errors which occur when parsing the data porition of an exchange file.

ExchangeDataColumnAlignmentError

Error raised when the number of columns in a data line does not match the expected number of columns based on the parameter/unit lines.

ExchangeDataFlagPairError

There is a mismatch between what the flag value expects, and the fill/data value.

ExchangeDataPartialKeyError

Error raised when there is no value for one (or more) of the following parameters.

ExchangeDuplicateKeyError

Error raised when there is a duplicate composite key in the exchange file.

ExchangeDataPartialCoordinateError

Error raised if values for latitude, longitude, or pressure are missing.

ExchangeDataInconsistentCoordinateError

Error raised if the reported latitude, longitude, and date (and time) vary for a single profile.

ExchangeInconsistentMergeType

Error raised when the merge_ex method is called on mixed ctd and bottle exchange types.

ExchangeRecursiveZip

Error raised if there are zip files inside the zip file that read exchange is trying to read.

Module Contents

exception hydro.exchange.exceptions.ExchangeError[source]

Bases: ValueError

This is the base exception which all the other exceptions derive from. It is a subclass of ValueError.

exception hydro.exchange.exceptions.ExchangeEncodingError[source]

Bases: ExchangeError

Error raised when the bytes for some exchange file cannot be decoded as UTF-8.

exception hydro.exchange.exceptions.ExchangeBOMError[source]

Bases: ExchangeError

Error raised when the exchange file has a byte order mark.

exception hydro.exchange.exceptions.ExchangeLEError[source]

Bases: ExchangeError

Error raised when the exchange file does not have the correct line endings.

exception hydro.exchange.exceptions.ExchangeMagicNumberError[source]

Bases: ExchangeError

Error raised when the exchange file does not start with BOTTLE or CTD.

exception hydro.exchange.exceptions.ExchangeEndDataError[source]

Bases: ExchangeError

Erorr raised when END_DATA cannot be found in the exchange file.

exception hydro.exchange.exceptions.ExchangeParameterError[source]

Bases: ExchangeError

Base exception for errors related to parameters and units.

exception hydro.exchange.exceptions.ExchangeParameterUndefError(error_data)[source]

Bases: ExchangeParameterError

Error raised when the library does not have a definition for a parameter/unit pair in the exchange file.

Parameters:

error_data (list[str])

error_data[source]
exception hydro.exchange.exceptions.ExchangeParameterUnitAlignmentError[source]

Bases: ExchangeParameterError

Error raised when there is a mismatch between the number of parameters and number of units in the exchange file.

exception hydro.exchange.exceptions.ExchangeDuplicateParameterError[source]

Bases: ExchangeParameterError

Error raised when the same parameter/unit pair occurs more than once in the excahnge file.

exception hydro.exchange.exceptions.ExchangeOrphanFlagError[source]

Bases: ExchangeParameterError

Error raised when there exists a flag column with no corresponding parameter column.

exception hydro.exchange.exceptions.ExchangeOrphanErrorError[source]

Bases: ExchangeParameterError

Error raised when there exists an error column with no corresponding parameter column.

exception hydro.exchange.exceptions.ExchangeFlaglessParameterError[source]

Bases: ExchangeParameterError

Error raised when a parameter has a flag column when it is not supposed to.

exception hydro.exchange.exceptions.ExchangeFlagUnitError[source]

Bases: ExchangeParameterError

Error raised if a flag column has a non empty units.

exception hydro.exchange.exceptions.ExchangeDataError[source]

Bases: ExchangeError

Base exception for errors which occur when parsing the data porition of an exchange file.

exception hydro.exchange.exceptions.ExchangeDataColumnAlignmentError[source]

Bases: ExchangeDataError

Error raised when the number of columns in a data line does not match the expected number of columns based on the parameter/unit lines.

exception hydro.exchange.exceptions.ExchangeDataFlagPairError(error_data)[source]

Bases: ExchangeDataError

There is a mismatch between what the flag value expects, and the fill/data value.

Examples

  • something with a flag of 9 has a non fill value

  • something with a flag of 2 as a fill value instead of data

error_data[source]
Parameters:

error_data (xarray.Dataset)

exception hydro.exchange.exceptions.ExchangeDataPartialKeyError[source]

Bases: ExchangeDataError

Error raised when there is no value for one (or more) of the following parameters.

  • EXPOCODE

  • STNNBR

  • CASTNO

  • SAMPNO (only for bottle files)

  • CTDPRS (only for CTD files)

These form the “composite key” which uniquely identify the “row” of exchange data.

exception hydro.exchange.exceptions.ExchangeDuplicateKeyError[source]

Bases: ExchangeDataError

Error raised when there is a duplicate composite key in the exchange file.

This would occur if the exact values for the following parameters occur in more than one data row:

  • EXPOCODE

  • STNNBR

  • CASTNO

  • SAMPNO (only for bottle files)

  • CTDPRS (only for CTD files)

exception hydro.exchange.exceptions.ExchangeDataPartialCoordinateError[source]

Bases: ExchangeDataError

Error raised if values for latitude, longitude, or pressure are missing.

It is OK by the standard to omit the time of day.

exception hydro.exchange.exceptions.ExchangeDataInconsistentCoordinateError[source]

Bases: ExchangeDataError

Error raised if the reported latitude, longitude, and date (and time) vary for a single profile.

A “profile” in an exchange file is a grouping of data rows which all have the same EXPOCODE, STNNBR, and CASTNO. The SAMPNO/CTDPRS is allowed/requried to vary for a single profile and is what identifies samples within one profile.

exception hydro.exchange.exceptions.ExchangeInconsistentMergeType[source]

Bases: ExchangeError

Error raised when the merge_ex method is called on mixed ctd and bottle exchange types.

exception hydro.exchange.exceptions.ExchangeRecursiveZip[source]

Bases: ExchangeError

Error raised if there are zip files inside the zip file that read exchange is trying to read.