breos.solar.calculate_pv_production_dc#
- breos.solar.calculate_pv_production_dc(weather_data, location, tilt, surface_azimuth, n_modules, pv_params=None, 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 PV DC production from weather data (fixed-tilt array).
Returns DC power BEFORE inverter conversion. Use dc_to_ac() to convert to AC power for grid export or AC loads.
For DC-coupled battery systems: - Use DC output directly for battery charging (apply only charge efficiency) - Use dc_to_ac() for power going to AC loads or grid
System losses: DEFAULT_PVWATTS_LOSSES (~14.1% combined: soiling 2, shading 3, mismatch 2, wiring 2, connections 0.5, LID 1.5, nameplate 1, availability 3) are always applied via pvlib’s pvwatts_losses; inverter conversion is NOT included here. Pass
loss_overridesto change individual components (percent), e.g.{"shading": 0.0}.- Parameters:
weather_data (
DataFrame) – DataFrame with weather variables (must include ghi/dni/dhi or shortwave_radiation)location (
Location) – pvlib Location objecttilt (
float) – Panel tilt angle (degrees)surface_azimuth (
float) – Panel azimuth (degrees, 180=South)n_modules (
int) – Number of PV modulespv_params (
Optional[PVModuleParams]) – PV module parameters (uses defaults if None)freq (
str) – Time frequency (‘h’ or ‘15min’)degradation_rate (
float) – Annual degradation rate (0.005 = 0.5%/year)current_year (
Optional[int]) – Current simulation year (for age-based degradation)start_year (
Optional[int]) – Year system was installed (for age calculation)verbose (
bool) – Whether to print production summaryloss_overrides (
Optional[Dict[str,float]]) – Per-component PVWatts loss overrides (percent)transposition_model (
str) – Sky-diffusion model for POA transposition (one ofTRANSPOSITION_MODELS); defaults to"isotropic".albedo (
Optional[float]) – Ground reflectance (0-1) for the ground-diffuse component;Noneuses pvlib’s 0.25 default. Mutually exclusive withsurface_type.surface_type (
Optional[str]) – Named ground cover (one ofSURFACE_TYPES) mapped to an albedo by pvlib; an alternative toalbedo.model_perez (
str) – Perez coefficient set (one ofPEREZ_MODELS); only used whentransposition_modelis"perez".
- Return type:
- Returns:
pd.Series with DC power production in Watts (before inverter)