Skip to main content

Python module to interact with the AEMET API to download meteorological data

Project description

pyAEMET

PyPI Latest Release DOI License Downloads pyaemet

A python library developed to download daily climatological values from the Spanish National Meteorological Agency (AEMET) through its OpenData API. The library contains several methods to facilitate downloading and filtering the climatological data.

The information that this library collects and uses is property of the Spanish State Meteorological Agency, available through its AEMET OpenData REST API.

Installation

$ pip install pyaemet

To use the pyAEMET module, you need to get an API key from the AEMET (Spanish State Meteorological Agency) OpenData platform. You can apply for a key here.

Usage

Once the module is installed and you have your API key, you can start using the module by importing it in your Python script. To use the module's functions, you need to initialize the client with your API key:

import pyaemet

aemet = pyaemet.AemetClima(api_key)

The AemetClima class takes an API key as a parameter in its constructor and allows you to get information about the available monitoring sites, filter sites based on different parameters (e.g., city, province, autonomous community), and get nearby sites to a specific location.

Here is a summary of some of the methods provided by the AemetClima class:

  • sites_info: Retrieves information about all the available monitoring sites. The method returns an instance of the SitesDataFrame class, which is a subclass of the pandas DataFrame.
aemet.sites_info(update=True)
  • sites_in: Filters the available monitoring sites based on specified parameters (e.g., city, province, autonomous community). The method returns an instance of the SitesDataFrame class.
aemet.sites_in(subregion="Cantabria")

image

  • near_sites: Retrieves the n_near monitoring sites closest to a specified latitude and longitude, within a maximum distance of max_distance kilometers. The method returns an instance of the NearSitesDataFrame class.
aemet.near_sites(latitude=43.47,
                 longitude=-3.798,
                 n_near=5, max_distance=50)

image

  • sites_curation: Retrieves the amount of available data of certain variables in the monitoring sites in a period of time defined by start_dt and end_dt. The function returns a SitesDataFrame or NearSitesDataFrame (depends of the type of the sites parameter given) with a column with the average amount between all variables and has_enough boolean if the amount is greater or equal to a threshold.

  • daily_clima: Retrieves daily climate data for a given site or a list of sites over a specified date range defined by start_dt and end_dt. The function returns a ObservationsDataFrame object, which is a data structure that holds the retrieved climate data along with any associated metadata.

import datetime
aemet.daily_clima(site=aemet.sites_in(city="Santander"),
                  start_dt=datetime.date(2022, 6, 3),
                  end_dt=datetime.date.today())

The module also provides three deprecated methods estaciones_info, estaciones_loc and clima_diaria that perform similar functionality as the sites_info, sites_in and daily_clima methods, respectively.

You can find the complete documentation of the module's functions in the GitHub repository, under the docs directory.

FAQ

Contributing

References

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

pyaemet-1.1.1.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

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

pyaemet-1.1.1-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

Details for the file pyaemet-1.1.1.tar.gz.

File metadata

  • Download URL: pyaemet-1.1.1.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.8

File hashes

Hashes for pyaemet-1.1.1.tar.gz
Algorithm Hash digest
SHA256 9b2f351222974e50f0ee686a0bb22f1240d75d03d3842a315509e1abf9620543
MD5 efa30d1029f14b2b2b2ef32d6a28e69c
BLAKE2b-256 d19f3b551507d478ca06513dc9defa4fd75700f5fb4b38d4c7d4368fcfb8cba0

See more details on using hashes here.

File details

Details for the file pyaemet-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: pyaemet-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 40.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.8

File hashes

Hashes for pyaemet-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2e2ba2c95d12577bc369a89ea415fe1be94970516615f1900ec5d773303e1860
MD5 8245bbf5a1908b0dbbbbda59811feb8b
BLAKE2b-256 d7221169328feb886b627b574e74d11c529987d27183dd29698eb2575e940431

See more details on using hashes here.

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