Welcome to filter-stations documentation!
This documentation covers the installation, usage, and API reference for the package.
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()