IV Guide

Module Overview

These functions focus on current-voltage (IV) curve simulation and classification.

Note

To use the capabilites in this module, pvOps must be installed with the iv option: pip install pvops[iv].

Tutorials that exemplify usage can be found at:

extractor

physics_utils

physics_utils contains methods which aid the IV Simulator’s physics-based calculations and the preprocessing pipeline’s correction calculations.

  • calculate_IVparams() calculates key parameters of an IV curve.

  • smooth_curve() smooths IV curve using a polyfit.

  • iv_cutoff() cuts off IV curve greater than a given voltage value.

  • intersection() computes the intersection between two curves.

  • T_to_tcell() calculates a cell temperature given ambient temperature via NREL weather-correction tools.

  • bypass() limits voltage to above a minimum value.

  • add_series() adds two IV curves in series.

  • voltage_pts() provides voltage points for an IV curve.

  • gt_correction() corrects IV trace using irradiance and temperature using one of three available options.

preprocess

preprocess contains the preprocessing function * preprocess() which corrects a set of data according to irradiance and temperature and normalizes the curves so they are comparable.

simulator

simulator holds the IV Simulator class which can simulate current-voltage (IV) curves under different environmental and fault conditions. There is also a utility function create_df() for building an IV curve dataframe from a set of parameters.

utils

utils holds the utility function get_CEC_params() which connects to the California Energy Commission (CEC) database hosted by pvLib for cell-level and module-level parameters.

timeseries_simulator

timeseries_simulator contains IVTimeseriesGenerator, a subclass of the IV Simulator, which allows users to specify time-based failure degradation patterns. The class TimeseriesFailure is used to define the time-based failures.