|
11 | 11 | import warnings |
12 | 12 | import pandas as pd |
13 | 13 | from dataclasses import dataclass, field |
14 | | -from typing import Union, Tuple, Optional, TypeVar |
| 14 | +from typing import Callable, Union, Tuple, Optional, TypeVar |
15 | 15 |
|
16 | 16 | from pvlib import (atmosphere, clearsky, inverter, pvsystem, solarposition, |
17 | 17 | temperature, tools) |
18 | 18 | from pvlib.tracking import SingleAxisTracker |
19 | 19 | import pvlib.irradiance # avoid name conflict with full import |
20 | | -from pvlib.pvsystem import _DC_MODEL_PARAMS |
| 20 | +from pvlib.location import Location |
| 21 | +from pvlib.pvsystem import PVSystem, _DC_MODEL_PARAMS |
21 | 22 | from pvlib._deprecation import pvlibDeprecationWarning |
22 | 23 | from pvlib.tools import _build_kwargs |
23 | 24 |
|
@@ -394,15 +395,23 @@ class ModelChain: |
394 | 395 | 'cell_temperature', 'effective_irradiance', |
395 | 396 | 'dc', 'ac', 'diode_params', 'tracking'] |
396 | 397 |
|
397 | | - def __init__(self, system, location, |
398 | | - orientation_strategy=None, |
399 | | - clearsky_model='ineichen', |
400 | | - transposition_model='haydavies', |
401 | | - solar_position_method='nrel_numpy', |
402 | | - airmass_model='kastenyoung1989', |
403 | | - dc_model=None, ac_model=None, aoi_model=None, |
404 | | - spectral_model=None, temperature_model=None, |
405 | | - losses_model='no_loss', name=None): |
| 398 | + def __init__( |
| 399 | + self, |
| 400 | + system: Union[PVSystem, SingleAxisTracker], |
| 401 | + location: Location, |
| 402 | + orientation_strategy: Optional[str] = None, |
| 403 | + clearsky_model: str = 'ineichen', |
| 404 | + transposition_model: str = 'haydavies', |
| 405 | + solar_position_method: str = 'nrel_numpy', |
| 406 | + airmass_model: str = 'kastenyoung1989', |
| 407 | + dc_model: Optional[Union[Callable, str]] = None, |
| 408 | + ac_model: Optional[Union[Callable, str]] = None, |
| 409 | + aoi_model: Optional[Union[Callable, str]] = None, |
| 410 | + spectral_model: Optional[Union[Callable, str]] = None, |
| 411 | + temperature_model: Optional[Union[Callable, str]] = None, |
| 412 | + losses_model: str = 'no_loss', |
| 413 | + name: Optional[str] = None |
| 414 | + ): |
406 | 415 |
|
407 | 416 | self.name = name |
408 | 417 | self.system = system |
|
0 commit comments