drycal: For MesaLabs Drycal Pro data

Extractors for files from MesaLabs DryCal Pro software for Defender flow meters.

yadg.extractors.drycal.common module

This module includes shared functions for the drycal extractor, including functions for parsing the files, processing the tabulated data, and ensuring timestamps are increasing.

Code author: Peter Kraus

pydantic model yadg.extractors.drycal.common.TimeDate

Bases: BaseModel

pydantic model TimestampSpec

Bases: BaseModel

Config:
  • extra: str = forbid

field index: int | None = None
field format: str | None = None
field date: TimestampSpec | None = None
field time: TimestampSpec | None = None
yadg.extractors.drycal.common.rtf(fn: str, encoding: str, timezone: str) Dataset
yadg.extractors.drycal.common.sep(fn: str, sep: str, encoding: str, timezone: str) Dataset
yadg.extractors.drycal.common.drycal_table(lines: list, sep: str = ',') tuple[list, dict, list]

DryCal table-processing function.

Given a table with headers and units in the first line, and data in the following lines, this function returns the headers, units, and data extracted from the table. The returned values are always of (str) type, any post-processing is done in the calling routine.

yadg.extractors.drycal.common.check_timestamps(vals: Dataset) Dataset

yadg.extractors.drycal.csv module

Handles the reading and processing of volumetric flow meter data exported from the MesaLabs DryCal software as a csv file.

Note

The date information is missing in the timestamps of the exported files and has to be supplied externally.

Usage

Available since yadg-4.0.

pydantic model dgbowl_schemas.yadg.dataschema_6_0.filetype.Drycal_csv
Config:
  • extra: str = forbid

Validators:

field filetype: Literal['drycal.csv'] [Required]

Schema

xarray.DataTree:
  coords:
    uts:            !!float               # Unix timestamp, without date
  data_vars:
    DryCal:         (uts)                 # Standardised flow rate
    DryCal Avg.:    (uts)                 # Running average of the flow rate
    Temp.:          (uts)                 # Measured flow temperature
    Pressure:       (uts)                 # Measured flow pressure

Metadata

The following metadata is extracted:

  • product: Model name of the MesaLabs device.

  • serial number: Serial number of the MesaLabs device.

Uncertainties

All uncertainties are derived from the string representation of the floats.

Code author: Peter Kraus

yadg.extractors.drycal.csv.extract(*, fn: str, encoding: str, timezone: str, **kwargs: dict) DataTree

yadg.extractors.drycal.rtf module

Handles the reading and processing of volumetric flow meter data exported from the MesaLabs DryCal software as a rtf file.

Note

The date information is missing in the timestamps of the exported files and has to be supplied externally. The timestamp in the header of the rtf file corresponds to the timestamp of export / report generation, not measurement.

Usage

Available since yadg-4.0.

pydantic model dgbowl_schemas.yadg.dataschema_6_0.filetype.Drycal_rtf
Config:
  • extra: str = forbid

Validators:

field filetype: Literal['drycal.rtf'] [Required]

Schema

xarray.DataTree:
  coords:
    uts:            !!float               # Unix timestamp, without date
  data_vars:
    DryCal:         (uts)                 # Standardised flow rate
    DryCal Avg.:    (uts)                 # Running average of the flow rate
    Temp.:          (uts)                 # Measured flow temperature
    Pressure:       (uts)                 # Measured flow pressure

Metadata

The following metadata is extracted:

  • product: Model name of the MesaLabs device.

  • serial number: Serial number of the MesaLabs device.

Uncertainties

All uncertainties are derived from the string representation of the floats.

Code author: Peter Kraus

yadg.extractors.drycal.rtf.extract(*, fn: str, encoding: str, timezone: str, **kwargs: dict) DataTree

yadg.extractors.drycal.txt module

Handles the reading and processing of volumetric flow meter data exported from the MesaLabs DryCal software as a txt file.

Note

The date information is missing in the timestamps of the exported files and has to be supplied externally.

Usage

Available since yadg-4.0.

pydantic model dgbowl_schemas.yadg.dataschema_6_0.filetype.Drycal_txt
Config:
  • extra: str = forbid

Validators:

field filetype: Literal['drycal.txt'] [Required]

Schema

xarray.DataTree:
  coords:
    uts:            !!float               # Unix timestamp, without date
  data_vars:
    DryCal:         (uts)                 # Standardised flow rate
    DryCal Avg.:    (uts)                 # Running average of the flow rate
    Temp.:          (uts)                 # Measured flow temperature
    Pressure:       (uts)                 # Measured flow pressure

Metadata

The following metadata is extracted:

  • product: Model name of the MesaLabs device.

  • serial number: Serial number of the MesaLabs device.

Uncertainties

All uncertainties are derived from the string representation of the floats.

Code author: Peter Kraus

yadg.extractors.drycal.txt.extract(*, fn: str, encoding: str, timezone: str, **kwargs: dict) DataTree