SMAC prend en charge de nouveaux satellites
=>
De nouveaux coefficients ont été ajoutés au site du CESBIO . Les nouveaux satellites pris en compte sont :
- Landsat 8, RapidEye
- Quickbird, Worldview2, Ikonos
- Pléiades1A (PHR1A)
- DMC-DEIMOS1
Le Simplifié Modèle d’Atmosphérique Correction (SMAC) est parfaitement adapté à l’implémentation rapide et approchée de corrections atmosphériques. Il s’agit de fonctions analytiques dérivées du modèle 5S. Les 49 coefficients de ce modèle sont ajustés à partir de simulations de transfert radiatif obtenues avec le modèle 6S (l’ancienne version, pas la récente version vectorielle). SMAC n’est pas un modèle très précis (beaucoup moins que MACCS), et il faut lui fournir des données auxiliaires pour l’épaisseur optique des aérosols ou pour les contenus atmosphériques en ozone et vapeur d’eau. Quand ces données sont précisément connues, la précision des simulations est en général meilleure que deux à trois pour cent, sauf parfois pour les grands angles (au dessus de 70°) ou dans de fortes bandes d’absorption et si on ne prend pas en compte les effets d’environnement et les effets de pente. SMAC a été conçu pour être facile à utiliser :
- Il faut d’abord télécharger les coefficients correspondant aux différentes bandes spectrales d’un satellite, depuis http://www.cesbio.ups-tlse.fr/fr/smac_telech.htm
- Il faut aussi télécharger la routine SMAC, en langage C, en Python, ou intégrée à l’OTB Orfeo ToolBox.
- L’exemple ci-dessous correspond à la version Python, dont le code est disponible ici. Toutes les fonctions utilisées ci-dessous (coeff(), smac_inv(), PdeZ()) sont définies dans la routine python.
#lecture des 49 cofficientsnom_smac ='COEFS/coef_FORMOSAT2_B1_CONT.dat'coefs=coeff(nom_smac)#Lire la réflectance TOA de la bande à traiter#(celà va dépendre du format de l'image)#Lire les valeurs des angles dans les métadonnées (ici, on les fixe)theta_s=30phi_s=180theta_v=0phi_v=0# calculer la pression atmosphérique à l'altitude du pixelpressure=PdeZ(1300)#trouver les valeurs des variables atmsophériques (ici, on les fixe arbitrairement)AOT550=0.1UO3=0.3UH2O=3#calculer la correction atmosphériquer_surf=smac_inv(r_toa,theta_s,phi_s,theta_v,phi_v,pressure,AOT,UO3,UH2O,coefs)
Dans la dernière ligne ci-dessus :
- theta_s, phi_s sont resp. l’angle solaire zenithal et azimuthal
- theta_v, phi_v sont resp. l’angle de visée zenithal et azimutha
- AOT est l’épaisseur optique à 550 nm qui peut provenir d’une station Aeronet, ou fixée au jugé, ou égale à 0.1 (si on se contente d’une correction très approchée).
- UO3 est le contenu en ozone, en cm.atm (0.3 est souvent suffisamment précis)
- UH2O est le contenu en vapeur d’eau, en kg/m². J’utilise souvent une valeur égale à 3, quand je ne cherche pas une grande précision, dans des bandes ou l’absorption est faible
References
[1] Rahman, H., & Dedieu, G. (1994). SMAC: a simplified method for the atmospheric correction of satellite measurements in the solar spectrum. REMOTE SENSING, 15(1), 123-143.« [2] »Tanré, D., Deroo, C., Duhaut, P., Herman, M., Morcrette, J. J., Perbos, J., & Deschamps, P. Y. (1990). Technical note Description of a computer code to simulate the satellite signal in the solar spectrum: the 5S code. International Journal of Remote Sensing, 11(4), 659-668.« [3] »Vermote, E. F., Tanré, D., Deuze, J. L., Herman, M., & Morcette, J. J. (1997). Second simulation of the satellite signal in the solar spectrum, 6S: An overview. Geoscience and Remote Sensing, IEEE Transactions on, 35(3), 675-686.>« [4] »Kotchenova, S. Y., Vermote, E. F., Matarrese, R., & Klemm Jr, F. J. (2006). Validation of a vector version of the 6S radiative transfer code for atmospheric correction of satellite data. Part I: Path radiance. Applied Optics, 45(26), 6762-6774.« [5] »Kotchenova, S. Y., & Vermote, E. F. (2007). Validation of a vector version of the 6S radiative transfer code for atmospheric correction of satellite data. Part II. Homogeneous Lambertian and anisotropic surfaces. Applied Optics, 46(20), 4455-4464.