geomet-catalog
Browse, query, visualize, and export Canadian weather, climate, hydrometric, and air quality data from the MSC GeoMet OGC API. Triggers: weather data, climate data, GeoMet, ECCC, MSC, hydrometric, AQHI, air quality, Environment Canada, water levels, climate observations
What this skill does
# GeoMet Catalog Skill Query Environment and Climate Change Canada's open data via the MSC GeoMet OGC API. **Base URL:** `https://api.weather.gc.ca` **Auth:** None required — free and public **Format:** OGC API - Features (GeoJSON) ## Workflow 1. **Discover** — find available collections with `geomet_collections.py` 2. **Inspect** — check queryable properties for filter options 3. **Fetch** — retrieve data with spatial/temporal/property filters using `geomet_fetch.py` 4. **Export/Visualize** — save to CSV/GeoJSON or generate charts with `geomet_export.py` / `geomet_visualize.py` ## Scripts All scripts are in `scripts/` relative to this skill directory. They use only Python stdlib (except `geomet_visualize.py` which needs `matplotlib`). ### geomet_collections.py — Browse Collections ```bash # List all collections python geomet_collections.py --list # Search by keyword python geomet_collections.py --search climate python geomet_collections.py --search hydro # Full metadata for one collection python geomet_collections.py --info climate-hourly # Show filterable properties python geomet_collections.py --queryables climate-hourly # Group collections by category python geomet_collections.py --categories ``` ### geomet_fetch.py — Fetch Data ```bash # Basic fetch (10 items by default) python geomet_fetch.py climate-hourly --limit 5 # Filter by property python geomet_fetch.py hydrometric-daily-mean --properties STATION_NUMBER=02HA003 --limit 10 # Spatial + temporal filter python geomet_fetch.py climate-daily --bbox -80,43,-70,47 --datetime 2023-01-01/2023-01-31 --limit 20 # Select specific fields python geomet_fetch.py climate-hourly --fields STATION_NAME,TEMP,LOCAL_DATE --limit 10 # JSON output python geomet_fetch.py climate-hourly --limit 5 --json # Paginate through results (with safety cap) python geomet_fetch.py climate-hourly --all-pages --max-items 200 # Sort results python geomet_fetch.py climate-daily --sortby -MAX_TEMP --limit 10 ``` ### geomet_export.py — Export to File ```bash # Export to CSV python geomet_export.py climate-hourly --format csv --limit 50 # Export to GeoJSON python geomet_export.py aqhi-observations-realtime --format geojson --limit 50 # Export with filters python geomet_export.py climate-daily --format csv --bbox -80,43,-70,47 --datetime 2023-06-01/2023-06-30 # Custom output path python geomet_export.py climate-hourly --format csv --limit 100 -o my_data.csv # Paginate all results (capped at 1000) python geomet_export.py hydrometric-daily-mean --format csv --properties STATION_NUMBER=02HA003 --all-pages --max-items 500 ``` CSV output flattens Point geometry into `longitude` and `latitude` columns. ### geomet_visualize.py — Generate Charts (requires matplotlib) ```bash # Time series python geomet_visualize.py climate-hourly --type timeseries --y-field TEMP --limit 200 # Time series grouped by station python geomet_visualize.py climate-hourly --type timeseries --y-field TEMP --group-by STATION_NAME --limit 200 # Bar chart (averages by category) python geomet_visualize.py climate-daily --type bar --x-field LOCAL_MONTH --y-field MEAN_TEMP --limit 500 # Scatter plot python geomet_visualize.py climate-daily --type scatter --x-field MIN_TEMP --y-field MAX_TEMP --limit 200 # Map of stations colored by value python geomet_visualize.py aqhi-observations-realtime --type map --y-field AQHI --limit 100 # Map of all stations python geomet_visualize.py climate-hourly --type map --limit 200 # Custom title and output python geomet_visualize.py climate-hourly --type timeseries --y-field TEMP --title "Ottawa Temps" --output ottawa.png --properties STATION_NAME=OTTAWA+CDA --limit 200 ``` All charts are saved as PNG. The `--x-field` for timeseries is auto-detected from common date field names. ## Common Collections ### Climate | ID | Description | |----|-------------| | `climate-hourly` | Hourly observations (temp, humidity, wind, pressure) | | `climate-daily` | Daily summaries (max/min/mean temp, precipitation) | | `climate-monthly` | Monthly aggregates | | `climate-normals` | 30-year normals | ### Hydrometric (Water) | ID | Description | |----|-------------| | `hydrometric-daily-mean` | Daily mean water level and discharge | | `hydrometric-monthly-mean` | Monthly mean water data | | `hydrometric-annual-peaks` | Annual peak water levels | | `hydrometric-realtime` | Real-time water data | ### Air Quality | ID | Description | |----|-------------| | `aqhi-observations-realtime` | Real-time Air Quality Health Index | | `aqhi-forecasts-realtime` | AQHI forecasts | ### Weather | ID | Description | |----|-------------| | `citypageweather-realtime` | Current city weather conditions | | `swob-realtime` | Surface weather observations | ## Key Query Patterns ### Filter by location (bounding box) ``` --bbox west,south,east,north --bbox -76.0,45.2,-75.3,45.6 # Ottawa area --bbox -80.0,43.4,-79.0,44.0 # Toronto area --bbox -141.0,41.7,-52.6,83.1 # All of Canada ``` ### Filter by time ``` --datetime 2023-06-15 # Exact date --datetime 2023-01-01/2023-12-31 # Date range --datetime 2023-06-01T00:00:00Z/2023-06-30T23:59:59Z # Datetime range --datetime ../2023-06-15 # Before date --datetime 2023-06-15/.. # After date ``` ### Filter by property ``` --properties STATION_NAME=OTTAWA+CDA --properties PROVINCE_CODE=ON --properties STATION_NUMBER=02HA003 ``` Multiple property filters can be combined: ``` --properties PROVINCE_CODE=ON STATION_NAME=TORONTO ``` ## Pagination Safety Some collections have 100M+ records. The scripts enforce safety caps: - `geomet_fetch.py`: default `--max-items 500` - `geomet_export.py`: default `--max-items 1000` - Always add filters (bbox, datetime, properties) before using `--all-pages` ## Detailed API Reference See `references/api_reference.md` for: - Full endpoint parameter tables - Response JSON structures - Property schemas for each major collection - Bounding box examples for Canadian regions
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.