Hottel Model

class pysolorie.model.HottelModel[source]

Hottel Model for estimating clear-sky beam radiation transmittance based on climate type, and observer altitude [1].

Climate Constants are Correction factors for different climate types \(r_0\), \(r_1\), and \(r_k\).

Climate Constants

Climate Type

\(r_0\)

\(r_1\)

\(r_k\)

TROPICAL

0.95

0.98

1.02

MIDLATITUDE SUMMER

0.97

0.99

1.02

SUBARCTIC SUMMER

0.99

0.99

1.01

MIDLATITUDE WINTER

1.03

1.01

1.00

References

calculate_transmittance_components(climate_type: str, observer_altitude: int) Tuple[float, float, float][source]

Calculate the components of clear-sky beam radiation transmittance \(a_0\), \(a_1\), and \(k\) based on climate type and observer altitude.

Correction factors adjust the clear-sky beam radiation transmittance components according to the following formulas:

\[ \begin{align}\begin{aligned}a_0 = r_0 \times a_0^*\\a_1 = r_1 \times a_1^*\\k = r_k \times k^*\end{aligned}\end{align} \]

The formula used to calculate \(a_0^*\) is:

\[a_0^* = 0.4237 - 0.00821 \times (6 - A)^2\]

The formula used to calculate \(a_1^*\) is:

\[a_1^* = 0.5055 + 0.00595 \times (6.5 - A)^2\]

The formula used to calculate \(k^*\) is:

\[k^* = 0.2711 + 0.01858 \times (2.5 - A)^2\]

Where A is the observer altitude in kilometers.

Parameters:
  • climate_type (str) – Climate type (i.e., one of the keys in Climate Constants: TROPICAL, MIDLATITUDE SUMMER, SUBARCTIC SUMMER, or MIDLATITUDE WINTER).

  • observer_altitude (float) – Altitude of the observer in meters. It is converted to kilometers in the calculations.

Returns:

Components of clear-sky beam radiation transmittance (\(a_0\), \(a_1\), \(k\)).

Return type:

tuple of floats

Raises:

ValueError – If an invalid climate type is provided.

property climate_type: str

Getter for climate_type property. Returns the climate type in uppercase.