1.0.2 • Published 1 year ago

growing-degree-days v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

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:

PropertyDescription
min_temperaturelow temperature for the day
max_temperaturehigh temperature for the day
threshold_lowbase 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}$