Skip to content

Rethinking pvlib.ivtools #931

Closed
Closed
@cwhanse

Description

@cwhanse

When I proposed pvlib.ivtools I had in mind only the use case of fitting single diode models for PV modules. I expect to see PRs soon with a function to fit the Sandia inverter model (to measured efficiency curves), and functions for the Loss Factor Model. These don't meet the narrow scope of the current ivtools. There are likely other model fitting functions that could be of interest to pvlib users.

#708 refactors ivtools to separate functions into modules sde and sdm for single diode equation and model fitting, respectively. In hindsight, ivtools is too generic, since it doesn't communicate what the module does besides something with IV curves.

An alternate home for model fitting functions, including those in ivtools, might be pvanalytics. But the inverter model fitting code doesn't seem natural there, either, since pvanalytics is primarily being designed for analysis of time-series data from PV systems.

Options:

  • keep pvlib.ivtools, and stick fit_inverter_snl (or whatever it's named) into pvlib.pvsystem.
  • add fitting functions to the code module containing the related model function, e.g., put fit_inverter_snl into pvlib.pvsystem or merge Create inverter.py #886 and add fit_inverter_snl there.
  • create a new module with a broader name than ivtools to contain all model fitting functions, divided up into appropriate modules.
  • refer the two PRs to pvanalytics

Other ideas?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions