波が育つまでHow Waves Grow

0波の高さ
(有義波高)
Wave height
(significant)
—いちばん多い
波の周期
Peak
period
—その波長Its wavelength
—その波の速さIts speed
いまの海The sea now
—

時間Time

風が吹きはじめてからSince the wind started
01時間1 h62472時間72 h
1秒で1 s =

海をつくるMake the sea

風の速さWind speed10 m/s

ずっと同じ風が吹きます。変えると、はじめからその風が吹いていたときの海に、すぐ変わります(時間はそのまま)。

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.

空Sky

時刻Time of day
太陽と月は、きょうの日付・時刻・いる所(北緯 33°・東経 140°)の、本当の位置(月の満ち欠けも)。日がさすかどうかは、太陽の前の雲で決まります。
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.

浮かべる物Floating things

見せるShow
海をタップして置くTap the sea to place
それぞれ 6 こまで(多くなると古いものから消えます)。ブイは、波が来ても進まず、その場で輪をえがきます。
Up to 6 of each (the oldest disappears first). A buoy does not travel with the waves; it moves in circles where it is.

図Diagrams

どの長さの波が、どれだけあるかHow much of each wave length there is

色のついた山 = いま。点線 = この風で発達しきった海。細い線 = 1・3・6・12・24・48 時間のとき。

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 日)。

ここの数字は、海で測った記録から作られた式(下の出どころ)で計算しています。海面の模様は、その分布どおりの何万もの波を FFT で重ねたものです。

Why do waves grow? Why do they stop?

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 時間ずっと同じ速さ(つまみで変えると、はじめからその風が吹いていたとして計算しなおす)。
  • 分布の形は JONSWAP(γ 3.3)を、その高さと周期に合わせる。向きの広がりは cos2s(θ/2)、s は周期によって変わり、いちばん多い波で 10。
  • 海面: 分布どおりの波を 3 枚(1280 m・160 m・20 m)の FFT で重ねる。
  • 水深のある海: 波の分布は TMA(Bouws ほか 1985)= JONSWAP × 深さの係数 φ(Kitaigorodskii。浅いほど長い波のエネルギーに上限)。波の速さと長さは有限の水深の式 ω² = gk tanh kh、水面の横の動きは 1/tanh kh 倍(線形の波)。波が育つ速さそのものは深い海の式(CEM)のまま(浅い海の成長の図は使っていない)。底は平らな砂(反射率の目安 0.3〜0.5)。
  • 水の透明度: 水にまざった物(植物プランクトン・細かい粒・とけた色)の量 m を、きれいな外洋 = 1 として 0.3〜30 倍。光の吸収 = 純水(Pope & Fry 1997: 赤 650 nm 0.34・緑 550 nm 0.057・青 450 nm 0.009 /m)+ m ×(0.010・0.013・0.021)、散乱 = m ×(0.05・0.03・0.03)/m。海の色は後ろへ散らばる光の割合 R ≈ 0.33 bb/(a + bb)(Gordon ほか 1975。bb = 水 + m × 0.0025)。見える深さは 1.7 ÷(緑と青の光の弱まりの平均)(Poole & Atkins 1929 の透明度板の目安)。まざった物の係数・色の分け方は目安(本当は、まざった物の種類で色がかわる)。
  • 水の中: 水面を下から見ると、水 → 空気の屈折(スネルの法則、屈折率 1.33)で、真上の円(半分の角度 48.6°)の中だけ空が見え、その外は全反射で水の中が映る。窓を通った光は 1.33² 倍(放射輝度は屈折率の 2 乗に比例)。水の中の光の明るさは、上から見た海の色を下向き 1 として横 5・上 40 くらいにした(目安)。コースティクス(水の下の物や砂にゆらめく光): 水面の傾きで曲がった太陽の光が深さ D で集まる所は明るい(明るさ = 1/|J|、J = det(I − D(1 − 1/1.33)·H)、H は水面の曲がり具合。小さい傾きでの光線の計算)。太陽の円盤の大きさで深いほどぼやけるのは exp(−D/8) の目安。光芒(水の中の光のすじ): 見る向きの 10 点で、届く太陽の光(深さで弱まる × 集まり方)が前に強く散らばる分(ヘニー–グリーンスタイン g 0.9、散乱 0.03 /m の目安)を足した。
  • 太陽と月: きょうの日付・時刻・いる所(北緯 33°・東経 140°の海)から計算した本当の向き。時刻は経度から決めたその場所の時刻(経度 15° ごとに 1 時間)。太陽は NOAA の簡単な式(誤差 0.01° ほど)、月は Meeus の主な項と、地上から見たずれ(視差 約 1°)(誤差 0.3° ほど)。月は本当の大きさ(半径 0.26°)の球で、計算した太陽の向きから照らすので、満ち欠けと欠け方の向きは本当のとおり。月の光の強さは満月で太陽の 2.5×10⁻⁶、満ち欠けで Allen の式のとおり弱まる。夜は、目が暗さに慣れたくらいに、光をまとめて約 2.8 万倍にして見せている。朝・夕方はその日の日の出の 1 時間後・日の入の 30 分前。星の並びは見た目だけ。「進める」は 1 日を 4 分で。
  • 雲: 高さ 1500 m の層(形はゆらぎの重ね合わせで見た目)。日がさす量は、その時刻に太陽(夜は月)の前にある雲の濃さで決まる。雲が多いほど暗く、見通しが短くなる量は目安。
  • 空の色は大気の散乱の計算(1回散乱)。水平線のすぐ上は 2° の空で代用。

簡単にしたところ・推定

  • 底は平らで、風はずっと同じ向き・場所によらない。遠くから来るうねりは入れていない。
  • 描く波の短さ: 画質「高」は波長 2.5 cm まで(4 枚めの海面。傾き=照り返しだけに使い、形には入れない。2.5 cm の波は表面張力が効くので、分散は ω² = g k tanh(kh) + (σ/ρ) k³)。「中」「低」は 20 cm まで。それより短い波は照り返しのにじみで表す。くり返しのため、周期を 1000 秒で一周するように少しだけ丸めている。
  • 短い波: 長い波の分布(JONSWAP)はピークより短い側をなだらかに打ち切り、風で強さが変わる短い波の部分を足した(Elfouhaily ほか 1997 の ECKV の形)。合計の海面の傾きは Cox & Munk の観測に近い(10 m/s で 0.053 と 0.054)。
  • 白波: 沖の白波の泡は描いていない(2026-10-22。web-ocean の作り方を入れ、作り方 3 案を見くらべたうえでやめた。線形の波は本物ほど山がとがらず、泡が波の形に乗る自然な形と、観測の量の両方を正直には出せなかった)。白波の割合は、観測の式(Monahan & O'Muircheartaigh 1980: 3.84×10⁻⁶ U3.41、10 m/s で約 1%・20 m/s で約 10%)を風のつまみの下に数字で出す。しぶきの粒も描いていない。物のまわりの細い泡は描いている。
  • 照り返しと空の反射: 描いている波の傾きのばらつきを、画面の 1 画素に入る広さごとに平均して(LEAN mapping)、描けない細かい波の分(Cox & Munk の全体から描いた分を引いた残り)と合わせ、向きでちがう正規分布として計算する。遠くほどきらめきがなめらかに広がる。浅い角度で見たときの反射の傾け方と、フレネルの面のならし方は web-ocean の目安。
  • 色の仕上げ: AgX(Sobotka の AgX を Wrensch の多項式で近似したもの。明るい所が白へなめらかに抜ける)。式と色味(彩度 1.05・強さ 1.06)は web-ocean と同じ。前の ACES の近似と中間の明るさをそろえるため 1.3 倍してからかける。
  • ブイは、その場の水の動き(3枚の海面の分)のとおりに動かし、風下へ流される分(ストークスドリフト。Kenyon 1969 の式)を足している。この版の分布は短い波が少ないので、流される速さは実際の海より小さめ(風速の 1〜1.5%。Kenyon は発達した海で 1.6〜3.6%)。
  • 断面は、同じ分布から作った「風の向きに進む1本の波の列」(上の海とは模様がちがう)。深い海の線形の波の理論(動きは深さとともに ekz で小さくなる)。水深を変えても断面は深い海の式のまま。
  • 大きさくらべの人(大きな浮き輪に板をわたした台に立つ)は、物の下の数か所の水の動きに平面を当てはめて浮き沈み・傾けている。おくれの時間は見た目で決めた。重さ・水の押し返し・流されることは計算していない。形はおおまかな模型。
  • 濡れて乾く: 人・浮き輪・板を高さ 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: 成長の式・発達しきった海・時間の置きかえ、抗力係数)
  • Hasselmann ほか (1973) JONSWAP(波の分布の形)
  • Mitsuyasu ほか (1975)(向きの広がりの形)/合田・鈴木 (1975) 港湾技研資料 No.230(風の波の smax = 10)
  • Tessendorf (2001) “Simulating Ocean Water”(FFT で海面を作る方法)
  • 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”(白波の割合)
  • Olano & Baker (2010) “LEAN mapping”, Proc. I3D 2010(傾きのばらつきをミップで平均する)/web-ocean(Maksymilian Dendura、MIT ライセンス。照り返し・反射・AgX の作り方)
  • Cox & Munk (1954) J. Opt. Soc. Am. 44:838(海面の傾きのばらつき σ² = 0.003 + 5.12×10⁻³ U: 太陽の照り返しのにじみ)
  • Pope & Fry (1997) Applied Optics 36:8710(純水の吸収)/Gordon ほか (1975) Applied Optics 14:417(海の色と後ろへ散らばる光)/Poole & Atkins (1929) J. Mar. Biol. Assoc. UK 16:297(透明度板の見える深さ)
  • Nishita ほか (1993)(空の色: 大気の散乱)
  • NOAA Global Monitoring Laboratory: Solar Calculation Details(太陽の位置)/Meeus (1998) Astronomical Algorithms 2nd ed., Willmann-Bell(月の位置)
  • Allen (1976) Astrophysical Quantities 3rd ed.(月の明るさと満ち欠けの角)
  • 気象庁「気象庁風力階級表」(2006)(風速の範囲・参考の波の高さ)/海のようすの短い説明は同じ表をもとに書いた

使っているもの

フォント: Google Fonts(SIL Open Font License)

海の描き方の一部(照り返し・空の反射・色の仕上げ。白波の泡のコードも残している): web-ocean(Copyright (c) 2026 Maksymilian Dendura、MIT ライセンス)を WebGL 用に書きかえて使っています。ライセンスの全文

About this app

Simplified for learning.

How it is calculated

  • 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)
  • Hasselmann et al. (1973) JONSWAP (spectral shape)
  • Mitsuyasu et al. (1975) (directional spreading) / Goda & Suzuki (1975) Technical Note of the Port and Harbour Research Institute No. 230 (in Japanese) (smax = 10 for wind waves)
  • 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)
  • NOAA Global Monitoring Laboratory: Solar Calculation Details (sun position) / Meeus (1998) Astronomical Algorithms 2nd ed., Willmann-Bell (moon position)
  • 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