Skip to main content

pyaro py-aerocom reader objects

Project description

pyaro - Airquality Reader-interface for Observations

pyaro-logo

The library that solves the mystery of reading airquality measurement databases. (Pronunciation as in French: Poirot)

About

Pyaro is an interface which uses a simple access pattern to different air-pollution databases. The goal of pyro was threefold.

  1. A simple interface for different types of air-pollution databases
  2. A programmatic interface to these databases easily usable by large applications like PyAerocom
  3. Easy extension for air-pollution database providers or programmers giving the users (1. or 2.) direct access their databases without the need of a new API.

A few existing implementations of pyaro can be found at pyaro-readers.

Installation

python -m pip install 'pyaro@git+https://github.com/metno/pyaro.git'

This will install pyaro and all its dependencies (numpy).

Usage

import pyaro.timeseries
TEST_FILE = "csvReader_testdata.csv"
engines = pyaro.list_timeseries_engines()
# {'csv_timeseries': <pyaro.csvreader.CSVTimeseriesReader.CSVTimeseriesEngine object at 0x7fcbe67eab00>}
print(engines['csv_timeseries'].args)
# ('filename', 'columns', 'variable_units', 'csvreader_kwargs', 'filters')
print(pyaro.timeseries.filters.list)
# immutable dict of all filter-names to filter-classes
print(engines['csv_timeseries'].supported_filters())
# list of filter-classes supported by this reader
print(pyaro.timeseries.filters.list)

with engines['csv_timeseries'].open(
    filename=TEST_FILE,
    filters={'countries': {include=['NO']}}
    ) as ts:
    for var in ts.variables():
        # stations
        ts.data(var).stations
        # start_times
        ts.data(var).start_times
        # stop_times
        ts.data(var).end_times
        # latitudes
        ts.data(var).latitudes
        # longitudes
        ts.data(var).longitudes
        # altitudes
        ts.data(var).altitudes
        # values
        ts.data(var).values
        # flags
        ts.data(var).flags


        # if pandas is installed, data can be converted to a pandas Dataframe
        df = pyaro.timeseries_data_to_pd(data)

Supported readers

  • csv_timeseries Reader for all tables readable with the python csv module. The reader supports reading from a single local file, with csv-parameters added on the command-line.

Usage - csv_timeseries

import pyaro.timeseries
TEST_FILE = "csvReader_testdata.csv"
engine = pyaro.list_timeseries_engines()["csv_timeseries"]
ts = engine.open(TEST_FILE, filters=[], fill_country_flag=False)
print(ts.variables())
# stations
ts.data('SOx').stations
# start_times
ts.data('SOx').start_times
# stop_times
ts.data('SOx'.end_times
# latitudes
ts.data('SOx').latitudes
# longitudes
ts.data('SOx').longitudes
# altitudes
ts.data('SOx').altitudes
# values
ts.data('SOx').values

COPYRIGHT

Copyright (C) 2023 Heiko Klein, Daniel Heinesen, Norwegian Meteorological Institute

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, see https://www.gnu.org/licenses/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyaro-0.2.0.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyaro-0.2.0-py3-none-any.whl (38.4 kB view details)

Uploaded Python 3

File details

Details for the file pyaro-0.2.0.tar.gz.

File metadata

  • Download URL: pyaro-0.2.0.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyaro-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ab1c8ecc8dcb0f66f5a749235932191aae4532650db658fc72954f02b87f7edb
MD5 7e3ba270074fcd0d51ceb6398b9b5e70
BLAKE2b-256 4008f007e2a5da4f633ee2c8e563f225328966fd8b93a669abb86333c7ae6d24

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyaro-0.2.0.tar.gz:

Publisher: publish.yml on metno/pyaro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyaro-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pyaro-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 38.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyaro-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 417dd3df00a4317b03e184618137fa647dbc9d7b6996e18d9b0ba861896fff47
MD5 77509230b4ab6753a059e1abfdfa24dc
BLAKE2b-256 efc945df21fbd4ccb8adfa49507d4d5ba796e9a6ad64c177b68b5ec237bc8ba2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyaro-0.2.0-py3-none-any.whl:

Publisher: publish.yml on metno/pyaro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page