> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plantpredict.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Module Parameter Generation

export const MaximumPowerPoint = () => <Tooltip tip="Operating point on a PV module's I-V curve where the product of voltage and current is maximized.">
    maximum power point
  </Tooltip>;

export const BuiltInVoltage = () => <Tooltip tip="Contact potential across a semiconductor junction at equilibrium, equal to the difference in chemical potential between the two sides in isolation.">
    built-in voltage
  </Tooltip>;

export const Recombination = () => <Tooltip tip="Loss of photo-generated electron-hole pairs before collection as electrical current; reduces cell output.">
    recombination
  </Tooltip>;

export const SaturationCurrent = () => <Tooltip tip="Reverse-bias leakage current of the diode in the single-diode model; represents charge carrier recombination.">
    saturation current
  </Tooltip>;

export const BandgapEnergy = () => <Tooltip tip="Minimum energy to excite an electron across the semiconductor junction; determines spectral response (1.12 eV for c-Si).">
    bandgap energy
  </Tooltip>;

export const Photocurrent = () => <Tooltip tip="Light-generated current in a PV cell; slightly exceeds short-circuit current due to internal losses at V = 0.">
    photocurrent
  </Tooltip>;

export const OpenCircuitVoltage = () => <Tooltip tip="Voltage across a PV cell or module when no current flows (I = 0); decreases with temperature.">
    open-circuit voltage
  </Tooltip>;

export const ShortCircuitCurrent = () => <Tooltip tip="Maximum current from a PV cell when terminals are connected (V = 0); scales approximately linearly with irradiance.">
    short-circuit current
  </Tooltip>;

export const DiodeIdealityFactor = () => <Tooltip tip="Dimensionless parameter (typically 1–2) characterizing how closely a PV cell junction follows ideal diode behavior.">
    diode ideality factor
  </Tooltip>;

export const SeriesResistance = () => <Tooltip tip="Combined ohmic resistance of cell metallization, interconnects, and wiring in the module current path; causes I²R losses.">
    series resistance
  </Tooltip>;

export const ShuntResistance = () => <Tooltip tip="Parasitic resistance across the PV cell junction from manufacturing defects; allows leakage current that reduces output.">
    shunt resistance
  </Tooltip>;

export const IVCurve = () => <Tooltip tip="Current-voltage characteristic of a PV cell or module; the operating point on this curve determines power output.">
    I-V curve
  </Tooltip>;

export const SingleDiodeModel = () => <Tooltip tip="Equivalent circuit representing a PV cell as a current source, diode, and resistances to predict I-V behavior.">
    single-diode model
  </Tooltip>;

export const STC = () => <Tooltip tip="Standard Test Conditions: 1000 W/m² irradiance, 25 °C cell temperature, AM1.5G spectrum; the reference conditions for rating PV modules.">
    STC
  </Tooltip>;

## Summary

Module Parameter Generation is the process by which PlantPredict converts user-supplied module characterization data into the full set of <SingleDiodeModel /> parameters required by [Parameter Translation](/models/dc-performance/parameter_translation) and the [5-Parameter Model](/models/dc-performance/5_parameter_model) or [7-Parameter Model](/models/dc-performance/7_parameter_model). PlantPredict supports four input paths—Basic Data (datasheet), IEC 61853-1 Key I-V Points, Full I-V Curves, and PVsyst PAN file import—and invokes the same core solver for each. The solver determines <Photocurrent /> $I_{ph,ref}$, <SaturationCurrent /> $I_{0,ref}$, and <DiodeIdealityFactor /> $\gamma_{ref}$ at reference conditions by simultaneously imposing that the generated <IVCurve /> reproduces the reference $I_{sc}$, $V_{oc}$, and <MaximumPowerPoint /> $(V_{mp}, I_{mp})$. Shunt resistance $R_{sh,ref}$, dark shunt resistance $R_{sh,0}$, series resistance $R_{s,ref}$, the recombination parameter $d_i^2/\mu\tau$ (7-parameter only), and the linear temperature dependence of $\gamma$ are set by technology-specific empirical rules, iterative bracketing searches, and a power-temperature-coefficient matching routine.

## Inputs

| Name                                      | Symbol                                                         | Units                   | Description                                                               |
| ----------------------------------------- | -------------------------------------------------------------- | ----------------------- | ------------------------------------------------------------------------- |
| **Max Power at STC**                      | $P_{mp}$                                                       | W                       | Nameplate power at <STC />                                                |
| **Short-Circuit Current at STC**          | $I_{sc}$                                                       | A                       | Short-circuit current at STC                                              |
| **Open-Circuit Voltage at STC**           | $V_{oc}$                                                       | V                       | Open-circuit voltage at STC                                               |
| **MPP Current at STC**                    | $I_{mp}$                                                       | A                       | Current at maximum power point                                            |
| **MPP Voltage at STC**                    | $V_{mp}$                                                       | V                       | Voltage at maximum power point                                            |
| **Temp. Coeff. of Power**                 | $\beta_{P_{mp}}$                                               | %/°C                    | Temperature coefficient of $P_{mp}$ (datasheet)                           |
| **Temp. Coeff. of Short-Circuit Current** | $\alpha_{I_{sc}}$                                              | %/°C                    | Temperature coefficient of $I_{sc}$                                       |
| **Temp. Coeff. of Open-Circuit Voltage**  | $\beta_{V_{oc}}$                                               | %/°C                    | Temperature coefficient of $V_{oc}$                                       |
| **Number of Cells in Series**             | $N_c$                                                          | —                       | Cells in series within module                                             |
| **Cell Technology**                       | —                                                              | —                       | n-type/p-type c-Si (PERC, BSF), CdTe, CIGS, Mixed                         |
| **Model Type**                            | —                                                              | —                       | 1-Diode (5-parameter) or 1-Diode Recombination (7-parameter)              |
| **Key I-V Points**                        | $(T_i, G_i, I_{sc,i}, V_{oc,i}, I_{mp,i}, V_{mp,i}, P_{mp,i})$ | °C, W/m², A, V, A, V, W | IEC 61853-1 performance matrix (Key I-V path)                             |
| **Full I-V Curve**                        | $\{(I_j, V_j)\}_{T_i, G_i}$                                    | A, V                    | Measured I-V data per temperature and irradiance (Full Curves path)       |
| **PAN File**                              | —                                                              | —                       | Text-based PVsyst module file, v6.8.0 or later (PAN path)                 |
| **Target Relative Efficiency (EIR)**      | $\eta_{rel}(G)$                                                | —                       | Low-light efficiency targets at 200, 400, 600, 800 W/m² (Advanced Tuning) |

***

## Outputs

| Name                              | Symbol            | Units | Description                                                                |
| --------------------------------- | ----------------- | ----- | -------------------------------------------------------------------------- |
| **Photocurrent at STC**           | $I_{ph,ref}$      | A     | Light-generated current at reference conditions                            |
| **Saturation Current at STC**     | $I_{0,ref}$       | A     | Diode reverse saturation current at reference conditions                   |
| **Diode Ideality Factor at STC**  | $\gamma_{ref}$    | —     | Diode ideality factor at reference conditions                              |
| **Series Resistance at STC**      | $R_{s,ref}$       | Ω     | Reference series resistance                                                |
| **Shunt Resistance at STC**       | $R_{sh,ref}$      | Ω     | Reference shunt resistance                                                 |
| **Dark Shunt Resistance**         | $R_{sh,0}$        | Ω     | Shunt resistance at zero irradiance                                        |
| **Shunt Resistance Exponent**     | $R_{sh,exp}$      | —     | Exponential dependency coefficient (default 5.5)                           |
| **Recombination Parameter**       | $d_i^2/\mu\tau$   | V     | Recombination parameter (7-parameter only)                                 |
| **Built-in Voltage**              | $V_{bi}$          | V     | Built-in junction voltage per cell (7-parameter only)                      |
| **Bandgap Energy**                | $E_g$             | eV    | Semiconductor bandgap                                                      |
| **Linear Temp. Dep. of $\gamma$** | $\mu_\gamma$      | %/°C  | Temperature dependence of the diode ideality factor                        |
| **Temp. Coeff. of $I_{sc}$**      | $\alpha_{I_{sc}}$ | %/°C  | Derived by regression (Key I-V path)                                       |
| **Temp. Coeff. of $V_{oc}$**      | $\beta_{V_{oc}}$  | %/°C  | Derived by regression (Key I-V path)                                       |
| **Temp. Coeff. of $P_{mp}$**      | $\beta_{P_{mp}}$  | %/°C  | Derived by regression (Key I-V path) or finalized by $\mu_\gamma$ matching |

***

## Detailed Description

PlantPredict provides four entry paths for creating a module file, all of which ultimately populate the same single-diode parameter set. The Key I-V Points and Full I-V Curves paths first reduce the supplied data to basic datasheet-equivalent values (and, when enough points are available, to temperature coefficients and a relative-efficiency curve); the PAN file path parses PVsyst's parameters directly and regenerates the derived quantities. The Basic Data path operates on datasheet values from the outset.

```mermaid theme={null}
flowchart LR
  A[Basic Data<br/>datasheet] --> CORE
  B[Key I-V Points<br/>IEC 61853-1] -->|linear regression| A
  B -->|irradiance grouping| EIR[EIR targets]
  C[Full I-V Curves] -->|extract Isc, Voc, Imp, Vmp, Pmax| B
  D[PAN File<br/>PVsyst] -->|field mapping + unit conversion| A
  D --> PAN_DEFAULTS[Technology-specific defaults<br/>spectral, IAM, shading response]
  CORE[Core parameter generation]
  EIR -.optional.-> CORE
  CORE --> OUT[Module file:<br/>Iph, I0, γ, Rs, Rsh, Rsh0, μγ, α]
```

### Technology Constants

Before any solve, PlantPredict assigns technology-specific physical constants and empirical multipliers based on the selected cell technology. These seed the shunt-resistance heuristic, the initial guess for $\gamma_{ref}$, and the recombination-model defaults:

| Cell Technology                   | $E_g$ (eV) | $V_{bi}$ (V) | $R_{sh}$ multiplier | Dark $R_{sh}$ multiplier | Initial $\gamma$ guess | Default EIR target |
| --------------------------------- | ---------- | ------------ | ------------------- | ------------------------ | ---------------------- | ------------------ |
| CdTe                              | 1.5        | 0.9          | 3                   | 12                       | 1.5                    | 0.95               |
| CIGS                              | 1.03       | 0.9          | 5                   | 4                        | 1.5                    | 0.95               |
| All crystalline silicon (default) | 1.12       | 0            | 5                   | 4                        | 1.1                    | 0.97               |

The default $R_{sh,exp}$ is 5.5 and the default heat-absorption coefficient is 0.9. For the 5-parameter model, $V_{bi}$ is not used because the recombination term is set to zero.

### Shunt Resistance

The reference shunt resistance is set from the I-V curve slope near $V_{mp}$ using a technology-dependent multiplier $m_{R_{sh}}$:

$$
R_{sh,ref}^{raw} = m_{R_{sh}} \cdot \frac{V_{mp}}{I_{sc} - I_{mp}}
$$

$R_{sh,ref}^{raw}$ is then quantized to a round value (10 Ω below 200 Ω, 20 Ω between 200 and 250 Ω, 50 Ω between 250 and 3000 Ω, 500 Ω above 3000 Ω) to stabilize downstream iteration against near-identical inputs.

The dark shunt resistance is obtained by applying a second technology-dependent multiplier $m_{R_{sh,0}}$ to the quantized $R_{sh,ref}$, then quantizing again (50 Ω below 500 Ω, 100 Ω between 500 and 2000 Ω, 500 Ω above 2000 Ω):

$$
R_{sh,0} = \text{quantize}\!\left(m_{R_{sh,0}} \cdot R_{sh,ref}\right)
$$

### Core System of Equations

At reference conditions ($T_{ref} = 25\,°\mathrm{C}$, $G_{ref} = 1000\,\mathrm{W/m^2}$), the three unknowns $\gamma_{ref}$, $I_{0,ref}$, and $I_{ph,ref}$ are the simultaneous solution of the single-diode equation evaluated at the three key I-V points. Let

$$
V_{th,ref} = \frac{N_c \, k \, T_{ref}}{q}
$$

with $q = 1.602 \times 10^{-19}$ C and $k = 1.381 \times 10^{-23}$ J/K. Using the recombination-extended form (the 5-parameter system is recovered by setting $d_i^2/\mu\tau = 0$), the residual system is:

**Open-circuit point** ($V = V_{oc}, I = 0$):

$$
0 = I_{ph,ref}\!\left(1 - \frac{d_i^2/\mu\tau}{N_c V_{bi} - V_{oc}}\right) - I_{0,ref}\!\left(\exp\!\frac{V_{oc}}{\gamma_{ref} V_{th,ref}} - 1\right) - \frac{V_{oc}}{R_{sh,ref}}
$$

**Short-circuit point** ($I = I_{sc}, V = 0$):

$$
0 = -I_{sc} + I_{ph,ref}\!\left(1 - \frac{d_i^2/\mu\tau}{N_c V_{bi} - I_{sc} R_{s,ref}}\right) - I_{0,ref}\!\left(\exp\!\frac{I_{sc} R_{s,ref}}{\gamma_{ref} V_{th,ref}} - 1\right) - \frac{I_{sc} R_{s,ref}}{R_{sh,ref}}
$$

**Maximum-power point** ($V = V_{mp}, I = I_{mp}$):

$$
0 = -I_{mp} + I_{ph,ref}\!\left(1 - \frac{d_i^2/\mu\tau}{N_c V_{bi} - (V_{mp} + I_{mp} R_{s,ref})}\right) - I_{0,ref}\!\left(\exp\!\frac{V_{mp} + I_{mp} R_{s,ref}}{\gamma_{ref} V_{th,ref}} - 1\right) - \frac{V_{mp} + I_{mp} R_{s,ref}}{R_{sh,ref}}
$$

The system is solved by the [Levenberg–Marquardt](https://en.wikipedia.org/wiki/Levenberg%E2%80%93Marquardt_algorithm) non-linear least-squares algorithm with a patience limit of 1000 iterations. The initial guesses follow from substituting the technology-dependent $\gamma_0$ into the short-circuit approximation:

$$
I_{ph}^{(0)} = I_{sc}\!\left(1 + \frac{R_{s,ref}}{R_{sh,ref}}\right), \qquad I_0^{(0)} = I_{sc} \exp\!\left(-\frac{q \, V_{oc}}{k \, T_{ref} \, N_c \, \gamma_0}\right), \qquad \gamma^{(0)} = \gamma_0
$$

The solver returns $\gamma_{ref}$, $I_{0,ref}$, and $I_{ph,ref}$ conditional on $R_{s,ref}$ and $R_{sh,ref}$; $R_{s,ref}$ is determined separately by the searches below.

### Maximum Series Resistance Search (5-parameter)

For the 5-parameter model, $R_{s,ref}$ is bracketed by the largest value for which the core system admits a physically meaningful solution—specifically, where the ratio $I_{0,ref}/I_{ph,ref}$ remains above $10^{-12}$:

1. Start at $R_{s,ref} = 0$.
2. Increase $R_{s,ref}$ by $\Delta R = 0.1\,\Omega$; re-solve the core system. Repeat while $I_{0,ref}/I_{ph,ref} > 10^{-12}$ or until 1000 iterations are performed.
3. Back off by $\Delta R$, set $\Delta R \leftarrow \Delta R / 10$, and repeat.
4. After three refinement passes ($\Delta R = 0.1, 0.01, 0.001\,\Omega$), the final value is $R_{s,\max}$.

The generated module's $R_{s,ref}$ is then set by the EIR-tuning step described below; $R_{s,\max}$ serves as the upper bound.

### Maximum Series Resistance and Recombination Search (7-parameter, CdTe)

For the 7-parameter model, two quantities must be bracketed before the core solve:

**Maximum recombination parameter.** Hold $R_{s,ref} = 0.1\,\Omega$ and iterate $d_i^2/\mu\tau$ upward from 0 using the same zero-in schedule ($\Delta = 0.1, 0.01, 0.001$, three passes) while $I_{0,ref}/I_{ph,ref} > 10^{-12}$. The resulting upper bound $\left(d_i^2/\mu\tau\right)_{\max}$ is then reduced to 90 % for use in the module:

$$
\frac{d_i^2}{\mu\tau} = 0.9 \cdot \left(\frac{d_i^2}{\mu\tau}\right)_{\max}
$$

**Maximum series resistance.** With $d_i^2/\mu\tau$ fixed at the 90 % value, repeat the three-pass bracketing search on $R_{s,ref}$ as in the 5-parameter case to obtain $R_{s,\max}$. The final reference series resistance is set to half the maximum:

$$
R_{s,ref} = 0.5 \cdot R_{s,\max}
$$

The core Levenberg–Marquardt system is then solved once at these values of $R_{s,ref}$ and $d_i^2/\mu\tau$ to finalize $\gamma_{ref}$, $I_{0,ref}$, and $I_{ph,ref}$.

### Series Resistance Tuning to Effective Irradiance Response

When only datasheet values are available (no user-supplied EIR targets), the 5-parameter series resistance is tuned so that the module reaches a technology-dependent default relative efficiency $\eta_{rel}^{target}$ (0.97 for c-Si, 0.95 for CdTe and CIGS) at 200 W/m² and 25 °C. The relative efficiency is defined as:

$$
\eta_{rel}(G, T) = \frac{P_{mp}(G, T)}{P_{mp,STC} \cdot G / G_{ref}}
$$

Starting from $R_{s,ref} = 0.2 \cdot R_{s,\max}$, the algorithm increments $R_{s,ref}$ by $\Delta R$, re-solves the core system, and re-evaluates $\eta_{rel}(200\,\mathrm{W/m^2})$ until either $\eta_{rel}$ falls inside the window $(0.97001, 0.975)$ or $R_{s,ref}$ exceeds $0.95 \cdot R_{s,\max}$. Two refinement passes ($\Delta R = 0.01, 0.001\,\Omega$) tighten the result. A small margin of $10 \Delta R$ is added at the end to compensate for the last under-shoot.

When explicit EIR targets are provided at 200, 400, 600, and 800 W/m² at 25 °C, the tuning minimizes a weighted root-mean-square error against those targets:

$$
\varepsilon = \sqrt{\frac{1}{N} \sum_{G \in \{200,400,600,800\}} w_G \left(\eta_{rel}^{target}(G) - \eta_{rel}^{model}(G)\right)^2}
$$

with weights $w_{200} = 0.4$, $w_{400} = 0.6$, $w_{600} = 0.8$, $w_{800} = 1.0$. A coarse two-step direction probe at $\Delta R = 0.1\,\Omega$ selects increase or decrease, followed by a refined walk at $\Delta R = 0.01\,\Omega$ until the error stops decreasing, the upper bound $R_{s,\max}$ is reached, or the lower bound of $0.05 \cdot R_{s,\max}$ is reached.

### Finalizing the Power Temperature Coefficient ($\mu_\gamma$)

The linear temperature dependence of the diode ideality factor $\mu_\gamma$ (the $\alpha_\gamma$ appearing in [Parameter Translation](/models/dc-performance/parameter_translation)) is set so that the generated module reproduces the datasheet $\beta_{P_{mp}}$. The algorithm evaluates $P_{mp}$ at 25 °C and at 45 °C under the scaled parameters and defines the effective model temperature coefficient:

$$
\mu_{P_{mp}} = \frac{1}{P_{mp}(25\,°\mathrm{C})} \cdot \frac{P_{mp}(45\,°\mathrm{C}) - P_{mp}(25\,°\mathrm{C})}{45 - 25}
$$

Starting from $\mu_\gamma = 0.01\,\%/°\mathrm{C}$, a direction probe evaluates $\mu_{P_{mp}}$ at three trial values and selects the sign that reduces the error $\beta_{P_{mp}}/100 - \mu_{P_{mp}}$. The algorithm then walks $\mu_\gamma$ in that direction with an increment of $\pm 0.111 \cdot \mu_\gamma$ and four successive refinement passes (each dividing the increment by 20 and the convergence tolerance by 10). Convergence is reached when $|\beta_{P_{mp}}/100 - \mu_{P_{mp}}| < \varepsilon$; the final $\beta_{P_{mp}}$ returned by the module is the one produced by the converged $\mu_\gamma$.

### Computing $\alpha$ and Module Thermal Quantities

The dimensionless exponent prefactor $\alpha$ used by the single-diode solver is:

$$
\alpha = \frac{q}{k \, N_c \, \gamma_{ref} \, T_K}
$$

with $T_K$ the reference cell temperature in Kelvin. For modules with a non-default reference ($T_{ref} \neq 25\,°\mathrm{C}$ or $G_{ref} \neq 1000\,\mathrm{W/m^2}$), $\alpha$ is recomputed from the scaled $\gamma$ at the target reference.

### Extraction from Key I-V Points (IEC 61853-1)

The Key I-V Points path accepts a matrix of $(T, G, I_{sc}, V_{oc}, I_{mp}, V_{mp}, P_{mp})$ readings. An STC point ($T = 25\,°\mathrm{C}$, $G = 1000\,\mathrm{W/m^2}$) is mandatory. When additional temperatures above 25 °C are present at $G = 1000\,\mathrm{W/m^2}$, the temperature coefficients are fitted by ordinary linear regression and normalized to %/°C:

$$
\beta_{P_{mp}} = \frac{\partial P_{mp}/\partial T}{P_{mp,STC}} \cdot 100, \qquad
\alpha_{I_{sc}} = \frac{\partial I_{sc}/\partial T}{I_{sc,STC}} \cdot 100, \qquad
\beta_{V_{oc}} = \frac{\partial V_{oc}/\partial T}{V_{oc,STC}} \cdot 100
$$

When irradiances other than 1000 W/m² are present, relative efficiency targets are derived per temperature group for use in the EIR tuning step above:

$$
\eta_{rel}(G_i, T_j) = \frac{P_{mp}(G_i, T_j)}{P_{mp}(G = 1000\,\mathrm{W/m^2}, T_j) \cdot G_i / G_{ref}}
$$

The extracted STC quantities and coefficients are then passed to the core pipeline as if they had been entered on the datasheet.

### Extraction from Full I-V Curves

For each supplied $(T, G)$ curve, PlantPredict first filters out points at the origin and any points with negative current or voltage. A curve must contain at least 40 data points after filtering. The key I-V quantities are then computed:

* **Short-circuit current** $I_{sc}$: if a point with $V = 0$ exists, its current is used; otherwise a linear regression on $I(V)$ restricted to $V \leq V_{\max}/20$ is fitted and the $V = 0$ intercept is returned.
* **Open-circuit voltage** $V_{oc}$: if a point with $I = 0$ exists, its voltage is used; otherwise a linear regression on $V(I)$ restricted to $I \leq I_{\max}/20$ returns the $I = 0$ intercept.
* **Maximum power** $P_{mp} = \max(I \cdot V)$; the corresponding $(V_{mp}, I_{mp})$ are the data-point coordinates at that maximum.

The resulting per-curve Key I-V rows feed the Key I-V Points pipeline above.

### Import from a PVsyst PAN File

PlantPredict imports text-based PVsyst PAN files (v6.8.0 and later). Binary PAN files are not supported and raise a parse error. The importer reads key–value lines and maps PVsyst fields onto `ModuleDTO` fields, with unit conversions where necessary:

| PVsyst field                   | PlantPredict field               | Unit conversion                             |
| ------------------------------ | -------------------------------- | ------------------------------------------- |
| `Technol`                      | Cell Technology                  | `"cdte"` → CdTe; else p-type mono c-Si PERC |
| `NCelS`                        | Number of cells in series        | —                                           |
| `NCelP`, `NCel`                | Number of cells in parallel      | —                                           |
| `PNom`                         | $P_{mp,STC}$                     | W                                           |
| `Voc`, `Isc`, `Vmp`, `Imp`     | $V_{oc}, I_{sc}, V_{mp}, I_{mp}$ | V, A                                        |
| `muPmpReq`                     | $\beta_{P_{mp}}$                 | %/°C (direct)                               |
| `muVocSpec`                    | $\beta_{V_{oc}}$                 | mV/°C → %/°C by $\div (V_{oc} \cdot 10)$    |
| `muISC`                        | $\alpha_{I_{sc}}$                | mA/°C → %/°C by $\div (I_{sc} \cdot 10)$    |
| `RSerie`                       | $R_{s,ref}$                      | Ω                                           |
| `RShunt`                       | $R_{sh,ref}$                     | Ω                                           |
| `Rp_Exp`                       | $R_{sh,exp}$                     | —                                           |
| `Rp_0`                         | $R_{sh,0}$                       | Ω                                           |
| `BifacialityFactor`            | Bifaciality factor               | fraction → % by $\times 100$                |
| `Height`, `Width`              | Module length, width             | m → mm by $\times 1000$                     |
| `Weight`                       | Weight                           | —                                           |
| `PNomTolLow`, `PNomTolUp`      | Min/Max tolerance                | —                                           |
| `FrontSurface = fsARCoating`   | ARC flag                         | —                                           |
| `D2MuTau`                      | $d_i^2/\mu\tau$                  | V                                           |
| `muGamma`                      | $\mu_\gamma$                     | %/°C                                        |
| `IAMProfile` / `Point_X = θ,f` | IAM factor table                 | —                                           |

After mapping, PlantPredict applies technology-specific defaults. CdTe modules are assigned the First Solar POR spectral response with the Lee & Panchula two-variable coefficients; other technologies receive the generic c-Si Lee & Panchula coefficients with spectral response off by default. The PV model is set to 1-Diode Recombination for CdTe and 1-Diode otherwise. The core generator (`GenerateModuleParametersAdavanced`) is then invoked to re-derive $I_{ph,ref}$, $I_{0,ref}$, $\gamma_{ref}$, $\mu_\gamma$, and $\alpha$ consistent with the imported $R_{s,ref}$ and $R_{sh,ref}$. Finally, the nameplate $P_{mp,STC}$ is restored to the PAN value (overriding any shift introduced by regeneration) and a fixed set of defaults is applied:

* Heat absorption coefficient 0.9; Sandia convective coefficient −0.075; Sandia conductive coefficient −3.56; cell-to-module temperature difference 3 °C; heat-balance conductive coefficient 29.
* Back-side mismatch 3 %.
* Module mismatch coefficient 0.5 % for CdTe, 1.0 % otherwise.
* Light-induced degradation 0 for CdTe, 1.5 % for all other technologies.
* Linear degradation 0.5 %/year.
* Module shading response set to Linear for CdTe and to Fractional Electrical Shading otherwise, with a 100 % electrical shading effect.
* Default ASHRAE IAM $b_0 = 0.05$; the Sandia IAM polynomial and the tabular IAM use PlantPredict-fitted defaults. If the PAN file contains an `IAMProfile` block, its $(\theta, f)$ pairs are imported verbatim. If no profile is provided but `FrontSurface = fsARCoating` is present, an ARC-specific default table is used; otherwise a generic no-ARC table is used.

The resulting module can be further tuned via the Advanced inputs (`GenerateModuleParametersAdavanced`) or optimized against measured EIR data (`OptimizeSeriesResistance`) using the same core routines described above.

### Parameter Validation

PlantPredict enforces range checks on generated parameters; if any fall outside the intervals below, generation fails with an "out of range" error:

| Parameter      | Valid range             |
| -------------- | ----------------------- |
| $I_{0,ref}$    | $[10^{-13}, 10^{-6}]$ A |
| $\gamma_{ref}$ | $[0.1, 5]$              |
| $\mu_\gamma$   | $[-3, 3]$ %/°C          |

The generated module is then passed to [Parameter Translation](/models/dc-performance/parameter_translation) at every simulation time step to produce the operating-condition values consumed by the [5-Parameter Model](/models/dc-performance/5_parameter_model) or the [7-Parameter Model](/models/dc-performance/7_parameter_model).

***

## References

* De Soto, W., Klein, S. A., & Beckman, W. A. (2006). *Improvement and validation of a model for photovoltaic array performance.* Solar Energy, 80(1), 78–88. DOI: [10.1016/j.solener.2005.06.010](https://doi.org/10.1016/j.solener.2005.06.010)
* Mermoud, A., & Lejeune, T. (2010). *Performance assessment of a simulation model for PV modules of any available technology.* 25th European Photovoltaic Solar Energy Conference, Valencia, Spain.
* Levenberg, K. (1944). *A method for the solution of certain non-linear problems in least squares.* Quarterly of Applied Mathematics, 2(2), 164–168. DOI: [10.1090/qam/10666](https://doi.org/10.1090/qam/10666)
* Marquardt, D. W. (1963). *An algorithm for least-squares estimation of nonlinear parameters.* Journal of the Society for Industrial and Applied Mathematics, 11(2), 431–441. DOI: [10.1137/0111030](https://doi.org/10.1137/0111030)
* IEC 61853-1:2011. *Photovoltaic (PV) module performance testing and energy rating — Part 1: Irradiance and temperature performance measurements and power rating.* International Electrotechnical Commission.
* Lee, M., & Panchula, A. (2016). *Spectral correction for photovoltaic module performance based on air mass and precipitable water.* 2016 IEEE 43rd Photovoltaic Specialists Conference (PVSC), 1351–1356. DOI: [10.1109/PVSC.2016.7749836](https://doi.org/10.1109/PVSC.2016.7749836)
