HourlySinPpAdjusted

The HourlySinPpAdjusted function provides hourly estimates of air temperature by interpolating between daily maximum and minimum temperatures using a sinusoidal method during sunlight hours and an exponential decline during nighttime hours (Goudriaan and Van Laar 1994).

Overview

This model estimates hourly air temperature (Ta) from daily minimum (Tmin) and maximum (Tmax) temperatures and day length (d). The interpolation approach follows the method described by (Goudriaan and Van Laar 1994), where:

  • During sunlight hours, temperature follows a sinusoidal curve fitted between Tmin and Tmax,
  • During night hours, temperature declines exponentially from sunset to next day’s sunrise minimum,
  • Sunrise (Hsrise) is assumed at 12 − d/2 and sunset (Hsset) is calculated accordingly.

If a Controlled Environment (CE) module is linked, the model will use actual hourly air temperatures provided by CE instead of calculating them.

Inputs

  • MetData (Required): A IWeather model for maximum air minimum and maximum temperature from weather data, i.e. a Weather model is required in the simulation to provide daily maximum and minimum temperatures.

  • CE (ControlledEnvironment, optional):
    If present, overrides the interpolated sub-daily values using provided hourly temperature data (SubDailyTemperature). This is used in controlled environment simulations (e.g., growth chambers) where actual hourly measurements are available.

  • Daylength (d):
    Computed internally via MetData.CalculateDayLength(-6) to define the daylight duration (based on -6° sun angle, commonly used in agriculture to define twilight start and end).

  • Sunrise (Hsrise) and Sunset (Hsset):
    Calculated using MetData.CalculateSunRise() and MetData.CalculateSunSet(). Used to define the time range for each temperature estimation period (A–D).

  • TmaxB / TminA:
    Tmax from the previous day and Tmin from the next day, used to estimate temperatures across midnight and sunset transitions.

  • P:
    Shape factor constant (set to 1.5) to determine the shift of maximum temperature from solar noon.

  • TC:
    Time constant (set to 4.0) controlling the exponential cooling rate during the night.

Methodology

Hourly estimates of air temperature (Ta) are interpolated from daily maximum (Tmax), minimum (Tmin) temperatures and daylength (d) using the method of (Goudriaan and Van Laar 1994). The calculation divides the 24-hour day into four periods based on sunrise and sunset:

  1. Period A: Midnight to Sunrise (Th < Hsrise)

Temperature is modeled as an exponential decline from the temperature at the previous day’s sunset (\(Tsset\)) down to the minimum temperature (Tmin) at sunrise. The hour of sunrise is denoted as \(H_{srise}\), and sunset as \(H_{sset}\). The temperature \(T_a\) at hour \(Th\) in this period is given by:

\[ T_a = \frac{T_{min} - T_{sset} \cdot e^{-\frac{n}{TC}} + (T_{sset} - T_{min}) \cdot e^{-\frac{(Th + 24 - H_{sset})}{TC}}}{1 - e^{-\frac{n}{TC}}} \]

where

\[ T_{sset} = T_{min} + (T_{maxB} - T_{min}) \cdot \sin\left(\frac{\pi d}{d + 2P}\right) \]

and

\[ n = 24 - d \]

Here, \(T_{maxB}\) is the previous day’s maximum temperature, \(P\) and \(TC\) are constants (1.5 and 4.0 respectively).

  1. Period B: Sunrise to Tmax ( \(H_{srise} \leq Th < 12 + P\) )

During sunlight hours, the temperature follows a sinusoidal curve rising from \(T_{min}\) at sunrise to \(T_{max}\) at hour \(12 + P\):

\[ T_a = T_{min} + (T_{max} - T_{min}) \cdot \sin\left(\frac{\pi (Th - H_{srise})}{d + 2P}\right) \]

  1. Period C: Tmax to Sunset ( \(12 + P \leq Th < H_{sset}\) )

The temperature follows a sinusoidal decline from \(T_{max}\) to the next day’s minimum temperature \(T_{minA}\):

\[ T_a = T_{minA} + (T_{max} - T_{minA}) \cdot \sin\left(\frac{\pi (Th - H_{srise})}{d + 2P}\right) \]

  1. Period D: Sunset to Midnight ( \(Th \geq H_{sset}\) )

After sunset, temperature exponentially declines from the temperature at sunset \(T_{sset}\) to the minimum temperature at sunrise. The temperature is computed as:

\[ T_{sset} = T_{minA} + (T_{max} - T_{minA}) \cdot \sin\left(\frac{\pi d}{d + 2P}\right) \]

\[ T_a = \frac{T_{minA} - T_{sset} \cdot e^{-\frac{n}{TC}} + (T_{sset} - T_{minA}) \cdot e^{-\frac{(Th - H_{sset})}{TC}}}{1 - e^{-\frac{n}{TC}}} \]

Symbol Description Typical Value / Units
Constants
\(P\) Shape factor for Tmax shift 1.5
\(TC\) Exponential cooling time constant 4.0
Variables
\(T_{min}\) Daily minimum temperature °C
\(T_{max}\) Daily maximum temperature °C
\(T_{minA}\) Next day minimum temperature °C
\(T_{maxB}\) Previous day maximum temperature °C
\(d\) Day length hours
\(H_{srise}\) Hour of sunrise hours (0–24)
\(H_{sset}\) Hour of sunset hours (0–24)
\(Th\) Current hour hours (0–23)
\(n\) Night length (\(n = 24 - d\)) hours

This methodology ensures a realistic diurnal temperature profile by combining sinusoidal interpolation during daylight and exponential decay at night, adjusted for actual daylength and temperature extremes.

If \(T_{minA}\) or \(T_{maxB}\) are not provided, the model will use the current day’s minimum or maximum temperatures, e.g. in the beginning or ending of simulation without weather data.

Events

Events Listened For

These are signals or notifications that the function listens for from other parts of the simulation:

Event Purpose
Commencing Nothing to calculate at the start of the simulation

Events Raised to

No events are raised by this function.

Properties

Configurable and Reportable Properties

No configurable properties are available for this function.

Read-Only Reportable Properties

Property Type Description
OutputValueType string The type of variable for sub-daily values as air temperature

User Interface

HourlySinPpAdjusted can be added as a child of a SubDailyInterpolation node in the model tree. Right-click the parent node, select “Add Model…”, and search for HourlySinPpAdjusted in the Filter Box.

Practical Example

We estimate hourly air temperature (\(T_h\)) using a sinusoidal + exponential method, with the following inputs:

Parameter Value Description
\(T_\text{min}\) \(10^\circ\)C Today’s minimum temperature
\(T_\text{max}\) \(30^\circ\)C Today’s maximum temperature
\(T_\text{maxB}\) \(28^\circ\)C Yesterday’s maximum temperature
\(T_\text{minA}\) \(12^\circ\)C Tomorrow’s minimum temperature
Daylength \(d\) 12 hours Length of daylight
Sunrise 6 Hour of sunrise
Sunset 18 Hour of sunset
\(P\) 1.5 Shape factor constant
\(T_c\) 4.0 Exponential cooling constant

The following figure shows the estimated hourly air temperature profile for a day with these inputs and parameters:

See Also

References

Goudriaan, J., and H. H. Van Laar. 1994. “Climatic Factors.” In Modelling Potential Crop Growth Processes, edited by J. Goudriaan and H. H. Van Laar, 29–49. Dordrecht: Springer Netherlands. https://doi.org/10.1007/978-94-011-0750-1_3.