New satellites added to SMAC atmospheric correction
=>
New coefficients have been added to the CESBIO repository for SMAC coefficients. The new sensors taken into account are :
- Landsat 8, RapidEye
- Quickbird, Worldview2, Ikonos
- Pléiades1A (PHR1A)
- DMC-DEIMOS1
The Simplified Model for Atmospheric Correction (SMAC) is the perfect model to perform easy, quick and not too dirty atmospheric corrections. It is based on very simple analytic formulas, based on the 5S model. The 49 coefficients of this model are fitted using a large number of radiative transfer simulations with the 6S model (the old historic version, not the recent vector version). This software is not very accurate (much less than MACCS), and it requires in-situ measurements for the aerosol optical thickness, and weather analyses for ozone and water vapour. If these data are available, in most cases, its accuracy is within 2 and 3 percent, if we do not account for adjacency effects and slope effects, and it may be worse for large viewing and solar angles (above 70°) or within strong absorption bands. SMAC is very easy to use:
- You need first to download the coefficients for the satellite you are working with, from http://www.cesbio.ups-tlse.fr/fr/smac_telech.htm
- You must download the smac routine in C, Python, or integrated in the Orfeo ToolBox.
- The example below is valid for the Python version, whose code is provided here. All the functions used below (coeff(), smac_inv(), PdeZ()) are defined in the SMAC routine..
#read the 49 coefficients in smac_soefs tablenom_smac ='COEFS/coef_FORMOSAT2_B1_CONT.dat'coefs=coeff(nom_smac)#read the TOA reflectance image in r_toa variable#depends on the file format#read the angle values in the image metadatatheta_s=30phi_s=180theta_v=0phi_v=0# compute pressure at pixel altitudepressure=PdeZ(1300)#find the values of AOT, UO3, UH2OAOT550=0.1UO3=0.3UH2O=3#compute the atmospheric correctionr_surf=smac_inv(r_toa,theta_s,phi_s,theta_v,phi_v,pressure,AOT,UO3,UH2O,coefs)
where :
- theta_s, phi_s are the solar zenith and azimuth angles
- theta_v, phi_v are the viewing zenith and azimuth angles
- AOT is the aerosol optical thickness at 550 nm which may be obtained from an Aeronet stations, or guessed, or equal to 0.1 for a really dirty atmospheric correction.
- UO3 is the ozone content in cm.atm (0.3 is OK)
- UH2O is the water vapour integrated content in kg/m². When I do quick and dirty atmospheric correction, I often use a value equal to 3, but I do not process spectral bands with strong water vapour absorption bands.
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.