持ち上げ凝結高度の温度計算
この計算機は、地表付近の未飽和な空気塊が上昇し、初めて飽和するときの温度を推定します。気温と露点を摂氏で入力すると、Bolton式により持ち上げ凝結高度(LCL)の温度を摂氏とケルビンで返します。気象学の学習、ラジオゾンデ観測の解析、予報作業、既知の地上観測値の整合性確認にご利用いただけます。
無料で実行
持ち上げ凝結高度の温度が示すもの
持ち上げ凝結高度(LCL)とは、初めは未飽和だった空気塊が上昇によって初めて飽和する高度です。空気塊は上昇して膨張すると冷却されます。飽和前には一般に気温の低下が露点の低下より速いため、二つの値が近づきます。この計算機は両者が一致するときの温度を求めます。得られる値はLCLの高度や気圧ではなく、この機能もそれらを推定しません。地上の気温と露点という二つの観測値から、飽和時の空気塊温度だけを算出します。LCLの高度、気圧、温度は相互に関係しますが、同じ物理量ではないため、この区別が重要です。最初の気温と露点の差が小さければ、LCL温度は出発時の気温に近くなります。一方、乾燥した空気塊は飽和までにさらに冷える必要があります。したがって、この結果は、空気塊の仮定が解析対象に適している場合に、雲底で飽和するまでに必要な熱力学的変化を簡潔に表します。
Bolton式による計算方法
計算では、二つの摂氏入力をケルビンに変換してから、一般的なBolton近似式を評価します。具体的には、露点温度から56ケルビンを引いた値の逆数と、気温を露点で割った比の自然対数を800で割った値を足し、その合計の逆数に56ケルビンを加えます。結果はケルビンのまま保持すると同時に摂氏にも変換します。表示を安定させ読みやすくするため、二つの出力は小数点以下6桁に丸めますが、式自体は最後の丸め処理までJavaScriptの浮動小数点精度をそのまま使用します。この関係式には、物理的に整合する観測値が必要です。このモデルでは露点が気温を上回ることはないため、その入力は無効としてエラーになります。両者が等しい場合は有効で、地表ですでに飽和している状態を表します。有限でない値や絶対零度以下の値も、誤解を招く数値を返さないよう拒否します。
結果を適切に利用するために
同じ地点で得た代表的な観測値を使い、両方とも摂氏で入力してください。ある観測所の気温と異なる標高の露点を組み合わせても計算自体はできますが、実在する一つの空気塊を表さない可能性があります。結果は解析的な空気塊の推定値であり、完全な雲予報ではありません。実際の雲底は、混合、地形、逆転層、前線、降水、測定誤差、さらに空気塊が本当に地表から持ち上がるかどうかに影響されます。Bolton式は温度と水分量を直接的なLCL温度にまとめられる点で有用ですが、こうした環境要因まではモデル化しません。自動処理では、結果を保存する前に、型付けされた無効入力エラーをご確認ください。手作業の解析では、得られた値を気温プロファイルや他の空気塊診断と比較してください。温度だけではLCLの鉛直位置は決まらず、気圧や高度には別の計算と追加データが必要です。APIによる自動処理は1回$0.002で、同じ決定論的計算をブラウザーでも実行できます。
活用例
高層気象観測を解析する
観測された気温・水分プロファイルとLCLを比較する前に、空気塊が飽和する温度を推定できます。
予報用の計算表を確認する
地上気温と露点にBolton近似式を適用した手計算や表計算の結果を検算できます。
気象データ処理を検証する
決定論的なLCL温度計算を追加し、露点が気温より高いレコードを無効として扱えます。
よくある質問
どのBolton式を使用していますか?
ケルビンに変換した地上気温と露点からLCL温度を求めるBolton近似式を使用しています。
入力する単位は何ですか?
地上気温と露点を摂氏で入力してください。結果は摂氏とケルビンの両方で返されます。
露点が気温を上回ってはいけないのはなぜですか?
この計算が表す地表の空気塊では物理的に整合しないため、無効な入力として拒否されます。
結果から雲底の高度が分かりますか?
いいえ。結果はLCLの温度です。高度や気圧の推定には別の関係式と追加の解釈が必要です。
気温と露点が等しい場合はどうなりますか?
空気塊はすでに飽和しているため、計算されたLCL温度は入力した地上気温と同じになります。
APIの利用料金はいくらですか?
APIリクエスト1回につき$0.002です。決定論的な計算はブラウザーから直接利用することもできます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/earth/lcl-temperature \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"surface_temperature_c":30,"dew_point_c":20}'const res = await fetch("https://api.kit.forhosting.com/earth/lcl-temperature", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"surface_temperature_c": 30,
"dew_point_c": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/lcl-temperature",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"surface_temperature_c": 30,
"dew_point_c": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/lcl-temperature", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"surface_temperature_c":30,"dew_point_c":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"surface_temperature_c":30,"dew_point_c":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/lcl-temperature", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"surface_temperature_c": 30,
"dew_point_c": 20
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.lcl_temperature",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |