ThreeHourAirTemperature
The ThreeHourAirTemperature
function provides 3-hourly estimates of air temperature by interpolating between daily maximum and minimum temperatures using a sinusoidal method.
Overview
ThreeHourAirTemperature
is used to generate sub-daily (3-hourly) air temperature values from daily weather data. This is important for models that require finer temporal resolution of temperature, such as those simulating plant or soil processes sensitive to diurnal temperature variation.
Inputs
- MetData: A
IWeather
model for maximum air minimum and maximum temperature from weather data, i.e. aWeather
model is required in the simulation to provide daily maximum and minimum temperatures.
Methodology
The 24-hour day is divided into 8 equal 3-hour periods. For each period \(p \in \{1, 2, \dots, 8\}\), a temperature range factor \(\text{TRF}_p\) is calculated as:
\[ \text{TRF}_p = 0.92105 + 0.1140p - 0.0703p^2 + 0.0053p^3 \]
These factors represent the proportion of the daily diurnal range \((T_\text{max} - T_\text{min})\) added to the daily minimum temperature to estimate sub-daily temperatures.
For each 3-hour interval \(p\), the temperature \(T_p\) is computed as:
\[ T_p = T_\text{min} + \text{TRF}_p \cdot (T_\text{max} - T_\text{min}) \]
Where:
- \(T_\text{min}\): Minimum air temperature for the day
- \(T_\text{max}\): Maximum air temperature for the day
- \(\text{TRF}_p\): Temperature range factor for period \(p\)
Events
Events Listened For
These are signals or notifications that the function listens for from other parts of the simulation:
Event | Purpose |
---|---|
Commencing | Calculate \(\text{TRF}_p\) at starting of 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
ThreeHourAirTemperature
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 ThreeHourAirTemperature
in the Filter Box.
Practical Example
If the daily temperature ranges from 10 °C to 30 °C, and you want the interpolated value for whole day, the function will calculate the 3-hourly temperatures as follows:
- Compute the range: \(T_\text{max} - T_\text{min} = 20\) °C.
- Compute \(\text{TRF}_3\) at period \(p = 3\):
\[ \text{TRF}_3 = 0.92105 + 0.1140 \cdot 3 - 0.0703 \cdot 3^2 + 0.0053 \cdot 3^3 = 0.77345 \]
- Compute sub-daily temperature:
\[ T_3 = 10 + 0.77345 \cdot 20 = 25.469^\circ \text{C} \]
See Also
- Source code: ThreeHourAirTemperature.cs on GitHub