A secure, unified Python interface for African climate data, integrating TAHMO station data and gridded datasets (IMERG, CHIRPS, ERA5, TAMSAT), and medium-to-seasonal weather models
Project description
Documentation
You can find the documentation for the project by following this link
https://filter-stations.readthedocs.io/en/latest/
Getting Started
All methods require an API key and secret, which can be obtained by contacting dsail-info@dkut.ac.ke.
AuthManager: The new secure gateway. Log in once with your credentials to automatically unlock access to all downstream data loadersRainLoader: class is used to get our DSAIL unified weather dataset from HuggingFace (See the documentation for more information on this)MediumForecaster: Connects to the Google Weather API to pull 1-to-10 day forecasts (both hourly and daily)SeasonalForecaster: Connects to Open-Meteo API to pull seasonal forecasts.- The
RetrieveDataclass is used to retrieve data from the TAHMO API endpoints. - The
Kieniclass is used to get weather data for stations 100km around Kieni from the central point.with water level data.
Example
from filter_stations import AuthManager, MediumForecaster, RetrieveData, SeasonalForecaster
# 1. Authenticate once securely
auth = AuthManager(email="your_email@domain.com", password="your_password")
# 2. Initialize any tool you need seamlessly
weather = MediumForecaster(auth_session=auth)
tahmo = RetrieveData(auth_session=auth)
seasonal = SeasonalForecaster(auth_session=auth)
# 3. Pull your Medium Range weather forecast data
nyeri_forecast = weather.get_weather_api_forecast(lat=-0.41, lon=36.95, days=7)
# Seasonal Forecasting Example
# 4. See what is available
print(seasonal.list_all_models())
# 5. Pull 6 months of ECMWF AIFS and Standard IFS data simultaneously
data = seasonal.get_forecast(
lat=-0.41,
lon=36.95,
models=["ecmwf_seasonal_ensemble_mean_seamless"],
forecast_months=6,
daily=['temperature_2m_max',
'temperature_2m_mean',
'temperature_2m_min',
'precipitation_sum',
'rain_sum',
'pressure_msl_min',
'pressure_msl_mean',
'relative_humidity_2m_min',
'relative_humidity_2m_mean',
'relative_humidity_2m_max',
'dew_point_2m_max',
'dew_point_2m_mean',
'dew_point_2m_min',
'surface_pressure_min',
'surface_pressure_mean',
'surface_pressure_max',
'cloud_cover_min',
'cloud_cover_mean',
'cloud_cover_max' ]
)
# 6. View the AIFS DataFrame (first model in the list)
aifs_df = data[0]["daily_df"]
print(aifs_df)
seasonal.list_api_variables()
To get started on the module test it out on Google Colab
For earlier versions <= v0.6.2 use the link below for documentation
https://filter-stations.netlify.app/
Citations
If you use this package in your research, please cite it using the following BibTeX entry:
@misc{filter-stations,
author = {Austin Kaburia},
title = {filter-stations},
year = {2024},
publisher = {Python Package Index},
journal = {PyPI},
howpublished = {\url{https://pypi.org/project/filter-stations/}},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file filter_stations-0.8.3.tar.gz.
File metadata
- Download URL: filter_stations-0.8.3.tar.gz
- Upload date:
- Size: 40.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
918b537750b3d8e7ec3d3a5924848fc9ee6bafa9e0b3b3989b0c31cf528fc562
|
|
| MD5 |
2bf27e3743c3abcae1fcdc5aef6f9b88
|
|
| BLAKE2b-256 |
4297907ec537d82d30940653018e15bcf3c0232feeb837307f93f57db5e963ea
|
File details
Details for the file filter_stations-0.8.3-py3-none-any.whl.
File metadata
- Download URL: filter_stations-0.8.3-py3-none-any.whl
- Upload date:
- Size: 28.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d7be30902596255b1f27d1fb2c8ffd126b8e65fd303078ac5f3e1e3ad84846d
|
|
| MD5 |
ed5fc4cf8ca18f4f1fed1b8c75e93442
|
|
| BLAKE2b-256 |
9d73ea236bd4bcf04ea878409ec0a2bbdda4ef355bd7ddf2c762f8275bf29851
|