Skip to content

Single Diode Model error when low effective irradiance (pvlib==0.10.2) #1993

Open
@OnairSandra

Description

@OnairSandra

pvlib usage questions can be asked on Stack Overflow and tagged with the pvlib tag.

The pvlib-python google group is used for discussing various topics of interest to the pvlib-python community. We also make new version announcements on the google group.

I get a ValueError when using single diode model with lambertw method.
p_mp, v_mp = _golden_sect_DataFrame(params, 0., v_oc * 1.14, _pwr_optfcn)
raise ValueError('upper >= lower is required')

I've seen some issues that may be related, because newton method doesn't raise any error, and I've some very low irradiance values:
#1673
#1843

Debugging lambertw method, I found the following:
#Set small elements <0 in v_oc to 0
if isinstance(v_oc, np.ndarray):
v_oc[(v_oc < 0) & (v_oc > -1e-12)] = 0.

In my case, there are some v_oc values under 0, but no so close to zero as -1e-12
v_oc[(v_oc < 0)] = array([-0.00024414, -0.00097656, -0.00195312, -0.00390625, -0.00390625])

#Questions:
Is there any reason to not filter every negative value in v_oc?
May I use newton method to avoid this error?

#Environment:
Python version: 3.10
pvlib version: 0.10.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions