Degrés-jours de croissance
Les degrés-jours de croissance transforment les températures minimale et maximale d’une journée en une estimation simple de la chaleur disponible pour le développement d’une culture ou d’un insecte.
Lancer gratuitement
Saisissez la minimale, la maximale et la température de base propre à l’organisme, dans une même échelle. Le calculateur fait la moyenne des extrêmes, soustrait la base et renvoie zéro si le résultat devait être négatif. Ce calcul quotidien transparent peut être répété ou cumulé sur une saison.
Choisissez des températures du même jour et de la même échelle
Commencez par les températures minimale et maximale quotidiennes observées au lieu et à la date que vous souhaitez évaluer. Les deux relevés doivent utiliser la même échelle, tout comme la température de base de la culture. Une base de 10 degrés Celsius ne peut pas être associée directement à des observations météorologiques en Fahrenheit. Sélectionnez Celsius ou Fahrenheit pour préciser l’unité du résultat ; le calcul ne convertit pas les valeurs. La maximale doit être supérieure ou égale à la minimale. Si elles sont inversées, le calculateur renvoie une erreur au lieu de produire discrètement un résultat trompeur. Utilisez la température de base recommandée pour la culture, le ravageur, le modèle de maladie ou le guide de conduite que vous suivez. Les températures de base sont des hypothèses biologiques et non des constantes climatiques universelles : deux espèces peuvent donc donner des résultats différents avec les mêmes données météorologiques. Ce calculateur traite une seule paire quotidienne à la fois, afin que chaque contribution puisse être vérifiée avant son ajout à un cumul saisonnier plus long.
Comprenez la méthode de la moyenne et le plancher zéro
La méthode de la moyenne calcule d’abord la moyenne simple des températures minimale et maximale quotidiennes : la température moyenne est la minimale plus la maximale, divisées par deux. Elle soustrait ensuite la température de base de la culture. Si la différence est positive, elle constitue la contribution de la journée en degrés-jours de croissance. Si elle est négative, la contribution est ramenée à zéro, car ce modèle ne considère pas qu’une journée fraîche annule le développement déjà cumulé. Par exemple, une minimale de 50 degrés Fahrenheit et une maximale de 86 donnent une moyenne de 68. Avec une base de 50 degrés Fahrenheit, le résultat atteint 18 degrés-jours Fahrenheit. Le même calcul fonctionne en Celsius, mais les degrés-jours des deux échelles ne sont pas numériquement interchangeables. Il s’agit uniquement de la méthode élémentaire de la moyenne. Elle ne plafonne pas les températures exceptionnellement hautes, ne remplace pas les minimales sous la base, n’intègre pas de courbe horaire et n’applique pas d’approximation sinusoïdale simple ou double. Ces méthodes peuvent donner d’autres valeurs dans des conditions quotidiennes extrêmes.
Cumulez les résultats quotidiens de façon cohérente
Une valeur quotidienne devient utile lorsqu’elle est calculée de façon cohérente sur une suite de dates et additionnée à partir d’un repère biologique ou calendaire défini. Conservez la même source météorologique, la même échelle, la même température de base et la même méthode pendant tout le cumul. Consignez ces choix avec le total, car un nombre dépourvu de base et de méthode ne peut être comparé de manière fiable à un seuil de surveillance, un guide de plantation ou un tableau de recherche. Traitez les observations manquantes selon le protocole de votre modèle plutôt que comme des zéros automatiques ; zéro signifie que la journée a été valablement calculée sans dépasser la base. Gardez aussi à l’esprit que les degrés-jours estiment le développement lié à la température, et non la santé de la plante ni son rendement final. Disponibilité en eau, photopériode, nutrition, dégâts du gel, cultivar et microclimat local influencent également le développement réel. Utilisez le résultat avec les observations de terrain et les recommandations reconnues. En automatisation, chaque requête API coûte $0.002, et la sortie déterministe simplifie l’audit et la reproduction des relevés quotidiens.
Cas d’usage
Suivre le développement d’une culture
Calculez la contribution thermique de chaque journée avec la base choisie avant de l’ajouter au cumul saisonnier.
Planifier les observations au champ
Comparez un cumul calculé de façon cohérente aux fenêtres de développement validées localement pour un insecte ou un agent pathogène.
Auditer les calculs météorologiques
Reproduisez une valeur quotidienne à partir de sa minimale, sa maximale, sa base, son échelle et sa méthode de moyenne déclarée.
Questions fréquentes
Quelle formule ce calculateur utilise-t-il ?
Il calcule (minimum temperature + maximum temperature) / 2 − base temperature, puis remplace tout résultat négatif par zéro.
Que se passe-t-il si la moyenne quotidienne est sous la base ?
Le résultat en degrés-jours de croissance est nul. Une journée fraîche ne retranche rien à la chaleur cumulée auparavant.
Puis-je mélanger des valeurs Celsius et Fahrenheit ?
Non. La minimale, la maximale et la base doivent toutes utiliser l’échelle de température sélectionnée.
Cette méthode applique-t-elle un plafond de température ?
Non. Elle emploie directement la minimale et la maximale saisies et applique seulement la base de la culture et le plancher zéro.
Pourquoi une maximale inférieure à la minimale est-elle refusée ?
Ces valeurs sont incohérentes pour une même observation quotidienne. Leur refus évite un résultat plausible produit à partir de données invalides.
Quel est le prix d’un calcul par API ?
Chaque requête coûte $0.002. Le calculateur du navigateur peut exécuter localement la même opération déterministe.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
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)Exemple de requête
{
"minimum_temperature": 50,
"maximum_temperature": 86,
"base_temperature": 50,
"temperature_unit": "fahrenheit"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.growing_degree_days",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |