Skip to content

Allow arbitrary IAM function in pvlib.iam.marion_diffuse #2049

@markcampanelli

Description

@markcampanelli

Is your feature request related to a problem? Please describe.
I am working on an application using pvlib.iam.marion_diffuse, and I would like to inject my own IAM function (from interpolated IEC 61853-2 data) as a parameter to pvlib.iam.marion_diffuse.

Describe the solution you'd like
Add the option for passing a callable to pvlib.iam.marion_diffuse instead of the existing strings for the builtin IAM model functions. (The existing strings would still be accepted.)

Also add a function to create IAM functions as a PCHIP interpolation of data such as from IEC 61853-2. Note that this solution can also be made to add support for passing the existing pvlib.iam.interp function (whose cubic option is slightly different that pchip) to pvlib.iam.marion_diffuse.

Describe alternatives you've considered
Rolling my own interpolant each time, and then calling the lower-level pvlib.iam.marion_integrate for each of the three components.

Additional context
This is a followup to #1980, but without any concern to improving the diffuse-horizontal integral.

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions