breos.solar.calculate_multi_array_production#

breos.solar.calculate_multi_array_production(weather_data, location, arrays, freq='h', degradation_rate=0.0, current_year=None, start_year=None, verbose=False, loss_overrides=None, transposition_model='isotropic', albedo=None, surface_type=None, model_perez='allsitescomposite1990')[source]#

Calculate combined DC production from multiple PV arrays.

Each array is either fixed-tilt or tracking. Mixed configurations are supported.

Parameters:
  • weather_data (DataFrame) – DataFrame with weather variables

  • location (Location) – pvlib Location object

  • arrays (List[Dict[str, Any]]) – List of array dictionaries. Each entry requires modules. Common keys include module and tracking. Fixed-tilt arrays use tilt and azimuth. Single-axis arrays can also set axis_tilt, axis_azimuth, max_angle, backtrack, gcr, and cross_axis_tilt. Dual-axis arrays can set dual_axis_max_tilt. Any array may also set transposition_model, albedo/surface_type, or model_perez to override the function-level defaults.

  • freq (str) – Time frequency (‘h’ or ‘15min’)

  • degradation_rate (float) – Annual degradation rate

  • current_year (Optional[int]) – Current simulation year

  • start_year (Optional[int]) – Installation year

  • verbose (bool) – Print summary

  • loss_overrides (Optional[Dict[str, float]]) – Per-component PVWatts loss overrides (percent)

  • transposition_model (str) – Default sky-diffusion model for arrays that do not set their own (one of TRANSPOSITION_MODELS).

  • albedo (Optional[float]) – Default ground reflectance (0-1); arrays may override with their own albedo or surface_type.

  • surface_type (Optional[str]) – Default named ground cover (one of SURFACE_TYPES); mutually exclusive with albedo.

  • model_perez (str) – Default Perez coefficient set (one of PEREZ_MODELS).

Return type:

Series

Returns:

pd.Series with total DC power (watts)