有効積算温度計算機
作物が使える熱だけを数えます。基準温度10、上限30で、最高/最低が28/12、32/18、22/8の三日間なら有効積算温度は30です。範囲外の気温は先に上限・基準に合わせます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 基準温度
- 10
- 上限温度
- 30
- 1年の日数
- 3
- GDD合計
- 30
- GDD平均
- 10
- GDD最小
- 6
積算温度は、作物や害虫の発育に利用できる熱量を、日々の気温が作物固有の基準温度をどれだけ上回るかで積み上げます。午後の気温が生理的な上限を超えると、単純平均は有効な熱を過大評価するため、農学者は積算温度を求める前に日最高・日最低へ上限温度を適用します。本有効積算温度計算機は、日々の Tmax・Tmin の系列と基準温度・上限温度を受け取り、各極値をその閉区間にクランプし、クランプ後気温の平均から基準を引く古典的な式で日別および合計の有効 GDD を返します。
上限付き有効積算温度が測るもの
1日の単純な積算温度は、しばしば日最高と日最低の気温の平均から基準しきい値を引き、平均が基準以下ならゼロに切り下げた形で書かれます。穏やかな天候では有効ですが、多くの作物や害虫は気温が発育の上限しきい値—トウモロコシの熱単位では古典的に約30°Cまたは86°F—を超えると発育の加速を止めます。
そのため有効または修正積算温度は、まず両日極値を基準から上限までの閉区間に押し込み、クランプ後の平均から基準を引きます。クランプ後の気温はいずれも基準以上にあるため、日寄与は常に非負で、上限マイナス基準を超えません。複数日の系列では有効 GDD の合計はそれらの日寄与の和となり、1日あたりの平均はダッシュボード向けの要約になります。
単位は完全に利用者の管理下にあります。基準と上限を含め、すべての気温を同じ尺度—運用農業では通常 Celsius、レガシーの普及表では Fahrenheit—で供給してください。上限が基準を下回ると区間が崩れ、境界を黙って入れ替えたり毎日ゼロを返したりせず、ハンドラが要求を拒否します。
上限付き有効積算温度が役立つ場面
作物フェノロジーモデルと作付カレンダーは、観測所が日最高・最低のみを出すときでも、発育の基準と上限の両方を守る再現可能な熱量蓄積を必要とします。教材ラボと試験ジェネレータは、反転した max/min や上限が基準未満という不可能な設定を拒否する決定的オラクルを必要とし、表計算の NaN を黙って返しません。
過去の日極値を再処理する研究ノートは、本格的な農業気象ツールキットなしで気候と作物の研究向けに有効 GDD を一括評価できます。有効積算温度計算機や上限温度付き GDD で検索されるコンテンツサイトは、同じ params.json から OpenAPI と MCP に契約が載るライブツールの恩恵を受けます。
上限を基準以上に保ち、各日の最大を少なくともその最小以上にし、丸めた合計をテストに固定すれば、フェノロジーライブラリを全クライアントに配らずに、講座・文書・エッジワーカー向けの再現可能な有効積算温度が得られます。
活用例
作物フェノロジーと作付カレンダー
作物の基準と上限で日々の Tmax/Tmin から有効 GDD を積み上げ、生育段階と収穫窓を調整します。
害虫積算温度の追跡
観測所から日極値のみ得られる場合に、昆虫の発育しきい値へ同じクランプ平均モデルを適用します。
よくある質問
上限温度より暑い日はどう扱いますか?
平均する前に最高気温を上限に合わせます。基準10、上限30で最高32、最低18の日は30と18として扱い、平均24で14度日を加えます。
最低気温が基準温度を下回るとどうなりますか?
先に基準温度まで引き上げます。基準10で最高22、最低8の日は22と10として扱い、平均16で6度日を加えます。一日の寄与がマイナスになることはありません。
華氏で入力できますか?
できます。ただし最高・最低気温、基準温度、上限温度をすべて同じ目盛りにしてください。目盛りの換算はしないため、摂氏と華氏が混ざると合計が誤ります。
一度に何日分計算できますか?
1日から366日まで一度に計算でき、うるう年一年分の最高・最低気温を扱えます。各日の最高気温は最低気温以上である必要があり、そうでなければ受け付けません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/earth/degree-days-effective \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"days":[{"t_max":28,"t_min":12},{"t_max":32,"t_min":18},{"t_max":22,"t_min":8}],"base_temp":10,"upper_temp":30}'const res = await fetch("https://api.kit.forhosting.com/earth/degree-days-effective", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"days": [
{
"t_max": 28,
"t_min": 12
},
{
"t_max": 32,
"t_min": 18
},
{
"t_max": 22,
"t_min": 8
}
],
"base_temp": 10,
"upper_temp": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/degree-days-effective",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"days": [
{
"t_max": 28,
"t_min": 12
},
{
"t_max": 32,
"t_min": 18
},
{
"t_max": 22,
"t_min": 8
}
],
"base_temp": 10,
"upper_temp": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/degree-days-effective", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"days":[{"t_max":28,"t_min":12},{"t_max":32,"t_min":18},{"t_max":22,"t_min":8}],"base_temp":10,"upper_temp":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"days":[{"t_max":28,"t_min":12},{"t_max":32,"t_min":18},{"t_max":22,"t_min":8}],"base_temp":10,"upper_temp":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/degree-days-effective", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"days": [
{
"t_max": 28,
"t_min": 12
},
{
"t_max": 32,
"t_min": 18
},
{
"t_max": 22,
"t_min": 8
}
],
"base_temp": 10,
"upper_temp": 30
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.degree_days_effective",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
上限が基準温度を下回る場合は無意味な負の窓を作らず invalid_input で失敗します。
上限付き有効積算温度が測るもの
本機能は数値を純粋な温度として扱い、尺度変換なしで degree_days として結果を報告します。
入力契約・応答形状・エラー挙動
有限小数として解釈できる数値文字列は強制変換されます。例:基準10・上限30のとき、28と12の日は28と12に留まり平均20で GDD 10、32と18の暑い日は最大を30にクランプし18を保ち平均24で GDD 14、22と8の涼しい日は最小を10に上げ平均16で GDD 6—3日で合計30 degree days。必須フィールド3つを含む JSON 本体を POST します。days はオブジェクトの非空配列で、各要素に有限数の t_max と t_min があり、少なくとも1日、最大366日まで受け付け、うるう年1年分の日極値を1回の呼び出しで評価できます。base_temp は発育の下側しきい値、upper_temp は日最高・日最低の両方に適用する上限です。各日オブジェクトは最大に tmax・temp_max・max、最小に tmin・temp_min・min などの別名も使えます。base と upper は base・t_base・lower、upper・cutoff・cap_temp などの別名を受け付けます。欠落フィールド、空系列、オブジェクトでない日項目、非有限値、絶対値が100万を超える値、t_max が t_min より厳密に小さい日、および upper_temp が base_temp を下回る重大ケースは、問題を名付けて invalid_input で失敗します。成功時の本体には day_count、エコーされた base_temp と upper_temp、日々の有効積算温度の和 total_gdd、系列全体の mean_gdd・min_gdd・max_gdd、days_with_positive_gdd、unit degree_days、formula と equation の文字列、丸めた生・有効気温と有効平均とその日の gdd をエコーする daily 配列、教材 UI 向け steps が含まれます。検証失敗は課金されず、成功した解析呼び出しはモデルトークンも外向きネットワークもなく公開の基準価格 $0.002 を用います。
上限付き有効 GDD API が役立つ場面
果樹や条播作物の害虫積算温度トラッカーは、作物固有の基準と上限で同じクランプ平均式を共有することが多く、小さな parse エンドポイントなら気象アーカイブに触れる言語ごとにクランプ論理を再実装せずに済みます。実装は純粋 parse の tier A のため、成功した呼び出しは毎回 $0.002 で AI 遅延がありません。
連携の活用例
教材ラボと自動化テスト
上限が基準未満や反転 max/min を拒否する決定的オラクルを、課題・LMS 検査・CI golden に提供します。
技術的な質問
上限付き有効積算温度はどう計算しますか?
各日で Tmax と Tmin を [base_temp, upper_temp] にクランプし、GDD = (クランプ後 max + クランプ後 min)/2 − base_temp です。合計有効 GDD は全日の和です。
upper_temp が base_temp を下回るとどうなりますか?
タスクは invalid_input で失敗します。上限は基準温度以上である必要があり、反転した窓は黙って入れ替えたりゼロにしたりしません。
ある日の最大が最小を下回るとどうなりますか?
日インデックスを示して invalid_input で要求全体を拒否します。再計算前に反転ペアを直し、API が無意味な負の幅を平均することはありません。
どの温度単位を使うべきですか?
days・base_temp・upper_temp をまとめて、通常 °C または °F など一貫した尺度を使います。計算機は単位を変換せず、結果は同じ尺度の degree_days として報告します。
有効積算温度計算機の料金は?
ブラウザツールは無料です。API 要求は成功1回あたり $0.002 の前払い KIT 残高を使い、無効入力は課金されません。