growing-degree-days
v1.0.2
Published
Simple library to calculate growing degree days (GDD).
Downloads
10
Maintainers
Readme
gddPy
Description
This Python library is intended for agriculture professionals interested in calculating growing degree days (GDD). GDD is also known as heat units or thermal units.
Installation and Initial Usage
To begin using the library, install it using the following command:
npm install growing-degree-days-js
Next, here's a quick example of using the library:
const GDD = require("growing-degree-days-js");
const gdd = new GDD();
gdd.min_temperature = 34;
gdd.max_temperature = 60;
gdd.threshold_low = 50;
const heat_units = gdd.calcDailyAverage(); // should calculate to 7
Detailed Description
The library supports the following properties:
| Property | Description | | :-------------- | :------------------------------- | | min_temperature | low temperature for the day | | max_temperature | high temperature for the day | | threshold_low | base threshold to begin accruing |
Each property may be set when creating a new GDD() instance as a dictionary property
const params = {
min_temperature: 34,
max_temperature: 60,
threshold_low: 40,
};
const gdd = new GDD(params);
The following calculation methods are supported, each with a description of the formula
DailyAverage
The Daily Average method is the simplest approach to calculate GDD. The formula takes the average temperature for the day and subtracts the lower threshold from it^1.
$\text{GDD} = \frac{T_{\text{max}} + T_{\text{min}}}{2} - TH_{\text{low}}$
Baskerville-Emin
The Baskerville-Emin method is a more complex approach to calculate GDD that is preferable in regions with larger temperature fluctuations^2.
$\text{GDD} = \frac{w \cdot \sqrt{1 - \left(\theta\right)^2} - (TH_{\text{low}} - T_{\text{avg}}) \cdot \arccos\left(\theta\right)}{\pi}$
where...
- $w =$ Half of the Daily Temperature Range
- $T_{\text{avg}} =$ Average Temperature
- $TH_{\text{low}} =$ Lower Threshold
- $\theta = \frac{TH_{\text{low}} - T_{\text{avg}}}{w}$