Since the 27th of March 2019 has the Earth Engine data catalogue one more dataset. Sentinel-2 Surface Reflectance (Level-2A) data are finally available. This blog post teaches you in one minute, how to get the current Sentinel-2 ingestion status for your country.


Earth Engine's Sentinel-2 Surface Reflectance data availability (04.04.2019)Earth Engine's Sentinel-2 Surface Reflectance data availability (04.04.2019)

Right now the collection "COPERNICUS/S2_SR" only has 30K out of 1M+ expected assets. We have already downloaded most of the files and will ingest the rest over the next few weeks.

Let’s check how many Level-2A images are there (worldwide)

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
var data = ee.ImageCollection("COPERNICUS/S2_SR");

var img = data.reduceToImage({

    properties:['MGRS_TILE'],
    reducer: ee.Reducer.count()

});

Map.addLayer(img.updateMask(img.gt (0)), 
    {min:1, max:32, palette:["#440154FF", "#31688EFF", "#35B779FF", "#FDE725FF"]}, 
    'S2_SR', true, 0.6);

The result is the image shown above. If you would like to get the information on a country level you could to the following:

Let’s check how many Level-2A images are there for Germany

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
// LSIB: Large Scale International Boundary Polygons, Detailed
var countries = ee.FeatureCollection('USDOS/LSIB/2013');

// use Two-letter FIPS country code
var GM = countries.filter(ee.Filter.eq('cc', 'GM')); // Germany

Map.addLayer(GM, {}, 'Germany', true, 0.5);


var S2_GM = data.filterBounds(GM).reduceToImage({properties:['MGRS_TILE'],reducer: ee.Reducer.count()});

Map.addLayer(S2_GM.updateMask(S2_GM.gt(0)), {min:1, max:11, palette:["#440154FF", "#31688EFF", "#35B779FF", "#FDE725FF"]}, 'S2_SR', true, 0.6);
Earth Engine's Sentinel-2 Surface Reflectance data availability for Germany (04.04.2019) Earth Engine's Sentinel-2 Surface Reflectance data availability for Germany (04.04.2019)

Count images for every MGRS Tile

We could also count the amount of images for every MGRS Tile and list them.

Javascript
1
2
3
4
5
6
7
// Compute a histogram for MGRS Tiles
var Hist = data.filterBounds(GM).reduceColumns({
  reducer: ee.Reducer.frequencyHistogram(),
  selectors: ['MGRS_TILE']
});

print('MGRS_TILE:',Hist);
  • 31UFS: 7
  • 31UFT: 6
  • 31UGQ: 5
  • 31UGR: 4
  • 31UGS: 9
  • 31UGT: 8
  • 31UGU: 9
  • 31UGV: 5
  • 32TLT: 3
  • 32TMT: 8
  • 32TNT: 8
  • 32TPT: 7
  • 32TQT: 11
  • 32ULA: 5
  • 32ULB: 9
  • 32ULC: 9
  • 32ULD: 9
  • 32ULE: 6
  • 32ULU: 3
  • 32ULV: 5
  • 32UMA: 7
  • 32UMB: 5
  • 32UMC: 5
  • 32UMD: 5
  • 32UME: 10
  • 32UMF: 11
  • 32UMG: 6
  • 32UMU: 7
  • 32UMV: 9
  • 32UNA: 6
  • 32UNB: 6
  • 32UNC: 9
  • 32UND: 9
  • 32UNE: 8
  • 32UNF: 7
  • 32UNU: 7
  • 32UNV: 5
  • 32UPA: 9
  • 32UPB: 9
  • 32UPC: 7
  • 32UPD: 7
  • 32UPE: 9
  • 32UPF: 7
  • 32UPU: 6
  • 32UPV: 8
  • 32UQA: 6
  • 32UQB: 6
  • 32UQC: 7
  • 32UQD: 9
  • 32UQE: 10
  • 32UQU: 5
  • 32UQV: 7
  • 33TUN: 6
  • 33UUA: 9
  • 33UUP: 10
  • 33UUQ: 11
  • 33UUR: 6
  • 33UUS: 7
  • 33UUT: 6
  • 33UUU: 10
  • 33UUV: 10
  • 33UVA: 6
  • 33UVP: 7
  • 33UVQ: 7
  • 33UVS: 11
  • 33UVT: 11
  • 33UVU: 6
  • 33UVV: 7
  • 33UWS: 6

Bottom Line

If you have any questions, suggestions or spotted a mistake, please use the comment function at the bottom of this page. This blog post Checking Earth Engine’s Sentinel-2 Surface Reflectance ingestion status is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.

Previous blog posts are available within the blog archive. Feel free to connect or follow me on twitter - gartn001.