docs: def ashrae_clear_sky(altitudes, month, sky_clearness=1):
      """Calculate solar flux for an original ASHRAE Clear Sky
  
      Args:
          altitudes: A list of solar altitudes in degrees
          month: An integer (1-12) indicating the month the altitudes belong to
          sky_clearness: A factor that will be multiplied by the output of
              the model. This is to help account for locations where clear,
              dry skies predominate (e.g., at high elevations) or,
              conversely, where hazy and humid conditions are frequent. See
              Threlkeld and Jordan (1958) for recommended values. Typical
              values range from 0.95 to 1.05 and are usually never more
              than 1.2. Default is set to 1.0.
  
      Returns:
          dir_norm_rad: A list of direct normal radiation values for each
              of the connected altitudes in W/m2.
          dif_horiz_rad: A list of diffuse horizontall radiation values for each
              of the connected altitudes in W/m2.
      """
      # apparent solar irradiation at air mass m = 0
      MONTHLY_A = [1202, 1187, 1164, 1130, 1106, 1092, 1093, 1107, 1136,
                   1166, 1190, 1204]
      # atmospheric extinction coefficient
      MONTHLY_B = [0.141, 0.142, 0.149, 0.164, 0.177, 0.185, 0.186, 0.182,
                   0.165, 0.152, 0.144, 0.141]
  
      dir_norm_rad = []
      dif_horiz_rad = []
      for i, alt in enumerate(altitudes):
          if alt > 0:
              try:
                  dir_norm = MONTHLY_A[month - 1] / (math.exp(
                      MONTHLY_B[month - 1] / (math.sin(math.radians(alt)))))
                  diff_horiz = 0.17 * dir_norm * math.sin(math.radians(alt))
                  dir_norm_rad.append(dir_norm * sky_clearness)
                  dif_horiz_rad.append(diff_horiz * sky_clearness)
              except OverflowError:
                  # very small altitude values
                  dir_norm_rad.append(0)
                  dif_horiz_rad.append(0)
          else:
              # night time
              dir_norm_rad.append(0)
              dif_horiz_rad.append(0)
  
      return dir_norm_rad, dif_horiz_rad