Передача необходимых аргументов в экземпляр

Хотя суть этого вопроса специфична для библиотеки pvlib, я считаю, что ошибка носит общий характер, и другие вопросы могут помочь с ответом.

Я использую функцию с именем total_irrad из библиотеки pvlib (документация здесь: http://pvlib-python.readthedocs.io/en/latest/_modules/pvlib/irradiance.html#total_irrad).

Когда я вызываю функцию и передаю ей правильные аргументы, я получаю сообщение об ошибке: TypeError: total_irrad() takes at least 7 arguments (11 given). Я понимаю, что я предоставил все 11 доступных аргументов, и что этот TypeError говорит мне, что из 11 аргументов требуется 7, а я не передал правильные обязательные элементы.

Я полагаю, прежде всего, правильно ли это понимание (отсюда: Ошибка: функция() принимает не менее n аргументов (n задано)). Если правильно, то как узнать, какие элементы являются обязательными, а какие нет. Или, если я далеко от цели, может ли кто-нибудь предложить какие-либо предложения.

total_irrad = pvlib.irradiance.total_irrad(
    surface_tilt=20, 
    surface_azimuth=solpos['azimuth'], 
    solar_zenith=solpos['zenith'], 
    solar_azimuth=solpos['azimuth'], 
    dni= clearsky['dni'], 
    ghi=clearsky['ghi'], 
    dhi=clearsky['dhi'], 
    dni_extra=dni_extra, 
    airmass=airmass, 
    albedo=0.25, 
    surface_type='grass',
    model='haydavies', 
    model_perez='allsitescomposite1990')

person Rivers31334    schedule 07.05.2017    source источник


Ответы (1)


Любые обязательные аргументы не имеют после них ={Default}. Вам не хватает необходимых аргументов:

apparent_zenith
azimuth
person Stephen Rauch    schedule 07.05.2017
comment
как раз собирался это напечатать. - person Nick Weseman; 07.05.2017