Access Sentinel-2 in Analysis Mode¶
xarray-eopf is a Python package that extends xarray with a custom backend called "eopf-zarr". This backend enables seamless access to ESA EOPF data products stored in the Zarr format, presenting them as analysis-ready data structures.
In this notebook, we demonstrate how to use the xarray-eopf backend to access Sentinel-2 EOPF Zarr products in analysis mode. All data access is lazy, meaning that data is only loaded when required—for example, during plotting or when writing to storage.
For a general introduction to the xarray EOPF backend, see the introduction notebook.
For an example of the native mode, see the Sentinel-2 native mode notebook.
- 🐙 GitHub: EOPF Sample Service – xarray-eopf
- ❗ Issue Tracker: Submit or view issues
- 📘 Documentation: xarray-eopf Docs
Main Features of the Analysis Mode for Sentinel-2¶
The analysis mode provides EOPF products as analysis-ready xarray.Dataset objects on a single, unified spatial grid. For Sentinel-2, this means all variables are automatically upscaled or downscaled so that they share a consistent pair of x and y coordinates.
Native resolution of Sentinel-2 spectral bands¶
- 10 m: B02, B03, B04, B08
- 20 m: B05, B06, B07, B8A, B11, B12
- 60 m: B01, B09, B10
Key properties of Sentinel-2 analysis mode¶
- Default mode for the
"eopf-zarr"backend - Selectable spatial resolution: 10 m (default), 20 m, or 60 m
- Automatic resampling to align bands of different resolutions:
- Upsampling via interpolation (default is
nearestfor integer arrays (e.g. Sentinel-2 L2A SCL, elsebilinear), - Downsampling via aggregation (default is
centerfor integer arrays (e.g. Sentinel-2 L2A SCL, elsemean)
- Upsampling via interpolation (default is
- Spatial subsetting via the
bboxargument - Reprojection to different CRS via the
crsargument - Flexible variable selection using names or regex patterns
For full details on opening parameters, see the Analysis Mode documentation and, specifically for Sentinel-2, the Sentinel-2 Analysis Mode guide.
Import Modules¶
The xarray-eopf backend is implemented as a plugin for xarray. Once installed, it registers automatically and requires no additional import. You can simply import xarray as usual:
import matplotlib.colors as mcolors
import matplotlib.pyplot as plt
import numpy as np
import pystac_client
import xarray as xr
Open a Sentinel-2 Level-1C¶
We begin with an example that accesses a Sentinel-2 Level-1C product in analysis mode.
Find a Sentinel-2 Level-1C Zarr Sample via STAC¶
To obtain a product URL, you can use the STAC Browser to search for a Sentinel-2 Level-1C tile.
catalog = pystac_client.Client.open("https://stac.core.eopf.eodc.eu")
items = list(
catalog.search(
collections=["sentinel-2-l1c"],
bbox=[7.2, 44.5, 7.4, 44.7],
datetime=["2026-03-13", "2026-03-13"],
).items()
)
items
[<Item id=S2A_MSIL1C_20260313T101741_N0512_R065_T32TLQ_20260313T153853>]
item = items[0]
Open Sentinel-2 Level-1C with default parameters¶
We can now open the Sentinel-2 product in analysis mode. Since this is the default, the op_mode parameter does not need to be specified.
The following cell returns a lazy dataset, with all bands resampled to 60 m resolution. This lower resolution is chosen to keep plotting fast, as rendering full-resolution data in Matplotlib can be slow.
ds = xr.open_dataset(
item.assets["product"].href,
engine="eopf-zarr",
resolution=60,
chunks={}
)
ds
<xarray.Dataset> Size: 348MB
Dimensions: (y: 1830, x: 1830)
Coordinates:
spatial_ref int64 8B ...
* x (x) float32 7kB 3e+05 3.001e+05 ... 4.097e+05 4.098e+05
* y (y) float32 7kB 5e+06 5e+06 5e+06 ... 4.89e+06 4.89e+06
Data variables: (12/13)
b02 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b03 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b04 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b08 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b05 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b06 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
... ...
b11 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b12 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b8a (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b01 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b09 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b10 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
Attributes: (24)- y: 1830
- x: 1830
- spatial_ref()int64...
- crs_wkt :
- PROJCRS["WGS 84 / UTM zone 32N",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["UTM zone 32N",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",9,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Navigation and medium accuracy spatial referencing."],AREA["Between 6°E and 12°E, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Austria. Cameroon. Denmark. Equatorial Guinea. France. Gabon. Germany. Italy. Libya. Liechtenstein. Monaco. Netherlands. Niger. Nigeria. Norway. Sao Tome and Principe. Svalbard. Sweden. Switzerland. Tunisia. Vatican City State."],BBOX[0,6,84,12]],ID["EPSG",32632]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984 ensemble
- projected_crs_name :
- WGS 84 / UTM zone 32N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- 9.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
[1 values with dtype=int64]
- x(x)float323e+05 3.001e+05 ... 4.098e+05
- dimensions :
- ['x']
- dtype :
- <f4
- long_name :
- x coordinates of image at 60m in meters from up-left pixel
- units :
- m
array([300030., 300090., 300150., ..., 409650., 409710., 409770.], shape=(1830,), dtype=float32) - y(y)float325e+06 5e+06 ... 4.89e+06 4.89e+06
- dimensions :
- ['y']
- dtype :
- <f4
- long_name :
- y coordinates of image at 60m in meters from up-left pixel
- units :
- m
array([5000010., 4999950., 4999890., ..., 4890390., 4890330., 4890270.], shape=(1830,), dtype=float32)
- b02(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 02 490 nm', 'scale_factor': 0.0001, 'short_name': 'b02_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 02 490 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b03(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 03 560 nm', 'scale_factor': 0.0001, 'short_name': 'b03_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 03 560 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b04(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 04 665 nm', 'scale_factor': 0.0001, 'short_name': 'b04_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 04 665 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b08(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 08 842 nm', 'scale_factor': 0.0001, 'short_name': 'b08_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 08 842 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b05(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 05 705 nm', 'scale_factor': 0.0001, 'short_name': 'b05_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 05 705 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b06(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 06 740 nm', 'scale_factor': 0.0001, 'short_name': 'b06_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 06 740 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b07(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 07 783 nm', 'scale_factor': 0.0001, 'short_name': 'b07_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 07 783 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b11(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 11 1610 nm', 'scale_factor': 0.0001, 'short_name': 'b11_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 11 1610 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b12(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 12 2190 nm', 'scale_factor': 0.0001, 'short_name': 'b12_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 12 2190 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b8a(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 8A 865 nm', 'scale_factor': 0.0001, 'short_name': 'b8a_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 8A 865 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b01(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 01 443 nm', 'scale_factor': 0.0001, 'short_name': 'b01_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 01 443 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b09(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 09 940 nm', 'scale_factor': 0.0001, 'short_name': 'b09_r60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 09 940 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b10(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 10 1375 nm', 'scale_factor': 0.0001, 'short_name': 'b10_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 10 1375 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray
- xPandasIndex
PandasIndex(Index([300030.0, 300090.0, 300150.0, 300210.0, 300270.0, 300330.0, 300390.0, 300450.0, 300510.0, 300570.0, ... 409230.0, 409290.0, 409350.0, 409410.0, 409470.0, 409530.0, 409590.0, 409650.0, 409710.0, 409770.0], dtype='float32', name='x', length=1830)) - yPandasIndex
PandasIndex(Index([5000010.0, 4999950.0, 4999890.0, 4999830.0, 4999770.0, 4999710.0, 4999650.0, 4999590.0, 4999530.0, 4999470.0, ... 4890810.0, 4890750.0, 4890690.0, 4890630.0, 4890570.0, 4890510.0, 4890450.0, 4890390.0, 4890330.0, 4890270.0], dtype='float32', name='y', length=1830))
- L0_ancillary_data_quality :
- null
- L0_ephemeris_data_quality :
- null
- NUC_table_ID :
- 3
- SWIR_rearrangement_flag :
- null
- UTM_zone_identification :
- UTM zone 32N
- absolute_location_assessment_from_AOCS :
- null
- band_description :
- {'01': {'bandwidth': '20.0', 'central_wavelength': 442.7, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 7.4473767, 'physical_gain': 4.0887333, 'spectral_response_step': 1, 'spectral_response_values': '0.001775742 0.004073061 0.003626143 0.003515199 0.005729163 0.003780292 0.002636732 0.001262113 0.001987583 0.001368913 0.001250444 0.000463454 0.000814293 0.001376431 0.001485086 0.001823735 0.001626817 0.004392062 0.029008099 0.11874593 0.32387506 0.57281921 0.71472749 0.76196778 0.78929702 0.80862387 0.81089382 0.82419876 0.85415811 0.87079088 0.88731097 0.92619924 0.98228149 1 0.9752382 0.93596338 0.88997148 0.85021048 0.82569453 0.78390239 0.61417422 0.33007109 0.12410831 0.04365694 0.014749595', 'units': 'nm', 'wavelength_max': 456.0, 'wavelength_min': 412.0}, '02': {'bandwidth': '65.0', 'central_wavelength': 492.7, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.2821506, 'physical_gain': 3.74715511, 'spectral_response_step': 1, 'spectral_response_values': '0.04255531 0.0722983 0.15374322 0.32799225 0.55336788 0.71011166 0.75285179 0.75232691 0.75668081 0.76326948 0.76239425 0.7852515 0.81546669 0.86179176 0.89282599 0.9195221 0.91900649 0.91315754 0.90035366 0.88989693 0.8823246 0.87606118 0.88429987 0.90695544 0.93232085 0.93947252 0.94383543 0.92204086 0.8860231 0.84743609 0.81251687 0.7823971 0.7731087 0.77209054 0.78742652 0.81217177 0.84605052 0.88767996 0.92793997 0.95069235 0.96573311 0.96938253 0.96570294 0.95832003 0.95405064 0.95178268 0.95699722 0.96556515 0.9770514 0.97709574 0.97436606 0.95903183 0.93506318 0.90190134 0.87165792 0.84402444 0.82280852 0.81536043 0.82057639 0.8395149 0.86992171 0.91526205 0.96067028 0.99163699 1 0.98356097 0.91130763 0.74018256 0.50395858 0.3050155 0.18004605 0.10738342 0.06593592 0.04207746 0.02662129 0.0143396 0.00265779 0.00081822', 'units': 'nm', 'wavelength_max': 533.0, 'wavelength_min': 456.0}, '03': {'bandwidth': '35.0', 'central_wavelength': 559.8, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.3230393, 'physical_gain': 4.18026291, 'spectral_response_step': 1, 'spectral_response_values': '0.01448181 0.03422251 0.07346335 0.15444843 0.31661425 0.55322279 0.74859406 0.84890306 0.89772216 0.9215368 0.92572845 0.91122688 0.88818924 0.86523756 0.84718187 0.8387572 0.84459081 0.86219653 0.88838714 0.92443236 0.96017974 0.98685516 1 0.9986008 0.98076472 0.94522089 0.8981778 0.85580323 0.81841734 0.78862048 0.76460653 0.74963745 0.75055111 0.76137888 0.78244479 0.79890086 0.81016957 0.81408886 0.77358596 0.62881065 0.40397555 0.21542098 0.10715281 0.04792877 0.01848693 0.00108588', 'units': 'nm', 'wavelength_max': 583.0, 'wavelength_min': 538.0}, '04': {'bandwidth': '30.0', 'central_wavelength': 664.6, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.3872929, 'physical_gain': 4.51634367, 'spectral_response_step': 1, 'spectral_response_values': '0.00141521 0.02590238 0.11651178 0.39088616 0.74959342 0.94485805 0.98011173 0.99406309 1 0.99545475 0.99052772 0.97733476 0.94055988 0.87894956 0.81629384 0.77345952 0.75448766 0.75991531 0.7826343 0.8101689 0.83612975 0.86125424 0.88609106 0.91138767 0.93405146 0.95042063 0.9592573 0.96039555 0.95913395 0.95809013 0.95527459 0.94376465 0.89490799 0.74426308 0.476777 0.22960399 0.08009118 0.02617076 0.00415242', 'units': 'nm', 'wavelength_max': 684.0, 'wavelength_min': 646.0}, '05': {'bandwidth': '15.0', 'central_wavelength': 704.1, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.844058, 'physical_gain': 5.20124492, 'spectral_response_step': 1, 'spectral_response_values': '0.02835786 0.12369337 0.39378774 0.76113071 0.97108502 0.99889523 1 0.99412258 0.98321789 0.96704093 0.94847389 0.92714833 0.90372458 0.88614713 0.86723745 0.79075319 0.58840332 0.26334833 0.05675422 0.00618833', 'units': 'nm', 'wavelength_max': 714.0, 'wavelength_min': 695.0}, '06': {'bandwidth': '13.0', 'central_wavelength': 740.5, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.7251472, 'physical_gain': 4.87027032, 'spectral_response_step': 1, 'spectral_response_values': '0.00171088 0.05467153 0.25806676 0.64722098 0.89218999 0.90232877 0.91508768 0.94115846 0.96299993 0.97510481 0.9770217 0.98736251 1 0.98880277 0.97179916 0.90126739 0.60672391 0.20520227 0.0267569', 'units': 'nm', 'wavelength_max': 749.0, 'wavelength_min': 731.0}, '07': {'bandwidth': '19.0', 'central_wavelength': 782.8, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.7489293, 'physical_gain': 4.53413059, 'spectral_response_step': 1, 'spectral_response_values': '0.00045899 0.0117201 0.05219715 0.16561733 0.36903355 0.63685453 0.86119638 0.97002897 0.99119602 0.99897921 1 0.97725155 0.92572385 0.86605804 0.81969611 0.79407674 0.79111029 0.80431552 0.81902721 0.82571292 0.82011829 0.79222195 0.72054559 0.58767794 0.41430355 0.23088817 0.09850282 0.02736551 0.00516235', 'units': 'nm', 'wavelength_max': 797.0, 'wavelength_min': 769.0}, '08': {'bandwidth': '105.0', 'central_wavelength': 832.8, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.2704681, 'physical_gain': 6.16307432, 'spectral_response_step': 1, 'spectral_response_values': '0.00067259 0.00388856 0 0 0 0 0 0 0 0 0 0 0 0.00028956 0.00702964 0.01752391 0.03231111 0.05328661 0.08299885 0.12748502 0.19591065 0.30246323 0.43553954 0.57141637 0.69766701 0.80303852 0.89115744 0.95284584 0.98894161 1 0.98840653 0.96389216 0.94207967 0.93694643 0.94227343 0.95395718 0.96828896 0.97966549 0.9854444 0.98592681 0.98391181 0.97793903 0.97722771 0.97810609 0.98144486 0.98764558 0.98857708 0.9862422 0.98070921 0.97078624 0.95721089 0.93865821 0.91672388 0.89620759 0.872888 0.85160331 0.8246394 0.80078117 0.7823386 0.76360274 0.74962771 0.7387221 0.73079407 0.72271237 0.72507708 0.72563856 0.72304217 0.72229211 0.71616364 0.71159446 0.70826954 0.70157205 0.69924532 0.70093762 0.70692733 0.71824001 0.73124634 0.7484061 0.76818541 0.78394807 0.7968381 0.80260206 0.8045194 0.80240918 0.79699072 0.78920304 0.77691621 0.76518406 0.75119717 0.73700357 0.72262399 0.70412578 0.68410805 0.66474528 0.64736891 0.63005125 0.61564222 0.60249557 0.58988992 0.57993399 0.57136506 0.56094242 0.55235105 0.54568236 0.53958052 0.53510215 0.53093675 0.53016508 0.52984662 0.53036682 0.53211463 0.53271918 0.53246806 0.53331158 0.5319278 0.53051055 0.52951499 0.52996848 0.53253373 0.53705085 0.54235344 0.54912497 0.55523055 0.56011135 0.55767999 0.54821984 0.53144613 0.50763528 0.47811224 0.45092793 0.42798466 0.41051405 0.40039139 0.40087302 0.40829375 0.42086556 0.43007022 0.42456692 0.39136817 0.33009008 0.25720509 0.18189031 0.11650668 0.07031579 0.04275381 0.02593154 0.01574394 0.00394326', 'units': 'nm', 'wavelength_max': 907.0, 'wavelength_min': 760.0}, '09': {'bandwidth': '20.0', 'central_wavelength': 945.1, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 7.593408, 'physical_gain': 8.53843412, 'spectral_response_step': 1, 'spectral_response_values': '0.01662953 0.06111857 0.17407094 0.38946454 0.6645915 0.87454114 0.93695988 0.96751014 0.9893391 0.9951269 1 0.97845762 0.98069118 0.9922335 0.98798379 0.99428313 0.98348041 0.97820013 0.95023367 0.95299604 0.92240308 0.85573828 0.70970227 0.46429542 0.21538427 0.06534121 0.01625596', 'units': 'nm', 'wavelength_max': 958.0, 'wavelength_min': 932.0}, '10': {'bandwidth': '30.0', 'central_wavelength': 1373.5, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 5.6989655, 'physical_gain': 54.96215494, 'spectral_response_step': 1, 'spectral_response_values': '0.00024052 5.404e-05 3.052e-05 2.872e-05 7.632e-05 0.00010949 8.804e-05 0.00012356 0.00017424 0.0003317 0.00036891 0.0004467 0.00065919 0.0010913 0.00196903 0.00373668 0.00801754 0.01884719 0.04466732 0.10165546 0.20111776 0.34284841 0.50710992 0.6632068 0.78377143 0.86153862 0.91000261 0.94193255 0.96182259 0.97365119 0.98169786 0.98795826 0.99283342 0.99649788 0.99906011 1 0.99907734 0.99601604 0.9909083 0.98479854 0.97802142 0.97030114 0.96080954 0.94849765 0.93314108 0.91482336 0.8937997 0.86825426 0.83023193 0.76384193 0.65440009 0.50671604 0.35014737 0.21799972 0.12643091 0.06768988 0.0322709 0.013544 0.00544557 0.00237642 0.00111267 0.00053796 0.0003457 0.00017488 0.00021619 0.00019479 0.00010421 5.919e-05 5.109e-05 6.115e-05 5.527e-05 3.856e-05 3.147e-05 0.00012289 0.0001089 2.502e-05', 'units': 'nm', 'wavelength_max': 1412.0, 'wavelength_min': 1337.0}, '11': {'bandwidth': '90.0', 'central_wavelength': 1613.7, 'onboard_compression_rate': 2.4, 'onboard_integration_time': 1.4035684, 'physical_gain': 35.19950849, 'spectral_response_step': 1, 'spectral_response_values': '6.79e-06 6.66e-06 8e-06 2.734e-05 3.685e-05 8.851e-05 0.00014522 0.00024812 0.00047627 0.00056335 0.00065326 0.00089835 0.00114664 0.00165604 0.00241611 0.00350246 0.00524274 0.0081538 0.01237062 0.0186097 0.02721853 0.03879155 0.05379167 0.07353187 0.09932758 0.1334178 0.18029249 0.24484994 0.32834511 0.42749961 0.53576798 0.64570396 0.74245998 0.81447017 0.85866596 0.87924777 0.88665266 0.888727 0.89105732 0.89725046 0.90632982 0.91627527 0.9263751 0.93515828 0.94226446 0.94739906 0.95131987 0.95416808 0.95635128 0.95813297 0.96062738 0.96344083 0.96577764 0.96818134 0.97104025 0.97343195 0.97597444 0.97865413 0.97994672 0.98064126 0.98094979 0.98143338 0.98123856 0.98068083 0.98033995 0.98101894 0.98268503 0.98507875 0.98777658 0.9903608 0.99202087 0.9933069 0.99256744 0.99044883 0.98717314 0.98353656 0.9800432 0.97617287 0.97253451 0.96977033 0.96762556 0.9662626 0.96572411 0.96592079 0.96729798 0.96975438 0.97337748 0.97862858 0.98345358 0.98765317 0.9919238 0.99554959 0.99767411 0.99866451 0.99941783 0.99930984 0.99885298 0.99913515 0.99973164 0.99973592 1 0.9998438 0.9967639 0.99175576 0.9859206 0.97887302 0.97029262 0.96135891 0.95379752 0.94709017 0.94228614 0.93919512 0.93616637 0.92889205 0.9129921 0.88158383 0.82602164 0.74412949 0.64281662 0.53483955 0.42772166 0.32439525 0.23488131 0.16445229 0.11056237 0.07271886 0.04634859 0.02949618 0.01941871 0.0133487 0.00934594 0.00654231 0.00487921 0.00341903 0.00249864 0.00196431 0.00142754 0.00105878 0.00049978 0.00022833 0.00015999 3.415e-05 4.517e-05 1.313e-05', 'units': 'nm', 'wavelength_max': 1682.0, 'wavelength_min': 1539.0}, '12': {'bandwidth': '180.0', 'central_wavelength': 2202.4, 'onboard_compression_rate': 2.4, 'onboard_integration_time': 1.5003662, 'physical_gain': 105.95356105, 'spectral_response_step': 1, 'spectral_response_values': '0.00063835 0.00102286 0.00288712 0.00399879 0.00658916 0.00765458 0.00799918 0.00853524 0.00929493 0.00999614 0.01096645 0.01208363 0.01335837 0.01501119 0.01711931 0.01977307 0.02332743 0.02765779 0.03320435 0.04020464 0.04886709 0.0596238 0.07315348 0.09050885 0.11143964 0.13686671 0.16776886 0.20341457 0.24281992 0.28484195 0.32711894 0.36834301 0.40794043 0.4447145 0.47647207 0.50303896 0.52524762 0.54328057 0.55717994 0.5685619 0.57895708 0.58860881 0.59881758 0.60990899 0.62128986 0.63421311 0.64847648 0.66363778 0.67997936 0.69609688 0.71189957 0.7269499 0.74124079 0.75734734 0.77201504 0.78552587 0.79818641 0.80962939 0.81965718 0.82855741 0.83668178 0.84440292 0.85106862 0.85321701 0.85471321 0.8561428 0.85778963 0.8594989 0.86142876 0.86322831 0.86511218 0.8672932 0.86967076 0.87427502 0.87856212 0.88241466 0.88590611 0.8894516 0.89320419 0.8966738 0.89987484 0.90257636 0.90481219 0.90550545 0.90564491 0.90548208 0.90513822 0.90476379 0.90406427 0.90332978 0.90274309 0.90235795 0.90196488 0.90340528 0.90429478 0.90529761 0.90642862 0.90807348 0.91010493 0.91293181 0.91556686 0.91842631 0.92128288 0.92431702 0.92719913 0.92972159 0.93190455 0.93412538 0.93588954 0.93707083 0.93762594 0.93828534 0.93763643 0.94042634 0.94250397 0.94324531 0.94301861 0.94210283 0.94061808 0.93841726 0.93665003 0.93524569 0.93301102 0.92686708 0.92104485 0.91547175 0.91100989 0.90828339 0.9072733 0.90817907 0.91115631 0.91617845 0.92284525 0.92059829 0.91947472 0.91947973 0.92126575 0.92451632 0.92772589 0.93196884 0.93676408 0.94147739 0.94679545 0.95119533 0.95443018 0.95704142 0.95972628 0.9625372 0.96485326 0.96603599 0.96664138 0.96630455 0.96545713 0.96484036 0.96365512 0.96169531 0.95944859 0.95732078 0.95513625 0.95355574 0.95273072 0.95217795 0.95172542 0.9521403 0.95263595 0.95405248 0.95707559 0.96063594 0.96421772 0.96830187 0.97268597 0.97741944 0.98289489 0.9871429 0.99073348 0.99398244 0.99678431 0.99875181 1 0.9999284 0.9991523 0.99712951 0.99388228 0.98968273 0.98373274 0.97621057 0.96780985 0.95833495 0.94842856 0.93818752 0.9277078 0.91702104 0.90597951 0.89384371 0.88165575 0.86861704 0.85460324 0.84058628 0.82598123 0.80948042 0.79182917 0.7724052 0.74907137 0.72031195 0.68815487 0.65125598 0.6100244 0.56600904 0.52095058 0.47464344 0.42924778 0.38584718 0.34208462 0.30067509 0.26317221 0.22770037 0.19571781 0.16808736 0.14467686 0.12482737 0.10823403 0.09439655 0.08235799 0.07149445 0.0626855 0.05498009 0.04818852 0.04285814 0.03859244 0.03494044 0.03199172 0.02958044 0.02741084 0.02556884 0.02395058 0.02166741 0.0191457 0.01632139 0.0109837 0.00736032 0.00649061 0.00469736 0.00205874', 'units': 'nm', 'wavelength_max': 2320.0, 'wavelength_min': 2078.0}, '8A': {'bandwidth': '20.0', 'central_wavelength': 864.7, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.5586717, 'physical_gain': 5.13740108, 'spectral_response_step': 1, 'spectral_response_values': '0.00030097 0 0 0 0 0 0 0 0 0 0.00157217 0.00249886 0.01332037 0.02614866 0.05260479 0.10779709 0.22160755 0.39721628 0.60986885 0.81658883 0.9322445 0.97210033 0.97545482 0.97538048 0.97328205 0.97607828 0.98034955 0.98690928 0.99087465 0.99741818 0.99984673 0.99939141 0.99587928 0.99541228 1 0.99640762 0.92359433 0.74137684 0.48965971 0.25020643 0.11221246 0.04755984 0.02297815 0.01061438 0.00108149', 'units': 'nm', 'wavelength_max': 881.0, 'wavelength_min': 837.0}}
- electronic_crosstalk_correction_flag :
- null
- eopf_category :
- eoproduct
- geometric_refinement :
- {'mean_value_of_residual_displacements_at_all_tie_points_after_refinement_m': {'x_mean': 'null', 'y_mean': 'null'}, 'spacecraft_rotation': {'X': {'coefficients': 'null', 'degree': 'null'}, 'Y': {'coefficients': 'null', 'degree': 'null'}, 'Z': {'coefficients': 'null', 'degree': 'null'}}, 'standard_deviation_of_residual_displacements_at_all_tie_points_after_refinement_m': {'x_stdv': 'null', 'y_stdv': 'null'}}
- horizontal_CRS_code :
- EPSG:32632
- horizontal_CRS_name :
- WGS84 / UTM zone 32N
- mean_sun_azimuth_angle_in_deg_for_all_bands_all_detectors :
- 156.346195853372
- mean_sun_zenith_angle_in_deg_for_all_bands_all_detectors :
- 50.1170463180154
- meteo :
- {'source': 'ECMWF', 'type': 'FORECAST'}
- multispectral_registration_assessment :
- null
- onboard_compression_flag :
- true
- onboard_equalization_flag :
- null
- optical_crosstalk_correction_flag :
- null
- percentage_of_degraded_MSI_data :
- 0.0
- planimetric_stability_assessment_from_AOCS :
- null
- product_quality_status :
- ['PASSED', 'PASSED', 'PASSED', 'PASSED', 'PASSED']
- reflectance_correction_factor_from_the_Sun_Earth_distance_variation_computed_using_the_acquisition_date :
- 1.01479136898228
- spectral_band_of_reference :
- 3
As an example, we plot the red band (b04), which triggers the loading and visualization of the data. Note that the red band is only available at 10 m resolution in the Level-1C product. Therefore, when plotting, the array is first loaded at 10 m resolution and then aggregated before being displayed, which may take some time.
ds.b04.plot(vmin=0., vmax=1.)
/home/konstantin/micromamba/envs/xcube-eopf/lib/python3.13/site-packages/xcube_resampling/coarsen.py:103: RuntimeWarning: Mean of empty slice return nan_reducer(block, axis) /home/konstantin/micromamba/envs/xcube-eopf/lib/python3.13/site-packages/xcube_resampling/coarsen.py:103: RuntimeWarning: Mean of empty slice return nan_reducer(block, axis)
<matplotlib.collections.QuadMesh at 0x7b0fa44682f0>
Spatial Resampling, Subsetting and Reprojection¶
We can also change the resolution and display only a subset of the data by specifying the bbox argument, as shown below.
ds = xr.open_dataset(
item.assets["product"].href,
engine="eopf-zarr",
resolution=10,
bbox=[340000, 4900000, 360000, 4920000],
chunks={},
)
ds
<xarray.Dataset> Size: 416MB
Dimensions: (y: 2000, x: 2000)
Coordinates:
spatial_ref int64 8B ...
* x (x) float64 16kB 3.4e+05 3.4e+05 3.4e+05 ... 3.6e+05 3.6e+05
* y (y) float64 16kB 4.92e+06 4.92e+06 4.92e+06 ... 4.9e+06 4.9e+06
Data variables: (12/13)
b02 (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
b03 (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
b04 (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
b08 (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
b05 (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
b06 (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
... ...
b11 (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
b12 (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
b8a (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
b01 (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
b09 (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
b10 (y, x) float64 32MB dask.array<chunksize=(1830, 1830), meta=np.ndarray>
Attributes: (24)- y: 2000
- x: 2000
- spatial_ref()int64...
- crs_wkt :
- PROJCRS["WGS 84 / UTM zone 32N",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["UTM zone 32N",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",9,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Navigation and medium accuracy spatial referencing."],AREA["Between 6°E and 12°E, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Austria. Cameroon. Denmark. Equatorial Guinea. France. Gabon. Germany. Italy. Libya. Liechtenstein. Monaco. Netherlands. Niger. Nigeria. Norway. Sao Tome and Principe. Svalbard. Sweden. Switzerland. Tunisia. Vatican City State."],BBOX[0,6,84,12]],ID["EPSG",32632]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984 ensemble
- projected_crs_name :
- WGS 84 / UTM zone 32N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- 9.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
[1 values with dtype=int64]
- x(x)float643.4e+05 3.4e+05 ... 3.6e+05 3.6e+05
array([340005., 340015., 340025., ..., 359975., 359985., 359995.], shape=(2000,)) - y(y)float644.92e+06 4.92e+06 ... 4.9e+06
array([4919995., 4919985., 4919975., ..., 4900025., 4900015., 4900005.], shape=(2000,))
- b02(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 02 490 nm', 'scale_factor': 0.0001, 'short_name': 'b02_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 02 490 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b03(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 03 560 nm', 'scale_factor': 0.0001, 'short_name': 'b03_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 03 560 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b04(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 04 665 nm', 'scale_factor': 0.0001, 'short_name': 'b04_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 04 665 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b08(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 08 842 nm', 'scale_factor': 0.0001, 'short_name': 'b08_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 08 842 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b05(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 05 705 nm', 'scale_factor': 0.0001, 'short_name': 'b05_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 05 705 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b06(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 06 740 nm', 'scale_factor': 0.0001, 'short_name': 'b06_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 06 740 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b07(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 07 783 nm', 'scale_factor': 0.0001, 'short_name': 'b07_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 07 783 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b11(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 11 1610 nm', 'scale_factor': 0.0001, 'short_name': 'b11_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 11 1610 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b12(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 12 2190 nm', 'scale_factor': 0.0001, 'short_name': 'b12_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 12 2190 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b8a(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 8A 865 nm', 'scale_factor': 0.0001, 'short_name': 'b8a_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 8A 865 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b01(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 01 443 nm', 'scale_factor': 0.0001, 'short_name': 'b01_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 01 443 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b09(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 09 940 nm', 'scale_factor': 0.0001, 'short_name': 'b09_r60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 09 940 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray - b10(y, x)float64dask.array<chunksize=(1830, 1830), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 10 1375 nm', 'scale_factor': 0.0001, 'short_name': 'b10_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 10 1375 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 30.52 MiB 25.55 MiB Shape (2000, 2000) (1830, 1830) Dask graph 4 chunks in 2 graph layers Data type float64 numpy.ndarray
- xPandasIndex
PandasIndex(Index([340005.0, 340015.0, 340025.0, 340035.0, 340045.0, 340055.0, 340065.0, 340075.0, 340085.0, 340095.0, ... 359905.0, 359915.0, 359925.0, 359935.0, 359945.0, 359955.0, 359965.0, 359975.0, 359985.0, 359995.0], dtype='float64', name='x', length=2000)) - yPandasIndex
PandasIndex(Index([4919995.0, 4919985.0, 4919975.0, 4919965.0, 4919955.0, 4919945.0, 4919935.0, 4919925.0, 4919915.0, 4919905.0, ... 4900095.0, 4900085.0, 4900075.0, 4900065.0, 4900055.0, 4900045.0, 4900035.0, 4900025.0, 4900015.0, 4900005.0], dtype='float64', name='y', length=2000))
- L0_ancillary_data_quality :
- null
- L0_ephemeris_data_quality :
- null
- NUC_table_ID :
- 3
- SWIR_rearrangement_flag :
- null
- UTM_zone_identification :
- UTM zone 32N
- absolute_location_assessment_from_AOCS :
- null
- band_description :
- {'01': {'bandwidth': '20.0', 'central_wavelength': 442.7, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 7.4473767, 'physical_gain': 4.0887333, 'spectral_response_step': 1, 'spectral_response_values': '0.001775742 0.004073061 0.003626143 0.003515199 0.005729163 0.003780292 0.002636732 0.001262113 0.001987583 0.001368913 0.001250444 0.000463454 0.000814293 0.001376431 0.001485086 0.001823735 0.001626817 0.004392062 0.029008099 0.11874593 0.32387506 0.57281921 0.71472749 0.76196778 0.78929702 0.80862387 0.81089382 0.82419876 0.85415811 0.87079088 0.88731097 0.92619924 0.98228149 1 0.9752382 0.93596338 0.88997148 0.85021048 0.82569453 0.78390239 0.61417422 0.33007109 0.12410831 0.04365694 0.014749595', 'units': 'nm', 'wavelength_max': 456.0, 'wavelength_min': 412.0}, '02': {'bandwidth': '65.0', 'central_wavelength': 492.7, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.2821506, 'physical_gain': 3.74715511, 'spectral_response_step': 1, 'spectral_response_values': '0.04255531 0.0722983 0.15374322 0.32799225 0.55336788 0.71011166 0.75285179 0.75232691 0.75668081 0.76326948 0.76239425 0.7852515 0.81546669 0.86179176 0.89282599 0.9195221 0.91900649 0.91315754 0.90035366 0.88989693 0.8823246 0.87606118 0.88429987 0.90695544 0.93232085 0.93947252 0.94383543 0.92204086 0.8860231 0.84743609 0.81251687 0.7823971 0.7731087 0.77209054 0.78742652 0.81217177 0.84605052 0.88767996 0.92793997 0.95069235 0.96573311 0.96938253 0.96570294 0.95832003 0.95405064 0.95178268 0.95699722 0.96556515 0.9770514 0.97709574 0.97436606 0.95903183 0.93506318 0.90190134 0.87165792 0.84402444 0.82280852 0.81536043 0.82057639 0.8395149 0.86992171 0.91526205 0.96067028 0.99163699 1 0.98356097 0.91130763 0.74018256 0.50395858 0.3050155 0.18004605 0.10738342 0.06593592 0.04207746 0.02662129 0.0143396 0.00265779 0.00081822', 'units': 'nm', 'wavelength_max': 533.0, 'wavelength_min': 456.0}, '03': {'bandwidth': '35.0', 'central_wavelength': 559.8, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.3230393, 'physical_gain': 4.18026291, 'spectral_response_step': 1, 'spectral_response_values': '0.01448181 0.03422251 0.07346335 0.15444843 0.31661425 0.55322279 0.74859406 0.84890306 0.89772216 0.9215368 0.92572845 0.91122688 0.88818924 0.86523756 0.84718187 0.8387572 0.84459081 0.86219653 0.88838714 0.92443236 0.96017974 0.98685516 1 0.9986008 0.98076472 0.94522089 0.8981778 0.85580323 0.81841734 0.78862048 0.76460653 0.74963745 0.75055111 0.76137888 0.78244479 0.79890086 0.81016957 0.81408886 0.77358596 0.62881065 0.40397555 0.21542098 0.10715281 0.04792877 0.01848693 0.00108588', 'units': 'nm', 'wavelength_max': 583.0, 'wavelength_min': 538.0}, '04': {'bandwidth': '30.0', 'central_wavelength': 664.6, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.3872929, 'physical_gain': 4.51634367, 'spectral_response_step': 1, 'spectral_response_values': '0.00141521 0.02590238 0.11651178 0.39088616 0.74959342 0.94485805 0.98011173 0.99406309 1 0.99545475 0.99052772 0.97733476 0.94055988 0.87894956 0.81629384 0.77345952 0.75448766 0.75991531 0.7826343 0.8101689 0.83612975 0.86125424 0.88609106 0.91138767 0.93405146 0.95042063 0.9592573 0.96039555 0.95913395 0.95809013 0.95527459 0.94376465 0.89490799 0.74426308 0.476777 0.22960399 0.08009118 0.02617076 0.00415242', 'units': 'nm', 'wavelength_max': 684.0, 'wavelength_min': 646.0}, '05': {'bandwidth': '15.0', 'central_wavelength': 704.1, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.844058, 'physical_gain': 5.20124492, 'spectral_response_step': 1, 'spectral_response_values': '0.02835786 0.12369337 0.39378774 0.76113071 0.97108502 0.99889523 1 0.99412258 0.98321789 0.96704093 0.94847389 0.92714833 0.90372458 0.88614713 0.86723745 0.79075319 0.58840332 0.26334833 0.05675422 0.00618833', 'units': 'nm', 'wavelength_max': 714.0, 'wavelength_min': 695.0}, '06': {'bandwidth': '13.0', 'central_wavelength': 740.5, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.7251472, 'physical_gain': 4.87027032, 'spectral_response_step': 1, 'spectral_response_values': '0.00171088 0.05467153 0.25806676 0.64722098 0.89218999 0.90232877 0.91508768 0.94115846 0.96299993 0.97510481 0.9770217 0.98736251 1 0.98880277 0.97179916 0.90126739 0.60672391 0.20520227 0.0267569', 'units': 'nm', 'wavelength_max': 749.0, 'wavelength_min': 731.0}, '07': {'bandwidth': '19.0', 'central_wavelength': 782.8, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.7489293, 'physical_gain': 4.53413059, 'spectral_response_step': 1, 'spectral_response_values': '0.00045899 0.0117201 0.05219715 0.16561733 0.36903355 0.63685453 0.86119638 0.97002897 0.99119602 0.99897921 1 0.97725155 0.92572385 0.86605804 0.81969611 0.79407674 0.79111029 0.80431552 0.81902721 0.82571292 0.82011829 0.79222195 0.72054559 0.58767794 0.41430355 0.23088817 0.09850282 0.02736551 0.00516235', 'units': 'nm', 'wavelength_max': 797.0, 'wavelength_min': 769.0}, '08': {'bandwidth': '105.0', 'central_wavelength': 832.8, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.2704681, 'physical_gain': 6.16307432, 'spectral_response_step': 1, 'spectral_response_values': '0.00067259 0.00388856 0 0 0 0 0 0 0 0 0 0 0 0.00028956 0.00702964 0.01752391 0.03231111 0.05328661 0.08299885 0.12748502 0.19591065 0.30246323 0.43553954 0.57141637 0.69766701 0.80303852 0.89115744 0.95284584 0.98894161 1 0.98840653 0.96389216 0.94207967 0.93694643 0.94227343 0.95395718 0.96828896 0.97966549 0.9854444 0.98592681 0.98391181 0.97793903 0.97722771 0.97810609 0.98144486 0.98764558 0.98857708 0.9862422 0.98070921 0.97078624 0.95721089 0.93865821 0.91672388 0.89620759 0.872888 0.85160331 0.8246394 0.80078117 0.7823386 0.76360274 0.74962771 0.7387221 0.73079407 0.72271237 0.72507708 0.72563856 0.72304217 0.72229211 0.71616364 0.71159446 0.70826954 0.70157205 0.69924532 0.70093762 0.70692733 0.71824001 0.73124634 0.7484061 0.76818541 0.78394807 0.7968381 0.80260206 0.8045194 0.80240918 0.79699072 0.78920304 0.77691621 0.76518406 0.75119717 0.73700357 0.72262399 0.70412578 0.68410805 0.66474528 0.64736891 0.63005125 0.61564222 0.60249557 0.58988992 0.57993399 0.57136506 0.56094242 0.55235105 0.54568236 0.53958052 0.53510215 0.53093675 0.53016508 0.52984662 0.53036682 0.53211463 0.53271918 0.53246806 0.53331158 0.5319278 0.53051055 0.52951499 0.52996848 0.53253373 0.53705085 0.54235344 0.54912497 0.55523055 0.56011135 0.55767999 0.54821984 0.53144613 0.50763528 0.47811224 0.45092793 0.42798466 0.41051405 0.40039139 0.40087302 0.40829375 0.42086556 0.43007022 0.42456692 0.39136817 0.33009008 0.25720509 0.18189031 0.11650668 0.07031579 0.04275381 0.02593154 0.01574394 0.00394326', 'units': 'nm', 'wavelength_max': 907.0, 'wavelength_min': 760.0}, '09': {'bandwidth': '20.0', 'central_wavelength': 945.1, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 7.593408, 'physical_gain': 8.53843412, 'spectral_response_step': 1, 'spectral_response_values': '0.01662953 0.06111857 0.17407094 0.38946454 0.6645915 0.87454114 0.93695988 0.96751014 0.9893391 0.9951269 1 0.97845762 0.98069118 0.9922335 0.98798379 0.99428313 0.98348041 0.97820013 0.95023367 0.95299604 0.92240308 0.85573828 0.70970227 0.46429542 0.21538427 0.06534121 0.01625596', 'units': 'nm', 'wavelength_max': 958.0, 'wavelength_min': 932.0}, '10': {'bandwidth': '30.0', 'central_wavelength': 1373.5, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 5.6989655, 'physical_gain': 54.96215494, 'spectral_response_step': 1, 'spectral_response_values': '0.00024052 5.404e-05 3.052e-05 2.872e-05 7.632e-05 0.00010949 8.804e-05 0.00012356 0.00017424 0.0003317 0.00036891 0.0004467 0.00065919 0.0010913 0.00196903 0.00373668 0.00801754 0.01884719 0.04466732 0.10165546 0.20111776 0.34284841 0.50710992 0.6632068 0.78377143 0.86153862 0.91000261 0.94193255 0.96182259 0.97365119 0.98169786 0.98795826 0.99283342 0.99649788 0.99906011 1 0.99907734 0.99601604 0.9909083 0.98479854 0.97802142 0.97030114 0.96080954 0.94849765 0.93314108 0.91482336 0.8937997 0.86825426 0.83023193 0.76384193 0.65440009 0.50671604 0.35014737 0.21799972 0.12643091 0.06768988 0.0322709 0.013544 0.00544557 0.00237642 0.00111267 0.00053796 0.0003457 0.00017488 0.00021619 0.00019479 0.00010421 5.919e-05 5.109e-05 6.115e-05 5.527e-05 3.856e-05 3.147e-05 0.00012289 0.0001089 2.502e-05', 'units': 'nm', 'wavelength_max': 1412.0, 'wavelength_min': 1337.0}, '11': {'bandwidth': '90.0', 'central_wavelength': 1613.7, 'onboard_compression_rate': 2.4, 'onboard_integration_time': 1.4035684, 'physical_gain': 35.19950849, 'spectral_response_step': 1, 'spectral_response_values': '6.79e-06 6.66e-06 8e-06 2.734e-05 3.685e-05 8.851e-05 0.00014522 0.00024812 0.00047627 0.00056335 0.00065326 0.00089835 0.00114664 0.00165604 0.00241611 0.00350246 0.00524274 0.0081538 0.01237062 0.0186097 0.02721853 0.03879155 0.05379167 0.07353187 0.09932758 0.1334178 0.18029249 0.24484994 0.32834511 0.42749961 0.53576798 0.64570396 0.74245998 0.81447017 0.85866596 0.87924777 0.88665266 0.888727 0.89105732 0.89725046 0.90632982 0.91627527 0.9263751 0.93515828 0.94226446 0.94739906 0.95131987 0.95416808 0.95635128 0.95813297 0.96062738 0.96344083 0.96577764 0.96818134 0.97104025 0.97343195 0.97597444 0.97865413 0.97994672 0.98064126 0.98094979 0.98143338 0.98123856 0.98068083 0.98033995 0.98101894 0.98268503 0.98507875 0.98777658 0.9903608 0.99202087 0.9933069 0.99256744 0.99044883 0.98717314 0.98353656 0.9800432 0.97617287 0.97253451 0.96977033 0.96762556 0.9662626 0.96572411 0.96592079 0.96729798 0.96975438 0.97337748 0.97862858 0.98345358 0.98765317 0.9919238 0.99554959 0.99767411 0.99866451 0.99941783 0.99930984 0.99885298 0.99913515 0.99973164 0.99973592 1 0.9998438 0.9967639 0.99175576 0.9859206 0.97887302 0.97029262 0.96135891 0.95379752 0.94709017 0.94228614 0.93919512 0.93616637 0.92889205 0.9129921 0.88158383 0.82602164 0.74412949 0.64281662 0.53483955 0.42772166 0.32439525 0.23488131 0.16445229 0.11056237 0.07271886 0.04634859 0.02949618 0.01941871 0.0133487 0.00934594 0.00654231 0.00487921 0.00341903 0.00249864 0.00196431 0.00142754 0.00105878 0.00049978 0.00022833 0.00015999 3.415e-05 4.517e-05 1.313e-05', 'units': 'nm', 'wavelength_max': 1682.0, 'wavelength_min': 1539.0}, '12': {'bandwidth': '180.0', 'central_wavelength': 2202.4, 'onboard_compression_rate': 2.4, 'onboard_integration_time': 1.5003662, 'physical_gain': 105.95356105, 'spectral_response_step': 1, 'spectral_response_values': '0.00063835 0.00102286 0.00288712 0.00399879 0.00658916 0.00765458 0.00799918 0.00853524 0.00929493 0.00999614 0.01096645 0.01208363 0.01335837 0.01501119 0.01711931 0.01977307 0.02332743 0.02765779 0.03320435 0.04020464 0.04886709 0.0596238 0.07315348 0.09050885 0.11143964 0.13686671 0.16776886 0.20341457 0.24281992 0.28484195 0.32711894 0.36834301 0.40794043 0.4447145 0.47647207 0.50303896 0.52524762 0.54328057 0.55717994 0.5685619 0.57895708 0.58860881 0.59881758 0.60990899 0.62128986 0.63421311 0.64847648 0.66363778 0.67997936 0.69609688 0.71189957 0.7269499 0.74124079 0.75734734 0.77201504 0.78552587 0.79818641 0.80962939 0.81965718 0.82855741 0.83668178 0.84440292 0.85106862 0.85321701 0.85471321 0.8561428 0.85778963 0.8594989 0.86142876 0.86322831 0.86511218 0.8672932 0.86967076 0.87427502 0.87856212 0.88241466 0.88590611 0.8894516 0.89320419 0.8966738 0.89987484 0.90257636 0.90481219 0.90550545 0.90564491 0.90548208 0.90513822 0.90476379 0.90406427 0.90332978 0.90274309 0.90235795 0.90196488 0.90340528 0.90429478 0.90529761 0.90642862 0.90807348 0.91010493 0.91293181 0.91556686 0.91842631 0.92128288 0.92431702 0.92719913 0.92972159 0.93190455 0.93412538 0.93588954 0.93707083 0.93762594 0.93828534 0.93763643 0.94042634 0.94250397 0.94324531 0.94301861 0.94210283 0.94061808 0.93841726 0.93665003 0.93524569 0.93301102 0.92686708 0.92104485 0.91547175 0.91100989 0.90828339 0.9072733 0.90817907 0.91115631 0.91617845 0.92284525 0.92059829 0.91947472 0.91947973 0.92126575 0.92451632 0.92772589 0.93196884 0.93676408 0.94147739 0.94679545 0.95119533 0.95443018 0.95704142 0.95972628 0.9625372 0.96485326 0.96603599 0.96664138 0.96630455 0.96545713 0.96484036 0.96365512 0.96169531 0.95944859 0.95732078 0.95513625 0.95355574 0.95273072 0.95217795 0.95172542 0.9521403 0.95263595 0.95405248 0.95707559 0.96063594 0.96421772 0.96830187 0.97268597 0.97741944 0.98289489 0.9871429 0.99073348 0.99398244 0.99678431 0.99875181 1 0.9999284 0.9991523 0.99712951 0.99388228 0.98968273 0.98373274 0.97621057 0.96780985 0.95833495 0.94842856 0.93818752 0.9277078 0.91702104 0.90597951 0.89384371 0.88165575 0.86861704 0.85460324 0.84058628 0.82598123 0.80948042 0.79182917 0.7724052 0.74907137 0.72031195 0.68815487 0.65125598 0.6100244 0.56600904 0.52095058 0.47464344 0.42924778 0.38584718 0.34208462 0.30067509 0.26317221 0.22770037 0.19571781 0.16808736 0.14467686 0.12482737 0.10823403 0.09439655 0.08235799 0.07149445 0.0626855 0.05498009 0.04818852 0.04285814 0.03859244 0.03494044 0.03199172 0.02958044 0.02741084 0.02556884 0.02395058 0.02166741 0.0191457 0.01632139 0.0109837 0.00736032 0.00649061 0.00469736 0.00205874', 'units': 'nm', 'wavelength_max': 2320.0, 'wavelength_min': 2078.0}, '8A': {'bandwidth': '20.0', 'central_wavelength': 864.7, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.5586717, 'physical_gain': 5.13740108, 'spectral_response_step': 1, 'spectral_response_values': '0.00030097 0 0 0 0 0 0 0 0 0 0.00157217 0.00249886 0.01332037 0.02614866 0.05260479 0.10779709 0.22160755 0.39721628 0.60986885 0.81658883 0.9322445 0.97210033 0.97545482 0.97538048 0.97328205 0.97607828 0.98034955 0.98690928 0.99087465 0.99741818 0.99984673 0.99939141 0.99587928 0.99541228 1 0.99640762 0.92359433 0.74137684 0.48965971 0.25020643 0.11221246 0.04755984 0.02297815 0.01061438 0.00108149', 'units': 'nm', 'wavelength_max': 881.0, 'wavelength_min': 837.0}}
- electronic_crosstalk_correction_flag :
- null
- eopf_category :
- eoproduct
- geometric_refinement :
- {'mean_value_of_residual_displacements_at_all_tie_points_after_refinement_m': {'x_mean': 'null', 'y_mean': 'null'}, 'spacecraft_rotation': {'X': {'coefficients': 'null', 'degree': 'null'}, 'Y': {'coefficients': 'null', 'degree': 'null'}, 'Z': {'coefficients': 'null', 'degree': 'null'}}, 'standard_deviation_of_residual_displacements_at_all_tie_points_after_refinement_m': {'x_stdv': 'null', 'y_stdv': 'null'}}
- horizontal_CRS_code :
- EPSG:32632
- horizontal_CRS_name :
- WGS84 / UTM zone 32N
- mean_sun_azimuth_angle_in_deg_for_all_bands_all_detectors :
- 156.346195853372
- mean_sun_zenith_angle_in_deg_for_all_bands_all_detectors :
- 50.1170463180154
- meteo :
- {'source': 'ECMWF', 'type': 'FORECAST'}
- multispectral_registration_assessment :
- null
- onboard_compression_flag :
- true
- onboard_equalization_flag :
- null
- optical_crosstalk_correction_flag :
- null
- percentage_of_degraded_MSI_data :
- 0.0
- planimetric_stability_assessment_from_AOCS :
- null
- product_quality_status :
- ['PASSED', 'PASSED', 'PASSED', 'PASSED', 'PASSED']
- reflectance_correction_factor_from_the_Sun_Earth_distance_variation_computed_using_the_acquisition_date :
- 1.01479136898228
- spectral_band_of_reference :
- 3
As an example, we plot again the red band (b04).
ds.b04.plot(vmin=0., vmax=1.)
<matplotlib.collections.QuadMesh at 0x7b0fd0106d50>
We can request the same area in WGS84 geographic coordinates by specifying crs="EPSG:4326". Note that both the resolution and bbox must be provided in the CRS units (i.e., degrees).
ds = xr.open_dataset(
item.assets["product"].href,
engine="eopf-zarr",
resolution=0.0002,
crs="EPSG:4326",
bbox=[7.0, 44.2, 7.3, 44.4],
chunks={},
)
ds
<xarray.Dataset> Size: 156MB
Dimensions: (lon: 1500, lat: 1000)
Coordinates:
spatial_ref int64 8B ...
* lon (lon) float64 12kB 7.0 7.0 7.0 7.001 ... 7.299 7.3 7.3 7.3
* lat (lat) float64 8kB 44.4 44.4 44.4 44.4 ... 44.2 44.2 44.2 44.2
Data variables: (12/13)
b02 (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
b03 (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
b04 (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
b08 (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
b05 (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
b06 (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
... ...
b11 (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
b12 (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
b8a (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
b01 (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
b09 (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
b10 (lat, lon) float64 12MB dask.array<chunksize=(1000, 1500), meta=np.ndarray>
Attributes: (24)- lon: 1500
- lat: 1000
- spatial_ref()int64...
- crs_wkt :
- GEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["Horizontal component of 3D system."],AREA["World."],BBOX[-90,-180,90,180]],ID["EPSG",4326]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984 ensemble
- grid_mapping_name :
- latitude_longitude
[1 values with dtype=int64]
- lon(lon)float647.0 7.0 7.0 7.001 ... 7.3 7.3 7.3
array([7.0001, 7.0003, 7.0005, ..., 7.2995, 7.2997, 7.2999], shape=(1500,))
- lat(lat)float6444.4 44.4 44.4 ... 44.2 44.2 44.2
array([44.3999, 44.3997, 44.3995, ..., 44.2005, 44.2003, 44.2001], shape=(1000,))
- b02(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 02 490 nm', 'scale_factor': 0.0001, 'short_name': 'b02_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 02 490 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b03(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 03 560 nm', 'scale_factor': 0.0001, 'short_name': 'b03_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 03 560 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b04(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 04 665 nm', 'scale_factor': 0.0001, 'short_name': 'b04_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 04 665 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b08(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 08 842 nm', 'scale_factor': 0.0001, 'short_name': 'b08_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 08 842 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b05(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 05 705 nm', 'scale_factor': 0.0001, 'short_name': 'b05_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 05 705 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b06(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 06 740 nm', 'scale_factor': 0.0001, 'short_name': 'b06_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 06 740 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b07(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 07 783 nm', 'scale_factor': 0.0001, 'short_name': 'b07_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 07 783 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b11(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 11 1610 nm', 'scale_factor': 0.0001, 'short_name': 'b11_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 11 1610 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b12(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 12 2190 nm', 'scale_factor': 0.0001, 'short_name': 'b12_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 12 2190 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b8a(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 8A 865 nm', 'scale_factor': 0.0001, 'short_name': 'b8a_20m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 8A 865 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b01(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 01 443 nm', 'scale_factor': 0.0001, 'short_name': 'b01_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 01 443 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b09(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 09 940 nm', 'scale_factor': 0.0001, 'short_name': 'b09_r60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 09 940 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - b10(lat, lon)float64dask.array<chunksize=(1000, 1500), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 10 1375 nm', 'scale_factor': 0.0001, 'short_name': 'b10_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 10 1375 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 11.44 MiB 11.44 MiB Shape (1000, 1500) (1000, 1500) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray
- lonPandasIndex
PandasIndex(Index([7.0001, 7.0003, 7.0005, 7.0007, 7.0009, 7.0011, 7.0013, 7.0015, 7.0017, 7.0019, ... 7.2981, 7.2983, 7.2985, 7.2987, 7.2989, 7.2991, 7.2993, 7.2995, 7.2997, 7.2999], dtype='float64', name='lon', length=1500)) - latPandasIndex
PandasIndex(Index([ 44.3999, 44.3997, 44.3995, 44.399300000000004, 44.399100000000004, 44.398900000000005, 44.398700000000005, 44.398500000000006, 44.3983, 44.3981, ... 44.2019, 44.2017, 44.201499999999996, 44.201299999999996, 44.2011, 44.2009, 44.2007, 44.2005, 44.2003, 44.2001], dtype='float64', name='lat', length=1000))
- L0_ancillary_data_quality :
- null
- L0_ephemeris_data_quality :
- null
- NUC_table_ID :
- 3
- SWIR_rearrangement_flag :
- null
- UTM_zone_identification :
- UTM zone 32N
- absolute_location_assessment_from_AOCS :
- null
- band_description :
- {'01': {'bandwidth': '20.0', 'central_wavelength': 442.7, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 7.4473767, 'physical_gain': 4.0887333, 'spectral_response_step': 1, 'spectral_response_values': '0.001775742 0.004073061 0.003626143 0.003515199 0.005729163 0.003780292 0.002636732 0.001262113 0.001987583 0.001368913 0.001250444 0.000463454 0.000814293 0.001376431 0.001485086 0.001823735 0.001626817 0.004392062 0.029008099 0.11874593 0.32387506 0.57281921 0.71472749 0.76196778 0.78929702 0.80862387 0.81089382 0.82419876 0.85415811 0.87079088 0.88731097 0.92619924 0.98228149 1 0.9752382 0.93596338 0.88997148 0.85021048 0.82569453 0.78390239 0.61417422 0.33007109 0.12410831 0.04365694 0.014749595', 'units': 'nm', 'wavelength_max': 456.0, 'wavelength_min': 412.0}, '02': {'bandwidth': '65.0', 'central_wavelength': 492.7, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.2821506, 'physical_gain': 3.74715511, 'spectral_response_step': 1, 'spectral_response_values': '0.04255531 0.0722983 0.15374322 0.32799225 0.55336788 0.71011166 0.75285179 0.75232691 0.75668081 0.76326948 0.76239425 0.7852515 0.81546669 0.86179176 0.89282599 0.9195221 0.91900649 0.91315754 0.90035366 0.88989693 0.8823246 0.87606118 0.88429987 0.90695544 0.93232085 0.93947252 0.94383543 0.92204086 0.8860231 0.84743609 0.81251687 0.7823971 0.7731087 0.77209054 0.78742652 0.81217177 0.84605052 0.88767996 0.92793997 0.95069235 0.96573311 0.96938253 0.96570294 0.95832003 0.95405064 0.95178268 0.95699722 0.96556515 0.9770514 0.97709574 0.97436606 0.95903183 0.93506318 0.90190134 0.87165792 0.84402444 0.82280852 0.81536043 0.82057639 0.8395149 0.86992171 0.91526205 0.96067028 0.99163699 1 0.98356097 0.91130763 0.74018256 0.50395858 0.3050155 0.18004605 0.10738342 0.06593592 0.04207746 0.02662129 0.0143396 0.00265779 0.00081822', 'units': 'nm', 'wavelength_max': 533.0, 'wavelength_min': 456.0}, '03': {'bandwidth': '35.0', 'central_wavelength': 559.8, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.3230393, 'physical_gain': 4.18026291, 'spectral_response_step': 1, 'spectral_response_values': '0.01448181 0.03422251 0.07346335 0.15444843 0.31661425 0.55322279 0.74859406 0.84890306 0.89772216 0.9215368 0.92572845 0.91122688 0.88818924 0.86523756 0.84718187 0.8387572 0.84459081 0.86219653 0.88838714 0.92443236 0.96017974 0.98685516 1 0.9986008 0.98076472 0.94522089 0.8981778 0.85580323 0.81841734 0.78862048 0.76460653 0.74963745 0.75055111 0.76137888 0.78244479 0.79890086 0.81016957 0.81408886 0.77358596 0.62881065 0.40397555 0.21542098 0.10715281 0.04792877 0.01848693 0.00108588', 'units': 'nm', 'wavelength_max': 583.0, 'wavelength_min': 538.0}, '04': {'bandwidth': '30.0', 'central_wavelength': 664.6, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.3872929, 'physical_gain': 4.51634367, 'spectral_response_step': 1, 'spectral_response_values': '0.00141521 0.02590238 0.11651178 0.39088616 0.74959342 0.94485805 0.98011173 0.99406309 1 0.99545475 0.99052772 0.97733476 0.94055988 0.87894956 0.81629384 0.77345952 0.75448766 0.75991531 0.7826343 0.8101689 0.83612975 0.86125424 0.88609106 0.91138767 0.93405146 0.95042063 0.9592573 0.96039555 0.95913395 0.95809013 0.95527459 0.94376465 0.89490799 0.74426308 0.476777 0.22960399 0.08009118 0.02617076 0.00415242', 'units': 'nm', 'wavelength_max': 684.0, 'wavelength_min': 646.0}, '05': {'bandwidth': '15.0', 'central_wavelength': 704.1, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.844058, 'physical_gain': 5.20124492, 'spectral_response_step': 1, 'spectral_response_values': '0.02835786 0.12369337 0.39378774 0.76113071 0.97108502 0.99889523 1 0.99412258 0.98321789 0.96704093 0.94847389 0.92714833 0.90372458 0.88614713 0.86723745 0.79075319 0.58840332 0.26334833 0.05675422 0.00618833', 'units': 'nm', 'wavelength_max': 714.0, 'wavelength_min': 695.0}, '06': {'bandwidth': '13.0', 'central_wavelength': 740.5, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.7251472, 'physical_gain': 4.87027032, 'spectral_response_step': 1, 'spectral_response_values': '0.00171088 0.05467153 0.25806676 0.64722098 0.89218999 0.90232877 0.91508768 0.94115846 0.96299993 0.97510481 0.9770217 0.98736251 1 0.98880277 0.97179916 0.90126739 0.60672391 0.20520227 0.0267569', 'units': 'nm', 'wavelength_max': 749.0, 'wavelength_min': 731.0}, '07': {'bandwidth': '19.0', 'central_wavelength': 782.8, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.7489293, 'physical_gain': 4.53413059, 'spectral_response_step': 1, 'spectral_response_values': '0.00045899 0.0117201 0.05219715 0.16561733 0.36903355 0.63685453 0.86119638 0.97002897 0.99119602 0.99897921 1 0.97725155 0.92572385 0.86605804 0.81969611 0.79407674 0.79111029 0.80431552 0.81902721 0.82571292 0.82011829 0.79222195 0.72054559 0.58767794 0.41430355 0.23088817 0.09850282 0.02736551 0.00516235', 'units': 'nm', 'wavelength_max': 797.0, 'wavelength_min': 769.0}, '08': {'bandwidth': '105.0', 'central_wavelength': 832.8, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.2704681, 'physical_gain': 6.16307432, 'spectral_response_step': 1, 'spectral_response_values': '0.00067259 0.00388856 0 0 0 0 0 0 0 0 0 0 0 0.00028956 0.00702964 0.01752391 0.03231111 0.05328661 0.08299885 0.12748502 0.19591065 0.30246323 0.43553954 0.57141637 0.69766701 0.80303852 0.89115744 0.95284584 0.98894161 1 0.98840653 0.96389216 0.94207967 0.93694643 0.94227343 0.95395718 0.96828896 0.97966549 0.9854444 0.98592681 0.98391181 0.97793903 0.97722771 0.97810609 0.98144486 0.98764558 0.98857708 0.9862422 0.98070921 0.97078624 0.95721089 0.93865821 0.91672388 0.89620759 0.872888 0.85160331 0.8246394 0.80078117 0.7823386 0.76360274 0.74962771 0.7387221 0.73079407 0.72271237 0.72507708 0.72563856 0.72304217 0.72229211 0.71616364 0.71159446 0.70826954 0.70157205 0.69924532 0.70093762 0.70692733 0.71824001 0.73124634 0.7484061 0.76818541 0.78394807 0.7968381 0.80260206 0.8045194 0.80240918 0.79699072 0.78920304 0.77691621 0.76518406 0.75119717 0.73700357 0.72262399 0.70412578 0.68410805 0.66474528 0.64736891 0.63005125 0.61564222 0.60249557 0.58988992 0.57993399 0.57136506 0.56094242 0.55235105 0.54568236 0.53958052 0.53510215 0.53093675 0.53016508 0.52984662 0.53036682 0.53211463 0.53271918 0.53246806 0.53331158 0.5319278 0.53051055 0.52951499 0.52996848 0.53253373 0.53705085 0.54235344 0.54912497 0.55523055 0.56011135 0.55767999 0.54821984 0.53144613 0.50763528 0.47811224 0.45092793 0.42798466 0.41051405 0.40039139 0.40087302 0.40829375 0.42086556 0.43007022 0.42456692 0.39136817 0.33009008 0.25720509 0.18189031 0.11650668 0.07031579 0.04275381 0.02593154 0.01574394 0.00394326', 'units': 'nm', 'wavelength_max': 907.0, 'wavelength_min': 760.0}, '09': {'bandwidth': '20.0', 'central_wavelength': 945.1, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 7.593408, 'physical_gain': 8.53843412, 'spectral_response_step': 1, 'spectral_response_values': '0.01662953 0.06111857 0.17407094 0.38946454 0.6645915 0.87454114 0.93695988 0.96751014 0.9893391 0.9951269 1 0.97845762 0.98069118 0.9922335 0.98798379 0.99428313 0.98348041 0.97820013 0.95023367 0.95299604 0.92240308 0.85573828 0.70970227 0.46429542 0.21538427 0.06534121 0.01625596', 'units': 'nm', 'wavelength_max': 958.0, 'wavelength_min': 932.0}, '10': {'bandwidth': '30.0', 'central_wavelength': 1373.5, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 5.6989655, 'physical_gain': 54.96215494, 'spectral_response_step': 1, 'spectral_response_values': '0.00024052 5.404e-05 3.052e-05 2.872e-05 7.632e-05 0.00010949 8.804e-05 0.00012356 0.00017424 0.0003317 0.00036891 0.0004467 0.00065919 0.0010913 0.00196903 0.00373668 0.00801754 0.01884719 0.04466732 0.10165546 0.20111776 0.34284841 0.50710992 0.6632068 0.78377143 0.86153862 0.91000261 0.94193255 0.96182259 0.97365119 0.98169786 0.98795826 0.99283342 0.99649788 0.99906011 1 0.99907734 0.99601604 0.9909083 0.98479854 0.97802142 0.97030114 0.96080954 0.94849765 0.93314108 0.91482336 0.8937997 0.86825426 0.83023193 0.76384193 0.65440009 0.50671604 0.35014737 0.21799972 0.12643091 0.06768988 0.0322709 0.013544 0.00544557 0.00237642 0.00111267 0.00053796 0.0003457 0.00017488 0.00021619 0.00019479 0.00010421 5.919e-05 5.109e-05 6.115e-05 5.527e-05 3.856e-05 3.147e-05 0.00012289 0.0001089 2.502e-05', 'units': 'nm', 'wavelength_max': 1412.0, 'wavelength_min': 1337.0}, '11': {'bandwidth': '90.0', 'central_wavelength': 1613.7, 'onboard_compression_rate': 2.4, 'onboard_integration_time': 1.4035684, 'physical_gain': 35.19950849, 'spectral_response_step': 1, 'spectral_response_values': '6.79e-06 6.66e-06 8e-06 2.734e-05 3.685e-05 8.851e-05 0.00014522 0.00024812 0.00047627 0.00056335 0.00065326 0.00089835 0.00114664 0.00165604 0.00241611 0.00350246 0.00524274 0.0081538 0.01237062 0.0186097 0.02721853 0.03879155 0.05379167 0.07353187 0.09932758 0.1334178 0.18029249 0.24484994 0.32834511 0.42749961 0.53576798 0.64570396 0.74245998 0.81447017 0.85866596 0.87924777 0.88665266 0.888727 0.89105732 0.89725046 0.90632982 0.91627527 0.9263751 0.93515828 0.94226446 0.94739906 0.95131987 0.95416808 0.95635128 0.95813297 0.96062738 0.96344083 0.96577764 0.96818134 0.97104025 0.97343195 0.97597444 0.97865413 0.97994672 0.98064126 0.98094979 0.98143338 0.98123856 0.98068083 0.98033995 0.98101894 0.98268503 0.98507875 0.98777658 0.9903608 0.99202087 0.9933069 0.99256744 0.99044883 0.98717314 0.98353656 0.9800432 0.97617287 0.97253451 0.96977033 0.96762556 0.9662626 0.96572411 0.96592079 0.96729798 0.96975438 0.97337748 0.97862858 0.98345358 0.98765317 0.9919238 0.99554959 0.99767411 0.99866451 0.99941783 0.99930984 0.99885298 0.99913515 0.99973164 0.99973592 1 0.9998438 0.9967639 0.99175576 0.9859206 0.97887302 0.97029262 0.96135891 0.95379752 0.94709017 0.94228614 0.93919512 0.93616637 0.92889205 0.9129921 0.88158383 0.82602164 0.74412949 0.64281662 0.53483955 0.42772166 0.32439525 0.23488131 0.16445229 0.11056237 0.07271886 0.04634859 0.02949618 0.01941871 0.0133487 0.00934594 0.00654231 0.00487921 0.00341903 0.00249864 0.00196431 0.00142754 0.00105878 0.00049978 0.00022833 0.00015999 3.415e-05 4.517e-05 1.313e-05', 'units': 'nm', 'wavelength_max': 1682.0, 'wavelength_min': 1539.0}, '12': {'bandwidth': '180.0', 'central_wavelength': 2202.4, 'onboard_compression_rate': 2.4, 'onboard_integration_time': 1.5003662, 'physical_gain': 105.95356105, 'spectral_response_step': 1, 'spectral_response_values': '0.00063835 0.00102286 0.00288712 0.00399879 0.00658916 0.00765458 0.00799918 0.00853524 0.00929493 0.00999614 0.01096645 0.01208363 0.01335837 0.01501119 0.01711931 0.01977307 0.02332743 0.02765779 0.03320435 0.04020464 0.04886709 0.0596238 0.07315348 0.09050885 0.11143964 0.13686671 0.16776886 0.20341457 0.24281992 0.28484195 0.32711894 0.36834301 0.40794043 0.4447145 0.47647207 0.50303896 0.52524762 0.54328057 0.55717994 0.5685619 0.57895708 0.58860881 0.59881758 0.60990899 0.62128986 0.63421311 0.64847648 0.66363778 0.67997936 0.69609688 0.71189957 0.7269499 0.74124079 0.75734734 0.77201504 0.78552587 0.79818641 0.80962939 0.81965718 0.82855741 0.83668178 0.84440292 0.85106862 0.85321701 0.85471321 0.8561428 0.85778963 0.8594989 0.86142876 0.86322831 0.86511218 0.8672932 0.86967076 0.87427502 0.87856212 0.88241466 0.88590611 0.8894516 0.89320419 0.8966738 0.89987484 0.90257636 0.90481219 0.90550545 0.90564491 0.90548208 0.90513822 0.90476379 0.90406427 0.90332978 0.90274309 0.90235795 0.90196488 0.90340528 0.90429478 0.90529761 0.90642862 0.90807348 0.91010493 0.91293181 0.91556686 0.91842631 0.92128288 0.92431702 0.92719913 0.92972159 0.93190455 0.93412538 0.93588954 0.93707083 0.93762594 0.93828534 0.93763643 0.94042634 0.94250397 0.94324531 0.94301861 0.94210283 0.94061808 0.93841726 0.93665003 0.93524569 0.93301102 0.92686708 0.92104485 0.91547175 0.91100989 0.90828339 0.9072733 0.90817907 0.91115631 0.91617845 0.92284525 0.92059829 0.91947472 0.91947973 0.92126575 0.92451632 0.92772589 0.93196884 0.93676408 0.94147739 0.94679545 0.95119533 0.95443018 0.95704142 0.95972628 0.9625372 0.96485326 0.96603599 0.96664138 0.96630455 0.96545713 0.96484036 0.96365512 0.96169531 0.95944859 0.95732078 0.95513625 0.95355574 0.95273072 0.95217795 0.95172542 0.9521403 0.95263595 0.95405248 0.95707559 0.96063594 0.96421772 0.96830187 0.97268597 0.97741944 0.98289489 0.9871429 0.99073348 0.99398244 0.99678431 0.99875181 1 0.9999284 0.9991523 0.99712951 0.99388228 0.98968273 0.98373274 0.97621057 0.96780985 0.95833495 0.94842856 0.93818752 0.9277078 0.91702104 0.90597951 0.89384371 0.88165575 0.86861704 0.85460324 0.84058628 0.82598123 0.80948042 0.79182917 0.7724052 0.74907137 0.72031195 0.68815487 0.65125598 0.6100244 0.56600904 0.52095058 0.47464344 0.42924778 0.38584718 0.34208462 0.30067509 0.26317221 0.22770037 0.19571781 0.16808736 0.14467686 0.12482737 0.10823403 0.09439655 0.08235799 0.07149445 0.0626855 0.05498009 0.04818852 0.04285814 0.03859244 0.03494044 0.03199172 0.02958044 0.02741084 0.02556884 0.02395058 0.02166741 0.0191457 0.01632139 0.0109837 0.00736032 0.00649061 0.00469736 0.00205874', 'units': 'nm', 'wavelength_max': 2320.0, 'wavelength_min': 2078.0}, '8A': {'bandwidth': '20.0', 'central_wavelength': 864.7, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.5586717, 'physical_gain': 5.13740108, 'spectral_response_step': 1, 'spectral_response_values': '0.00030097 0 0 0 0 0 0 0 0 0 0.00157217 0.00249886 0.01332037 0.02614866 0.05260479 0.10779709 0.22160755 0.39721628 0.60986885 0.81658883 0.9322445 0.97210033 0.97545482 0.97538048 0.97328205 0.97607828 0.98034955 0.98690928 0.99087465 0.99741818 0.99984673 0.99939141 0.99587928 0.99541228 1 0.99640762 0.92359433 0.74137684 0.48965971 0.25020643 0.11221246 0.04755984 0.02297815 0.01061438 0.00108149', 'units': 'nm', 'wavelength_max': 881.0, 'wavelength_min': 837.0}}
- electronic_crosstalk_correction_flag :
- null
- eopf_category :
- eoproduct
- geometric_refinement :
- {'mean_value_of_residual_displacements_at_all_tie_points_after_refinement_m': {'x_mean': 'null', 'y_mean': 'null'}, 'spacecraft_rotation': {'X': {'coefficients': 'null', 'degree': 'null'}, 'Y': {'coefficients': 'null', 'degree': 'null'}, 'Z': {'coefficients': 'null', 'degree': 'null'}}, 'standard_deviation_of_residual_displacements_at_all_tie_points_after_refinement_m': {'x_stdv': 'null', 'y_stdv': 'null'}}
- horizontal_CRS_code :
- EPSG:32632
- horizontal_CRS_name :
- WGS84 / UTM zone 32N
- mean_sun_azimuth_angle_in_deg_for_all_bands_all_detectors :
- 156.346195853372
- mean_sun_zenith_angle_in_deg_for_all_bands_all_detectors :
- 50.1170463180154
- meteo :
- {'source': 'ECMWF', 'type': 'FORECAST'}
- multispectral_registration_assessment :
- null
- onboard_compression_flag :
- true
- onboard_equalization_flag :
- null
- optical_crosstalk_correction_flag :
- null
- percentage_of_degraded_MSI_data :
- 0.0
- planimetric_stability_assessment_from_AOCS :
- null
- product_quality_status :
- ['PASSED', 'PASSED', 'PASSED', 'PASSED', 'PASSED']
- reflectance_correction_factor_from_the_Sun_Earth_distance_variation_computed_using_the_acquisition_date :
- 1.01479136898228
- spectral_band_of_reference :
- 3
For comparison, we plot the red band (b04).
ds.b04.plot(vmin=0., vmax=1.)
<matplotlib.collections.QuadMesh at 0x7b0fb770c7d0>
Explore Different Aggregation Methods¶
As mentioned above, the default aggregation method for spectral bands during downsampling is to take the mean of each superpixel. We can also specify the aggregation method via the keyword argument agg_methods, which will be demonstrated in the next cell.
Note: The interpolation method can also be specified when upsampling via the keyword argument
interp_methods. Both keywords can be also a mapping from varaible name or data type to resampling method. More details are available in the Analysis Mode documentation.
ds_agg_max = xr.open_dataset(
item.assets["product"].href,
engine="eopf-zarr",
chunks={},
resolution=60,
agg_methods="max"
)
ds_agg_mean = xr.open_dataset(
item.assets["product"].href,
engine="eopf-zarr",
chunks={},
resolution=60
)
fig, ax = plt.subplots(1, 3, figsize=(18, 5))
ds_agg_max.b04[1500:, 1500:].plot(ax=ax[0], vmin=0.0, vmax=0.4)
ax[0].set_title("Aggregation method 'max'")
ds_agg_mean.b04[1500:, 1500:].plot(ax=ax[1], vmin=0.0, vmax=0.4)
ax[1].set_title("Aggregation method 'mean'")
(ds_agg_max.b04 - ds_agg_mean.b04)[1500:, 1500:].plot(
ax=ax[2], vmin=-0.1, vmax=0.1, cmap="bwr"
)
ax[2].set_title("Difference")
plt.tight_layout()
Support for Common Band Names¶
Support has been added for common band names from the STAC EO extension in Sentinel-2 analysis mode.
The variables parameter now accepts standard spectral names such as blue, green, red, nir, and others.
The next cell demonstrates an example where we filter spectral bands using these common names.
ds = xr.open_dataset(
item.assets["product"].href,
engine="eopf-zarr",
chunks={},
resolution=60,
variables=["red", "green", "blue", "nir"]
)
ds
<xarray.Dataset> Size: 107MB
Dimensions: (y: 1830, x: 1830)
Coordinates:
spatial_ref int64 8B ...
* x (x) float64 15kB 3e+05 3.001e+05 ... 4.097e+05 4.098e+05
* y (y) float64 15kB 5e+06 5e+06 5e+06 ... 4.89e+06 4.89e+06
Data variables:
blue (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
green (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
red (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
nir (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
Attributes: (24)- y: 1830
- x: 1830
- spatial_ref()int64...
- crs_wkt :
- PROJCRS["WGS 84 / UTM zone 32N",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["UTM zone 32N",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",9,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Navigation and medium accuracy spatial referencing."],AREA["Between 6°E and 12°E, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Austria. Cameroon. Denmark. Equatorial Guinea. France. Gabon. Germany. Italy. Libya. Liechtenstein. Monaco. Netherlands. Niger. Nigeria. Norway. Sao Tome and Principe. Svalbard. Sweden. Switzerland. Tunisia. Vatican City State."],BBOX[0,6,84,12]],ID["EPSG",32632]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984 ensemble
- projected_crs_name :
- WGS 84 / UTM zone 32N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- 9.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
[1 values with dtype=int64]
- x(x)float643e+05 3.001e+05 ... 4.098e+05
array([300030., 300090., 300150., ..., 409650., 409710., 409770.], shape=(1830,)) - y(y)float645e+06 5e+06 ... 4.89e+06 4.89e+06
array([5000010., 4999950., 4999890., ..., 4890390., 4890330., 4890270.], shape=(1830,))
- blue(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 02 490 nm', 'scale_factor': 0.0001, 'short_name': 'b02_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 02 490 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - green(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 03 560 nm', 'scale_factor': 0.0001, 'short_name': 'b03_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 03 560 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - red(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 04 665 nm', 'scale_factor': 0.0001, 'short_name': 'b04_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 04 665 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - nir(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'TOA reflectance from MSI acquisition at spectral band 08 842 nm', 'scale_factor': 0.0001, 'short_name': 'b08_10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- TOA reflectance from MSI acquisition at spectral band 08 842 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray
- xPandasIndex
PandasIndex(Index([300030.0, 300090.0, 300150.0, 300210.0, 300270.0, 300330.0, 300390.0, 300450.0, 300510.0, 300570.0, ... 409230.0, 409290.0, 409350.0, 409410.0, 409470.0, 409530.0, 409590.0, 409650.0, 409710.0, 409770.0], dtype='float64', name='x', length=1830)) - yPandasIndex
PandasIndex(Index([5000010.0, 4999950.0, 4999890.0, 4999830.0, 4999770.0, 4999710.0, 4999650.0, 4999590.0, 4999530.0, 4999470.0, ... 4890810.0, 4890750.0, 4890690.0, 4890630.0, 4890570.0, 4890510.0, 4890450.0, 4890390.0, 4890330.0, 4890270.0], dtype='float64', name='y', length=1830))
- L0_ancillary_data_quality :
- null
- L0_ephemeris_data_quality :
- null
- NUC_table_ID :
- 3
- SWIR_rearrangement_flag :
- null
- UTM_zone_identification :
- UTM zone 32N
- absolute_location_assessment_from_AOCS :
- null
- band_description :
- {'01': {'bandwidth': '20.0', 'central_wavelength': 442.7, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 7.4473767, 'physical_gain': 4.0887333, 'spectral_response_step': 1, 'spectral_response_values': '0.001775742 0.004073061 0.003626143 0.003515199 0.005729163 0.003780292 0.002636732 0.001262113 0.001987583 0.001368913 0.001250444 0.000463454 0.000814293 0.001376431 0.001485086 0.001823735 0.001626817 0.004392062 0.029008099 0.11874593 0.32387506 0.57281921 0.71472749 0.76196778 0.78929702 0.80862387 0.81089382 0.82419876 0.85415811 0.87079088 0.88731097 0.92619924 0.98228149 1 0.9752382 0.93596338 0.88997148 0.85021048 0.82569453 0.78390239 0.61417422 0.33007109 0.12410831 0.04365694 0.014749595', 'units': 'nm', 'wavelength_max': 456.0, 'wavelength_min': 412.0}, '02': {'bandwidth': '65.0', 'central_wavelength': 492.7, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.2821506, 'physical_gain': 3.74715511, 'spectral_response_step': 1, 'spectral_response_values': '0.04255531 0.0722983 0.15374322 0.32799225 0.55336788 0.71011166 0.75285179 0.75232691 0.75668081 0.76326948 0.76239425 0.7852515 0.81546669 0.86179176 0.89282599 0.9195221 0.91900649 0.91315754 0.90035366 0.88989693 0.8823246 0.87606118 0.88429987 0.90695544 0.93232085 0.93947252 0.94383543 0.92204086 0.8860231 0.84743609 0.81251687 0.7823971 0.7731087 0.77209054 0.78742652 0.81217177 0.84605052 0.88767996 0.92793997 0.95069235 0.96573311 0.96938253 0.96570294 0.95832003 0.95405064 0.95178268 0.95699722 0.96556515 0.9770514 0.97709574 0.97436606 0.95903183 0.93506318 0.90190134 0.87165792 0.84402444 0.82280852 0.81536043 0.82057639 0.8395149 0.86992171 0.91526205 0.96067028 0.99163699 1 0.98356097 0.91130763 0.74018256 0.50395858 0.3050155 0.18004605 0.10738342 0.06593592 0.04207746 0.02662129 0.0143396 0.00265779 0.00081822', 'units': 'nm', 'wavelength_max': 533.0, 'wavelength_min': 456.0}, '03': {'bandwidth': '35.0', 'central_wavelength': 559.8, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.3230393, 'physical_gain': 4.18026291, 'spectral_response_step': 1, 'spectral_response_values': '0.01448181 0.03422251 0.07346335 0.15444843 0.31661425 0.55322279 0.74859406 0.84890306 0.89772216 0.9215368 0.92572845 0.91122688 0.88818924 0.86523756 0.84718187 0.8387572 0.84459081 0.86219653 0.88838714 0.92443236 0.96017974 0.98685516 1 0.9986008 0.98076472 0.94522089 0.8981778 0.85580323 0.81841734 0.78862048 0.76460653 0.74963745 0.75055111 0.76137888 0.78244479 0.79890086 0.81016957 0.81408886 0.77358596 0.62881065 0.40397555 0.21542098 0.10715281 0.04792877 0.01848693 0.00108588', 'units': 'nm', 'wavelength_max': 583.0, 'wavelength_min': 538.0}, '04': {'bandwidth': '30.0', 'central_wavelength': 664.6, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.3872929, 'physical_gain': 4.51634367, 'spectral_response_step': 1, 'spectral_response_values': '0.00141521 0.02590238 0.11651178 0.39088616 0.74959342 0.94485805 0.98011173 0.99406309 1 0.99545475 0.99052772 0.97733476 0.94055988 0.87894956 0.81629384 0.77345952 0.75448766 0.75991531 0.7826343 0.8101689 0.83612975 0.86125424 0.88609106 0.91138767 0.93405146 0.95042063 0.9592573 0.96039555 0.95913395 0.95809013 0.95527459 0.94376465 0.89490799 0.74426308 0.476777 0.22960399 0.08009118 0.02617076 0.00415242', 'units': 'nm', 'wavelength_max': 684.0, 'wavelength_min': 646.0}, '05': {'bandwidth': '15.0', 'central_wavelength': 704.1, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.844058, 'physical_gain': 5.20124492, 'spectral_response_step': 1, 'spectral_response_values': '0.02835786 0.12369337 0.39378774 0.76113071 0.97108502 0.99889523 1 0.99412258 0.98321789 0.96704093 0.94847389 0.92714833 0.90372458 0.88614713 0.86723745 0.79075319 0.58840332 0.26334833 0.05675422 0.00618833', 'units': 'nm', 'wavelength_max': 714.0, 'wavelength_min': 695.0}, '06': {'bandwidth': '13.0', 'central_wavelength': 740.5, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.7251472, 'physical_gain': 4.87027032, 'spectral_response_step': 1, 'spectral_response_values': '0.00171088 0.05467153 0.25806676 0.64722098 0.89218999 0.90232877 0.91508768 0.94115846 0.96299993 0.97510481 0.9770217 0.98736251 1 0.98880277 0.97179916 0.90126739 0.60672391 0.20520227 0.0267569', 'units': 'nm', 'wavelength_max': 749.0, 'wavelength_min': 731.0}, '07': {'bandwidth': '19.0', 'central_wavelength': 782.8, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.7489293, 'physical_gain': 4.53413059, 'spectral_response_step': 1, 'spectral_response_values': '0.00045899 0.0117201 0.05219715 0.16561733 0.36903355 0.63685453 0.86119638 0.97002897 0.99119602 0.99897921 1 0.97725155 0.92572385 0.86605804 0.81969611 0.79407674 0.79111029 0.80431552 0.81902721 0.82571292 0.82011829 0.79222195 0.72054559 0.58767794 0.41430355 0.23088817 0.09850282 0.02736551 0.00516235', 'units': 'nm', 'wavelength_max': 797.0, 'wavelength_min': 769.0}, '08': {'bandwidth': '105.0', 'central_wavelength': 832.8, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.2704681, 'physical_gain': 6.16307432, 'spectral_response_step': 1, 'spectral_response_values': '0.00067259 0.00388856 0 0 0 0 0 0 0 0 0 0 0 0.00028956 0.00702964 0.01752391 0.03231111 0.05328661 0.08299885 0.12748502 0.19591065 0.30246323 0.43553954 0.57141637 0.69766701 0.80303852 0.89115744 0.95284584 0.98894161 1 0.98840653 0.96389216 0.94207967 0.93694643 0.94227343 0.95395718 0.96828896 0.97966549 0.9854444 0.98592681 0.98391181 0.97793903 0.97722771 0.97810609 0.98144486 0.98764558 0.98857708 0.9862422 0.98070921 0.97078624 0.95721089 0.93865821 0.91672388 0.89620759 0.872888 0.85160331 0.8246394 0.80078117 0.7823386 0.76360274 0.74962771 0.7387221 0.73079407 0.72271237 0.72507708 0.72563856 0.72304217 0.72229211 0.71616364 0.71159446 0.70826954 0.70157205 0.69924532 0.70093762 0.70692733 0.71824001 0.73124634 0.7484061 0.76818541 0.78394807 0.7968381 0.80260206 0.8045194 0.80240918 0.79699072 0.78920304 0.77691621 0.76518406 0.75119717 0.73700357 0.72262399 0.70412578 0.68410805 0.66474528 0.64736891 0.63005125 0.61564222 0.60249557 0.58988992 0.57993399 0.57136506 0.56094242 0.55235105 0.54568236 0.53958052 0.53510215 0.53093675 0.53016508 0.52984662 0.53036682 0.53211463 0.53271918 0.53246806 0.53331158 0.5319278 0.53051055 0.52951499 0.52996848 0.53253373 0.53705085 0.54235344 0.54912497 0.55523055 0.56011135 0.55767999 0.54821984 0.53144613 0.50763528 0.47811224 0.45092793 0.42798466 0.41051405 0.40039139 0.40087302 0.40829375 0.42086556 0.43007022 0.42456692 0.39136817 0.33009008 0.25720509 0.18189031 0.11650668 0.07031579 0.04275381 0.02593154 0.01574394 0.00394326', 'units': 'nm', 'wavelength_max': 907.0, 'wavelength_min': 760.0}, '09': {'bandwidth': '20.0', 'central_wavelength': 945.1, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 7.593408, 'physical_gain': 8.53843412, 'spectral_response_step': 1, 'spectral_response_values': '0.01662953 0.06111857 0.17407094 0.38946454 0.6645915 0.87454114 0.93695988 0.96751014 0.9893391 0.9951269 1 0.97845762 0.98069118 0.9922335 0.98798379 0.99428313 0.98348041 0.97820013 0.95023367 0.95299604 0.92240308 0.85573828 0.70970227 0.46429542 0.21538427 0.06534121 0.01625596', 'units': 'nm', 'wavelength_max': 958.0, 'wavelength_min': 932.0}, '10': {'bandwidth': '30.0', 'central_wavelength': 1373.5, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 5.6989655, 'physical_gain': 54.96215494, 'spectral_response_step': 1, 'spectral_response_values': '0.00024052 5.404e-05 3.052e-05 2.872e-05 7.632e-05 0.00010949 8.804e-05 0.00012356 0.00017424 0.0003317 0.00036891 0.0004467 0.00065919 0.0010913 0.00196903 0.00373668 0.00801754 0.01884719 0.04466732 0.10165546 0.20111776 0.34284841 0.50710992 0.6632068 0.78377143 0.86153862 0.91000261 0.94193255 0.96182259 0.97365119 0.98169786 0.98795826 0.99283342 0.99649788 0.99906011 1 0.99907734 0.99601604 0.9909083 0.98479854 0.97802142 0.97030114 0.96080954 0.94849765 0.93314108 0.91482336 0.8937997 0.86825426 0.83023193 0.76384193 0.65440009 0.50671604 0.35014737 0.21799972 0.12643091 0.06768988 0.0322709 0.013544 0.00544557 0.00237642 0.00111267 0.00053796 0.0003457 0.00017488 0.00021619 0.00019479 0.00010421 5.919e-05 5.109e-05 6.115e-05 5.527e-05 3.856e-05 3.147e-05 0.00012289 0.0001089 2.502e-05', 'units': 'nm', 'wavelength_max': 1412.0, 'wavelength_min': 1337.0}, '11': {'bandwidth': '90.0', 'central_wavelength': 1613.7, 'onboard_compression_rate': 2.4, 'onboard_integration_time': 1.4035684, 'physical_gain': 35.19950849, 'spectral_response_step': 1, 'spectral_response_values': '6.79e-06 6.66e-06 8e-06 2.734e-05 3.685e-05 8.851e-05 0.00014522 0.00024812 0.00047627 0.00056335 0.00065326 0.00089835 0.00114664 0.00165604 0.00241611 0.00350246 0.00524274 0.0081538 0.01237062 0.0186097 0.02721853 0.03879155 0.05379167 0.07353187 0.09932758 0.1334178 0.18029249 0.24484994 0.32834511 0.42749961 0.53576798 0.64570396 0.74245998 0.81447017 0.85866596 0.87924777 0.88665266 0.888727 0.89105732 0.89725046 0.90632982 0.91627527 0.9263751 0.93515828 0.94226446 0.94739906 0.95131987 0.95416808 0.95635128 0.95813297 0.96062738 0.96344083 0.96577764 0.96818134 0.97104025 0.97343195 0.97597444 0.97865413 0.97994672 0.98064126 0.98094979 0.98143338 0.98123856 0.98068083 0.98033995 0.98101894 0.98268503 0.98507875 0.98777658 0.9903608 0.99202087 0.9933069 0.99256744 0.99044883 0.98717314 0.98353656 0.9800432 0.97617287 0.97253451 0.96977033 0.96762556 0.9662626 0.96572411 0.96592079 0.96729798 0.96975438 0.97337748 0.97862858 0.98345358 0.98765317 0.9919238 0.99554959 0.99767411 0.99866451 0.99941783 0.99930984 0.99885298 0.99913515 0.99973164 0.99973592 1 0.9998438 0.9967639 0.99175576 0.9859206 0.97887302 0.97029262 0.96135891 0.95379752 0.94709017 0.94228614 0.93919512 0.93616637 0.92889205 0.9129921 0.88158383 0.82602164 0.74412949 0.64281662 0.53483955 0.42772166 0.32439525 0.23488131 0.16445229 0.11056237 0.07271886 0.04634859 0.02949618 0.01941871 0.0133487 0.00934594 0.00654231 0.00487921 0.00341903 0.00249864 0.00196431 0.00142754 0.00105878 0.00049978 0.00022833 0.00015999 3.415e-05 4.517e-05 1.313e-05', 'units': 'nm', 'wavelength_max': 1682.0, 'wavelength_min': 1539.0}, '12': {'bandwidth': '180.0', 'central_wavelength': 2202.4, 'onboard_compression_rate': 2.4, 'onboard_integration_time': 1.5003662, 'physical_gain': 105.95356105, 'spectral_response_step': 1, 'spectral_response_values': '0.00063835 0.00102286 0.00288712 0.00399879 0.00658916 0.00765458 0.00799918 0.00853524 0.00929493 0.00999614 0.01096645 0.01208363 0.01335837 0.01501119 0.01711931 0.01977307 0.02332743 0.02765779 0.03320435 0.04020464 0.04886709 0.0596238 0.07315348 0.09050885 0.11143964 0.13686671 0.16776886 0.20341457 0.24281992 0.28484195 0.32711894 0.36834301 0.40794043 0.4447145 0.47647207 0.50303896 0.52524762 0.54328057 0.55717994 0.5685619 0.57895708 0.58860881 0.59881758 0.60990899 0.62128986 0.63421311 0.64847648 0.66363778 0.67997936 0.69609688 0.71189957 0.7269499 0.74124079 0.75734734 0.77201504 0.78552587 0.79818641 0.80962939 0.81965718 0.82855741 0.83668178 0.84440292 0.85106862 0.85321701 0.85471321 0.8561428 0.85778963 0.8594989 0.86142876 0.86322831 0.86511218 0.8672932 0.86967076 0.87427502 0.87856212 0.88241466 0.88590611 0.8894516 0.89320419 0.8966738 0.89987484 0.90257636 0.90481219 0.90550545 0.90564491 0.90548208 0.90513822 0.90476379 0.90406427 0.90332978 0.90274309 0.90235795 0.90196488 0.90340528 0.90429478 0.90529761 0.90642862 0.90807348 0.91010493 0.91293181 0.91556686 0.91842631 0.92128288 0.92431702 0.92719913 0.92972159 0.93190455 0.93412538 0.93588954 0.93707083 0.93762594 0.93828534 0.93763643 0.94042634 0.94250397 0.94324531 0.94301861 0.94210283 0.94061808 0.93841726 0.93665003 0.93524569 0.93301102 0.92686708 0.92104485 0.91547175 0.91100989 0.90828339 0.9072733 0.90817907 0.91115631 0.91617845 0.92284525 0.92059829 0.91947472 0.91947973 0.92126575 0.92451632 0.92772589 0.93196884 0.93676408 0.94147739 0.94679545 0.95119533 0.95443018 0.95704142 0.95972628 0.9625372 0.96485326 0.96603599 0.96664138 0.96630455 0.96545713 0.96484036 0.96365512 0.96169531 0.95944859 0.95732078 0.95513625 0.95355574 0.95273072 0.95217795 0.95172542 0.9521403 0.95263595 0.95405248 0.95707559 0.96063594 0.96421772 0.96830187 0.97268597 0.97741944 0.98289489 0.9871429 0.99073348 0.99398244 0.99678431 0.99875181 1 0.9999284 0.9991523 0.99712951 0.99388228 0.98968273 0.98373274 0.97621057 0.96780985 0.95833495 0.94842856 0.93818752 0.9277078 0.91702104 0.90597951 0.89384371 0.88165575 0.86861704 0.85460324 0.84058628 0.82598123 0.80948042 0.79182917 0.7724052 0.74907137 0.72031195 0.68815487 0.65125598 0.6100244 0.56600904 0.52095058 0.47464344 0.42924778 0.38584718 0.34208462 0.30067509 0.26317221 0.22770037 0.19571781 0.16808736 0.14467686 0.12482737 0.10823403 0.09439655 0.08235799 0.07149445 0.0626855 0.05498009 0.04818852 0.04285814 0.03859244 0.03494044 0.03199172 0.02958044 0.02741084 0.02556884 0.02395058 0.02166741 0.0191457 0.01632139 0.0109837 0.00736032 0.00649061 0.00469736 0.00205874', 'units': 'nm', 'wavelength_max': 2320.0, 'wavelength_min': 2078.0}, '8A': {'bandwidth': '20.0', 'central_wavelength': 864.7, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.5586717, 'physical_gain': 5.13740108, 'spectral_response_step': 1, 'spectral_response_values': '0.00030097 0 0 0 0 0 0 0 0 0 0.00157217 0.00249886 0.01332037 0.02614866 0.05260479 0.10779709 0.22160755 0.39721628 0.60986885 0.81658883 0.9322445 0.97210033 0.97545482 0.97538048 0.97328205 0.97607828 0.98034955 0.98690928 0.99087465 0.99741818 0.99984673 0.99939141 0.99587928 0.99541228 1 0.99640762 0.92359433 0.74137684 0.48965971 0.25020643 0.11221246 0.04755984 0.02297815 0.01061438 0.00108149', 'units': 'nm', 'wavelength_max': 881.0, 'wavelength_min': 837.0}}
- electronic_crosstalk_correction_flag :
- null
- eopf_category :
- eoproduct
- geometric_refinement :
- {'mean_value_of_residual_displacements_at_all_tie_points_after_refinement_m': {'x_mean': 'null', 'y_mean': 'null'}, 'spacecraft_rotation': {'X': {'coefficients': 'null', 'degree': 'null'}, 'Y': {'coefficients': 'null', 'degree': 'null'}, 'Z': {'coefficients': 'null', 'degree': 'null'}}, 'standard_deviation_of_residual_displacements_at_all_tie_points_after_refinement_m': {'x_stdv': 'null', 'y_stdv': 'null'}}
- horizontal_CRS_code :
- EPSG:32632
- horizontal_CRS_name :
- WGS84 / UTM zone 32N
- mean_sun_azimuth_angle_in_deg_for_all_bands_all_detectors :
- 156.346195853372
- mean_sun_zenith_angle_in_deg_for_all_bands_all_detectors :
- 50.1170463180154
- meteo :
- {'source': 'ECMWF', 'type': 'FORECAST'}
- multispectral_registration_assessment :
- null
- onboard_compression_flag :
- true
- onboard_equalization_flag :
- null
- optical_crosstalk_correction_flag :
- null
- percentage_of_degraded_MSI_data :
- 0.0
- planimetric_stability_assessment_from_AOCS :
- null
- product_quality_status :
- ['PASSED', 'PASSED', 'PASSED', 'PASSED', 'PASSED']
- reflectance_correction_factor_from_the_Sun_Earth_distance_variation_computed_using_the_acquisition_date :
- 1.01479136898228
- spectral_band_of_reference :
- 3
ds.red.plot(vmin=0., vmax=1.)
<matplotlib.collections.QuadMesh at 0x7b0f5e8d1810>
Open Sentinel-2 Level-2A product¶
Find a Sentinel-2 Level-2A Zarr Sample via STAC¶
To obtain a product URL, you can use the STAC Browser to search for available Sentinel-2 Level-2A tiles.
catalog = pystac_client.Client.open("https://stac.core.eopf.eodc.eu")
items = list(
catalog.search(
collections=["sentinel-2-l2a"],
bbox=[7.2, 44.5, 7.4, 44.7],
datetime=["2026-03-13", "2026-03-13"],
).items()
)
items
[<Item id=S2A_MSIL2A_20260313T101741_N0512_R065_T32TLQ_20260313T171916>]
item = items[0]
ds = xr.open_dataset(
item.assets["product"].href,
engine="eopf-zarr",
chunks={},
resolution=60,
)
ds
<xarray.Dataset> Size: 352MB
Dimensions: (y: 1830, x: 1830)
Coordinates:
spatial_ref int64 8B ...
* x (x) float32 7kB 3e+05 3.001e+05 ... 4.097e+05 4.098e+05
* y (y) float32 7kB 5e+06 5e+06 5e+06 ... 4.89e+06 4.89e+06
Data variables: (12/15)
b08 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
cld (y, x) float32 13MB dask.array<chunksize=(305, 305), meta=np.ndarray>
snw (y, x) float32 13MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b01 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b02 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b03 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
... ...
b07 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b09 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b11 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b12 (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
b8a (y, x) float64 27MB dask.array<chunksize=(305, 305), meta=np.ndarray>
scl (y, x) uint8 3MB dask.array<chunksize=(305, 305), meta=np.ndarray>
Attributes: (24)- y: 1830
- x: 1830
- spatial_ref()int64...
- crs_wkt :
- PROJCRS["WGS 84 / UTM zone 32N",BASEGEOGCRS["WGS 84",ENSEMBLE["World Geodetic System 1984 ensemble",MEMBER["World Geodetic System 1984 (Transit)"],MEMBER["World Geodetic System 1984 (G730)"],MEMBER["World Geodetic System 1984 (G873)"],MEMBER["World Geodetic System 1984 (G1150)"],MEMBER["World Geodetic System 1984 (G1674)"],MEMBER["World Geodetic System 1984 (G1762)"],MEMBER["World Geodetic System 1984 (G2139)"],MEMBER["World Geodetic System 1984 (G2296)"],ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["UTM zone 32N",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",9,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Navigation and medium accuracy spatial referencing."],AREA["Between 6°E and 12°E, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Austria. Cameroon. Denmark. Equatorial Guinea. France. Gabon. Germany. Italy. Libya. Liechtenstein. Monaco. Netherlands. Niger. Nigeria. Norway. Sao Tome and Principe. Svalbard. Sweden. Switzerland. Tunisia. Vatican City State."],BBOX[0,6,84,12]],ID["EPSG",32632]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984 ensemble
- projected_crs_name :
- WGS 84 / UTM zone 32N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- 9.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
[1 values with dtype=int64]
- x(x)float323e+05 3.001e+05 ... 4.098e+05
- dimensions :
- ['x']
- dtype :
- <f4
- long_name :
- x coordinates of the image at 60m in meters from up-left pixel
- units :
- m
array([300030., 300090., 300150., ..., 409650., 409710., 409770.], shape=(1830,), dtype=float32) - y(y)float325e+06 5e+06 ... 4.89e+06 4.89e+06
- dimensions :
- ['y']
- dtype :
- <f4
- long_name :
- y coordinates of the image at 60m in meters from up-left pixel
- units :
- m
array([5000010., 4999950., 4999890., ..., 4890390., 4890330., 4890270.], shape=(1830,), dtype=float32)
- b08(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 08 842 nm', 'scale_factor': 0.0001, 'short_name': 'b08_r10m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 08 842 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - cld(y, x)float32dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<f4', 'eopf_is_masked': True, 'fill_value': 101, 'long_name': 'cloud probability mask at 20m', 'short_name': 'cld', 'units': 'percentage', 'valid_max': 100, 'valid_min': 0}
- dtype :
- <f4
- long_name :
- Cloud probability, based on Sen2Cor processor
- units :
- percentage
- grid_mapping :
- spatial_ref
Array Chunk Bytes 12.78 MiB 363.38 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float32 numpy.ndarray - snw(y, x)float32dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<f4', 'eopf_is_masked': True, 'fill_value': 101, 'long_name': 'snow probability mask at 20m', 'short_name': 'snw', 'units': 'percentage', 'valid_max': 100, 'valid_min': 0}
- dtype :
- <f4
- long_name :
- Snow probability, based on Sen2Cor processor
- units :
- percentage
- grid_mapping :
- spatial_ref
Array Chunk Bytes 12.78 MiB 363.38 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float32 numpy.ndarray - b01(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 01 443 nm', 'scale_factor': 0.0001, 'short_name': 'b01_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 01 443 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b02(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 02 490 nm', 'scale_factor': 0.0001, 'short_name': 'b02_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 02 490 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b03(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 03 560 nm', 'scale_factor': 0.0001, 'short_name': 'b03_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 03 560 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b04(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 04 665 nm', 'scale_factor': 0.0001, 'short_name': 'b04_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 04 665 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b05(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 05 705 nm', 'scale_factor': 0.0001, 'short_name': 'b05_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 05 705 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b06(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 06 740 nm', 'scale_factor': 0.0001, 'short_name': 'b06_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 06 740 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b07(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 07 783 nm', 'scale_factor': 0.0001, 'short_name': 'b07_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 07 783 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b09(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 09 940 nm', 'scale_factor': 0.0001, 'short_name': 'b09_r60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 09 940 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b11(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 11 1610 nm', 'scale_factor': 0.0001, 'short_name': 'b11_60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 11 1610 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b12(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 12 2190 nm', 'scale_factor': 0.0001, 'short_name': 'b12_r60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 12 2190 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - b8a(y, x)float64dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': -0.1, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u2', 'eopf_is_masked': True, 'eopf_target_dtype': '<f8', 'fill_value': 0, 'long_name': 'BOA reflectance from MSI acquisition at spectral band 8A 842 nm', 'scale_factor': 0.0001, 'short_name': 'b8a_r60m', 'units': 'digital_counts', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u2
- long_name :
- BOA reflectance from MSI acquisition at spectral band 8A 842 nm
- units :
- digital_counts
- grid_mapping :
- spatial_ref
Array Chunk Bytes 25.55 MiB 726.76 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type float64 numpy.ndarray - scl(y, x)uint8dask.array<chunksize=(305, 305), meta=np.ndarray>
- _eopf_attrs :
- {'add_offset': 0, 'coordinates': ['y', 'x'], 'dimensions': ['y', 'x'], 'dtype': '<u1', 'eopf_is_masked': True, 'eopf_target_dtype': '<i8', 'fill_value': 0, 'long_name': 'scene classification map', 'scale_factor': 1, 'short_name': 'scl_r60m', 'valid_max': 65535, 'valid_min': 1}
- dtype :
- <u1
- long_name :
- Scene classification data, based on Sen2Cor processor
- grid_mapping :
- spatial_ref
- flag_values :
- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
- flag_meanings :
- no_data sat_or_defect_pixel topo_casted_shadows cloud_shadows vegetation not_vegetation water unclassified cloud_medium_prob cloud_high_prob thin_cirrus snow_or_ice
- flag_colors :
- #000000 #ff0000 #2f2f2f #643200 #00a000 #ffe65a #0000ff #808080 #c0c0c0 #ffffff #64c8ff #ff96ff
Array Chunk Bytes 3.19 MiB 90.84 kiB Shape (1830, 1830) (305, 305) Dask graph 36 chunks in 2 graph layers Data type uint8 numpy.ndarray
- xPandasIndex
PandasIndex(Index([300030.0, 300090.0, 300150.0, 300210.0, 300270.0, 300330.0, 300390.0, 300450.0, 300510.0, 300570.0, ... 409230.0, 409290.0, 409350.0, 409410.0, 409470.0, 409530.0, 409590.0, 409650.0, 409710.0, 409770.0], dtype='float32', name='x', length=1830)) - yPandasIndex
PandasIndex(Index([5000010.0, 4999950.0, 4999890.0, 4999830.0, 4999770.0, 4999710.0, 4999650.0, 4999590.0, 4999530.0, 4999470.0, ... 4890810.0, 4890750.0, 4890690.0, 4890630.0, 4890570.0, 4890510.0, 4890450.0, 4890390.0, 4890330.0, 4890270.0], dtype='float32', name='y', length=1830))
- AOT_retrieval_model :
- SEN2COR_DDV
- NUC_table_ID :
- 3
- SWIR_rearrangement_flag :
- null
- UTM_zone_identification :
- UTM zone 32N
- band_description :
- {'01': {'bandwidth': '20.0', 'central_wavelength': 442.7, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 7.4473767, 'physical_gain': 4.0887333, 'spectral_response_step': 1, 'spectral_response_values': '0.001775742 0.004073061 0.003626143 0.003515199 0.005729163 0.003780292 0.002636732 0.001262113 0.001987583 0.001368913 0.001250444 0.000463454 0.000814293 0.001376431 0.001485086 0.001823735 0.001626817 0.004392062 0.029008099 0.11874593 0.32387506 0.57281921 0.71472749 0.76196778 0.78929702 0.80862387 0.81089382 0.82419876 0.85415811 0.87079088 0.88731097 0.92619924 0.98228149 1 0.9752382 0.93596338 0.88997148 0.85021048 0.82569453 0.78390239 0.61417422 0.33007109 0.12410831 0.04365694 0.014749595', 'units': 'nm', 'wavelength_max': 456.0, 'wavelength_min': 412.0}, '02': {'bandwidth': '65.0', 'central_wavelength': 492.7, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.2821506, 'physical_gain': 3.74715511, 'spectral_response_step': 1, 'spectral_response_values': '0.04255531 0.0722983 0.15374322 0.32799225 0.55336788 0.71011166 0.75285179 0.75232691 0.75668081 0.76326948 0.76239425 0.7852515 0.81546669 0.86179176 0.89282599 0.9195221 0.91900649 0.91315754 0.90035366 0.88989693 0.8823246 0.87606118 0.88429987 0.90695544 0.93232085 0.93947252 0.94383543 0.92204086 0.8860231 0.84743609 0.81251687 0.7823971 0.7731087 0.77209054 0.78742652 0.81217177 0.84605052 0.88767996 0.92793997 0.95069235 0.96573311 0.96938253 0.96570294 0.95832003 0.95405064 0.95178268 0.95699722 0.96556515 0.9770514 0.97709574 0.97436606 0.95903183 0.93506318 0.90190134 0.87165792 0.84402444 0.82280852 0.81536043 0.82057639 0.8395149 0.86992171 0.91526205 0.96067028 0.99163699 1 0.98356097 0.91130763 0.74018256 0.50395858 0.3050155 0.18004605 0.10738342 0.06593592 0.04207746 0.02662129 0.0143396 0.00265779 0.00081822', 'units': 'nm', 'wavelength_max': 533.0, 'wavelength_min': 456.0}, '03': {'bandwidth': '35.0', 'central_wavelength': 559.8, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.3230393, 'physical_gain': 4.18026291, 'spectral_response_step': 1, 'spectral_response_values': '0.01448181 0.03422251 0.07346335 0.15444843 0.31661425 0.55322279 0.74859406 0.84890306 0.89772216 0.9215368 0.92572845 0.91122688 0.88818924 0.86523756 0.84718187 0.8387572 0.84459081 0.86219653 0.88838714 0.92443236 0.96017974 0.98685516 1 0.9986008 0.98076472 0.94522089 0.8981778 0.85580323 0.81841734 0.78862048 0.76460653 0.74963745 0.75055111 0.76137888 0.78244479 0.79890086 0.81016957 0.81408886 0.77358596 0.62881065 0.40397555 0.21542098 0.10715281 0.04792877 0.01848693 0.00108588', 'units': 'nm', 'wavelength_max': 583.0, 'wavelength_min': 538.0}, '04': {'bandwidth': '30.0', 'central_wavelength': 664.6, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.3872929, 'physical_gain': 4.51634367, 'spectral_response_step': 1, 'spectral_response_values': '0.00141521 0.02590238 0.11651178 0.39088616 0.74959342 0.94485805 0.98011173 0.99406309 1 0.99545475 0.99052772 0.97733476 0.94055988 0.87894956 0.81629384 0.77345952 0.75448766 0.75991531 0.7826343 0.8101689 0.83612975 0.86125424 0.88609106 0.91138767 0.93405146 0.95042063 0.9592573 0.96039555 0.95913395 0.95809013 0.95527459 0.94376465 0.89490799 0.74426308 0.476777 0.22960399 0.08009118 0.02617076 0.00415242', 'units': 'nm', 'wavelength_max': 684.0, 'wavelength_min': 646.0}, '05': {'bandwidth': '15.0', 'central_wavelength': 704.1, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.844058, 'physical_gain': 5.20124492, 'spectral_response_step': 1, 'spectral_response_values': '0.02835786 0.12369337 0.39378774 0.76113071 0.97108502 0.99889523 1 0.99412258 0.98321789 0.96704093 0.94847389 0.92714833 0.90372458 0.88614713 0.86723745 0.79075319 0.58840332 0.26334833 0.05675422 0.00618833', 'units': 'nm', 'wavelength_max': 714.0, 'wavelength_min': 695.0}, '06': {'bandwidth': '13.0', 'central_wavelength': 740.5, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.7251472, 'physical_gain': 4.87027032, 'spectral_response_step': 1, 'spectral_response_values': '0.00171088 0.05467153 0.25806676 0.64722098 0.89218999 0.90232877 0.91508768 0.94115846 0.96299993 0.97510481 0.9770217 0.98736251 1 0.98880277 0.97179916 0.90126739 0.60672391 0.20520227 0.0267569', 'units': 'nm', 'wavelength_max': 749.0, 'wavelength_min': 731.0}, '07': {'bandwidth': '19.0', 'central_wavelength': 782.8, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.7489293, 'physical_gain': 4.53413059, 'spectral_response_step': 1, 'spectral_response_values': '0.00045899 0.0117201 0.05219715 0.16561733 0.36903355 0.63685453 0.86119638 0.97002897 0.99119602 0.99897921 1 0.97725155 0.92572385 0.86605804 0.81969611 0.79407674 0.79111029 0.80431552 0.81902721 0.82571292 0.82011829 0.79222195 0.72054559 0.58767794 0.41430355 0.23088817 0.09850282 0.02736551 0.00516235', 'units': 'nm', 'wavelength_max': 797.0, 'wavelength_min': 769.0}, '08': {'bandwidth': '105.0', 'central_wavelength': 832.8, 'onboard_compression_rate': 2.97, 'onboard_integration_time': 1.2704681, 'physical_gain': 6.16307432, 'spectral_response_step': 1, 'spectral_response_values': '0.00067259 0.00388856 0 0 0 0 0 0 0 0 0 0 0 0.00028956 0.00702964 0.01752391 0.03231111 0.05328661 0.08299885 0.12748502 0.19591065 0.30246323 0.43553954 0.57141637 0.69766701 0.80303852 0.89115744 0.95284584 0.98894161 1 0.98840653 0.96389216 0.94207967 0.93694643 0.94227343 0.95395718 0.96828896 0.97966549 0.9854444 0.98592681 0.98391181 0.97793903 0.97722771 0.97810609 0.98144486 0.98764558 0.98857708 0.9862422 0.98070921 0.97078624 0.95721089 0.93865821 0.91672388 0.89620759 0.872888 0.85160331 0.8246394 0.80078117 0.7823386 0.76360274 0.74962771 0.7387221 0.73079407 0.72271237 0.72507708 0.72563856 0.72304217 0.72229211 0.71616364 0.71159446 0.70826954 0.70157205 0.69924532 0.70093762 0.70692733 0.71824001 0.73124634 0.7484061 0.76818541 0.78394807 0.7968381 0.80260206 0.8045194 0.80240918 0.79699072 0.78920304 0.77691621 0.76518406 0.75119717 0.73700357 0.72262399 0.70412578 0.68410805 0.66474528 0.64736891 0.63005125 0.61564222 0.60249557 0.58988992 0.57993399 0.57136506 0.56094242 0.55235105 0.54568236 0.53958052 0.53510215 0.53093675 0.53016508 0.52984662 0.53036682 0.53211463 0.53271918 0.53246806 0.53331158 0.5319278 0.53051055 0.52951499 0.52996848 0.53253373 0.53705085 0.54235344 0.54912497 0.55523055 0.56011135 0.55767999 0.54821984 0.53144613 0.50763528 0.47811224 0.45092793 0.42798466 0.41051405 0.40039139 0.40087302 0.40829375 0.42086556 0.43007022 0.42456692 0.39136817 0.33009008 0.25720509 0.18189031 0.11650668 0.07031579 0.04275381 0.02593154 0.01574394 0.00394326', 'units': 'nm', 'wavelength_max': 907.0, 'wavelength_min': 760.0}, '09': {'bandwidth': '20.0', 'central_wavelength': 945.1, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 7.593408, 'physical_gain': 8.53843412, 'spectral_response_step': 1, 'spectral_response_values': '0.01662953 0.06111857 0.17407094 0.38946454 0.6645915 0.87454114 0.93695988 0.96751014 0.9893391 0.9951269 1 0.97845762 0.98069118 0.9922335 0.98798379 0.99428313 0.98348041 0.97820013 0.95023367 0.95299604 0.92240308 0.85573828 0.70970227 0.46429542 0.21538427 0.06534121 0.01625596', 'units': 'nm', 'wavelength_max': 958.0, 'wavelength_min': 932.0}, '10': {'bandwidth': '30.0', 'central_wavelength': 1373.5, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 5.6989655, 'physical_gain': 54.96215494, 'spectral_response_step': 1, 'spectral_response_values': '0.00024052 5.404e-05 3.052e-05 2.872e-05 7.632e-05 0.00010949 8.804e-05 0.00012356 0.00017424 0.0003317 0.00036891 0.0004467 0.00065919 0.0010913 0.00196903 0.00373668 0.00801754 0.01884719 0.04466732 0.10165546 0.20111776 0.34284841 0.50710992 0.6632068 0.78377143 0.86153862 0.91000261 0.94193255 0.96182259 0.97365119 0.98169786 0.98795826 0.99283342 0.99649788 0.99906011 1 0.99907734 0.99601604 0.9909083 0.98479854 0.97802142 0.97030114 0.96080954 0.94849765 0.93314108 0.91482336 0.8937997 0.86825426 0.83023193 0.76384193 0.65440009 0.50671604 0.35014737 0.21799972 0.12643091 0.06768988 0.0322709 0.013544 0.00544557 0.00237642 0.00111267 0.00053796 0.0003457 0.00017488 0.00021619 0.00019479 0.00010421 5.919e-05 5.109e-05 6.115e-05 5.527e-05 3.856e-05 3.147e-05 0.00012289 0.0001089 2.502e-05', 'units': 'nm', 'wavelength_max': 1412.0, 'wavelength_min': 1337.0}, '11': {'bandwidth': '90.0', 'central_wavelength': 1613.7, 'onboard_compression_rate': 2.4, 'onboard_integration_time': 1.4035684, 'physical_gain': 35.19950849, 'spectral_response_step': 1, 'spectral_response_values': '6.79e-06 6.66e-06 8e-06 2.734e-05 3.685e-05 8.851e-05 0.00014522 0.00024812 0.00047627 0.00056335 0.00065326 0.00089835 0.00114664 0.00165604 0.00241611 0.00350246 0.00524274 0.0081538 0.01237062 0.0186097 0.02721853 0.03879155 0.05379167 0.07353187 0.09932758 0.1334178 0.18029249 0.24484994 0.32834511 0.42749961 0.53576798 0.64570396 0.74245998 0.81447017 0.85866596 0.87924777 0.88665266 0.888727 0.89105732 0.89725046 0.90632982 0.91627527 0.9263751 0.93515828 0.94226446 0.94739906 0.95131987 0.95416808 0.95635128 0.95813297 0.96062738 0.96344083 0.96577764 0.96818134 0.97104025 0.97343195 0.97597444 0.97865413 0.97994672 0.98064126 0.98094979 0.98143338 0.98123856 0.98068083 0.98033995 0.98101894 0.98268503 0.98507875 0.98777658 0.9903608 0.99202087 0.9933069 0.99256744 0.99044883 0.98717314 0.98353656 0.9800432 0.97617287 0.97253451 0.96977033 0.96762556 0.9662626 0.96572411 0.96592079 0.96729798 0.96975438 0.97337748 0.97862858 0.98345358 0.98765317 0.9919238 0.99554959 0.99767411 0.99866451 0.99941783 0.99930984 0.99885298 0.99913515 0.99973164 0.99973592 1 0.9998438 0.9967639 0.99175576 0.9859206 0.97887302 0.97029262 0.96135891 0.95379752 0.94709017 0.94228614 0.93919512 0.93616637 0.92889205 0.9129921 0.88158383 0.82602164 0.74412949 0.64281662 0.53483955 0.42772166 0.32439525 0.23488131 0.16445229 0.11056237 0.07271886 0.04634859 0.02949618 0.01941871 0.0133487 0.00934594 0.00654231 0.00487921 0.00341903 0.00249864 0.00196431 0.00142754 0.00105878 0.00049978 0.00022833 0.00015999 3.415e-05 4.517e-05 1.313e-05', 'units': 'nm', 'wavelength_max': 1682.0, 'wavelength_min': 1539.0}, '12': {'bandwidth': '180.0', 'central_wavelength': 2202.4, 'onboard_compression_rate': 2.4, 'onboard_integration_time': 1.5003662, 'physical_gain': 105.95356105, 'spectral_response_step': 1, 'spectral_response_values': '0.00063835 0.00102286 0.00288712 0.00399879 0.00658916 0.00765458 0.00799918 0.00853524 0.00929493 0.00999614 0.01096645 0.01208363 0.01335837 0.01501119 0.01711931 0.01977307 0.02332743 0.02765779 0.03320435 0.04020464 0.04886709 0.0596238 0.07315348 0.09050885 0.11143964 0.13686671 0.16776886 0.20341457 0.24281992 0.28484195 0.32711894 0.36834301 0.40794043 0.4447145 0.47647207 0.50303896 0.52524762 0.54328057 0.55717994 0.5685619 0.57895708 0.58860881 0.59881758 0.60990899 0.62128986 0.63421311 0.64847648 0.66363778 0.67997936 0.69609688 0.71189957 0.7269499 0.74124079 0.75734734 0.77201504 0.78552587 0.79818641 0.80962939 0.81965718 0.82855741 0.83668178 0.84440292 0.85106862 0.85321701 0.85471321 0.8561428 0.85778963 0.8594989 0.86142876 0.86322831 0.86511218 0.8672932 0.86967076 0.87427502 0.87856212 0.88241466 0.88590611 0.8894516 0.89320419 0.8966738 0.89987484 0.90257636 0.90481219 0.90550545 0.90564491 0.90548208 0.90513822 0.90476379 0.90406427 0.90332978 0.90274309 0.90235795 0.90196488 0.90340528 0.90429478 0.90529761 0.90642862 0.90807348 0.91010493 0.91293181 0.91556686 0.91842631 0.92128288 0.92431702 0.92719913 0.92972159 0.93190455 0.93412538 0.93588954 0.93707083 0.93762594 0.93828534 0.93763643 0.94042634 0.94250397 0.94324531 0.94301861 0.94210283 0.94061808 0.93841726 0.93665003 0.93524569 0.93301102 0.92686708 0.92104485 0.91547175 0.91100989 0.90828339 0.9072733 0.90817907 0.91115631 0.91617845 0.92284525 0.92059829 0.91947472 0.91947973 0.92126575 0.92451632 0.92772589 0.93196884 0.93676408 0.94147739 0.94679545 0.95119533 0.95443018 0.95704142 0.95972628 0.9625372 0.96485326 0.96603599 0.96664138 0.96630455 0.96545713 0.96484036 0.96365512 0.96169531 0.95944859 0.95732078 0.95513625 0.95355574 0.95273072 0.95217795 0.95172542 0.9521403 0.95263595 0.95405248 0.95707559 0.96063594 0.96421772 0.96830187 0.97268597 0.97741944 0.98289489 0.9871429 0.99073348 0.99398244 0.99678431 0.99875181 1 0.9999284 0.9991523 0.99712951 0.99388228 0.98968273 0.98373274 0.97621057 0.96780985 0.95833495 0.94842856 0.93818752 0.9277078 0.91702104 0.90597951 0.89384371 0.88165575 0.86861704 0.85460324 0.84058628 0.82598123 0.80948042 0.79182917 0.7724052 0.74907137 0.72031195 0.68815487 0.65125598 0.6100244 0.56600904 0.52095058 0.47464344 0.42924778 0.38584718 0.34208462 0.30067509 0.26317221 0.22770037 0.19571781 0.16808736 0.14467686 0.12482737 0.10823403 0.09439655 0.08235799 0.07149445 0.0626855 0.05498009 0.04818852 0.04285814 0.03859244 0.03494044 0.03199172 0.02958044 0.02741084 0.02556884 0.02395058 0.02166741 0.0191457 0.01632139 0.0109837 0.00736032 0.00649061 0.00469736 0.00205874', 'units': 'nm', 'wavelength_max': 2320.0, 'wavelength_min': 2078.0}, '8A': {'bandwidth': '20.0', 'central_wavelength': 864.7, 'onboard_compression_rate': 2.655, 'onboard_integration_time': 2.5586717, 'physical_gain': 5.13740108, 'spectral_response_step': 1, 'spectral_response_values': '0.00030097 0 0 0 0 0 0 0 0 0 0.00157217 0.00249886 0.01332037 0.02614866 0.05260479 0.10779709 0.22160755 0.39721628 0.60986885 0.81658883 0.9322445 0.97210033 0.97545482 0.97538048 0.97328205 0.97607828 0.98034955 0.98690928 0.99087465 0.99741818 0.99984673 0.99939141 0.99587928 0.99541228 1 0.99640762 0.92359433 0.74137684 0.48965971 0.25020643 0.11221246 0.04755984 0.02297815 0.01061438 0.00108149', 'units': 'nm', 'wavelength_max': 881.0, 'wavelength_min': 837.0}}
- declared_accuracy_of_AOT_model :
- 0.0
- declared_accuracy_of_radiative_transfer_model :
- 0.0
- declared_accuracy_of_water_vapour_model :
- 0.0
- electronic_crosstalk_correction_flag :
- null
- eopf_category :
- eoproduct
- geometric_refinement :
- {'mean_value_of_residual_displacements_at_all_tie_points_after_refinement_m': {'x_mean': 'null', 'y_mean': 'null'}, 'spacecraft_rotation': {'X': {'coefficients': 'null', 'degree': 'null'}, 'Y': {'coefficients': 'null', 'degree': 'null'}, 'Z': {'coefficients': 'null', 'degree': 'null'}}, 'standard_deviation_of_residual_displacements_at_all_tie_points_after_refinement_m': {'x_stdv': 'null', 'y_stdv': 'null'}}
- horizontal_CRS_code :
- EPSG:32632
- horizontal_CRS_name :
- WGS84 / UTM zone 32N
- mean_sun_azimuth_angle_in_deg_for_all_bands_all_detectors :
- 156.346195853372
- mean_sun_zenith_angle_in_deg_for_all_bands_all_detectors :
- 50.1170463180154
- mean_value_of_aerosol_optical_thickness :
- 0.189598
- mean_value_of_total_water_vapour_content :
- 0.737065
- onboard_compression_flag :
- true
- onboard_equalization_flag :
- null
- optical_crosstalk_correction_flag :
- null
- ozone_source :
- AUX_ECMWFT
- ozone_value :
- 332.943152
- product_quality_status :
- ['PASSED', 'PASSED', 'PASSED', 'PASSED', 'PASSED', 'PASSED']
- reflectance_correction_factor_from_the_Sun_Earth_distance_variation_computed_using_the_acquisition_date :
- 1.01479136898228
Open Sentinel-2 Level-2A with default parameters¶
We can now open the Sentinel-2 product in analysis mode.
Also here, the following cell returns a lazy dataset, with all bands resampled to 60 m resolution. This lower resolution is chosen to keep plotting fast, as above.
For the SCL variable, the flag names, values, and corresponding colors are stored in the attributes to simplify visualization. The colors follow the Sentinel Hub specifications.
In the next cell, we use these flag values and names to plot the categorical SCL dataset.
fig, ax = plt.subplots(1, 2, figsize=(12, 5))
ds.b04.plot(ax=ax[0], vmin=0.0, vmax=0.3)
ax[0].set_title("B04 - red")
cmap = mcolors.ListedColormap(ds.scl.attrs["flag_colors"].split(" "))
nb_colors = len(ds.scl.attrs["flag_values"])
norm = mcolors.BoundaryNorm(
boundaries=np.arange(nb_colors + 1) - 0.5, ncolors=nb_colors
)
im = ds.scl.plot.imshow(ax=ax[1], cmap=cmap, norm=norm, add_colorbar=False)
cbar = fig.colorbar(im, ax=ax[1], ticks=ds.scl.attrs["flag_values"])
cbar.ax.set_yticklabels(ds.scl.attrs["flag_meanings"].split(" "))
cbar.set_label("Class")
ax[1].set_title("Scene classification layer")
plt.tight_layout()
Conclusion¶
This notebook demonstrates how to access Sentinel-2 EOPF Zarr samples in analysis mode using the xarray-eopf plugin. The key takeaways are:
- Analysis mode is the default
op_mode. - In analysis mode, Sentinel-2 variables are automatically resampled (upscaled or downscaled) to share a consistent set of
xandycoordinates. - Data can be accessed lazily at a user-defined resolution, bounding box, and CRS, enabling flexible resampling, subsetting, and reprojection.
- Common band names defined by the STAC EO extension are supported for variable selection.
- Aggregation and interpolation methods can be customized by the user for both downsampling and upsampling.
- Scene Classification Layer (SCL) attributes include flag values, meanings, and colors, which can be used directly for visualization.
Note: This notebook only covers analysis mode for Sentinel-2. To learn more about native mode, see the Sentinel-2 native mode notebook.