We have been working on a research about urban heat using Land Surface Temperature (LST) in Google Earth Engine. We analyzed the LST pattern in 2021 by using Landsat 8 Level 2 Collection 2 Tier 1. However, after finding out the results it startled us that the LST value (temperature) is very high, higher than what could be deemed rational or realistic (max value >65 degree celcius, min value 33 degree celcius). In 2021, the urban temperature in the case study has only ever reached up to 35 degree celcius empirically.
Is there anything wrong that we did in the analysis, is there any step or calculation that we might have missed or is it just the data which has led to the irrational result of LST value?
Here is the code:
Var l8: ImageCollection "USGS Landsat 8 Level 2, Collection 2, Tier 1"
// ROI
var roi = geometry();
// Get year list
var yearList = [ ];
for (var i = 2014; i <= 2021; i++){
yearList.push(i);
}
// LST vis
var vis = { min: 25, max: 45, palette: ['purple', 'blue', 'cyan', 'green', 'yellow', 'red'] };
// Create LST per year
var lst = yearList.map(function(year){
var startDate = ee.Date.fromYMD(year, 1, 1);
var endDate = ee.Date.fromYMD(year, 12, 31);
var image = l8.filterDate(startDate, endDate)
.filterBounds(roi)
.map(cloudMask)
.median()
.reproject('EPSG:4326', null, 100)
.clip(roi)
.rename('LST');
Map.addLayer(image, vis, 'LST ' + year, false);
// Calculate min max
var minMax = image.reduceRegion({
geometry: roi,
scale: 100,
reducer: ee.Reducer.minMax(),
bestEffort: true
});
print('Min max ' + year, minMax);