SATOR
Soiling Accumulation Through Observed Rainfall · pertes d'encrassement photovoltaïque, modèle de Kimber
pvlib.soiling.kimber
Kimber et al., IEEE WCPEC-4, 2006
Le modèle Kimber
Fondements scientifiques, démonstration mathématique et origine des valeurs utilisées dans le calculateur. Cliquez sur chaque section pour la déplier.
Contexte. SATOR a été conçu pour les centrales photovoltaïques au sol d'une grande entreprise ferroviaire française. La plupart de ces sites sont situés à proximité des voies ferrées. L'outil propose donc des profils spécifiques aux sites ferroviaires, industriels et agricoles. Il est conçu pour la France métropolitaine : carte des 13 régions, adresses de la Base Adresse Nationale et normales de pluie françaises.
L'encrassement (soiling) désigne l'accumulation de poussière, sable, pollen ou autres particules sur la surface des panneaux solaires. Cela réduit la lumière transmise aux cellules, donc la production d'énergie[1].
On définit le soiling ratio SR(t), une grandeur sans dimension comprise entre 0 et 1, comme le rapport entre l'irradiance effectivement transmise au module à l'instant t et celle que recevrait un module parfaitement propre[1] :
SR(t) = Gencrassé(t) / Gpropre(t)
Le complément 1 − SR(t) est la perte d'encrassement, notée S(t) dans la littérature Kimber. SR = 1 correspond à un module parfaitement propre ; SR = 0 correspondrait à un module totalement opaque, un cas extrême jamais observé en pratique.
Le taux d'encrassement (soiling rate), noté r, représente la vitesse journalière à laquelle la perte s'accumule en l'absence de nettoyage, exprimée en fraction par jour ou en %/jour. Kimber et al. ont mesuré des taux de 0 à 0,30 %/jour selon le site, en Californie et dans le sud-ouest des États-Unis[2].
Le modèle Kimber est un modèle empirique. La perte s'accumule linéairement et revient à zéro quand la pluie journalière est suffisante[2]. Soit P(t) la pluie du jour t (en mm), Pseuil le seuil de nettoyage (en mm), r le taux d'encrassement et G la période de grâce (en jours). Telle qu'implémentée dans pvlib[4], la perte S(t) suit la relation :
S(t) = 0 si une pluie P(t′) > Pseuil a eu lieu un jour t′ tel que t − G < t′ ≤ t
S(t) = 0 si un lavage manuel a lieu le jour t
S(t) = min(Smax, S(t−1) + r) sinon
Deux détails comptent. Le seuil est strict : une pluie exactement égale au seuil ne nettoie pas. Le jour de la pluie fait partie de la période de grâce : avec G = 14, la perte reste nulle du jour de pluie jusqu'au 13e jour suivant, puis l'accumulation reprend. Avec G = 0 ou 1, seul le jour de pluie est nettoyé.
Le soiling ratio s'obtient directement par SR(t) = 1 − S(t). Cette formulation produit la courbe caractéristique en "dents de scie" : une croissance linéaire de pente r entre deux événements pluvieux, suivie d'une chute instantanée à S = 0 dès qu'une pluie dépasse le seuil.
La perte ne peut jamais dépasser Smax, la perte maximale. Sans ce plafond, l'accumulation linéaire ferait croître la perte sans limite pendant une longue sécheresse. pvlib le fixe par défaut à 30 %[4].
Cas particulier du nettoyage manuel. pvlib précise qu'un nettoyage manuel à la date t₀ impose S(t₀) = 0 sans ouvrir de période de grâce : l'accumulation reprend dès t₀ + 1[4]. Un lavage effectué pendant une période de grâce ne l'interrompt pas.
Courbe illustrative, sans période de grâce : r = 0,2 %/jour, Smax = 5 %. Chaque chute correspond à une pluie nettoyante. Après la pluie du jour 52, la sécheresse dure assez longtemps pour que la perte atteigne le plafond de 5 %, du jour 77 au jour 79.
L'impact sur la production se traduit par une simple multiplication de l'irradiance effective :
Ecorrigée = Eidéale × SR(t) = Eidéale × (1 − S(t))
Application numérique. Avec r = 0,2 %/jour et Smax = 5 %, après 20 jours sans pluie dépassant le seuil, la perte atteint S = 0,2 % × 20 = 4 %, donc SR = 0,96. Au‑delà de 25 jours, elle reste bloquée à 5 %.
Un outil qui tourne entièrement dans le navigateur. Il n'y a ni serveur ni installation. Le fichier contient le moteur de calcul. Il interroge directement les services météo publics (Open‑Meteo, NASA POWER) et le service d'adresses de l'État (api‑adresse.data.gouv.fr). Aucune donnée saisie n'est envoyée ailleurs.
Le calcul suit quatre étapes.
1
Une pluie journalière sur 365 jours
La pluie vient d'une année réelle (Open‑Meteo, NASA POWER ou fichier CSV), ou elle est générée à partir de cumuls mensuels (saisie manuelle). Le 29 février des années bissextiles est retiré. Les jours sans donnée sont comptés comme secs et signalés.
2
Le moteur Kimber, jour par jour
Chaque jour, le moteur se pose trois questions. La pluie du jour dépasse‑t‑elle strictement le seuil ? Si oui, c'est un événement nettoyant. Sommes‑nous dans la fenêtre de grâce, qui commence le jour de cette pluie ? Y a‑t‑il un lavage manuel ce jour‑là ? Si l'une des deux dernières réponses est oui, la perte est remise à zéro. Sinon, elle augmente du taux r, sans dépasser Smax. Ces règles reproduisent celles du code source de pvlib.soiling.kimber.
3
Agrégation mensuelle
La perte de chaque mois est la moyenne de ses pertes journalières. La perte annuelle est la moyenne des 365 jours. C'est aussi ce que donne pvlib avec un rééchantillonnage mensuel.
4
Sortie pour PVsyst
Les 12 valeurs mensuelles sont prêtes à copier dans la définition mensuelle des pertes par encrassement de PVsyst.
Comment l'outil est validé. Le moteur a été comparé à la fonction officielle pvlib.soiling.kimber (pvlib‑python 0.16.1)[4]. Le même script donne exactement la même pluie et les mêmes paramètres aux deux calculs, puis compare les résultats jour par jour. Le test porte sur 400 années aléatoires, avec des taux de 0,01 à 0,30 %/j, des seuils de 1 à 15 mm, des grâces de 0 à 30 jours, un Smax de 2 à 50 % et jusqu'à 12 lavages par an. Il inclut des cas pièges : pluie exactement égale au seuil, forte pluie le 1er janvier, longues sécheresses jusqu'au plafond.
Cas testés
400 années de 365 jours, soit 146 000 journées.
Cas différents de pvlib
0 sur 400.
Écart maximal
Moins de 10−12 point de %, soit un simple arrondi informatique.
Vérification en direct. Le graphique ci‑dessous contient le résultat de pvlib calculé une fois pour toutes en Python. À chaque affichage, l'outil refait le calcul avec son propre moteur, sur la même pluie, et superpose les deux courbes. Paramètres : valeurs par défaut de pvlib (r = 0,15 %/j, seuil 6 mm, grâce 14 j, Smax 30 %), une pluie de 6,0 mm exactement le 10 février, un été sec et un lavage manuel le 28 octobre.
Voici les valeurs de référence des quatre paramètres, telles que mesurées par Kimber ou codées par défaut dans pvlib.soiling.kimber[4].
Soiling rate (r) i
Mesuré entre 0 et 0,30 %/jour selon le site[2]. Valeur par défaut pvlib : 0,15 %/jour[4].
Seuil de pluie i
Pluie journalière à dépasser pour nettoyer les modules. Kimber situe ce seuil entre 5 et 10 mm environ. Valeur par défaut pvlib : 6 mm[4].
Période de grâce i
Jours, après une pluie nettoyante, pendant lesquels le sol est supposé assez humide pour ne pas soulever de poussière. Valeur par défaut pvlib : 14 jours[4].
Perte maximale (Smax) i
Plafond de la perte d'encrassement. Valeur par défaut pvlib : 30 %[4].
Ces valeurs par défaut de pvlib sont issues du contexte californien. Les profils de cet outil utilisent des valeurs adaptées au climat tempéré, détaillées dans la section suivante.
Taux mesurés par Kimber et al. (2006), en fraction de perte par jour exprimée en %. L'étude croise quatre régions de Californie et du sud‑ouest des États‑Unis avec trois types d'environnement[2]. Ce tableau est repris dans la documentation de pvlib[4].
Région Rural Suburbain Urbain / Autoroute / Aéroport
Central Valley0,11 %/j0,19 %/j0,20 %/j
Northern CA0,11 %/j0,10 %/j0,16 %/j
Southern CA0 %/j0,16 %/j0,19 %/j
Désert0,30 %/j0,30 %/j0,30 %/j
Le taux dépend donc à la fois du climat et de l'environnement immédiat du site. Dans cet outil, le climat intervient par la pluie, et l'environnement par les quatre paramètres. Les écarts entre colonnes de ce tableau servent à la calibration (section suivante).
Le tableau de Kimber a été mesuré en Californie, sous un climat plus sec que la France. Les profils de cet outil ne le reprennent donc pas tel quel. Ils partent d'une base tempérée sourcée, puis appliquent les écarts entre environnements observés par Kimber.
Bases communes.
• Taux de base : 0,03 %/jour. C'est la valeur recommandée hors désert, en l'absence de mesure locale, par une analyse de mesures sur 11 sites américains[5]. Elle est cohérente avec les médianes européennes : 0,021 %/j en Allemagne, 0,059 %/j en Espagne et 0,076 %/j en Italie[7].
• Seuil de pluie : 6 mm. C'est la valeur par défaut de pvlib[4]. Hors désert, les seuils mesurés vont de 5 à 13 mm[5].
• Période de grâce : 0 jour. Aucune période de grâce n'a été observée dans les mesures, et son retrait est recommandé[5]. pvlib propose 14 jours par défaut. Vous pouvez rétablir cette valeur avec le curseur.
Écarts entre environnements. Dans le tableau de Kimber, le taux « Suburban » vaut environ 1,3 fois le taux « Rural », et le taux « Urban/Highway/Airport » environ 1,6 fois (moyenne de Central Valley et Northern CA)[2]. Ces rapports sont appliqués au taux de base.
ProfilTaux rSeuilGrâceSmaxPerte annuelle simulée*
Résidentiel0,03 %/j6 mm0 j5 %0,15 à 0,26 %
Milieu urbain0,04 %/j6 mm0 j8 %0,20 à 0,35 %
Bord de route0,05 %/j6 mm0 j8 %0,25 à 0,44 %
Zone agricole0,08 %/j6 mm0 j10 %0,40 à 0,70 %
Zone industrielle0,25 %/j8 mm0 j15 %1,7 à 3,2 %
Proximité ferroviaire0,15 %/j12 mm0 j10 %1,6 à 3,4 %
* Moyenne de 200 années de pluie générées à partir des normales de chaque région, de la région la moins exposée à la plus exposée. Avec une année réelle, le résultat varie selon la pluie de cette année.
Hypothèses de l'auteur. Les profils résidentiel, urbain et bord de route découlent directement des sources ci‑dessus. Les profils agricole, industriel et ferroviaire sont des hypothèses d'ingénieur :
• Agricole : taux proche de la médiane italienne. PVsyst signale un encrassement significatif à certaines saisons[6], ce qu'un taux constant ne restitue pas.
• Industriel : taux et seuil calés pour retrouver les effets « de plusieurs pourcents » que PVsyst juge courants en zone industrielle[6].
• Ferroviaire : seuil relevé à 12 mm, car les poussières métalliques sont mal lessivées par la pluie. Smax est fixé à 10 %, l'ordre de grandeur mesuré par Häberlin et Graf[3].
Rôle de la région. La région ne modifie aucun paramètre Kimber. Elle fournit seulement une pluie typique pour le mode « Saisie manuelle ». Les jours de pluie y sont générés avec une loi exponentielle qui respecte le total mensuel. Cette loi reproduit le nombre de jours à 10 mm ou plus observé par Météo‑France : 17 jours simulés contre 15,8 mesurés à Paris‑Montsouris[9].
• Häberlin et Graf mettent en évidence l'influence des poussières métalliques à proximité des infrastructures ferroviaires, susceptibles d'initier une pollution additionnelle et de favoriser le développement de mousses[3]. Sur leur site de Burgdorf (Suisse), une ligne principale passait à environ 50 m des modules. C'est un point de vigilance pour tout projet proche d'une voie ferrée.
• L'accumulation de poussière et la croissance de mousses et lichens le long des cadres de modules créent un ombrage partiel des cellules inférieures et tendent à piéger davantage de poussière. Ces pollutions ne sont pas retirées par la pluie[6], donc des modules sans cadre sont recommandés lorsque possible, en particulier à faible inclinaison.
• Les fientes d'oiseaux ne sont généralement pas retirées par les épisodes pluvieux, mais leur impact est rapporté comme relativement faible, sous 2 %[6].
• La neige n'est pas prise en compte par le modèle Kimber. Ses effets sont difficiles à prévoir. PVsyst suggère de la représenter par une atténuation partielle ou complète sur certains mois[6].
• Le modèle Kimber suppose qu'une pluie suffisante nettoie entièrement les modules. Il ne représente donc pas l'encrassement permanent, qui s'accumule sur plusieurs années malgré la pluie. Près d'une voie ferrée, Häberlin et Graf ont observé une perte croissante jusqu'à environ 10 % en un peu plus de trois ans, en grande partie réversible par un nettoyage[3]. Dans ce contexte, prévoyez des lavages manuels.
• Le modèle Kimber suppose un nettoyage complet par la pluie. En réalité, une partie de l'encrassement peut subsister après la pluie[8]. Le modèle tend donc à sous‑estimer les pertes sur les sites où l'encrassement est collant ou permanent.
• Les pertes mensuelles sont des moyennes simples des pertes journalières, comme dans pvlib. Elles ne sont pas pondérées par l'irradiance : une perte en été pèse en réalité plus lourd sur la production qu'une perte en hiver.
• Le modèle Kimber est empirique et a été établi sur des sites américains. Son application au climat français repose sur la transposition décrite dans la section « Calibration ». Elle ne remplace pas une mesure sur site lorsqu'elle est disponible.
[1]IEA PVPS Task 13. Soiling Losses – Impact on the Performance of Photovoltaic Power Plants. Rapport IEA‑PVPS T13‑21:2022, 2022. iea-pvps.org
[2]A. Kimber, L. Mitchell, S. Nogradi, H. Wenger. The Effect of Soiling on Large Grid‑Connected Photovoltaic Systems in California and the Southwest Region of the United States. IEEE 4th World Conference on Photovoltaic Energy Conversion (WCPEC‑4), Waikoloa (Hawaï), 2006, p. 2391‑2395. DOI 10.1109/WCPEC.2006.279690
[3]H. Häberlin, J.‑D. Graf. Gradual Reduction of PV Generator Yield due to Pollution. 2nd World Conference on Photovoltaic Solar Energy Conversion, Vienne, 1998.
[4]pvlib‑python. pvlib.soiling.kimber, documentation et code source de référence. pvlib-python.readthedocs.io
[5]N. Croft, A. Miller (Luminate LLC). Soiling Inputs for the Kimber Dust Soiling Model Derived from Soiling Measurements. PV Performance Modeling Collaborative (PVPMC) Workshop, Sandia National Laboratories, 2025. sandia.gov
[6]PVsyst. Soiling loss, documentation en ligne, rubrique Array and system losses. pvsyst.com
[7]Global analysis of optimal cleaning cycle and profit of soiling affected solar panels. Applied Energy, 2021. sciencedirect.com
[8]E. Ruiz‑Donoso et al. Maps of long‑term soiling losses in Europe considering a partial cleaning effect by rain. EPJ Photovoltaics, 2026. DOI 10.1051/epjpv/2026010
[9]Météo‑France. Fiche climatologique Paris‑Montsouris (75114001), nombre moyen de jours avec précipitations ≥ 10 mm. donneespubliques.meteofrance.fr
Mode d'emploi du calculateur
Comment utiliser cet outil pour obtenir les facteurs de perte d'encrassement mensuels à entrer dans PVsyst.
Contexte. SATOR a été conçu pour les centrales photovoltaïques au sol d'une grande entreprise ferroviaire française. La plupart de ces sites sont situés à proximité des voies ferrées. L'outil propose donc des profils spécifiques aux sites ferroviaires, industriels et agricoles. Il est conçu pour la France métropolitaine : carte des 13 régions, adresses de la Base Adresse Nationale et normales de pluie françaises.
Vue d'ensemble : du paramétrage à PVsyst
1
Paramètres principaux
Les quatre paramètres (soiling rate, seuil de pluie, période de grâce et perte maximale Smax) sont préremplis selon l'environnement du site choisi à l'étape 2. Vous pouvez ensuite régler chaque curseur à la main, par exemple avec une mesure locale. Un curseur "Nettoyages manuels / an" permet de définir une fréquence de lavage programmé, répartie uniformément sur l'année, sans période de grâce après ce type de nettoyage, conformément à pvlib.
2
Localisation en France : deux dimensions
Région climatique : cliquez sur la carte interactive de France (tracé réel des 13 régions administratives) ou choisissez dans la liste déroulante. Les deux sont synchronisés. La région définit uniquement la pluie typique utilisée en saisie manuelle (cumuls mensuels et nombre de jours de pluie). Environnement du site : sélectionnez résidentiel, zone agricole, bord de route, milieu urbain, zone industrielle ou proximité ferroviaire. L'environnement définit les quatre paramètres Kimber (voir la section « Calibration des profils » de la page 1). Ces deux choix sont indépendants : un site agricole en PACA et un site agricole en Bretagne ont les mêmes paramètres, mais pas la même pluie, donc pas la même perte.
3
Données météo
Choisissez une source de pluie journalière : une année réelle via Open‑Meteo ou NASA POWER, vos propres cumuls mensuels (saisie manuelle), ou un fichier CSV journalier. En saisie manuelle, l'outil génère des jours de pluie à partir des cumuls : le résultat est indicatif. Pour un dossier, privilégiez une ou plusieurs années réelles.
4
Calcul automatique
Le moteur Kimber simule le soiling ratio jour par jour sur 365 jours, puis calcule la perte moyenne de chaque mois. Le moteur donne exactement les mêmes résultats que pvlib (voir page 1, section 3).
5
Résultats et export vers PVsyst
Les 12 facteurs de perte mensuels (%) s'affichent en bas de page. Cliquez sur « Copier », puis reportez‑les dans PVsyst, dans la définition mensuelle des pertes par encrassement (fenêtre des pertes détaillées, onglet Soiling loss). Le libellé exact dépend de votre version de PVsyst.
Lecture du graphique annuel
Le graphique superpose, sur les 365 jours de l'année :
• La ligne orange (axe gauche) : le soiling ratio. 1,00 signifie des panneaux propres. L'axe s'ajuste automatiquement à la plage atteinte.
• Les barres bleues (axe droit) : la pluie journalière en mm. Une pluie qui dépasse le seuil ramène le soiling ratio à 1,00.
• Le pointillé bleu (axe droit) : le seuil de pluie. Le pointillé rouge (axe gauche) : le plancher fixé par Smax. Les triangles verts : les lavages manuels.
Sources de données météo disponibles
A · Open-Meteo (automatique)
Tapez une adresse ou ville française. Des suggestions apparaissent automatiquement (autocomplétion limitée à la France). Sélectionnez une suggestion puis choisissez une année, de 1940 à la dernière année complète. Les données proviennent de la réanalyse ERA5 (un modèle météo recalé sur les observations), avec une résolution de 9 à 25 km.
B · NASA POWER (automatique)
Même principe : adresse avec autocomplétion et année, de 1981 à la dernière année complète. NASA POWER (Prediction Of Worldwide Energy Resources) est un service de la NASA destiné notamment aux énergies renouvelables. Sa résolution est plus large, environ 50 km.
C · Saisie manuelle
Entrez les 12 cumuls mensuels en mm, par exemple depuis Meteonorm, Solargis ou votre fichier météo PVsyst. Les cumuls de la région choisie sont préremplis. Les jours de pluie sont ensuite générés automatiquement.
D · Import CSV
Importez un fichier de pluie journalière en mm : une ligne par jour, 365 lignes (ou 366 pour une année bissextile, le 29 février est alors retiré). Une date en première colonne et une ligne d'en‑tête sont acceptées. Séparateurs : point‑virgule, tabulation ou virgule.
Bonnes pratiques
• Si vous disposez de mesures réelles de soiling rate sur un site comparable, privilégiez-les plutôt que les valeurs par défaut.
• Le seuil de pluie est le paramètre le plus sensible. Avec un taux de 0,03 %/j, passer de 6 à 10 mm multiplie la perte annuelle simulée par 1,6 à 2,2 selon la région.
• Une seule année météo peut être atypique. Comparez plusieurs années réelles avant de retenir une valeur.
• La perte maximale Smax évite de surestimer l'encrassement sur de longues périodes sèches ; elle doit refléter un plafond physique réaliste pour le site étudié.
• Pour les sites proches d'infrastructures ferroviaires, le modèle ne capte pas l'encrassement permanent dû aux poussières métalliques. Prévoyez des lavages manuels et, si possible, une mesure sur site (voir page "Le modèle Kimber").
Aucun calcul lancé
Synthèse annuelle
—
Perte annuelle moy.
—
Perte max (mois)
—
Perte min (mois)
—
Jours de nettoyage/an (pluie + manuel)
Facteurs de perte mensuels (%)
Faible (< 0,5 %) Modérée (0,5–2 %) Élevée (> 2 %)
Jan.
—
Fév.
—
Mar.
—
Avr.
—
Mai
—
Jun.
—
Jul.
—
Aoû.
—
Sep.
—
Oct.
—
Nov.
—
Déc.
—
Soiling ratio et précipitations journalières sur l'année simulée
Ligne orange = soiling ratio (axe gauche, zoom automatique sur la plage réelle) · Barres bleues = pluie journalière en mm (axe droit) · Pointillé bleu = seuil de pluie · Pointillé rouge = perte maximale (Smax) · Triangle vert = nettoyage manuel
→ Valeurs à copier dans PVsyst
PVsyst : pertes détaillées, onglet Soiling loss, valeurs mensuelles
Jan.
—
Fév.
—
Mar.
—
Avr.
—
Mai
—
Jun.
—
Jul.
—
Aoû.
—
Sep.
—
Oct.
—
Nov.
—
Déc.
—