> ## 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.

# Soiling

export const IAM = () => <Tooltip tip="Incidence Angle Modifier: correction factor for optical losses at non-perpendicular light angles.">
    IAM
  </Tooltip>;

export const POAIrradiance = () => <Tooltip tip="Solar irradiance on the tilted module surface (beam + diffuse + reflected); drives PV power generation.">
    POA irradiance
  </Tooltip>;

## Summary

The soiling model accounts for irradiance losses due to dust, dirt, pollen, and other particulate matter accumulated on module surfaces. PlantPredict implements three soiling approaches: None (no soiling loss), Monthly (user-specified monthly loss values), and Weather (time-series loss values from weather data). The soiling factor is applied uniformly to all <POAIrradiance /> components after shading losses and before <IAM /> corrections.

## Inputs

| Name             | Symbol     | Units | Description                                      |
| ---------------- | ---------- | ----- | ------------------------------------------------ |
| **Soiling Loss** | $S_{loss}$ | %     | Soiling loss percentage for the current timestep |

***

## Outputs

| Name               | Symbol     | Units | Description                              |
| ------------------ | ---------- | ----- | ---------------------------------------- |
| **Soiling Factor** | $U_{soil}$ | —     | Fraction of irradiance transmitted (0-1) |

***

## Detailed Description

The soiling factor is calculated from the soiling loss percentage:

$$
U_{soil} = 1 - \frac{S_{loss}}{100}
$$

The source of $S_{loss}$ depends on the selected model:

* **None**: $S_{loss} = 0$ (modules assumed perfectly clean, $U_{soil} = 1$)
* **Monthly**: $S_{loss}$ is retrieved from user-specified monthly values (12 values, one per month)
* **Weather**: $S_{loss}$ is read from the weather file for each timestep (e.g., from PVRADAR soiling data)

### Application to Irradiance

The soiling factor is applied uniformly to all plane-of-array irradiance components (beam, sky diffuse, and ground-reflected irradiance):

$$
G_{beam,soiled} = G_{beam,shaded} \times U_{soil}
$$

$$
G_{sky,soiled} = G_{sky,shaded} \times U_{soil}
$$

$$
G_{ground,soiled} = G_{ground,shaded} \times U_{soil}
$$

Soiling is applied after near-field shading and horizon shading, and before incidence angle modifier (IAM) corrections.
