How to derive surface temperature from thermal band using GRASS?

GRASS is open source software, you can manage your imagery using this kind of software. Especially for anyone who has interest on imagery processing, using GRASS Raster map calculator is very convenient. You can download GRASS from this link .

Basically, to derive surface temperature we need to prepare our thermal band imagery, in this case we will use band62 (high gain) from Landsat ETM+ of Sendai, Miyagi Prefecture, JAPAN. Date acquisition is March 14, 2012.

Before begin, we need to make sure that atmospheric correction of the image is already taken for absolute calibration of satellite-derived surface temperature. Please refer to _MTL.txt for atmospheric correction variables needed.

OK, now lets start with (1) calculate the spectral radiance (convert DN to spectral radiance) at the image, the formula is:


(GSFC/ NASA, 2001)

in command console GRASS you can input this formula:

r.mapcalc band62=((12.65-3.2)/(255-1))*(L72107033_03320120314_B62@PERMANENT-1)+3.2

from _MTL.txt we can find this variables:

QCALMAX_BAND62 = 255.0
LMAX_BAND62 = 12.650
LMIN_BAND62 = 3.200

“band62” is name for output result

“L72107033_03320120314_B62@PERMANENT” is location of band62 in your working directory. When the first time you launch GRASS, you will ask to defined your working directory!

Next step is (2) convert spectral radiance into kelvin, type this formula is command console:

r.mapcalc temp_kelvin=1282.71 / log(666.09 / band62 + 1)

and to (3) convert kelvin to degree celcius you can type this formula:

r.mapcalc temp_celcius=temp_kelvin – 273.15 -r temp_celcius

r.univar temp_celcius

the result output will inform you the min temperature, max temperature, range, mean, standard deviation, etc.

To apply new colour table you can use this formula:

r.colors temp_celcius col=bgyr

GRASS Window

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s