← Back to Skills Marketplace
ravenquasar

Enso Tracker

by U3UT7 · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ Security Clean
47
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install enso-tracker
Description
Track global city temperatures and analyze El Niño/La Niña (ENSO) phenomena with Imperial Modernity visualization
README (SKILL.md)

ENSO Tracker

Track global city temperatures and analyze El Niño/La Niña (ENSO) phenomena. Generate publication-quality charts using the Imperial Modernity color palette.

Overview

ENSO Tracker is an OpenClaw skill for:

  • Tracking the hottest cities worldwide with real-time temperature data
  • Showing current ENSO status (ONI index + phase classification)
  • Analyzing correlation between ENSO cycles and extreme heat events
  • Generating beautiful charts with the Imperial Modernity design system

Run enso_tracker.py correlate to generate an ENSO–India extreme heat correlation chart with gradient lines, danger zones, and key record annotations.


Data Sources

Source Purpose URL
NOAA Climate Prediction Center ONI index, ENSO phase classification https://www.cpc.ncep.noaa.gov/data/indices/oni.ascii.txt
OpenWeatherMap API Real-time global city weather https://openweathermap.org/api
Berkeley Earth Historical temperature anomaly data http://berkeleyearth.org/data/

NOAA ONI Index

The Oceanic Niño Index (ONI) is the standard monitoring metric for ENSO, published by NOAA CPC. Data is provided as 3-month running means, organized by meteorological season.

OpenWeatherMap API

The free tier provides 1,000 calls per day — sufficient for tracking major cities worldwide. Supports current weather, forecasts, and historical data.

Berkeley Earth

Provides global and regional temperature anomaly records for long-term trend analysis.


API Key Setup

OpenWeatherMap Configuration

  1. Sign up: Visit https://openweathermap.org/api and click "Sign Up"
  2. Get your key: After logging in, go to "API Keys" and copy your key
  3. Create config file:
mkdir -p ~/.openclaw/workspace/skills/enso-tracker
cat > ~/.openclaw/workspace/skills/enso-tracker/config.json \x3C\x3C 'EOF'
{
  "openweather_api_key": "YOUR_API_KEY_HERE"
}
EOF
  1. Replace YOUR_API_KEY_HERE with your actual API key

The config file is excluded from version control via .gitignore.


Commands

Track Hottest Cities

Fetch real-time temperatures and generate a ranking chart:

python enso_tracker.py cities --top 20 --output ~/Downloads/hottest_cities.png

Options:

  • --top N — Show top N hottest cities (default: 10)
  • --output — Output file path (default: ~/Downloads/city_ranking.png)
  • --lang — Chart language: zh or en (default: zh)
  • --rate-limit — API request interval in seconds (default: 1.0)

Show ENSO Status

Fetch current ONI index and phase classification:

python enso_tracker.py status

Sample output:

📊 Current ENSO Status
======================
ONI Index: +1.2°C
Phase: El Niño
Intensity: Moderate
Season: DJF 2023

Correlate ENSO with Extreme Heat

Generate an overlay chart of ENSO cycles and extreme heat records:

python enso_tracker.py correlate --output ~/Downloads/enso_india_heat.png

Chart features:

  • Dual Y-axis: ONI index (left) and temperature (right)
  • El Niño phases highlighted in red
  • La Niña phases highlighted in blue
  • Extreme heat event annotations

Generate Temperature Anomaly Chart

Plot regional or global temperature anomalies over time:

python enso_tracker.py anomaly --region "India" --output ~/Downloads/india_anomaly.png

Options:

  • --region — Region name (e.g. "India", "Global", "Europe")
  • --start-year — Start year (default: 1950)
  • --end-year — End year (default: current year)

Compare Years

Compare temperature data between two years:

python enso_tracker.py compare --year1 2023 --year2 2024 --output ~/Downloads/year_comparison.png

ENSO Timeline

Generate a timeline chart of ONI values over a date range:

python enso_tracker.py timeline --start-year 2015 --output ~/Downloads/enso_timeline.png

Color Palette

The Imperial Modernity color system draws from traditional Chinese court aesthetics, fused with modern data visualization principles.

Core Colors

Name Hex Usage
Heritage Red #930013 / #BD1020 Primary, El Niño phases, danger zones
Imperial Gold #D4AF37 Highlights, annotations, key data points
Rice Paper #faf9f5 Chart background

Gradient System

  • Temperature gradient line: YlOrRd colormap, normalized to data range
  • ENSO phases:
    • El Niño (ONI > +0.5): Red #BD1020
    • La Niña (ONI \x3C −0.5): Blue #2171B5
    • Neutral: Gray #6B7280

Chart Style

  • Background: Rice Paper #faf9f5
  • No top/right spines
  • Grid lines: light gray, semi-transparent
  • CJK font support: PingFang HK, Hiragino Sans GB, STHeiti, Arial Unicode MS
  • Output resolution: 180 DPI

Usage Examples

Quick Query

User: What are the hottest cities in the world right now?
→ Run: enso_tracker.py cities --top 10
→ "Current global hottest city ranking has been generated..."

ENSO Analysis

User: Is it El Niño or La Niña right now?
→ Run: enso_tracker.py status
→ "Currently in El Niño phase, ONI index at +1.2°C..."

Deep Analysis

User: Analyze the relationship between ENSO and India heat waves
→ Run: enso_tracker.py correlate
→ "Data shows extreme heat events in India increase by 23% during El Niño years..."

File Structure

enso-tracker/
├── SKILL.md              # This document
├── enso_tracker.py       # Main entry point with CLI
├── sources.py            # Data source adapters
├── viz.py                # Visualization module
└── config.json           # API key config (gitignored, user-created)

Security

  • All API keys stored in config.json — never hardcoded in source
  • Config file excluded from version control via .gitignore
  • All network calls use HTTPS
  • Berkeley Earth uses HTTP (legacy academic server) — only read-only temperature data, no sensitive information transmitted
  • No personal paths hardcoded — all paths use ~/ or relative paths
  • Security audit script: .security-check.sh

Dependencies

pip install pandas matplotlib numpy scipy

Note: The code uses Python standard library urllib for HTTP requests — no need to install requests.


License

This skill is part of the OpenClaw project. Data sourced from public APIs. For educational and research use.

Usage Guidance
Install only if you are comfortable storing an OpenWeatherMap API key in the skill's local config file and allowing the skill to contact NOAA, OpenWeatherMap, and Berkeley Earth. Review output paths before running commands, especially when using custom --output values.
Capability Tags
requires-sensitive-credentials
Capability Assessment
Purpose & Capability
The code fetches NOAA ONI data, OpenWeatherMap city weather, and Berkeley Earth anomaly data, then generates local charts; these capabilities are coherent with the documented ENSO and temperature-tracking purpose.
Instruction Scope
The usage examples map user questions to CLI commands, but the commands are documented, purpose-aligned, and require normal agent or user execution rather than hidden automatic behavior.
Install Mechanism
The artifact contains Python files and documentation with ordinary pip dependencies; there are no installer scripts, obfuscated setup steps, or automatic package mutation mechanisms.
Credentials
The skill uses network requests and writes chart files to user-specified paths, creating output directories as needed. This is proportionate for chart generation, though users should choose output paths intentionally.
Persistence & Privilege
Persistence is limited to a user-created local config.json containing an OpenWeatherMap API key. There is no privilege escalation, background worker, broad local indexing, or credential harvesting; direct test execution of sources.py may print the first few characters of the configured API key.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install enso-tracker
  3. After installation, invoke the skill by name or use /enso-tracker
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
**No functional or code changes; SKILL.md documentation updated and fully translated to English.** - SKILL.md rewritten in English for broader accessibility. - Improved clarity, formatting, and organization of documentation. - Added/updated sections for feature summary, commands, file structure, security, and dependencies. - Usage examples and chart options presented in clear, concise English. - No changes were made to the codebase.
v1.0.0
ENSO Tracker 1.0.0 - Initial release of the ENSO Tracker skill for OpenClaw. - Enables real-time global hottest cities ranking, ENSO (ONI index) status display, and analysis of ENSO and extreme heat correlation. - Generates publication-ready visualization charts using the "Imperial Modernity" color palette. - Integrates three data sources: NOAA CPC for ONI index, OpenWeatherMap for city temperatures, and Berkeley Earth for historical anomalies. - API key setup instructions for OpenWeatherMap added, with secure config file handling. - Multiple CLI commands supported: city ranking, ENSO status, ENSO-heat correlation, anomaly plotting, and year-to-year comparisons.
Metadata
Slug enso-tracker
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Enso Tracker?

Track global city temperatures and analyze El Niño/La Niña (ENSO) phenomena with Imperial Modernity visualization. It is an AI Agent Skill for Claude Code / OpenClaw, with 47 downloads so far.

How do I install Enso Tracker?

Run "/install enso-tracker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Enso Tracker free?

Yes, Enso Tracker is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Enso Tracker support?

Enso Tracker is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Enso Tracker?

It is built and maintained by U3UT7 (@ravenquasar); the current version is v1.0.1.

💬 Comments