breos.optimization.optimize_tilt#
- breos.optimization.optimize_tilt(weather_data, location, n_modules, pv_params=None, surface_azimuth=None, tilt_range=(0.0, 60.0), objective='max_production', freq='h', n_points=13, verbose=True)[source]#
Optimize panel tilt angle for maximum production or self-consumption.
- Parameters:
weather_data (
DataFrame) – Weather DataFrame with solar irradiancelocation – pvlib Location object
n_modules (
int) – Number of PV modulespv_params (
Optional[PVModuleParams]) – PV module parameterssurface_azimuth (
Optional[float]) – Panel azimuth (180=South, 0=North). If None, auto-detected from hemisphere.tilt_range (
Tuple[float,float]) – (min_tilt, max_tilt) in degreesobjective (
str) – ‘max_production’ or ‘max_self_consumption’freq (
str) – Time frequencyn_points (
int) – Number of tilt values to evaluateverbose (
bool) – Print progress
- Return type:
- Returns:
OptimizationResult with optimal tilt