Deep-water wave celerity from period
A 10-second swell in deep water travels at about fifteen and a half metres per second, with crests roughly one hundred fifty-six metres apart. Valid where the depth exceeds about half a wavelength. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Period
- 10
- Gravity
- 9.80665
- Phase speed
- 15.6077682267
- Celerity
- 15.6077682267
- Wavelength
- 156.0776822672
Ocean and coastal engineers, marine meteorologists, and students of surface gravity waves often need the phase speed of a deep-water wave when only the period is known from a buoy, a forecast spectrum, or a textbook problem. In water deep enough that depth exceeds roughly half a wavelength, the linear dispersion relation collapses to a simple gravity-over-two-pi formula: celerity equals gravitational acceleration times period divided by two pi. This deep-water wave celerity from period calculator applies that relation deterministically, echoes the period and gravity used, and also returns wavelength and frequency so you can check consistency with c equals L over T.
What deep-water phase speed means and where c = gT/(2π) comes from
Surface gravity waves on the open ocean are dispersive: longer periods travel faster than short wind chop. In linear theory the phase speed c and wavelength L are tied to angular frequency omega equals two pi over T and to water depth h through the dispersion relation omega squared equals g k tanh of k h, where k is the wave number two pi over L.
When the water is deep in the sense that h is much larger than L over two pi, the hyperbolic tangent approaches one and the relation simplifies to omega squared equals g k. Substituting omega equals two pi over T and k equals two pi over L then yields L equals g T squared over two pi, and the phase speed c equals L over T becomes c equals g T over two pi. That is the gravity-over-two-pi relation this capability implements.
It is the standard first estimate for swell period-to-speed conversion on weather charts, for rough travel-time estimates across ocean basins, and for classroom problems that assume infinite depth. The formula does not apply in shallow water where depth is a small fraction of wavelength; there the speed depends mainly on depth as the square root of g h. If your site is intermediate or shallow, use a full dispersion solver instead of this deep-water limit.
For this tool, provide the observed or assumed period in seconds and optionally override gravity; the default is standard gravity nine point eight zero six six five metres per second squared, which matches SI textbooks and keeps results reproducible across clients.
What you can do with it
Swell travel-time estimates
Convert forecast or buoy peak periods into deep-water phase speeds for rough basin-crossing travel times and arrival windows.
Coastal engineering notebooks
Compute c = gT/(2π) and L = gT²/(2π) from design periods in scripts without hard-coding gravity or two-pi constants by hand.
Classroom and exam checks
Let students verify deep-water celerity and wavelength for a given period against the gravity-over-two-pi formula with deterministic rounding.
FAQ
How do I compute deep-water wave phase speed from period?
Send period T in seconds (optional gravity g, default 9.80665 m/s²).
What happens if the period is zero or non-numeric?
Zero period makes frequency undefined and is rejected; non-numeric strings and non-finite values are also rejected and are not billed.
When is the deep-water formula valid?
When water depth is large compared with wavelength (roughly h > L/2). In shallow water speed depends mainly on depth; use a full dispersion solver there instead of this limit.
Can I override gravitational acceleration?
If omitted, standard gravity 9.80665 m/s² is used for reproducible results.
How long is a deep-water wave with a 10-second period?
About one hundred fifty-six metres from crest to crest, at standard gravity. The calculator also gives a frequency of 0.1 Hz, and the wavelength divided by the period matches the phase speed.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/earth/wave-speed-from-period \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"period":10}'const res = await fetch("https://api.kit.forhosting.com/earth/wave-speed-from-period", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"period": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/wave-speed-from-period",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"period": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/wave-speed-from-period", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"period":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"period":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/wave-speed-from-period", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"period": 10
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.wave_speed_from_period",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Zero or non-numeric periods fail with invalid_input instead of producing an infinite or empty result.
Input contract, response shape, and error behaviour
Period must be strictly positive: zero is rejected because c equals g T over two pi would be zero while frequency one over T is undefined, and negative periods have no physical meaning. Example: period equals ten seconds with default gravity yields phase speed about fifteen point six one metres per second and wavelength about one hundred fifty-six metres, consistent with c times T. Values are rounded to twelve decimal places for stable goldens across runtimes. Failed validation is not billed. POST a JSON body with required field period, the wave period T in seconds between successive crests. Accept aliases t, T, period_s, and wave_period. Period may be a JSON number or a numeric string; missing, empty, non-finite, and non-numeric values fail with invalid_input naming the field. Optional gravity or g or g_ms2 overrides the default nine point eight zero six six five metres per second squared; when provided it must be a strictly positive finite number. On success the body includes period and gravity as used, phase_speed and celerity as identical aliases for the computed speed in metres per second, wavelength in metres from L equals g T squared over two pi, frequency in hertz as one over T, unit labels, formula and equation strings for display, method deep_water_dispersion, and a short steps array. Pair the response with your own depth checks if you need to decide whether the deep-water assumption holds at a given site; this endpoint does not take depth and does not solve the intermediate-depth transcendental dispersion equation.
Where a deep-water celerity API earns its keep
Marine education platforms use a deep-water wave celerity from period calculator so learners can check textbook answers for swell periods without a full wave-model stack. Invalid period or gravity does not consume balance. Forecast desks and coastal-engineering notebooks convert buoy or model peak periods into approximate group and phase speeds for travel-time and fetch estimates; a tiny parse API avoids embedding ad-hoc gravity constants and unit mistakes in every script. Keep requests small, pin the rounded phase_speed and wavelength in tests, and you get reproducible deep-water celerities for homework, dashboards, and edge workers without standing up an ocean-wave model of your own.
Technical questions
What does the deep-water wave celerity calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.