pyforestry.sweden.geo.temperature package#

Submodules#

pyforestry.sweden.geo.temperature.odin_1983 module#

Implementation of Swedish temperature and radiation models.

Source:

Odin, H., Eriksson, B. & Perttu, K. (1983). Temperature and radiation in Swedish forestry (Temperaturklimatkartor för svenskt skogsbruk). Sveriges lantbruksuniversitet, Reports in Forest Ecology and Forest Soils nr 45.

class pyforestry.sweden.geo.temperature.odin_1983.Moren_Perttu_radiation_1994(latitude: float, altitude: float, july_avg_temp: float | None = None, jan_avg_temp: float | None = None)[source]#

Bases: object

Regional temperature and radiation indices for a Swedish site.

From latitude and altitude (and, for the continentality correction, mean July and January temperatures) this computes temperature sums above a threshold, growing-season duration and start, and global radiation over the growing season – each with a 1000 m and a 1500 m regional model.

Source:

Morén, A.-S. & Perttu, K. L. (1994). Regional temperature and radiation indices and their adjustment to horizontal and inclined forest land. Studia Forestalia Suecica 194. Sveriges lantbruksuniversitet, Uppsala.

Note

This class predates the citation audit, and its docstring credited the equations to pyforestry itself rather than to a publication – it is a second published model living in a module named for Odin (1983). The attribution is corrected here; the coefficients have not been re-verified against the primary source in this pass, so treat them as untested against the paper.

calculate_global_radiation_sum_growing_season(threshold_temperature)[source]#

Total global radiation during the growing season.

calculate_growing_season_duration_1000m(threshold_temperature)[source]#

Growing season duration for the 1000 m model.

calculate_growing_season_duration_1500m(threshold_temperature)[source]#

Growing season duration for the 1500 m model.

calculate_temperature_sum_1000m(threshold_temperature)[source]#

Temperature sum for the 1000 m model.

calculate_temperature_sum_1500m(threshold_temperature)[source]#

Temperature sum for the 1500 m model.

get_corrected_temperature_sum(threshold_temperature, for_1500m_model=False)[source]#

Apply continentality correction to the temperature sum.

get_gorczynski_continentality_index()[source]#

Calculates the Gorczynski continentality index using instance data. Tmax is July average temp, Tmin is January average temp. :returns: Continentality index C. :rtype: float

Raises:

ValueError – If July or January temperatures are not set in the instance.

static get_growing_season_start_day(latitude_deg, altitude_m)[source]#

Julian day number when the growing season starts.

static get_ratio_global_to_extraterrestrial_radiation_average_sky(day_number, region)[source]#

Return radiation ratio for average-sky conditions.

static get_ratio_global_to_extraterrestrial_radiation_clear_sky(day_number, region)[source]#

Return radiation ratio for clear-sky conditions.

pyforestry.sweden.geo.temperature.odin_1983.Odin_temperature_sum(latitude: float, altitude_m: float) → float[source]#

Estimate annual temperature sum above 5°C.

This function calculates the annual temperature sum (in degree-days) above 5 degrees Celsius based on latitude and altitude. It uses an empirical model developed by Odin, Eriksson, and Perttu (1983).

Source:

Odin, Eriksson & Perttu (1983). “Temperature Climate Maps for Swedish Forestry.” Reports in Forest Ecology and Forest Soils, 45, p.45.

Parameters:
  • latitude (float) – Decimal latitude (degrees north).

  • altitude_m (float) – Altitude in meters above sea level.

Returns:

Estimated annual temperature sum > 5 degrees Celsius.

Return type:

float

Module contents#

Temperature related helpers.