The i.atcorr module in GRASS requires aerosol model data to perform atmospheric correction using the 6S algorithm.

It seems like I need a value from one of these parameters to continue:

  • Estimate of the meteorological parameter visibility v [km], or
  • The aerosol optical depth (AOD) at 550nm

Is there an easy (and free) way to get such data?

**EDIT (new findings):

It seems that a NASA website called Space-Based Measurements of Ozone and Air Quality in the Ultraviolet and Visible got the free aerosol model data. It is organized by date and by the instruments that collected the data. Basically:

  • OMI (Ozone Monitoring Instrument) is for data dated July 2004 onward
  • TOMS Earth Probe is for data dated 7/25/96 - 12/31/05
  • TOMS Nimbus-7 is for data dated 11/1/78 - 5/6/93

I'm processing a Landsat scene dated in year 2000-2001, so Toms Earth Probe data is the way to go. But as stated by @Tobi in an answer below, TOMS Earth Probe data is actually an index, and unitless (not really AOD at 550nm which I want in the 6S algorithm).

But I've stumbled upon this called A Long-Term Record of Aerosol Optical Depth from TOMS Observations and Comparison to AERONET Measurements, and they hinted how the data in TOMS observation can still be used.

I need more time to learn how to do this. Welcome any further input, always..

  • Have you consulted the manual? – whuber Nov 7 '12 at 16:47
  • 2
    I have - but I don't think it's there.. I think the values should be time/location specific.. – user8723 Nov 7 '12 at 20:57

Nasa's Aeronet provides free AOD data from sensors around the world.


Thanks for the link, helped me a lot with my work! Not sure if you have solved the problem already, but here's a quick suggestion.

If you look at the data file, you will find that each value is represented by three characters. The first line is __1__1__0__7__0999... and is equal to 001001000007000999...

So it basically comes down to splitting up the lines in chunks of three and taking the 255th value.

For a single file you can easily do this in a text editor:

  1. Each line is indented by 1, so delete one white space at the beginning of each line
  2. Replace all whitespaces with zeros
  3. Find char no 255*3=765 and use chars 763-765 as your value.

If you are working with many files, use Python or similar to automate the data extraction.

One more thing, feel like I should mention it: The data is just for the UV Aerosol Index, which is different from AOD! You would probably want to use something like the OMAERO products (after 2004) at http://disc.sci.gsfc.nasa.gov/Aura/data-holdings/OMI

  • 1
    I see, that's one way to do it.. But I've decided to pursuit this route of atmospheric correction at other time and have opted (for now) the simplified DOS1 method. Thanks for the clarification of the TOMS Earth Probe data: it is indeed an index and unit-less - not quite like the AOD data required by the 6S algorithm.. But I have yet to find free AOD data readily usable for the period of Landsat I'm using (<2004). But with further reading here, the data could still be processed further to develop the model. Maybe. – user8723 Nov 27 '12 at 22:43
  • 1
    Have you checked Giovanni disc.sci.gsfc.nasa.gov/giovanni/overview/index.html and the MODIS AOD data >2000? – Tobi Nov 28 '12 at 0:26
  • Hey, I was wondering where to get the MODIS AOD data (it's not available on their site).. I'll take a look at this site thoroughly later; so far the data I can see there is in the same form as the TOMS data - Aerosol Index (man, NASA websites sure are complicated to browse through - I got a headache just by looking at it).. Anyway, thank you so much @Tobi :)! – user8723 Nov 28 '12 at 1:15
  • It's a little hidden -- here's the direct link to their ftp server: ladsweb.nascom.nasa.gov/allData/51. Look at the MOD08... products (daily to monthly). – Tobi Nov 28 '12 at 1:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy