塩分・水温・圧力から海水密度を計算
この計算ツールは、実用塩分、水温、圧力を用いて海水密度をキログラム毎立方メートルで推定します。海面における海水密度の標準的な多項式近似と、圧力による圧縮を表す簡単な補正を組み合わせています。迅速な海洋観測値の確認、浮力の概算、教育、初期段階の工学検討など、完全な熱力学標準よりも再現可能な近似が適する用途に利用できます。入力値は明示的に検査され、負の塩分および本ツールが凍結境界として定める 0 °C 未満の水温はエラーになります。
無料で実行
塩分・水温・圧力を正しい単位で入力してください
実用塩分は PSU、水温は摂氏、圧力はデシバールで入力してください。外洋の塩分は一般に 35 PSU 前後ですが、沿岸水や河口域では大幅に低いことがあります。0 dbar は、多項式が基準とする海面の圧力を表します。海中の圧力は深さ 1 メートルにつき約 1 デシバール増えるため、1000 dbar はおおむね水深 1000 メートル付近に対応します。ただし、正確な圧力と深さの関係は緯度や局所的な密度によって変わります。本ツールは有限の数値のみを受け付け、簡略モデルに適した範囲を適用します。塩分と圧力に負の値は指定できず、水温は 0 °C 以上である必要があります。この検査により、数学的には計算できても物理的に誤解を招く結果を防ぎます。単位を数値の中で勝手に変換しないでください。水温にケルビン、圧力にパスカル、塩分に質量分率を入力することはできません。応答には密度とともに正規化された入力値も含まれるため、自動処理の監査が容易になり、使用単位も明確に確認できます。
簡略化した状態方程式の仕組みをご確認ください
計算は、水温に対する純水密度を表す五次多項式から始まります。次に、塩分に比例する項、塩分の 1.5 乗に比例する項、塩分の二乗に比例する項を加えます。この構成は、大気圧下の密度を求める既知の EOS-80 近似に沿っており、一般に低温の水ほど密度が高く、溶解した塩類が質量を増やすという主要な効果を表します。その後、体積弾性率を一定の 2.2 GPa とした意図的に簡単な圧力補正を適用します。デシバール単位では、海面密度を「1 から圧力を 220000 で割った値を引いた数」で除算します。圧力が海水を圧縮するため、補正後の密度は高くなります。応答には density_at_surface_kg_m3 と density_kg_m3 が含まれ、圧力の寄与を分けて確認できます。値は小数第六位までに丸められ、ブラウザーと API の反復計算で安定します。外部通信、参照表、乱数、時刻を使わない決定論的な解析推定です。
結果の意味と適用限界をご理解ください
入力した圧力を反映した推定値には density_kg_m3 をお使いください。複数の試料を同じゼロ圧力基準で比較する場合や、塩分と水温の影響だけを確認する場合は density_at_surface_kg_m3 が適しています。このモデルは、迅速な比較、浮力の予備計算、センサーデータの妥当性確認、授業での実演、再現可能なソフトウェアテストに向いています。ただし、TEOS-10、Gibbs Seawater ライブラリ、認証済みの海洋観測手順を置き換えるものではありません。一定の体積弾性率では、圧縮率が水温、塩分、圧力によって変化する詳細を表現できません。また、実用塩分と絶対塩分は同一ではありません。固定された 0 °C の境界は本ツールの入力検査規則であり、各海水試料の実際の凝固点を予測するものではありません。塩水は 0 °C 未満でも液体でいられます。航海、商取引上の計量、高精度水路測量、または小さな密度差が結論に影響する研究では、適切な熱力学標準と校正済み測定値をご使用ください。前提が明示された再現可能な簡略推定として結果を扱ってください。
活用例
海洋センサー値を点検する
塩分・水温・圧力の観測値を密度の概算値に変換し、範囲検査やデータ品質確認に利用できます。
浮力計算の入力値を見積もる
浮力、排水量、水中機器に関する初期計算向けに、流体密度の近似値を取得できます。
海水の性質を説明する
水温、溶解塩類、圧力が密度に及ぼす影響を、透明性と再現性のある方法で比較できます。
よくある質問
API での計算料金はいくらですか?
API リクエスト 1 回の料金は $0.002 です。ブラウザー内の計算は API リクエストを送信せずに利用できます。
どの単位を使えばよいですか?
塩分は PSU、水温は摂氏、圧力はデシバールで入力してください。密度はキログラム毎立方メートルで返されます。
圧力が上がると密度も高くなるのはなぜですか?
圧力が海水を圧縮して体積をわずかに減らすためです。本ツールでは一定の体積弾性率による補正でこの効果を表します。
TEOS-10 または EOS-80 の完全な実装ですか?
いいえ。EOS-80 に基づく海面密度の多項式と、圧縮率を一定とする簡略化した圧力補正を使用します。
0 °C 未満の水温が拒否されるのはなぜですか?
検証済み入力範囲の明確な凍結境界として 0 °C を採用しているためです。実際の塩水はそれより低温でも液体の場合があります。
論文や安全性が重要な設計に使えますか?
小さな密度差、認証、安全上の判断が重要な場合は、完全な熱力学標準と校正済み観測値をご使用ください。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/earth/seawater-density \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"salinity":35,"temperature":15,"pressure":0}'const res = await fetch("https://api.kit.forhosting.com/earth/seawater-density", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"salinity": 35,
"temperature": 15,
"pressure": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/seawater-density",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"salinity": 35,
"temperature": 15,
"pressure": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/seawater-density", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"salinity":35,"temperature":15,"pressure":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"salinity":35,"temperature":15,"pressure":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/seawater-density", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"salinity": 35,
"temperature": 15,
"pressure": 0
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.seawater_density",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |