An interactive 3D Earth intelligence platform visualizing real-world climate signals, live disaster alerts, regional hotspots, and planetary future scenarios (2025–2100).
Photorealistic WebGL globe with high-resolution NASA Blue Marble textures, bump-mapped topology, city night lights, and atmospheric cloud shells.
Custom GLSL shaders and particle systems rendering live disaster feeds (GDACS, WAQI, NASA GIBS).
Interactive layer manager allowing users to toggle visual overlays, adjust signal intensity (0–100%), and filter climate telemetry.
Scrub through IPCC-aligned environmental scenarios and observe real-time planetary transformations in sea level rise, ice coverage, and thermal stress.
- Photorealistic Rendering: Uses high-resolution NASA Earth imagery with topology bump mapping.
- Dynamic Lighting & Night Shell: City light overlays automatically illuminate on the dark side of the globe.
- Smooth Camera Navigation: Click-to-fly orbital camera controls with automatic rotation and drag-to-pause logic.
- Flood Risk: Live GDACS feed (
EVENTS4APP) integration displaying active flood disaster locations with 3D light beacons, expansion shock rings, and Open-Meteo precipitation stats. - Storm Activity: Real-time tracking of tropical cyclones and hurricanes from GDACS, rendered with 3-arm spiral particle systems and storm eyewalls.
- Solar Storms & Space Weather: Interactive solar flare intensity scrubber simulating coronal mass ejections, magnetic field line deflections, and polar auroral ovals.
- Air Pollution: Multi-tier live AQI integration fetching real-time PM2.5 and pollutant data from WAQI (World Air Quality Index) and CPCB (India Ministry of Environment).
- Heat Stress: Custom GLSL shader with 5-octave Simplex Noise turbulence and 240+ country GeoJSON land masking.
- ENSO / El Niño Oscillation: Animated Pacific equatorial ocean current streams, sea surface temperature anomalies, and atmospheric circulation dynamics.
Scrub from year 2025 to 2100 across three IPCC climate projection pathways:
- 🟢 Stabilized Earth (+1.5°C): Paris targets met; controlled sea level rise (+0.3m), polar ice loss capped at 40%.
- 🟠 Adaptation Gap (+2.4°C): Partial mitigation; moderate coastal inundation (+0.6m), ice loss at 65%.
- 🔴 Cascading Crisis (+4.3°C): Current emissions trajectory; catastrophic flooding (+1.2m), ice loss reaching 85-90%.
| Domain | Technologies Used |
|---|---|
| Frontend Core | React 18, Vite 5, JavaScript (ESNext) |
| 3D & Shaders | Three.js (r184), react-globe.gl, Custom GLSL ShaderMaterials |
| State & Animation | Zustand v5, Framer Motion v11 |
| UI & Styling | Tailwind CSS v4, Lucide React, Recharts |
| Backend API | Node.js, Express.js, Firebase Admin SDK |
| Data Sources | GDACS API, WAQI API, Open-Meteo API, NASA GIBS & GPM IMERG |
Earth 2100/
├── client/ # Frontend React + Vite Application
│ ├── public/ # Static assets & logo.png
│ ├── src/
│ │ ├── components/
│ │ │ ├── Globe/ # WebGL Globe, Shaders, & Signal Layers
│ │ │ │ ├── AirPollutionLayer/ # Live WAQI/CPCB Smog Domes
│ │ │ │ ├── FloodLayer/ # Live GDACS Flood Beams & Ripples
│ │ │ │ ├── StormLayer/ # Live GDACS Cyclones & Eyewalls
│ │ │ │ ├── SolarStormLayer/ # Solar Flares & Magnetic Shield
│ │ │ │ ├── HeatMapLayer.jsx # GLSL Thermal Shader
│ │ │ │ └── TimelineLayers/ # Ice, Sea Level & Forest Transitions
│ │ │ ├── Topbar/ # Header Navigation & Branding
│ │ │ ├── Layers/ # Layer Manager & Signal Toggles
│ │ │ └── Futures/ # Planetary Futures Timeline Drawer
│ │ ├── store/ # Zustand Global Stores
│ │ └── config/ # API and Environment Configuration
│ ├── geojson/ # GeoJSON World Boundaries (240+ countries)
│ └── package.json
│
├── server/ # Backend Node.js + Express REST API
│ ├── src/
│ │ ├── controllers/ # Hotspot & Notification Controllers
│ │ ├── routes/ # Express API Endpoint Routes
│ │ └── app.js # Express Application Setup
│ └── package.json
│
├── docs/ # Screenshots & Documentation Assets
│ └── images/ # Demo screenshots location
└── README.md # Root Documentation
- Node.js >= 18.x
- npm or bun / yarn
Clone the repository:
git clone https://github.com/Dubey411/Earth2100.git
cd Earth2100cd client
npm install
npm run devThe client app will launch at http://localhost:5173.
In a separate terminal:
cd server
npm install
npm run devThe backend API will run on http://localhost:5000.
- GDACS API:
https://www.gdacs.org/gdacsapi/api/Events/geteventlist/EVENTS4APP - WAQI (World Air Quality Index):
https://api.waqi.info/feed/ - Open-Meteo Weather:
https://api.open-meteo.com/v1/forecast - NASA GIBS WMS:
https://gibs.earthdata.nasa.gov/wms/epsg4326/best/wms.cgi
Distributed under the MIT License. See LICENSE for more information.








