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.1.2.tar.gz (39.1 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.1.2-py3-none-any.whl (37.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pyaro-0.1.2.tar.gz
Algorithm Hash digest
SHA256 09c458922a5e5b5b85a78bfaf8245421c22ed9e00ddc6491ba14885f8ee2de61
MD5 4956bf929b12fe2bb5c2f8725d866f3d
BLAKE2b-256 bf31a0ac93e51d41bb87ded789fe07262666ea46fd9e568181bcfa4221383acb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyaro-0.1.2.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.1.2-py3-none-any.whl.

File metadata

  • Download URL: pyaro-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 37.7 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.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bf438c1c34ac18ea723b83772e32f96f1aa8cd0bf30b62ecfead9acb28b8e69d
MD5 3ac9fcf5f122fc96bb85064c67533ecf
BLAKE2b-256 08c4583e809d101234f14c8613571881485b0c0c6e49a03bc2177d8f194bfb80

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyaro-0.1.2-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