Snowstorm (2D)

Cross-section of a snowstorm: flakes, visibility, and the drift that forms behind a fence and a cabin.

Switch to 3D

Presets

Playback

Snow

Wind

Obstacles

Layers

Model check

The science

What is modelled

Thousands of snow-flake particles fall through a sheared, turbulent wind. Each particle stands for a large number of real flakes and carries a fixed mass, so that the airborne snow concentration and the deposition rate match the snowfall rate you set. Where flakes land they build a snow cover on a 96 x 96 height-field; where the wind is strong enough, the cover is eroded and moved downwind until it reaches a sheltered cell (behind the fence, the cabin) and drops there. Fog is set from the optical thickness of the falling and blowing snow.

Equations

  • Flake mass m = ρf π d³/6. Snow flakes are fluffy aggregates, so the bulk density ρf is only 5 to 100 kg/m³, not the 917 of ice.
  • Terminal speed from the balance of weight and drag, m g = ½ ρa Cd(Re) (π d²/4) v² with Re = ρa v d / μ and the sphere drag law Cd = 24/Re (1 + 0.15 Re0.687) + 0.42/(1 + 42500 Re-1.16), solved by bisection. The particle follows dv/dt = g - k |v - u| (v - u) with k = g/vt², so it relaxes onto the wind within a fraction of a second.
  • Wind: power-law shear u(z) = U (z / 2 m)0.16 plus travelling sinusoidal turbulence of the chosen intensity. Behind an obstacle of height h the mean wind is reduced by 1 - 0.92 (1 - p) e-x/5.5h over a lee of about 14 h (p = porosity). This is an empirical shelter model, not a flow solver.
  • Airborne concentration C = P / vt (P = precipitation in kg m-2 s-1; 1 mm/h of water is 2.8 x 10-4), number density N = C / m.
  • Extinction σ = Qext N π d²/4 with Qext = 2, and the Koschmieder visibility (contrast falls to 2 %) V = 3.912 / σ. The fog in the picture is set so that this distance is reached.
  • Drifting: above the threshold Ut = 5 m/s the cover loses depth at k (U² - Ut²) per second; the eroded snow hops about 0.4 U Δt downwind and settles in the first cell where the local wind is below the threshold, or where an obstacle stands. Whatever leaves the downwind edge is counted as blown away.

Checks run in this page

  • Terminal speed: the equation of motion integrated for 3 s from rest must reach the root of the drag balance.
  • Mass flux: a private still-air world of 12,000 particles must deposit the set precipitation rate (within 5 %).
  • Number density and visibility: the flakes counted in a sampling box, multiplied by the real flakes per particle, must equal P / (m vt) (within 10 %), which then gives the extinction and the Koschmieder range.
  • Live ledger: snow on the ground + snow blown off the edge = snow that landed. This holds exactly because every transfer between cells is a move.

Honest simplifications

  • Real flakes are not spheres: dendrites and aggregates fall at 0.5 to 1.5 m/s with a tumbling, wobbling motion; a sphere with an effective density reproduces the mean speed only.
  • The wind is a prescribed field. Flow separation, a stagnation zone in front of the cabin and vortices behind it are not solved; drifts are therefore qualitative (they sit in the right places, but their exact shape and length are not engineering values).
  • The time-lapse slider multiplies the snow carried by each landing particle and the erosion rate; the falling flakes themselves keep running in real time.
  • The blowing-snow extinction is an empirical placeholder (0.04 ((U² - Ut²)/400)1.5 per metre) scaled to reported ground-blizzard visibilities of 100 m to a few km. It is not derived from the particle model.
  • Snow does not compact or melt, and roof snow never slides off.

The cabin, trees, lamp, fences and ground textures are Blender-built meshes with baked PBR textures; all flakes and drifts are simulated live in your browser.

Visibility against wind speed
Snow depth along the wind
Deposition rate, measured against set
Flake terminal speed against diameter