1. Home
  2. HEATUNITS procedure

HEATUNITS procedure

Calculates accumulated heat units of a temperature dependent process (R.J. Reader, R.A. Sutherland & K. Phelps).

Options

METHOD = string token Temperature/time relationship to be used (sawtooth, cosine, linsine, expsine); default sawt
LATITUDE = scalar Latitude at which temperatures were measured; default 52.205 N {Wellesbourne, U.K.}
RATE = variate Value of rate relationship at cardinal temperatures
TEMPERATURE = variate Cardinal temperatures
PARAMETERS = variate Parameters a, b, c (a, c in hours) for the expsine method

Parameters

MINTEMPERATURE = variates Minimum temperature on each day
MAXTEMPERATURE = variates Maximum temperature on each day
FIRSTDAY = scalars Day of year of first temperature recorded
HEATUNITS = variates Development on each day

Description

HEATUNITS calculates heat units accumulated each day by a process whose rate depends on temperature. The temperature is assumed to vary diurnally. The rate function is defined as a linear spline so that any relationship can be approximated by specifying a set of cardinal temperatures and corresponding rates.

The METHOD option specifies the form of the diurnal temperature variation; this is derived from consecutive daily maximum and minimum temperatures according to methods compared by Reicosky et al. (1989). The LATITUDE option should be set to the latitude (degrees) at which the maxima and minima were recorded (positive for the northern hemisphere and negative for the southern hemisphere). The RATE and TEMPERATURE options define the rate/temperature relationship. They specify variates of equal length, RATE containing the rate of the process at the temperature of the corresponding unit of TEMPERATURE. The PARAMETERS option is a variate containing the values of the parameters a, b and c of the METHOD expsine.

The parameters MAXTEMP and MINTEMP contain the maximum and minimum temperatures on each day respectively. The FIRSTDAY parameter specifies the day of the year of the first unit of the MAXTEMP and MINTEMP variates. The HEATUNITS parameter returns the heat units accumulated on each day.

Options: METHOD, LATITUDE, RATE, TEMPERATURE, PARAMETERS.

Parameters: MINTEMPERATURE, MAXTEMPERATURE, FIRSTDAY, HEATUNITS.

Method

The integral of each segment of the rate/temperature relationship on each day is evaluated. These integrals are then added together. Further details are given by Reader & Phelps (1991).

Action with RESTRICT

None of the options or parameters of this procedure should be restricted as the maximum and minimum temperatures must be from consecutive days. Also they should not contain missing values, except for the first minimum and final maximum which are not used.

References

Reicosky, D.C., Winkelman, L.J., Baker, J.M. & Baker, D.G. (1989). Accuracy of hourly air temperatures calculated from daily minima and maxima. Agricultural and Forest Meteorology, 46, 193-209.

Reader, R.J. & Phelps, K. (1991). Modelling the development of temperature-dependent processes. Genstat Newsletter, 28, 27-32.

See also

Procedure: DAYLENGTH.

Commands for: Calculations and manipulation.

Example

CAPTION 'HEATUNITS example'; STYLE=meta
SCALAR  StartDate;  VALUE=32
VARIATE [NVALUES=150] SoilMax[0,1,3],SoilMin[0,1,3]
"Typical soil maxima and minima"
READ    SoilMax[0], SoilMin[0]
 4.34   0.955    5.95   2.971    5.09   3.063    5.01   2.055    7.00   5.079
 5.73   4.621    6.59   3.613    8.16   6.637    8.54   6.545    6.96   4.254
 7.22   4.438    6.51   4.163    6.33   4.346    6.74   5.171    7.52   4.713
 6.63   4.713    7.74   3.796    7.11   4.071    6.14   3.888    5.91   2.788
 7.56   6.087    7.12   6.271    5.69   2.971    4.87   3.338    5.24   3.704
 4.65   3.888    4.38   3.338    5.84   3.063    7.52   5.262    8.37   4.896
 8.25   4.804    5.95   2.330    6.26   1.322    5.53   1.688    7.89   4.346
 6.87   3.979    7.50   4.254    8.05   4.163    7.86   4.713    7.11   2.696
 9.46   6.637    6.60   3.338    4.96   1.597    5.10   2.971    4.93   2.788
 6.64   2.788    5.70   2.696    4.28   2.330    3.68   0.955    3.62   0.772
 5.20   0.589    5.75   1.688    8.35   3.888    8.19   3.521    8.19   3.521
10.07   6.545    9.74   5.721    8.67   5.171    7.64   3.888    8.79   5.262
10.12   7.187    9.21   4.529    8.62   3.979    9.56   4.621    9.38   5.262
10.18   5.354    9.84   5.629    9.02   5.629    9.14   5.354    8.74   5.171
10.99   7.004   11.86   6.271   13.66   8.103   14.95   9.112   14.79   9.020
14.20   9.661   13.09   9.936   13.39   8.837   12.42   9.661    9.29   6.545
10.82   6.820   11.43   8.653   11.74   8.745   11.35   7.187    9.73   7.829
10.45   7.095   11.24   8.287   10.39   7.829    9.67   6.820   11.48   7.187
13.46   7.279   12.41   8.195   12.25   7.645   14.50   7.554   12.86   8.378
11.88   7.187   10.98   7.829   11.21   7.370   13.11   6.637   17.69   8.195
20.26  10.211   23.73  11.494   24.05  13.694   22.07  12.594   20.66  12.044
21.10  12.411   21.40  11.769   23.18  13.785   23.34  13.419   15.81  12.502
18.47  11.219   15.22  10.578   13.93   9.020   17.16  11.036   17.71  12.777
18.96  11.769   19.04  12.594   18.21  12.136   15.45  11.036   16.22  10.303
13.94  10.853   17.93  10.486   18.55  11.953   23.39  13.694   28.17  16.077
28.80  17.543   22.07  14.610   20.26  14.060   20.16  13.602   21.77  14.152
21.07  14.794   19.19  13.327   21.43  14.335   23.51  14.794   20.58  14.152
21.43  14.335   19.71  13.419   18.73  12.227   21.25  14.060   19.26  14.152
17.03  11.036   17.92  11.586   18.15  12.044   17.78  12.686   17.84  12.777
19.13  12.227   18.33  12.319   17.94  11.311   16.78  10.853   14.70  12.686:
VARIATE Params,Dayno,Temperature;\ 
        VALUES=!(2,1.75,3.5),!(32...181),!(7,9,12...30)
"Approximate nonlinear late spring emergence rate
 equation by a linear spline"
CALCULATE CRF = 0.592 + 2.2525 * EXP(-EXP(-0.274 *\ 
  (Temperature - 12.49)))
GRAPH [NROWS=20; TITLE=' Rate/Temperature relationship';\ 
  YTITLE='Rate'; XTITLE='Temperature'] 2(!(0,#CRF,0));\ 
  !(7,#Temperature,30); METHOD=line, point
"Show effect of 1 or 3 degree rise in temperature on time
of emergence of cabbage root fly"
CALCULATE SoilMax[1, 3], SoilMin[1, 3] =\ 
  2(SoilMax[0], SoilMin[0]) + 1, 3

HEATUNITS [LATITUDE=52.205; METHOD=expsine; RATE=CRF;\ 
  TEMPERATURE=Temperature; PARAMETERS=Params]\ 
  MINTEMPERATURE=SoilMin[0,1,3]; MAXTEMPERATURE=SoilMax[0,1,3];\ 
  FIRSTDAY=StartDate; HEATUNITS=Heatunits[0,1,3]

"Restrict out missing values at start and end of variate\ 
 before cumulating"
RESTRICT Heatunits[]; Heatunits[] .NE. CONSTANTS('*')
CALCULATE CHeatunits[0, 1, 3] = CUM(Heatunits[])
RESTRICT Heatunits[], CHeatunits[]
RESTRICT CHeatunits[]; CHeatunits[].LE.100

GRAPH [NROWS=25; YLOWER=0; YUPPER=100;\ 
  YTITLE='% Development'; XTITLE='Day of year';\ 
  TITLE='Late spring emerging cabbage root fly larvae']\ 
  CHeatunits[]; Dayno; METH=LINE; SYM='0', '1', '3';\ 
  DESC='Actual Temperatures', ' + 1 degree', ' + 3 degrees'

RESTRICT CHeatunits[]
Updated on March 7, 2019

Was this article helpful?