An \(I-V\) curve indicates the relationship between current and voltage for a solar cell or module. Thus for a single \(I-V\) curve, the dataset usually consists of several data points of voltage \(V\) and the associated current \(I\). As is shown in Figure 1, a standard \(I-V\) curve has the shape of a concave curve with nearly no change of current at small voltage, and a sharp decrease of current at a certain voltage point.

Solar cell parameters in \(I-V\) curves are important in evaluating the performance and degradation of PV modules. These performance parameters include the maximum power point \(P_{mp}\), short-circuit current \(I_{sc}\), open-circuit voltage \(V_{oc}\), shunt resistance \(R_{sh}\), series resistance \(R_s\), and fill factor \(FF\). The first five of these parameters are illustrated in Figure 1. \(I_{sc}\) is defined as the current at zero voltage (the y-intercept of the \(I-V\) curve), while \(V_{oc}\) is the voltage at zero current (the x-intercept). \(R_{sh}\) is equivalent to the negative of inverse slope of the \(I-V\) curve near \(I_{sc}\). \(R_s\) is equivalent to the negative of inverse slope of the \(I-V\) curve near \(V_{oc}\). \(P_{mp}\) is the maximum product of current and voltage on the \(I-V\) curve. \(FF\) is defined as the ratio of the maximum power from the solar cell to the product of \(V_{oc}\) and \(I_{sc}\), it measures the “squareness” of the solar cell. \(FF\) is not shown in Figure 1 directly, but can be calculated with the equation

\[\begin{equation} FF= \frac{P_{max}}{I_{sc}*V_{oc}} \label{ff} \end{equation}\]

We define the in the \(I-V\) curves as how many typical \(I-V\) curve shapes appear in the current-voltage relationship. The standard \(I-V\) curve shown in Figure 1 is said to have only one step. There are cases (e.g. when it is cloudy) where several steps are present in a single \(I-V\) curve due to activation of the bypass diodes. An example of \(I-V\) curves with steps is demonstrated in Figure 2. This \(I-V\) curve looks like a combination of three standard \(I-V\) curves. This pattern of \(I-V\) curves is an indication of mismatch between different areas of the array of module under test. This may be caused by a partial shading of the PV array or damage of PV cells, causing bypass diodes to activate. If a step is caused by partially shaded array, then the step would be transient and disappear from future \(I-V\) curves. However, if the PV cell is damaged, then the step would be permanent.

```
library(ddiv)
## Use the example IV curve data that has two steps
## Load the IV curve data set
data(IV_step2)
<- data.frame(IV_step2)
IV2 #?IV_step2
## Calculate number of steps in IV curve
IVsteps(IV2$I,IV2$V,plot.option=FALSE)
```

```
## Warning in id.psi.in & id.psi.far: longer object length is not a multiple of
## shorter object length
## Warning in id.psi.in & id.psi.far: longer object length is not a multiple of
## shorter object length
## Warning in id.psi.in & id.psi.far: longer object length is not a multiple of
## shorter object length
## Warning in id.psi.in & id.psi.far: longer object length is not a multiple of
## shorter object length
```

```
## $step
## [1] 2
##
## $xsep
## V1
## 1 10.594
```

```
## Extract two sets of IV features for each sub IV curves
IVExtractResult(IV2,plot.option=FALSE)
```

```
## Warning in id.psi.in & id.psi.far: longer object length is not a multiple of
## shorter object length
## Warning in id.psi.in & id.psi.far: longer object length is not a multiple of
## shorter object length
## Warning in id.psi.in & id.psi.far: longer object length is not a multiple of
## shorter object length
## Warning in id.psi.in & id.psi.far: longer object length is not a multiple of
## shorter object length
```

```
## step Isc Rsh Voc Rs
## 1 2 V1#1.732#1.917 V1#2732.708#46.831 V1#68.612#37.133 V1#34.319#1.082
## Pmp Imp Vmp FF Cutoff
## 1 V1#17.841#55.137 V1#1.692#1.646 V1#10.544#33.489 V1#15.01#77.46 V1#10.594
```