You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Sen2Like processor was developed by ESA as part of the EU Copernicus program. It creates Sentinel-2 like harmonized (Level-2H) or fused (Level-2F) surface reflectances by harmonizing Sentinel-2 and Landsat 8/Landsat 9 to increase the temporal revisits. The fusion involves the upscaling of Landsat 8/Landsat 9 data to Sentinel-2 resolution. Furthermore, the resulting sen2like L2H/ L2F data can be processed using openEO to generate statistics, vegetation indices, do comparisons with other datasets, etc.
4
+
5
+
### Methodology
6
+
7
+
The processing of the incoming Landsat and Sentinel-2 L1C data includes the following main processing steps: Geometric Processing, Stitching, Geometric Check, Inter-calibration, Atmospheric correction, BRDF Adjustment, SBAF, Topographic Correction, Data Fusion. If Sentinel-2 L2A data is provided, sen2like processing will not include Atmospheric and Topographic Correction. In the geometric processing step, the input images are co-registered to a Sentinel-2 reference image. The atmospheric correction step makes use of the sen2cor processor and additionally relies on Copernicus Atmosphere Monitoring Service (CAMS) Near Real Time and Reanalysis data as well as the Copernicus Digital Elevation Model. The Data Fusion step alignes Landsat 8 image pixel spacing fully with Sentinel2 image pixel spacing. Depending on the band, the resolution of the Landsat L2F product is 10 m, 20 m or 30 m.
8
+
9
+
### Quality
10
+
11
+
The geometric check process is a Quality Control step of the product. For further information, see Sen2like User Manual.
description="Limits the data to process to the specified bounding box or polygons.\\n\\nFor raster data, the process loads the pixel into the data cube if the point at the pixel center intersects with the bounding box or any of the polygons (as defined in the Simple Features standard by the OGC).\\nFor vector data, the process loads the geometry into the data cube if the geometry is fully within the bounding box or any of the polygons (as defined in the Simple Features standard by the OGC). Empty geometries may only be in the data cube if no spatial extent has been provided.\\n\\nEmpty geometries are ignored.\\nSet this parameter to null to set no limit for the spatial extent."
15
+
)
16
+
17
+
temporal_extent=Parameter.temporal_interval(
18
+
name="temporal_extent",
19
+
description="Temporal extent specified as two-element array with start and end date/date-time."
description="Sentinel-2 bands to include in the composite.",
29
+
item_schema=schema,
30
+
default=["B04", "B03", "B02"],
31
+
optional=True,
32
+
)
33
+
34
+
collection='SENTINEL2_L2A'
35
+
36
+
s2_l1c=connection.load_collection(
37
+
collection,
38
+
spatial_extent=spatial_extent,
39
+
temporal_extent=temporal_extent,
40
+
bands=bands)
41
+
42
+
sen2like=s2_l1c.process('sen2like', {
43
+
'data': THIS,
44
+
'target_product': 'L2F',
45
+
'export_original_files': True,
46
+
'cloud_cover': 50})
47
+
48
+
returns= {
49
+
"description": "A data cube with the newly computed values.\n\nThe result will combine Sentinel-2 and Landsat timesteps for the requested extent. Just like Sentinel 2 data, sen2like generates .SAFE output files, which are zipped for the purpose of openEO. For both Landsat and Sentinel acquisitions the .SAFE files include the requested bands. Note, that the sen2like Landsat outputs do not include equivalents of Sentinel-2 bands B05, B06, B07.",
50
+
"schema": {
51
+
"type": "object",
52
+
"subtype": "datacube"
53
+
}
54
+
}
55
+
56
+
returnbuild_process_dict(
57
+
process_graph=sen2like,
58
+
process_id="sen2like",
59
+
summary="Computes a harmonzed Sentinel-2 and Landsat timeseries.",
"description": "# Sen2like\n\nThe Sen2Like processor was developed by ESA as part of the EU Copernicus program. It creates Sentinel-2 like harmonized (Level-2H) or fused (Level-2F) surface reflectances by harmonizing Sentinel-2 and Landsat 8/Landsat 9 to increase the temporal revisits. Based on the resulting L2F product, multiple indices can be computed, such as the NDVI and LAI. The fusion also involves the upscaling of Landsat 8/Landsat 9 data to Sentinel-2 resolution. With the new L2F data higher time-series resolution vegetation indices (such as NDVI, LAI, FAPAR, FCOVER) can be calculated.\n\n### Methodology\n\n\n\n### Quality\n\n\n\n### Links\n\n- [RD1] openEO platform Sen2like documentation https://docs.openeo.cloud/usecases/ard/sen2like",
33
+
"parameters": [
34
+
{
35
+
"name": "bands",
36
+
"description": "Only adds the specified bands into the data cube so that bands that don't match the list of band names are not available. Applies to all dimensions of type `bands`.\n\nEither the unique band name (metadata field `name` in bands) or one of the common band names (metadata field `common_name` in bands) can be specified. If the unique band name and the common name conflict, the unique band name has a higher priority.\n\nThe order of the specified array defines the order of the bands in the data cube. If multiple bands match a common name, all matched bands are included in the original order.\n\nIt is recommended to use this parameter instead of using ``filter_bands()`` directly after loading unbounded data.",
37
+
"schema": [
38
+
{
39
+
"type": "array",
40
+
"minItems": 1,
41
+
"items": {
42
+
"type": "string",
43
+
"subtype": "band-name"
44
+
}
45
+
},
46
+
{
47
+
"title": "No filter",
48
+
"description": "Don't filter bands. All bands are included in the data cube.",
49
+
"type": "null"
50
+
}
51
+
],
52
+
"default": null,
53
+
"optional": true
54
+
},
55
+
{
56
+
"name": "spatial_extent",
57
+
"description": "Limits the data to process to the specified bounding box or polygons.\\n\\nFor raster data, the process loads the pixel into the data cube if the point at the pixel center intersects with the bounding box or any of the polygons (as defined in the Simple Features standard by the OGC).\\nFor vector data, the process loads the geometry into the data cube if the geometry is fully within the bounding box or any of the polygons (as defined in the Simple Features standard by the OGC). Empty geometries may only be in the data cube if no spatial extent has been provided.\\n\\nEmpty geometries are ignored.\\nSet this parameter to null to set no limit for the spatial extent.",
58
+
"schema": [
59
+
{
60
+
"title": "Bounding Box",
61
+
"type": "object",
62
+
"subtype": "bounding-box",
63
+
"required": [
64
+
"west",
65
+
"south",
66
+
"east",
67
+
"north"
68
+
],
69
+
"properties": {
70
+
"west": {
71
+
"description": "West (lower left corner, coordinate axis 1).",
72
+
"type": "number"
73
+
},
74
+
"south": {
75
+
"description": "South (lower left corner, coordinate axis 2).",
76
+
"type": "number"
77
+
},
78
+
"east": {
79
+
"description": "East (upper right corner, coordinate axis 1).",
80
+
"type": "number"
81
+
},
82
+
"north": {
83
+
"description": "North (upper right corner, coordinate axis 2).",
84
+
"type": "number"
85
+
},
86
+
"base": {
87
+
"description": "Base (optional, lower left corner, coordinate axis 3).",
88
+
"type": [
89
+
"number",
90
+
"null"
91
+
],
92
+
"default": null
93
+
},
94
+
"height": {
95
+
"description": "Height (optional, upper right corner, coordinate axis 3).",
96
+
"type": [
97
+
"number",
98
+
"null"
99
+
],
100
+
"default": null
101
+
},
102
+
"crs": {
103
+
"description": "Coordinate reference system of the extent, specified as as [EPSG code](http://www.epsg-registry.org/) or [WKT2 CRS string](http://docs.opengeospatial.org/is/18-010r7/18-010r7.html). Defaults to `4326` (EPSG code 4326) unless the client explicitly requests a different coordinate reference system.",
104
+
"anyOf": [
105
+
{
106
+
"title": "EPSG Code",
107
+
"type": "integer",
108
+
"subtype": "epsg-code",
109
+
"minimum": 1000,
110
+
"examples": [
111
+
3857
112
+
]
113
+
},
114
+
{
115
+
"title": "WKT2",
116
+
"type": "string",
117
+
"subtype": "wkt2-definition"
118
+
}
119
+
],
120
+
"default": 4326
121
+
}
122
+
}
123
+
},
124
+
{
125
+
"title": "Vector data cube",
126
+
"description": "Limits the data cube to the bounding box of the given geometries in the vector data cube. For raster data, all pixels inside the bounding box that do not intersect with any of the polygons will be set to no data (`null`). Empty geometries are ignored.",
127
+
"type": "object",
128
+
"subtype": "datacube",
129
+
"dimensions": [
130
+
{
131
+
"type": "geometry"
132
+
}
133
+
]
134
+
},
135
+
{
136
+
"title": "No filter",
137
+
"description": "Don't filter spatially. All data is included in the data cube.",
138
+
"type": "null"
139
+
}
140
+
]
141
+
},
142
+
{
143
+
"name": "temporal_extent",
144
+
"description": "Temporal extent specified as two-element array with start and end date/date-time.",
0 commit comments