0 Votes

Climate

Last modified by Sven Moosberger on 2026/08/26 10:24

 

1746024956249-711.png

The Climate processor model Climate is an algorithmic block (written in nmf) that takes measured weather values from the climate file as well as longitude Long, latitude Lat and timezone LongTimezone from the Location object and calculates:

  • Saturation pressure PSat and absolute air humidity HumAir from air temperature TAir and relative air humidity RelHum:
    PSat := SATPRES(TAir);
    PVap := PSat * RelHum/100;
    HumAir := HUMRAT(PAir + 1E5, PVap);
  • Sky temperature TSky from air temperature TAir and from percentage of sky covered by clouds SkyCover, using the so-called "Walton-Clark-Allen model" as long as SkyCover is given, and a very simple model TSky := TAir - dTAirSky if not:

    IF TSkyModel < 1.5 OR SkyCover <0 THEN
          TSky := TAir - dTAirSky;
       ELSE
          /* Walton-Clark-Allen model */
          TSky := -273.15 + (TAir+273.15) * ((0.787 + 0.764 * LOG(1+SATTEMP(Pvap)/273.15))
    *Polynomial(4, {1, 0.224, -0.35, 0.28}, SkyCover/100))**0.25;
       END_IF;

    The Walton-Clark-Allen model in more readable spelling:

    \[ T_{\text{Sky}} := -273.15 + (T_{\text{Air}}+273.15) \times \left( F_{\text{atm}} \times F_{\text{sky}} \right)^{0.25} \]

    where Fatm is the empirical relation for atmospheric radiation and Fsky the sky cover correction factor:

    \[ F_{\text{atm}} := 0.787 + 0.764 \log \left( 1 + \frac{T_{\text{sat}}(P_{\text{vap}})}{273.15} \right) \]
    \[ F_{\text{sky}} := 1 + 0.224 \left( \frac{\text{SkyCover}}{100} \right) - 0.35 \left( \frac{\text{SkyCover}}{100} \right)^2 + 0.28 \left( \frac{\text{SkyCover}}{100} \right)^3 \]

     

  • Ground temperature TGround equal to Air Temperature TAir:
    TGround := TAir
     
  • Solar position, given by the sun's elevation ElevSun and azimuth AzimutSun, from longitude Long, latitude Lat and timezone LongTimezone