[null,null,[],[[["\u003cp\u003eThe COPERNICUS/S2_CLOUD_PROBABILITY dataset provides cloud probability estimates for Sentinel-2 imagery, derived using the sentinel2-cloud-detector library and LightGBM.\u003c/p\u003e\n"],["\u003cp\u003eProbability values range from 0-100, representing the likelihood of a pixel being cloudy, with higher values indicating higher probability.\u003c/p\u003e\n"],["\u003cp\u003eThe dataset is generated by upsampling all bands to 10m resolution using bilinear interpolation before applying the cloud detection algorithm.\u003c/p\u003e\n"],["\u003cp\u003eAreas with missing data are masked out to ensure data quality.\u003c/p\u003e\n"],["\u003cp\u003eThis dataset is valuable for cloud masking and improving the usability of Sentinel-2 data for various land monitoring applications.\u003c/p\u003e\n"]]],["The provided dataset, `COPERNICUS/S2_CLOUD_PROBABILITY`, offers cloud probability data derived from Sentinel-2 imagery, with a revisit interval of 5 days. This data, available from 2015-06-27 to 2025-02-23, utilizes the `sentinel2-cloud-detector` library with LightGBM. It upsamples all bands to a 10-meter resolution and provides a cloud probability score (0-100) for each pixel, represented as UINT8. Users can access and analyze this data via Google Earth Engine, applying cloud masks to filter images.\n"],null,["Dataset Availability\n: 2015-06-27T00:00:00Z--2025-09-01T10:50:41Z\n\nDataset Provider\n:\n\n\n [European Union/ESA/Copernicus/SentinelHub](https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi/processing-levels/level-1)\n\nRevisit Interval\n: 5 Days\n\nTags\n:\n [cloud](/earth-engine/datasets/tags/cloud) [copernicus](/earth-engine/datasets/tags/copernicus) [esa](/earth-engine/datasets/tags/esa) [eu](/earth-engine/datasets/tags/eu) [msi](/earth-engine/datasets/tags/msi) [radiance](/earth-engine/datasets/tags/radiance) [satellite-imagery](/earth-engine/datasets/tags/satellite-imagery) [sentinel](/earth-engine/datasets/tags/sentinel) \nsentinelhub \n\nDescription \nThe S2 cloud probability is created with the\n[sentinel2-cloud-detector](https://github.com/sentinel-hub/sentinel2-cloud-detector)\nlibrary (using [LightGBM](https://github.com/microsoft/LightGBM)).\nAll bands are upsampled using bilinear interpolation to 10m resolution\nbefore the gradient boost base algorithm is applied. The resulting\n`0..1` floating point probability is scaled to `0..100` and stored as\nan UINT8. Areas missing any or all of the bands are masked out.\nHigher values are more likely to be clouds or highly reflective surfaces\n(e.g. roof tops or snow).\n\nSentinel-2 is a wide-swath, high-resolution, multi-spectral\nimaging mission supporting Copernicus Land Monitoring studies,\nincluding the monitoring of vegetation, soil and water cover,\nas well as observation of inland waterways and coastal areas.\n\nThe Level-2 data can be found in the collection\n[COPERNICUS/S2_SR_HARMONIZED](/earth-engine/datasets/catalog/COPERNICUS_S2_SR_HARMONIZED). The Level-1B data can be found in the collection\n[COPERNICUS/S2_HARMONIZED](/earth-engine/datasets/catalog/COPERNICUS_S2_HARMONIZED). Additional metadata is available on assets in those\ncollections.\n\nSee\n[this tutorial](https://developers.google.com/earth-engine/tutorials/community/sentinel-2-s2cloudless)\nexplaining how to apply the cloud mask.\n\nBands\n\n**Bands**\n\n| Name | Min | Max | Pixel Size | Description |\n|---------------|-----|-----|------------|---------------------------------------|\n| `probability` | 0 | 100 | 10 meters | Probability that the pixel is cloudy. |\n\nTerms of Use\n\n**Terms of Use**\n\nThe use of Sentinel data is governed by the [Copernicus\nSentinel Data Terms and Conditions.](https://scihub.copernicus.eu/twiki/pub/SciHubWebPortal/TermsConditions/Sentinel_Data_Terms_and_Conditions.pdf)\n\nExplore with Earth Engine **Important:** Earth Engine is a platform for petabyte-scale scientific analysis and visualization of geospatial datasets, both for public benefit and for business and government users. Earth Engine is free to use for research, education, and nonprofit use. To get started, please [register for Earth Engine access.](https://console.cloud.google.com/earth-engine)\n\nCode Editor (JavaScript) \n\n```javascript\nvar s2Sr = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED');\nvar s2Clouds = ee.ImageCollection('COPERNICUS/S2_CLOUD_PROBABILITY');\n\nvar START_DATE = ee.Date('2019-01-01');\nvar END_DATE = ee.Date('2019-03-01');\nvar MAX_CLOUD_PROBABILITY = 65;\nvar region =\n ee.Geometry.Rectangle({coords: [-76.5, 2.0, -74, 4.0], geodesic: false});\nMap.setCenter(-75, 3, 12);\n\nfunction maskClouds(img) {\n var clouds = ee.Image(img.get('cloud_mask')).select('probability');\n var isNotCloud = clouds.lt(MAX_CLOUD_PROBABILITY);\n return img.updateMask(isNotCloud);\n}\n\n// The masks for the 10m bands sometimes do not exclude bad data at\n// scene edges, so we apply masks from the 20m and 60m bands as well.\n// Example asset that needs this operation:\n// COPERNICUS/S2_CLOUD_PROBABILITY/20190301T000239_20190301T000238_T55GDP\nfunction maskEdges(s2_img) {\n return s2_img.updateMask(\n s2_img.select('B8A').mask().updateMask(s2_img.select('B9').mask()));\n}\n\n// Filter input collections by desired data range and region.\nvar criteria = ee.Filter.and(\n ee.Filter.bounds(region), ee.Filter.date(START_DATE, END_DATE));\ns2Sr = s2Sr.filter(criteria).map(maskEdges);\ns2Clouds = s2Clouds.filter(criteria);\n\n// Join S2 SR with cloud probability dataset to add cloud mask.\nvar s2SrWithCloudMask = ee.Join.saveFirst('cloud_mask').apply({\n primary: s2Sr,\n secondary: s2Clouds,\n condition:\n ee.Filter.equals({leftField: 'system:index', rightField: 'system:index'})\n});\n\nvar s2CloudMasked =\n ee.ImageCollection(s2SrWithCloudMask).map(maskClouds).median();\nvar rgbVis = {min: 0, max: 3000, bands: ['B4', 'B3', 'B2']};\n\nMap.addLayer(\n s2CloudMasked, rgbVis, 'S2 SR masked at ' + MAX_CLOUD_PROBABILITY + '%',\n true);\n```\n[Open in Code Editor](https://code.earthengine.google.com/?scriptPath=Examples:Datasets/COPERNICUS/COPERNICUS_S2_CLOUD_PROBABILITY) \n[Sentinel-2: Cloud Probability](/earth-engine/datasets/catalog/COPERNICUS_S2_CLOUD_PROBABILITY) \nThe S2 cloud probability is created with the sentinel2-cloud-detector library (using LightGBM). All bands are upsampled using bilinear interpolation to 10m resolution before the gradient boost base algorithm is applied. The resulting 0..1 floating point probability is scaled to 0..100 and stored as an UINT8. Areas missing any or all ... \nCOPERNICUS/S2_CLOUD_PROBABILITY, cloud,copernicus,esa,eu,msi,radiance,satellite-imagery,sentinel \n2015-06-27T00:00:00Z/2025-09-01T10:50:41Z \n-56 -180 83 180 \nGoogle Earth Engine \nhttps://developers.google.com/earth-engine/datasets\n\n- [](https://doi.org/https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi/processing-levels/level-1)\n- [](https://doi.org/https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_CLOUD_PROBABILITY)"]]