The same wind keeps blowing. If you change it, the sea jumps to what it would be if that wind had blown from the start (the time stays).
浅い(2 m)Shallow (2 m)底が見えない深い海Deep sea, no bottom in sight
澄んだClearにごったMurky
遠くの嵐
見かたView
ドラッグで回す・見回す。ホイール/2本指で近づく。「自由に動く」は W A S D・Q E(スマホは画面のボタン)で、水の中にも入れます。
Drag to turn or look around. Wheel / two fingers to move closer. In “Free move”, use W A S D and Q E (on phones, the on-screen buttons); you can go underwater too.
画質Quality
高: 2.5 cm までのさざ波。中: 20 cm まで・画素を少なく。低: 網目も粗く・空の更新も少なく(動きがかくかくするときに)。自動は端末から決め、重いと下げます。
High: ripples down to 2.5 cm. Medium: down to 20 cm, fewer pixels. Low: coarser mesh and fewer sky updates (if motion stutters). Auto picks from your device and steps down when slow.
The sun and moon are at their real positions for today’s date, the time, and the place (33°N, 140°E), moon phase included. Whether sunlight gets through depends on the clouds in front of the sun.
Colored hill = now. Dotted line = the fully developed sea for this wind. Thin lines = after 1, 3, 6, 12, 24 and 48 hours.
風力階級の表(気象庁)と、この計算の波の高さBeaufort scale (Japan Meteorological Agency) and the wave heights here
風力Force
風速 m/sWind m/s
海のようすSea state
表の波の高さTable wave height
この計算(発達しきった海)This model (fully developed)
表の波の高さは、陸から遠い外洋のおおよその目安(かっこ内はおおよその最大)。表は風が十分長く吹いた海のようすなので、この計算では「発達しきった海」の高さとくらべています(この計算の風は 30 m/s = 風力11 まで)。強い風ほど計算のほうが高く出るのは、発達しきるまでに何日も・何千 km も同じ風が吹きつづける必要があり、本当の嵐ではそこまで育たないため(表は実際の海の目安)。
The table heights are rough guides for the open sea far from land (probable maximum in brackets). The table describes seas after the wind has blown long enough, so it is compared with the “fully developed sea” here (winds up to 30 m/s = force 11). For strong winds the model comes out higher: a sea needs days and thousands of km of the same wind to fully develop, which real storms do not provide (the table reflects real seas).
なぜ波は育つの? なぜ止まるの?
風は海面をこすり、押して、波にエネルギーをわたします。長い波ほど速く走るので(深い海では、周期 T 秒の波は 1 秒に約 1.56×T m 進む)、風に押されつづけると、多い波はだんだん長く・速くなります。
いちばん多い波が風と同じくらいの速さになると、風はもうその波を押せません。これが「発達しきった海」です。強い風ほど、高い波に育つまで長くかかります(風速 10 m/s で約 30 時間、20 m/s で約 3 日)。
The wind rubs and pushes the sea surface, handing energy to the waves. Longer waves travel faster (in deep water a wave with period T seconds moves about 1.56×T m per second), so as the wind keeps pushing, the most common waves get longer and faster.
When the most common waves move about as fast as the wind, the wind can no longer push them. This is the “fully developed sea”. The stronger the wind, the longer it takes to grow tall waves (about 30 hours at 10 m/s, about 3 days at 20 m/s).
The numbers come from formulas built from measurements at sea (see sources below). The sea surface is tens of thousands of waves added up with an FFT, following that distribution.
このアプリについて
学習用に簡単にしています。
計算のしかた
風速 U(海面から 10 m の高さ)と吹いた時間 → 同じ育ち方をする距離 → 波の高さ(有義波高)とピークの周期(CEM の式)。発達しきった海で止まる。
風は 30 m/s まで(それより強い風は、成長の式・海を押す力の式が観測と合わなくなるので入れない)。20 m/s をこえる風が広い海で何日も吹くことは実際にはまずないと、画面に書く。風は 72 時間ずっと同じ速さ(つまみで変えると、はじめからその風が吹いていたとして計算しなおす)。
雲: 高さ 1500 m の層(形はゆらぎの重ね合わせで見た目)。日がさす量は、その時刻に太陽(夜は月)の前にある雲の濃さで決まる。雲が多いほど暗く、見通しが短くなる量は目安。
空の色は大気の散乱の計算(1回散乱)。水平線のすぐ上は 2° の空で代用。
簡単にしたところ・推定
底は平らで、風はずっと同じ向き・場所によらない。遠くから来るうねりは入れていない。
描く波の短さ: 画質「高」は波長 2.5 cm まで(4 枚めの海面。傾き=照り返しだけに使い、形には入れない。2.5 cm の波は表面張力が効くので、分散は ω² = g k tanh(kh) + (σ/ρ) k³)。「中」「低」は 20 cm まで。それより短い波は照り返しのにじみで表す。くり返しのため、周期を 1000 秒で一周するように少しだけ丸めている。
濡れて乾く: 人・浮き輪・板を高さ 15 cm ごとに見て、水がとどいた所まで濡らす。とどく高さ = 物より短い波(波長 3.2 m より短い)がふちを洗う高さ(その波の分布の大きさから、ゆっくり変わる乱数)+砕ける波頭をかぶる(白波の割合 ÷ 周期の回数で、波の高さの 3 割まで)+風 13 m/s からのしぶき。乾くのは、うすい水の膜が風で蒸発する目安で約 4 分(時間のつまみが速く進むときは、進んだ時間で乾く)。濡れると色が暗く、つやが出る(見た目)。かぶる高さの割合・乾く速さは目安。
水の色・波の山を抜ける光の強さ・遠くのかすみは見た目で決めた。
照り返しのにじみ: Cox & Munk の式の風速は高さ 12.5 m の値だが、10 m の風速をそのまま使っている。
「なぜ止まるの?」の説明は考え方の目安です(くわしいしくみは研究が続いている)。
おもな出どころ
U.S. Army Corps of Engineers (2003) Coastal Engineering Manual, EM 1110-2-1100, Part II Chapter 2 “Meteorology and Wave Climate”(式 II-2-36〜38: 成長の式・発達しきった海・時間の置きかえ、抗力係数)
Bouws, Günther, Rosenthal & Vincent (1985) J. Geophys. Res. 90(C1):975 “Similarity of the wind wave spectrum in finite depth water”(TMA の分布)/Nelson (1994) Coastal Engineering 24:211(平らな底の上の波の高さの上限)
Kenyon (1969) J. Geophys. Res. 74:6991 “Stokes drift for random gravity waves”(流される速さ: 16π³/g ∫ f³ S(f) df)
Elfouhaily, Chapron, Katsaros & Vandemark (1997) J. Geophys. Res. 102(C7):15781 “A unified directional spectrum for long and short wind-driven waves”(短い波の部分。式は Mobley の Ocean Optics Web Book の写しで確かめた)
Monahan & O'Muircheartaigh (1980) J. Phys. Oceanogr. 10:2094 “Optimal power-law description of oceanic whitecap coverage dependence on wind speed”(白波の割合)
Wind speed U (10 m above the sea) and the time it has blown → the equivalent fetch → wave height (significant wave height) and peak period, from the CEM formulas. Growth stops at the fully developed sea.
Winds up to 30 m/s (stronger winds are left out because the growth and wind-drag formulas no longer match measurements). Above 20 m/s the screen notes that such winds almost never blow for days over a wide ocean. The wind stays the same for all 72 hours (changing the slider recalculates as if that wind had blown from the start).
The spectrum is the JONSWAP shape (γ 3.3) fitted to that height and period. Directional spread is cos2s(θ/2), with s depending on period (10 at the peak).
Sea surface: waves following the spectrum, added up with FFTs on three tiles (1280 m, 160 m, 20 m).
Finite depth: the spectrum is TMA (Bouws et al. 1985) = JONSWAP × the depth factor φ (Kitaigorodskii; the shallower the water, the more the energy of long waves is capped). Wave speed and length use the finite-depth relation ω² = gk tanh kh, and sideways surface motion is 1/tanh kh times larger (linear waves). The growth rate itself is still the deep-water CEM formula (the CEM shallow-water growth charts are not used). The bottom is flat sand (reflectance roughly 0.3–0.5).
Water clarity: the amount m of material mixed in the water (phytoplankton, fine particles, dissolved color), from 0.3 to 30 times that of clear open ocean (= 1). Absorption = pure water (Pope & Fry 1997: red 650 nm 0.34, green 550 nm 0.057, blue 450 nm 0.009 /m) + m × (0.010, 0.013, 0.021); scattering = m × (0.05, 0.03, 0.03) /m. Sea color is the fraction of light scattered back up, R ≈ 0.33 bb/(a + bb) (Gordon et al. 1975; bb = water + m × 0.0025). The visible depth is 1.7 ÷ (average of the green and blue attenuation) (Secchi disk rule of thumb, Poole & Atkins 1929). The coefficients for the mixed-in material and the color split are rough guides (in reality the color depends on what is mixed in).
Underwater: looking up at the surface, refraction from water to air (Snell’s law, index 1.33) lets you see the sky only inside a circle overhead (half-angle 48.6°); outside it, total internal reflection mirrors the water. Light through the window is 1.33² times brighter (radiance scales with the square of the refractive index). The underwater brightness is set to about 1 downward : 5 sideways : 40 upward, relative to the sea color seen from above (rough guide). Caustics (the flickering light on sand and objects): sunlight bent by the surface slope gathers at depth D, brightness = 1/|J|, J = det(I − D(1 − 1/1.33)·H), H = surface curvature (small-slope ray calculation). Blurring with depth from the sun’s disk size uses exp(−D/8), a rough guide. Light shafts: along the view, 10 points add sunlight (dimmed with depth × focusing) scattered strongly forward (Henyey–Greenstein g 0.9, scattering 0.03 /m, a rough guide).
Sun and moon: real directions for today’s date, the time, and the place (the sea at 33°N, 140°E). The clock is local time from longitude (1 hour per 15°). Sun: NOAA’s simplified formulas (about 0.01° error). Moon: the main terms from Meeus plus parallax as seen from the ground (about 1°) (about 0.3° error). The moon is a sphere of its real size (radius 0.26°) lit from the calculated sun direction, so its phase and the side that is lit are real. Moonlight is 2.5×10⁻⁶ of sunlight at full moon and dims with phase following Allen’s formula. At night everything is brightened together by about 28,000 times, roughly how it looks once your eyes adjust. Morning and evening are 1 hour after sunrise and 30 minutes before sunset of that day. The star pattern is only for looks. “Run” passes one day in 4 minutes.
Clouds: a layer at 1500 m (their shapes are layered noise, for looks). Whether sunlight gets through depends on how thick the cloud is in front of the sun (or moon) at that moment. How much darker and hazier it gets with more cloud is a rough guide.
Sky color comes from an atmospheric scattering calculation (single scattering). Just above the horizon, the sky at 2° is used instead.
Simplifications and estimates
The bottom is flat, and the wind always blows from the same direction everywhere. Swell from far away is not included.
How short the drawn waves go: on High quality, down to 2.5 cm wavelength (a fourth tile, used only for slopes, i.e. glitter, not for the shape; at 2.5 cm surface tension matters, so the dispersion is ω² = g k tanh(kh) + (σ/ρ) k³). On Medium and Low, down to 20 cm. Shorter waves show up as blurring of reflections. Periods are rounded slightly so the pattern repeats every 1000 seconds.
Short waves: the long-wave spectrum (JONSWAP) is tapered off on the short side of the peak, and a short-wave part whose strength depends on the wind is added (the ECKV form, Elfouhaily et al. 1997). The total surface slope is close to Cox & Munk’s measurements (0.053 vs 0.054 at 10 m/s).
Whitecaps: foam on the open sea is not drawn (2026-10-22: the web-ocean approach was added and three variants compared, then dropped; linear waves do not sharpen like real ones, so natural foam shapes and the observed amount could not both be shown honestly). The whitecap coverage from the observed formula (Monahan & O'Muircheartaigh 1980: 3.84×10⁻⁶ U3.41, about 1% at 10 m/s and 10% at 20 m/s) is shown as a number under the wind slider. Spray droplets are not drawn either. The thin foam around objects is drawn.
Glitter and sky reflection: the spread of slopes of the drawn waves is averaged over the area each pixel covers (LEAN mapping) and combined with the waves too small to draw (Cox & Munk’s total minus what is drawn), as a direction-dependent normal distribution. Glitter spreads smoothly with distance. How the reflection tilts at grazing angles and how the surface is smoothed for the Fresnel term are web-ocean’s rough guides.
Tone mapping: AgX (Sobotka’s AgX, approximated by Wrensch’s polynomial; bright areas roll off smoothly to white). The formula and look (saturation 1.05, power 1.06) are the same as web-ocean. The input is multiplied by 1.3 first so mid-tones match the earlier ACES approximation.
Buoys move with the local water motion (from the three tiles), plus the downwind drift (Stokes drift, Kenyon 1969). This spectrum has few short waves, so the drift is smaller than at real sea (1–1.5% of the wind speed; Kenyon gives 1.6–3.6% for developed seas).
The cross-section is “one train of waves travelling downwind” made from the same spectrum (its pattern differs from the 3D sea), using deep-water linear wave theory (motion shrinks with depth as ekz). It stays deep-water even when you change the depth.
The person (standing on a deck laid across a big swim ring) rises, sinks and tilts by fitting a plane to the water motion at a few points under it. The delay was chosen by eye. Weight, the water pushing back and drifting are not calculated. The shape is a rough model.
Getting wet and drying: the person, ring and deck are checked every 15 cm of height and get wet up to where water reaches. That height = waves shorter than the raft (under 3.2 m wavelength) washing its edge (a slowly changing random value from that part of the spectrum) + breaking crests washing over (rate = whitecap coverage ÷ period, up to 30% of the wave height) + spray from 13 m/s. Drying takes about 4 minutes, a rough guide for a thin water film evaporating in the wind (when the time slider runs fast, things dry with the time that passes). Wet surfaces look darker and shinier (for looks). The wash height fraction and drying speed are rough guides.
Water color, light shining through wave crests and the distant haze were set by eye.
Reflection blur: Cox & Munk’s formula uses wind at 12.5 m height, but the 10 m wind is used as is.
The “Why do they stop?” explanation is a way of thinking about it (the detailed mechanism is still being studied).
Main sources
U.S. Army Corps of Engineers (2003) Coastal Engineering Manual, EM 1110-2-1100, Part II Chapter 2 “Meteorology and Wave Climate” (Eqs. II-2-36 to 38: growth, fully developed sea, duration conversion, drag coefficient)
Tessendorf (2001) “Simulating Ocean Water” (making the sea surface with FFTs)
Bouws, Günther, Rosenthal & Vincent (1985) J. Geophys. Res. 90(C1):975 “Similarity of the wind wave spectrum in finite depth water” (TMA spectrum) / Nelson (1994) Coastal Engineering 24:211 (maximum wave height over a flat bottom)
Kenyon (1969) J. Geophys. Res. 74:6991 “Stokes drift for random gravity waves” (drift: 16π³/g ∫ f³ S(f) df)
Elfouhaily, Chapron, Katsaros & Vandemark (1997) J. Geophys. Res. 102(C7):15781 “A unified directional spectrum for long and short wind-driven waves” (short-wave part; checked against the copy in Mobley’s Ocean Optics Web Book)
Monahan & O'Muircheartaigh (1980) J. Phys. Oceanogr. 10:2094 “Optimal power-law description of oceanic whitecap coverage dependence on wind speed” (whitecap coverage)
Olano & Baker (2010) “LEAN mapping”, Proc. I3D 2010 (averaging the slope spread with mipmaps) / web-ocean (Maksymilian Dendura, MIT License; how glitter, reflection and AgX are done)
Cox & Munk (1954) J. Opt. Soc. Am. 44:838 (surface slope variance σ² = 0.003 + 5.12×10⁻³ U: blur of sun glitter)
Pope & Fry (1997) Applied Optics 36:8710 (pure-water absorption) / Gordon et al. (1975) Applied Optics 14:417 (sea color and backscattered light) / Poole & Atkins (1929) J. Mar. Biol. Assoc. UK 16:297 (Secchi depth)
Nishita et al. (1993) (sky color: atmospheric scattering)
Allen (1976) Astrophysical Quantities 3rd ed. (moon brightness vs phase angle)
Japan Meteorological Agency, Beaufort wind scale table (2006) (in Japanese) (wind ranges, reference wave heights); the short sea-state descriptions are based on the same table
Uses
Fonts: Google Fonts (SIL Open Font License)
Part of the sea rendering (glitter, sky reflection, tone mapping; the whitecap foam code is also kept): adapted for WebGL from web-ocean (Copyright (c) 2026 Maksymilian Dendura, MIT License). Full license text