coriolis

Weather events, drawn as dots.

Cyclones as the satellite sees them, spinning the right way for their hemisphere. Cumulus and roll clouds from the side. Thunderstorms at night, lit by their own lightning, lightning on its own, tornadoes from rope to wedge, the aurora, rain and snow, dust storms and wind. Fifty-seven named events. No dependencies, one script.

Flags

The same storm four ways. They stack.

Use it

One script, then a canvas per storm. Height is the size; a wider canvas gives the outer bands room.

<script src="https://cdn.jsdelivr.net/gh/TonkaTuff/coriolis@v0.8.0/dist/coriolis.min.js"></script>
<canvas class="wx" width="200" height="200" data-wx-body="tracy"></canvas>
attributevaluewhat it does
data-wx-bodystormany name above
data-wx-hemispherenorth, southsouth spins clockwise
data-wx-cat1–5how organised: 5 has a pinhole eye and crisp bands, 1 is a ragged lump thrown to one side
data-wx-eyenumbereye radius as a fraction of the storm, 0 for none
data-wx-bandsnumberrainbands, 2 to 4
data-wx-pitchdegreesinflow angle, 22 by default; lower winds the bands tighter
data-wx-reachnumberstorm size relative to the canvas, 1 fills it
data-wx-omeganumberwind at the eyewall, radians a second
data-wx-formpuff, roll, lenticular, mammatus, cirrusclouds: cumulus heads, one rolling tube, a stack of lenses, pouches under an anvil, or mare's tails
data-wx-formwall, hazedust: a haboob rolling in, or the whole sky full of it
data-wx-formsteady, jet, front, gustywind: a steady flow, a jet stream, a front sweeping through, or a gale
data-wx-speed / -churnnumberwind: how fast (1) · how much the field churns (0.6)
data-wx-puffs / -radius / -spin / -driftnumberclouds: how many heads · size as a fraction of the height · roll or tumble rate · drift in widths a second
data-wx-rate / -cgnumberthunderstorm: flashes a second · share that strike the ground (0 to 1)
data-wx-anvil / -towernumberthunderstorm: anvil width and tower height, 1 by default
data-wx-rain0thunderstorm: no rain under the base
data-wx-formpyrothunderstorm: a fire's own storm, with a fire line, embers and a smoke column
data-wx-formfork, crawler, sheet, balllightning: a strike to the ground, one along the cloud base, a cloud lit from inside, or ball lightning
data-wx-formtornado, waterspout, dust-devil, fire-whirltornado: a funnel with dust, one with spray, a column of dust with no cloud, or a vortex of embers
data-wx-width / -taper / -sway / -vortices / -debrisnumbertornado: width as a fraction of the height (0.16) · rope (2) to wedge (0.3) · how far the foot wanders (0.12) · sub-vortices inside (1) · dust as a share of the dots (0.4)
data-wx-bands / -height / -shimmernumberaurora: curtains (2) · ray height as a fraction of the canvas (0.45) · how fast the rays flicker (1)
data-wx-formrain, snow, hailprecip: streaks, flakes, or stones that bounce
data-wx-density / -speed / -windnumberprecip: how much (1) · fall speed in canvas heights a second · sideways slant
data-wx-branches / -life / -radiusnumberlightning: forks off the channel (6) · a ball's life in seconds (8) · its size as a fraction of the height (0.09)
data-wx-ink / -lite / -ground1monochrome dots that follow the page theme · half the dots · dark sea under the cloud
data-wx-glow0no soft glow under the core, just the dots on a clear canvas