Demo 02 · For global brands, NGOs, and oceanographic platforms
Planetary currents, in motion.
A real-time ocean-current field rendered on a 3D earth. Twelve thousand fluid particles, each advected by a sum of major gyre rotations and the Antarctic Circumpolar zonal band. Drag to rotate. Scroll to zoom. The full simulation runs in your browser at sixty frames per second; the dataset behind it could be your reanalysis, your salinity field, your shipping traffic.
Ocean current simulation
If you publish
Climate research · oceanographic platforms · maritime shipping · global-mission NGOs
Your data lives in netCDF files and academic papers. The board, the press, the donor base, the public — they need to *feel* the planet you're describing. Static maps die in the seventh scroll of a quarterly report; a globe with the data flowing on it crosses the room.
The problem we solve
Planetary-scale data doesn't compress to a screenshot. An ocean current is a thousand trajectories. A wind field is a moving texture. A shipping route is a story over time. The right substrate is an interactive WebGL globe; the right execution is a particle simulation that runs client-side, instantly, on the visitor's phone.
What we'd build for you
- Ingest your dataset: CMEMS ocean reanalysis, HYCOM, ECMWF wind, AIS vessel tracks, salinity, chlorophyll-a, sea-surface temperature, whatever you publish.
- Project onto a Three.js earth tuned to your brand surface: texture, atmospheric tone, type.
- Run the particle integration on the client, GPU-accelerated for large fields. We can also render in a worker thread so the rest of the page stays interactive.
- Encode additional variables by color, particle size, or trail length. The model in this demo is analytical; yours would be data-driven.
Stakes
Without it: your data sits behind a download link. Most visitors never read the paper. The story stays in the abstract.
With it: the visitor moves the globe and feels what your science describes. The next click is usually a donation, a partnership inquiry, or a press request.
How it's built
- Vector field: analytical model combining five major gyres (North/South Atlantic, North/South Pacific, Indian) modeled as 2D rotations falling off with distance from each center, plus the Antarctic Circumpolar Current as a strong eastward zonal band at 60° S, plus the equatorial counter-current at 5° N.
- Particle integration: 12,000 particles each carrying (lat, lon, age). Every frame: sample the field, Euler-step on the sphere, increment age, respawn when age expires or speed stalls. ~1.2 million field evaluations per second sustained.
- Rendering:
THREE.Pointswith vertex colors and additive blending. Speed is mapped through a deep-sea → hot-magenta gradient. Particle size attenuates with distance from camera. - Trail effect: the renderer's
autoClearColoris disabled and a low-alpha quad is drawn each frame, so previous-frame pixels persist briefly. Adjustable via the Trail length slider. - Earth surface: Three.js SphereGeometry with NASA Blue Marble texture (equirectangular). Fresnel-style atmospheric halo via a back-side sphere shader.
- Orbit: hand-rolled spherical orbit control (no OrbitControls dependency). Drag rotates azimuth/elevation, ctrl+wheel adjusts the camera radius.