net.simplace.client.simulation.lap.util.helper.diurnal.DiurnalWeatherHelper

Methods for calculating daylength and diurnal values

Includes methods for integration/normalization/rescaling of piecewise linear functions, as well as methods for calculating diurnal values for radiation and temperature.

Reference

(G) Goudriaan, Modeling Potential Crop Growth Processes, 1994, (revised version Nov. 2004)




public class DiurnalWeatherHelper {
// Public Constructors
public DiurnalWeatherHelper();


// Class Methods
public static TreeSet sortWeather(Set entrySet, FWSimResourceCache cache,
String dateField, String minTempField, String maxTempField, String
radiationField);

Extracts radiation and temperature information from resource and add it to a sorted TreeSet of weather entries.
returns
public static HashMap AstronomicParameters(int doy, double latitude);

Calculates day length and other parameters from DOY and latitude
returns HashMap with values for DAYL, DDLP, SC, SINLD, DSINB, DSINBE
public static HashMap AstronomicParameters(int doy, double latitude, double
inclination);

Calculates day length and other parameters from DOY, latitude and sun inclination
returns HashMap with values for DAYL, DDLP, SC, SINLD, DSINB, DSINBE
public static double RadiationIntensitySinBeta(double t, double radiation,
double daylength, int doy, double a, double b, double integral);

Calculates the radiation intensity [radiation per hour] at a specified hour using SinBeta curve Uses SinBeta curve as defined in (G), eq. 3.2
returns radiation intensity [J m^-2 h^-1, kJ m^-2 h^-1 or MJ m^-2 h^-1]
public static double RadiationIntensitySine(double t, double radiation,
double daylength);

Calculates the radiation intensity [radiation per hour] at a specified hour using simple sine curve
returns radiation intensity [J m^-2 h^-1, kJ m^-2 h^-1 or MJ m^-2 h^-1]
public static double RadiationSinBeta(double t, double radiation, double
daylength, int doy, double a, double b, double integral);

Calculates the radiation accumulated from beginning of day till a specified hour using SinBeta curve Uses SinBeta curve as defined in (G), eq. 3.2
returns radiation from begin of day until hour t [J m^-2, kJ m^-2 or MJ m^-2]
public static double RadiationSinBetaFromTo(double t1, double t2, double
radiation, double daylength, int doy, double a, double b, double
integral);

Calculates the radiation that is accumulated within the time span from a to b using SinBeta curve Uses SinBeta curve as defined in (G), eq. 3.2
returns radiation accumulated during time span from a to b [J m^-2, kJ m^-2 or MJ m^-2]
public static double RadiationSine(double t, double radiation, double
daylength);

Calculates the radiation accumulated from beginning of day till a specified hour using simple sine curve
returns radiation from begin of day until hour t [J m^-2, kJ m^-2 or MJ m^-2]
public static double RadiationSineFromTo(double t1, double t2, double
radiation, double daylength);

Calculates the radiation that is accumulated within the time span from t1 to t2 using simple sine curve
returns radiation accumulated during time span from t1 to t2 [J m^-2, kJ m^-2 or MJ m^-2]
public static double Temperature(double t, double ptmax, double tmin, double
tmax, double ntmin, double daylength, double p, double tc);

Calculates temperature at hour t Calculates the temperature during day and night according to (G) eq. 3.9, 3.10
returns temperature at hour t [°C]


}