積算温度計算
積算温度は、1日の最低気温と最高気温を、作物や昆虫の発育に利用できる熱量の簡潔な目安へ変換する指標です。日最低気温、日最高気温、対象生物に適した基準温度を、すべて同じ温度尺度で入力してください。計算機は最低と最高の平均から基準温度を引き、負になる場合はゼロを返します。透明性の高い1日単位の計算であり、繰り返して季節全体の値として合計できます。
無料で実行
同じ日と温度尺度の値を選んでください
評価する場所と暦日の、観測された日最低気温と日最高気温をご用意ください。2つの観測値に加え、作物の基準温度も同じ温度尺度で指定する必要があります。基準温度が10度 Celsius である場合、Fahrenheit の気象観測値とそのまま組み合わせることはできません。結果の単位を明確にするため、Celsius または Fahrenheit を選択してください。この計算では値の換算は行いません。最高気温は最低気温以上でなければなりません。値が逆の場合は、誤解を招く結果を黙って生成せず、エラーを返します。対象とする作物、害虫、病害モデル、または栽培指針で推奨されている基準温度を使用してください。基準温度は生物学上の仮定であり、普遍的な気候定数ではありません。そのため、同じ気象データでも種によって結果が異なります。この計算機は1回につき1日分の組を処理するため、長期の季節累計へ加える前に各日の寄与を確認できます。
平均法とゼロ下限の仕組みをご確認ください
平均法では、まず日最低気温と日最高気温の単純平均を求めます。平均気温は、最低気温と最高気温の和を2で割った値です。次に作物の基準温度を引きます。差が正なら、その値が当日の積算温度への寄与になります。差が負ならゼロにします。このモデルでは、涼しい1日によって、それまでに蓄積した発育が逆戻りするとは扱わないためです。たとえば最低気温が50度 Fahrenheit、最高気温が86度 Fahrenheit なら、平均は68です。基準温度が50度 Fahrenheit の場合、結果は18 Fahrenheit degree-days です。同じ計算は Celsius でも使えますが、2つの尺度による degree-days の数値をそのまま置き換えることはできません。これは基本的な平均法に限定した計算です。異常な高温への上限、基準未満の最低気温の置換、時間別温度曲線の積分、単一正弦法や二重正弦法は適用しません。極端な日条件では、これらの手法と結果が異なる場合があります。
日別結果を一貫した条件で累積してください
日別の値は、連続する日付について同じ条件で計算し、定めた生物学上または暦上の開始点から合計することで役立ちます。累積期間を通じて、気象データ源、温度尺度、基準温度、計算法を変更しないでください。基準と計算法が不明な数値は、調査のしきい値、作付け指針、研究表と正確に比較できないため、合計値と一緒にこれらの条件を記録してください。欠測値を自動的にゼロとせず、ご利用のモデルの手順に従って処理します。ゼロは、有効なデータで計算したものの、その日が基準温度を超えなかったことを意味します。また、積算温度は温度による発育を推定するもので、植物の健康状態や最終収量を示すものではありません。水分、日長、栄養、凍霜害、品種、局所的な微気候も実際の発育に影響します。圃場観察や確立された推奨事項と併せて結果をご利用ください。計算を自動化する場合、APIリクエスト1回の料金は$0.002です。決定論的な出力なので、日別記録を容易に監査、再現できます。
活用例
作物の発育を追跡する
作物に選んだ基準温度で各日の熱量寄与を計算し、季節累計へ追加できます。
圃場調査の時期を決める
一貫した条件の累計を、昆虫や病原体について地域で検証された発育期間と比較できます。
気象計算を監査する
最低、最高、基準、尺度、および明記された平均法から、日別の値を再現できます。
よくある質問
この計算機ではどの式を使いますか?
(minimum temperature + maximum temperature) / 2 − base temperature を計算し、負の結果をゼロに置き換えます。
日平均が基準温度を下回る場合はどうなりますか?
積算温度の結果はゼロです。涼しい1日が、それ以前に蓄積した熱量を減らすことはありません。
Celsius と Fahrenheit の入力を混在させられますか?
いいえ。最低、最高、基準のすべてで、選択した温度尺度を使用してください。
この方法では上限温度を適用しますか?
いいえ。入力された最低と最高をそのまま使い、作物の基準温度とゼロ下限だけを適用します。
最高気温が最低気温より低いと拒否されるのはなぜですか?
同じ日の観測値として矛盾するためです。無効な入力から、もっともらしい結果が出ることを防ぎます。
APIでの計算料金はいくらですか?
リクエスト1回の料金は$0.002です。ブラウザの計算機でも、同じ決定論的な計算をローカルで実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/earth/growing-degree-days \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"minimum_temperature":50,"maximum_temperature":86,"base_temperature":50,"temperature_unit":"fahrenheit"}'const res = await fetch("https://api.kit.forhosting.com/earth/growing-degree-days", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"minimum_temperature": 50,
"maximum_temperature": 86,
"base_temperature": 50,
"temperature_unit": "fahrenheit"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/growing-degree-days",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"minimum_temperature": 50,
"maximum_temperature": 86,
"base_temperature": 50,
"temperature_unit": "fahrenheit"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/growing-degree-days", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"minimum_temperature":50,"maximum_temperature":86,"base_temperature":50,"temperature_unit":"fahrenheit"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"minimum_temperature":50,"maximum_temperature":86,"base_temperature":50,"temperature_unit":"fahrenheit"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/growing-degree-days", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"minimum_temperature": 50,
"maximum_temperature": 86,
"base_temperature": 50,
"temperature_unit": "fahrenheit"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.growing_degree_days",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |