Solar and Location

Calculate solar data.

class ambient.solar.Location(guid=<factory>, latitude=inf, longitude=inf, timezone=inf, elevation=0.0)

Bases: ambient.core.BaseElement

Location related information.

latitude: float = inf

location latitude [degrees]

longitude: float = inf

location longitude [degrees]

timezone: float = inf

time difference from UTC [hours]

elevation: float = 0.0

elevation above sealevel [m]

class ambient.solar.SolarBase(guid=<factory>, location=None, timeperiod=None)

Bases: ambient.core.BaseElement

Solar related calculation base class.

location: Optional[ambient.solar.Location] = None

Location for the solar calculations

timeperiod: Optional[ambient.time.TimePeriodBase] = None

Time period for solar calculations

abstract property diffuse_horizontal_irradiance_all

Return the diffuse horizontal irrandiance for all timesteps.

abstract property beam_normal_irradiance_all

Return the beam normal irrandiance for all timesteps.

calculate_incident_diffuse_radiation(surface_azimuth, surface_tilt)

Calculate the incident diffuse radiation on surfaces.

Parameters
  • surface_azimuth (float) – surface azimuth values measured clockwise from North [degrees].

  • surface_tilt (float) – surface tilt values measured from horizontal [degrees]

Returns

the incident diffuse solar radiation on each surface, for each day, for each hour [W / m^2]

Return type

float

class ambient.solar.SolarDesignDay(guid=<factory>, location=None, timeperiod=None, tau_b=<factory>, tau_d=<factory>)

Bases: ambient.solar.SolarBase

Solar related calculation design day.

tau_b: np.ndarray

clear sky beam optical depth on the 21st of each month []

tau_d: np.ndarray

clear sky diffuse optical depth on the 21st of each month []

property diffuse_horizontal_irradiance_all

Return the diffuse horizontal irrandiance for all timesteps.

property beam_normal_irradiance_all

Return the beam normal irrandiance for all timesteps.