From ba814f40de7613c12ca470f45b64c09aef3e9a20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20M=C3=BCller-Wilm?= Date: Sun, 6 Mar 2016 18:27:59 +0100 Subject: [PATCH] added files for version 2.1.X --- cfg/L2A_GIPP.xml | 62 + sen2cor.egg-info/pbr.json | 1 + sen2cor/L2A_Logger.py | 53 + sen2cor/L2A_Manifest.py | 366 + sen2cor/L2A_ProcessTile.py | 293 + sen2cor/L2A_Schedule.py | 74 + sen2cor/cfg/L2A_CAL_AC_GIPP.xml | 49 + sen2cor/cfg/L2A_CAL_AC_GIPP.xsd | 114 + sen2cor/cfg/L2A_CAL_SC_GIPP.xml | 67 + sen2cor/cfg/L2A_CAL_SC_GIPP.xsd | 249 + sen2cor/cfg/L2A_GIPP.xsd | 344 + sen2cor/cfg/L2A_Manifest.xml | 963 ++ .../MANIFEST/manifest_hktm.safe | 139 + .../MANIFEST/manifest_pdi_l1c_datastrip.safe | 147 + .../MANIFEST/manifest_pdi_l1c_tile.safe | 355 + .../MANIFEST/manifest_user_product_l1c.safe | 11247 ++++++++++++++ .../resources/docbook/int/esa/safe/book.xml | 3139 ++++ .../int/esa/safe/example/manifest.safe | 174 + .../int/esa/safe/example/s1-level-0.xsd | 731 + .../int/esa/safe/media/SDF-Markups-1-bis.svg | 171 + .../int/esa/safe/media/SDF-Markups-1.png | Bin 0 -> 29569 bytes .../int/esa/safe/media/SDF-Markups-1.svg | 188 + .../int/esa/safe/media/SDF-Markups-2-bis.svg | 123 + .../int/esa/safe/media/SDF-Markups-2.png | Bin 0 -> 10592 bytes .../int/esa/safe/media/SDF-Markups-2.svg | 143 + .../int/esa/safe/media/SDF-Markups-3-bis.svg | 138 + .../int/esa/safe/media/SDF-Markups-3.png | Bin 0 -> 12190 bytes .../int/esa/safe/media/SDF-Markups-3.svg | 166 + .../int/esa/safe/media/SDF-Markups-4-bis.svg | 77 + .../int/esa/safe/media/SDF-Markups-4.png | Bin 0 -> 10304 bytes .../int/esa/safe/media/SDF-Markups-4.svg | 105 + .../safe/media/Sentinel-SAFE-Data-Object.png | Bin 0 -> 22371 bytes .../safe/media/Sentinel-SAFE-Data-Object.svg | 1000 ++ .../media/Sentinel-SAFE-Metadata-Object.png | Bin 0 -> 49113 bytes .../media/Sentinel-SAFE-Metadata-Object.svg | 2378 +++ .../Sentinel-SAFE-Wrapped-Metadata-Object.png | Bin 0 -> 14677 bytes .../Sentinel-SAFE-Wrapped-Metadata-Object.svg | 658 + .../docbook/int/esa/safe/media/example.png | Bin 0 -> 7517 bytes .../docbook/int/esa/safe/media/example.svg | 58 + .../docbook/int/esa/safe/media/index.png | Bin 0 -> 22045 bytes .../docbook/int/esa/safe/media/index.svg | 71 + .../int/esa/safe/media/informationModel.png | Bin 0 -> 14886 bytes .../int/esa/safe/media/informationModel.svg | 43 + .../safe/media/internal-links/dataobject.png | Bin 0 -> 27502 bytes .../safe/media/internal-links/dataobject.svg | 275 + .../media/internal-links/included-schema.png | Bin 0 -> 41291 bytes .../media/internal-links/included-schema.svg | 388 + .../internal-links/metadata-and-index.png | Bin 0 -> 73094 bytes .../internal-links/metadata-and-index.svg | 662 + .../media/internal-links/wrapped-metadata.png | Bin 0 -> 27010 bytes .../media/internal-links/wrapped-metadata.svg | 205 + .../docbook/int/esa/safe/media/logo.jpg | Bin 0 -> 17033 bytes .../int/esa/safe/media/measurement.png | Bin 0 -> 21452 bytes .../int/esa/safe/media/measurement.svg | 67 + .../safe/media/measurementWithInclusion.png | Bin 0 -> 30799 bytes .../safe/media/measurementWithInclusion.svg | 93 + .../int/esa/safe/media/metadataBinary.png | Bin 0 -> 24567 bytes .../int/esa/safe/media/metadataBinary.svg | 71 + .../media/metadataBinaryWithInclusion.png | Bin 0 -> 35890 bytes .../media/metadataBinaryWithInclusion.svg | 94 + .../int/esa/safe/media/metadataWrapped.png | Bin 0 -> 12696 bytes .../int/esa/safe/media/metadataWrapped.svg | 46 + .../model/Sentinel-SAFE-Information-Model.png | Bin 0 -> 21177 bytes .../model/Sentinel-SAFE-Information-Model.svg | 1043 ++ .../model/Sentinel-SAFE-Logical-Model.png | Bin 0 -> 29721 bytes .../model/Sentinel-SAFE-Logical-Model.svg | 708 + ...inel-SAFE-Manifest-File-Physical-Model.png | Bin 0 -> 13638 bytes ...inel-SAFE-Manifest-File-Physical-Model.svg | 829 + .../Sentinel-SAFE-Objects-Physical-Model.png | Bin 0 -> 29588 bytes .../Sentinel-SAFE-Objects-Physical-Model.svg | 1105 ++ .../media/model/Sentinel-SAFE-Objects.png | Bin 0 -> 36168 bytes .../media/model/Sentinel-SAFE-Objects.svg | 948 ++ .../model/Sentinel-SAFE-Physical-Model.png | Bin 0 -> 32943 bytes .../model/Sentinel-SAFE-Physical-Model.svg | 548 + .../docbook/int/esa/safe/media/notation.xsd | 64 + .../int/esa/safe/media/physicalModel.png | Bin 0 -> 20732 bytes .../int/esa/safe/media/physicalModel.svg | 71 + .../docbook/int/esa/safe/media/save.png | Bin 0 -> 49005 bytes .../docbook/int/esa/safe/media/save.svg | 379 + .../safe/media/sdf-block-complex-content.png | Bin 0 -> 11301 bytes .../int/esa/safe/media/sdf-block-content.png | Bin 0 -> 13550 bytes .../int/esa/safe/media/sdf-block-location.png | Bin 0 -> 9095 bytes .../int/esa/safe/media/sdf-block-tree.png | Bin 0 -> 27464 bytes .../int/esa/safe/shared/appendix/fdl-1.3.xml | 559 + .../int/esa/safe/shared/namespace/gml.xml | 22 + .../esa/safe/shared/namespace/prefixes.xml | 50 + .../safe/shared/namespace/sentinel-safe.xml | 21 + .../int/esa/safe/shared/namespace/xfdu.xml | 21 + .../int/esa/safe/shared/preface/example.png | Bin 0 -> 7517 bytes .../int/esa/safe/shared/preface/example.svg | 58 + .../int/esa/safe/shared/preface/example.xsd | 75 + .../int/esa/safe/shared/preface/glossary.xml | 457 + .../preface/type-reference-conventions.xml | 217 + .../safe/shared/qualification/contentUnit.xml | 21 + .../esa/safe/shared/qualification/xfdu.xml | 21 + .../int/esa/safe/sentinel-1.0/product-id.xql | 30 + .../int/esa/safe/sentinel-1.0/util-module.xql | 450 + .../hktm/level-0/s2-level-0-annot.xsd | 248 + .../sentinel-2/hktm/level-0/s2-level-0.xsd | 251 + .../xsd/fr/gael/drb/impl/sdf/sdf-20020222.xsd | 191 + .../xsd/fr/gael/drb/impl/sdf/sdf-2_3.xsd | 1083 ++ .../safe/sentinel/1.1/active-sensor-types.xsd | 111 + .../int/esa/safe/sentinel/1.1/gml-wrapper.xsd | 44 + .../xsd/int/esa/safe/sentinel/1.1/safe.xsd | 3227 ++++ .../hktm/level-0/hktm-level-0-types.xsd | 43 + .../1.1/sentinel-2/hktm/level-0/xfdu.xsd | 134 + .../sentinel/1.1/sentinel-2/hktm/safe.xsd | 113 + .../sentinel-2/level-0/s2-level-0-types.xsd | 147 + .../msi/archive_l0_datastrip/xfdu.xsd | 170 + .../msi/archive_l0_granule/xfdu.xsd | 185 + .../msi/archive_l0_user_product/xfdu.xsd | 145 + .../msi/archive_l1a_datastrip/xfdu.xsd | 169 + .../msi/archive_l1a_granule/xfdu.xsd | 185 + .../msi/archive_l1a_user_product/xfdu.xsd | 184 + .../msi/archive_l1b_datastrip/xfdu.xsd | 169 + .../msi/archive_l1b_granule/xfdu.xsd | 185 + .../msi/archive_l1b_user_product/xfdu.xsd | 184 + .../msi/archive_l1c_datastrip/xfdu.xsd | 169 + .../sentinel-2/msi/archive_l1c_tile/xfdu.xsd | 189 + .../msi/archive_l1c_user_product/xfdu.xsd | 193 + .../msi/archive_l2a_user_product/xfdu.xsd | 721 + .../sentinel/1.1/sentinel-2/safe-abstract.xsd | 66 + .../xsd/int/esa/safe/sentinel/1.1/xfdu.xsd | 721 + .../net/opengis/gml/3.0.0/base/basicTypes.xsd | 249 + .../gml/3.0.0/base/coordinateOperations.xsd | 543 + .../3.0.0/base/coordinateReferenceSystems.xsd | 492 + .../gml/3.0.0/base/coordinateSystems.xsd | 373 + .../net/opengis/gml/3.0.0/base/coverage.xsd | 352 + .../opengis/gml/3.0.0/base/dataQuality.xsd | 120 + .../xsd/net/opengis/gml/3.0.0/base/datums.xsd | 397 + .../opengis/gml/3.0.0/base/defaultStyle.xsd | 318 + .../net/opengis/gml/3.0.0/base/dictionary.xsd | 117 + .../net/opengis/gml/3.0.0/base/direction.xsd | 68 + .../opengis/gml/3.0.0/base/dynamicFeature.xsd | 118 + .../net/opengis/gml/3.0.0/base/feature.xsd | 202 + .../gml/3.0.0/base/geometryAggregates.xsd | 443 + .../gml/3.0.0/base/geometryBasic0d1d.xsd | 361 + .../gml/3.0.0/base/geometryBasic2d.xsd | 212 + .../gml/3.0.0/base/geometryComplexes.xsd | 121 + .../gml/3.0.0/base/geometryPrimitives.xsd | 955 ++ .../xsd/net/opengis/gml/3.0.0/base/gml.xsd | 18 + .../net/opengis/gml/3.0.0/base/gmlBase.xsd | 292 + .../xsd/net/opengis/gml/3.0.0/base/grids.xsd | 70 + .../net/opengis/gml/3.0.0/base/measures.xsd | 201 + .../opengis/gml/3.0.0/base/observation.xsd | 77 + .../gml/3.0.0/base/referenceSystems.xsd | 213 + .../net/opengis/gml/3.0.0/base/temporal.xsd | 329 + .../net/opengis/gml/3.0.0/base/topology.xsd | 429 + .../xsd/net/opengis/gml/3.0.0/base/units.xsd | 182 + .../opengis/gml/3.0.0/base/valueObjects.xsd | 286 + .../gml/3.0.0/smil/smil20-language.xsd | 117 + .../xsd/net/opengis/gml/3.0.0/smil/smil20.xsd | 234 + .../net/opengis/gml/3.0.0/smil/xml-mod.xsd | 39 + .../net/opengis/gml/3.0.0/xlink/xlinks.xsd | 119 + .../resources/xsd/org/ccsds/xfdu/xfdu-1-4.xsd | 817 + .../resources/xsd/org/ccsds/xfdu/xfdu.xsd | 698 + .../resources/xsd/org/ccsds/xfdu/xlink.xsd | 75 + .../DICO/12/DataAccess/item/item.xsd | 197 + .../DICO/12/DataAccess/item/item2A.xsd | 181 + .../12/DataAccess/userProduct/userProduct.xsd | 99 + .../DICO/12/PDGS/archive/archive.xsd | 174 + .../DICO/12/PDGS/base/base.xsd | 119 + .../DICO/12/PDGS/center/center.xsd | 188 + .../DICO/12/PDGS/component/component.xsd | 55 + .../12/PDGS/configuration/configuration.xsd | 123 + .../DICO/12/PDGS/dimap/dimap.xsd | 12506 +++++++++++++++ .../DICO/12/PDGS/dimap/dimap2A.xsd | 845 ++ .../DICO/12/PDGS/fileNaming/fileNaming.xsd | 200 + .../DICO/12/PDGS/header/EOF_Header.xsd | 107 + .../logical_definitions.xsd | 9323 ++++++++++++ .../DICO/12/PDGS/spacecraft/spacecraft.xsd | 56 + .../12/PDGS/station/StationUnavailability.xsd | 43 + .../DICO/12/SY/date_time/date_time.xsd | 275 + .../DICO/12/SY/geographical/geographical.xsd | 160 + .../DICO/12/SY/image/image.xsd | 804 + .../DICO/12/SY/misc/misc.xsd | 828 + .../DICO/12/SY/orbital/HeaderTypes_Orbit.xsd | 49 + .../DICO/12/SY/orbital/orbital.xsd | 262 + .../DICO/12/SY/platform/platform.xsd | 41 + .../12/SY/representation/representation.xsd | 49 + .../DICO/12/SY/spatio/spatio.xsd | 97 + .../DICO/12/SY/tile/tile.xsd | 246 + .../DICO/13/DataAccess/item/item.xsd | 197 + .../DICO/13/DataAccess/item/item2A.xsd | 181 + .../13/DataAccess/userProduct/userProduct.xsd | 99 + .../DICO/13/PDGS/archive/archive.xsd | 174 + .../DICO/13/PDGS/base/base.xsd | 119 + .../DICO/13/PDGS/center/center.xsd | 188 + .../DICO/13/PDGS/component/component.xsd | 55 + .../13/PDGS/configuration/configuration.xsd | 123 + .../DICO/13/PDGS/dimap/dimap.xsd | 12605 ++++++++++++++++ .../DICO/13/PDGS/dimap/dimap2A.xsd | 845 ++ .../DICO/13/PDGS/fileNaming/fileNaming.xsd | 200 + .../DICO/13/PDGS/header/EOF_Header.xsd | 107 + .../logical_definitions.xsd | 9323 ++++++++++++ .../DICO/13/PDGS/spacecraft/spacecraft.xsd | 56 + .../13/PDGS/station/StationUnavailability.xsd | 43 + .../DICO/13/SY/date_time/date_time.xsd | 275 + .../DICO/13/SY/geographical/geographical.xsd | 160 + .../DICO/13/SY/image/image.xsd | 804 + .../DICO/13/SY/misc/misc.xsd | 823 + .../DICO/13/SY/orbital/HeaderTypes_Orbit.xsd | 49 + .../DICO/13/SY/orbital/orbital.xsd | 262 + .../DICO/13/SY/platform/platform.xsd | 41 + .../13/SY/representation/representation.xsd | 49 + .../DICO/13/SY/spatio/spatio.xsd | 97 + .../DICO/13/SY/tile/tile.xsd | 246 + .../Inventory_Metadata.xsd | 321 + .../OLQC_Report.xsd | 333 + .../Readme.txt | 462 + .../S2_PDI_Level-1C_Datastrip_Metadata.xsd | 19 + ..._PDI_Level-1C_Datastrip_Metadata_Brief.xsd | 17 + ...I_Level-1C_Datastrip_Metadata_Standard.xsd | 19 + .../S2_PDI_Level-1C_Tile_Metadata.xsd | 17 + .../S2_PDI_Level-1C_Tile_Metadata_Brief.xsd | 11 + ...S2_PDI_Level-1C_Tile_Metadata_Standard.xsd | 12 + .../S2_PDI_Level-2A_Datastrip_Metadata.xsd | 25 + .../S2_PDI_Level-2A_Datastrip_Structure.xsd | 42 + .../S2_PDI_Level-2A_Tile_Metadata.xsd | 17 + .../S2_User_Product_Level-1C_Metadata.xsd | 13 + .../S2_User_Product_Level-2A_Metadata.xsd | 20 + .../S2_PDI_Level-1C_Datastrip_Structure.xsd | 70 + .../S2_PDI_Level-1C_Tile_Structure.xsd | 108 + .../S2_PDI_Level-2A_Datastrip_Structure.xsd | 42 + .../S2_PDI_Level-2A_Tile_Structure.xsd | 156 + .../S2_User_Product_Level-1C_Structure.xsd | 75 + .../S2_User_Product_Level-2A_Structure.xsd | 70 + 227 files changed, 108345 insertions(+) create mode 100644 cfg/L2A_GIPP.xml create mode 100644 sen2cor.egg-info/pbr.json create mode 100644 sen2cor/L2A_Logger.py create mode 100644 sen2cor/L2A_Manifest.py create mode 100644 sen2cor/L2A_ProcessTile.py create mode 100644 sen2cor/L2A_Schedule.py create mode 100755 sen2cor/cfg/L2A_CAL_AC_GIPP.xml create mode 100755 sen2cor/cfg/L2A_CAL_AC_GIPP.xsd create mode 100755 sen2cor/cfg/L2A_CAL_SC_GIPP.xml create mode 100755 sen2cor/cfg/L2A_CAL_SC_GIPP.xsd create mode 100755 sen2cor/cfg/L2A_GIPP.xsd create mode 100755 sen2cor/cfg/L2A_Manifest.xml create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_hktm.safe create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_pdi_l1c_datastrip.safe create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_pdi_l1c_tile.safe create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_user_product_l1c.safe create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/book.xml create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/example/manifest.safe create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/example/s1-level-0.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-1-bis.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-1.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-1.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-2-bis.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-2.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-2.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-3-bis.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-3.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-3.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-4-bis.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-4.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-4.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Data-Object.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Data-Object.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Metadata-Object.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Metadata-Object.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Wrapped-Metadata-Object.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Wrapped-Metadata-Object.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/example.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/example.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/index.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/index.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/informationModel.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/informationModel.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/dataobject.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/dataobject.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/included-schema.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/included-schema.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/metadata-and-index.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/metadata-and-index.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/wrapped-metadata.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/wrapped-metadata.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/logo.jpg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurement.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurement.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurementWithInclusion.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurementWithInclusion.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataBinary.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataBinary.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataBinaryWithInclusion.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataBinaryWithInclusion.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataWrapped.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataWrapped.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Information-Model.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Information-Model.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Logical-Model.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Logical-Model.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Manifest-File-Physical-Model.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Manifest-File-Physical-Model.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Objects-Physical-Model.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Objects-Physical-Model.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Objects.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Objects.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Physical-Model.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Physical-Model.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/notation.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/physicalModel.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/physicalModel.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/save.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/save.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/sdf-block-complex-content.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/sdf-block-content.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/sdf-block-location.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/sdf-block-tree.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/appendix/fdl-1.3.xml create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/gml.xml create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/prefixes.xml create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/sentinel-safe.xml create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/xfdu.xml create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/example.png create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/example.svg create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/example.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/glossary.xml create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/type-reference-conventions.xml create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/qualification/contentUnit.xml create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/qualification/xfdu.xml create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xql/int/esa/safe/sentinel-1.0/product-id.xql create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xql/int/esa/safe/sentinel-1.0/util-module.xql create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd-component/int/esa/safe/sentinel-1.0/sentinel-2/hktm/level-0/s2-level-0-annot.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd-component/int/esa/safe/sentinel-1.0/sentinel-2/hktm/level-0/s2-level-0.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/fr/gael/drb/impl/sdf/sdf-20020222.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/fr/gael/drb/impl/sdf/sdf-2_3.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/active-sensor-types.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/gml-wrapper.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/safe.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/level-0/hktm-level-0-types.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/level-0/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/safe.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/level-0/s2-level-0-types.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_datastrip/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_granule/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_user_product/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_datastrip/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_granule/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_user_product/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_datastrip/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_granule/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_user_product/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_datastrip/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_tile/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_user_product/xfdu.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l2a_user_product/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/safe-abstract.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/basicTypes.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateOperations.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateReferenceSystems.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateSystems.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coverage.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dataQuality.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/datums.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/defaultStyle.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dictionary.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/direction.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dynamicFeature.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/feature.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryAggregates.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryBasic0d1d.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryBasic2d.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryComplexes.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryPrimitives.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/gml.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/gmlBase.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/grids.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/measures.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/observation.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/referenceSystems.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/temporal.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/topology.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/units.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/valueObjects.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/smil20-language.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/smil20.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/xml-mod.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/xlink/xlinks.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xfdu-1-4.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xfdu.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xlink.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/item/item.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/item/item2A.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/userProduct/userProduct.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/archive/archive.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/base/base.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/center/center.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/component/component.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/configuration/configuration.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/dimap/dimap.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/dimap/dimap2A.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/fileNaming/fileNaming.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/header/EOF_Header.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/logical_definitions/logical_definitions.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/spacecraft/spacecraft.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/station/StationUnavailability.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/date_time/date_time.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/geographical/geographical.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/image/image.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/misc/misc.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/orbital/HeaderTypes_Orbit.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/orbital/orbital.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/platform/platform.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/representation/representation.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/spatio/spatio.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/tile/tile.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/item/item.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/item/item2A.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/userProduct/userProduct.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/archive/archive.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/base/base.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/center/center.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/component/component.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/configuration/configuration.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/dimap/dimap.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/dimap/dimap2A.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/fileNaming/fileNaming.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/header/EOF_Header.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/logical_definitions/logical_definitions.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/spacecraft/spacecraft.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/station/StationUnavailability.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/date_time/date_time.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/geographical/geographical.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/image/image.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/misc/misc.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/orbital/HeaderTypes_Orbit.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/orbital/orbital.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/platform/platform.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/representation/representation.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/spatio/spatio.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/tile/tile.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/Inventory_Metadata.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/OLQC_Report.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/Readme.txt create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata_Brief.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata_Standard.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata_Brief.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata_Standard.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Datastrip_Metadata.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Datastrip_Structure.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Tile_Metadata.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_User_Product_Level-1C_Metadata.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_User_Product_Level-2A_Metadata.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-1C_Datastrip_Structure.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-1C_Tile_Structure.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-2A_Datastrip_Structure.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-2A_Tile_Structure.xsd create mode 100644 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_User_Product_Level-1C_Structure.xsd create mode 100755 sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_User_Product_Level-2A_Structure.xsd diff --git a/cfg/L2A_GIPP.xml b/cfg/L2A_GIPP.xml new file mode 100644 index 0000000..39a61e3 --- /dev/null +++ b/cfg/L2A_GIPP.xml @@ -0,0 +1,62 @@ + + + + DEBUG + + 1 + + DEFAULT + + dem/srtm + + http://data_public:GDdci@data.cgiar-csi.org/srtm/tiles/GeoTIFF/ + + S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_User_Product_Level-1C_Metadata.xsd + S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_User_Product_Level-2A_Metadata.xsd + S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata.xsd + S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Tile_Metadata.xsd + S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata.xsd + S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Datastrip_Metadata.xsd + L2A_GIPP.xsd + L2A_CAL_SC_GIPP.xsd + L2A_CAL_AC_GIPP.xsd + + + + 0 + + + + + h99000_wv20_rura.atm + + + 1 + + 1 + + 1 + + 0 + + 0 + + 0.22 + + + + 0 + + 1.000 + + 23.0 + + 0.100 + + 100.0 + + 0.25 + + + + diff --git a/sen2cor.egg-info/pbr.json b/sen2cor.egg-info/pbr.json new file mode 100644 index 0000000..8e1d6e3 --- /dev/null +++ b/sen2cor.egg-info/pbr.json @@ -0,0 +1 @@ +{"is_release": true, "git_version": "b3ddfd1"} \ No newline at end of file diff --git a/sen2cor/L2A_Logger.py b/sen2cor/L2A_Logger.py new file mode 100644 index 0000000..f569152 --- /dev/null +++ b/sen2cor/L2A_Logger.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python +import os +import sys +import time +import traceback +import multiprocessing, threading, logging, sys + +DEFAULT_LEVEL = logging.INFO +formatter = logging.Formatter('\n\n%(message)s\n') + +class SubProcessLogHandler(logging.Handler): + + def __init__(self, queue): + logging.Handler.__init__(self) + self.queue = queue + + def emit(self, record): + self.queue.put(record) + +class LogQueueReader(threading.Thread): + + def __init__(self, queue): + threading.Thread.__init__(self) + self.queue = queue + self.daemon = True + + def run(self): + while True: + try: + record = self.queue.get() + logger = logging.getLogger(record.name) + logger.callHandlers(record) + except (KeyboardInterrupt, SystemExit): + raise + except EOFError: + break + except: + traceback.print_exc(file=sys.stderr) + + +def getLevel(level): + if level == 'DEBUG': + return logging.DEBUG + elif level == 'INFO': + return logging.INFO + elif level == 'WARNING': + logging.WARNING + elif level == 'ERROR': + return logging.ERROR + elif level == 'CRITICAL': + return logging.CRITICAL + else: + return logging.NOTSET diff --git a/sen2cor/L2A_Manifest.py b/sen2cor/L2A_Manifest.py new file mode 100644 index 0000000..0f01f35 --- /dev/null +++ b/sen2cor/L2A_Manifest.py @@ -0,0 +1,366 @@ +import os, sys +import re +import datetime as dt +from hashlib import md5 +import lxml.etree as ET + + +class L2A_Manifest(): + def __init__(self, config): + self.configDir = config.configDir + self.DICO_IDS = { + # PRODUCT ROOT --> + "S2_Level-2A_Product_Metadata": "S2A_USER_MTD_SAFL2A_PDMC", + "INSPIRE_Metadata": "INSPIRE.xml", + "HTML_Presentation": "UserProduct_index.html", + "HTML_Presentation_Stylesheet": "UserProduct_index.xsl", + # DATASTRIP --> + "S2_Level-2A_Datastrip([1-9]?[0-9]{1,6})_Metadata": "S2A_USER_MTD_L2A_DS_", + # DATASTRIP/QI_DATA --> + "Sensor_OLQC_Report_Datastrip([1-9]?[0-9]{1,4})_InformationData": "S2A_OPER_MSI_L1C_DS_.*SENSOR_QUALITY", + "Geometric_OLQC_Report_Datastrip([1-9]?[0-9]{1,4})_InformationData": "S2A_OPER_MSI_L1C_DS_.*GEOMETRIC_QUALITY", + "General_OLQC_Report_Datastrip([1-9]?[0-9]{1,4})_InformationData": "S2A_OPER_MSI_L1C_DS_.*GENERAL_QUALITY", + "Format_OLQC_Report_Datastrip([1-9]?[0-9]{1,4})_InformationData": "S2A_OPER_MSI_L1C_DS_.*FORMAT_CORRECTNESS", + "Radiometric_OLQC_Report_Datastrip([1-9]?[0-9]{1,4})_InformationData": "S2A_OPER_MSI_L1C_DS_.*RADIOMETRIC_QUALITY", + # GRANULE--> + "S2_Level-2A_Tile([1-9]?[0-9]{1,6})_Metadata": "S2A_USER_MTD_L2A_TL__........T......_......._......\.xml", + #"S2_Level-2A_Tile([1-9]?[0-9]{1,6})_Metadata": "S2A_USER_MTD_L2A_TL__20151021T153950_A001515_T53LNA.xml", + # GRANULE/IMG_DATA --> + "IMG_DATA_Band_10m_[1-4]_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_MSI_L2A_TL_.*B[0-1][0-9]_10m.jp2", + "IMG_DATA_Band_20m_[1-9]_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_MSI_L2A_TL_.*B[0-1][0-9]_20m.jp2", + "IMG_DATA_Band_60m_([1-9]|1[0-2])_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_MSI_L2A_TL_.*B[0-1][0-9]_60m.jp2", + "AOT_DATA_Band_10m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_AOT_L2A_TL_.*_10m.jp2", + "AOT_DATA_Band_20m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_AOT_L2A_TL_.*_20m.jp2", + "AOT_DATA_Band_60m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_AOT_L2A_TL_.*_60m.jp2", + "WVP_DATA_Band_10m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_WVP_L2A_TL_.*_10m.jp2", + "WVP_DATA_Band_20m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_WVP_L2A_TL_.*_20m.jp2", + "WVP_DATA_Band_60m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_WVP_L2A_TL_.*_60m.jp2", + "VIS_DATA_Band_20m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_VIS_L2A_TL_.*_20m.jp2", + "VIS_DATA_Band_60m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_VIS_L2A_TL_.*_60m.jp2", + "SCL_DATA_Band_20m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_SCL_L2A_TL_.*_20m.jp2", + "SCL_DATA_Band_60m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_SCL_L2A_TL_.*_60m.jp2", + # GRANULE/QI_DATA --> + "Sensor_OLQC_Report_Tile([1-9]?[0-9]{1,4})_InformationData": "S2A_USER_MSI_L2A_TL_.*SENSOR_QUALITY", + "Geometric_OLQC_Report_Tile([1-9]?[0-9]{1,4})_InformationData": "S2A_USER_MSI_L2A_TL_.*GEOMETRIC_QUALITY", + "General_OLQC_Report_Tile([1-9]?[0-9]{1,4})_InformationData": "S2A_USER_MSI_L2A_TL_.*GENERAL_QUALITY", + "Format_OLQC_Report_Tile([1-9]?[0-9]{1,4})_InformationData": "S2A_USER_MSI_L2A_TL_.*FORMAT_CORRECTNESS", + "DefectivePixelsMask_Band_([1-9]|1[0-3])_Tile([1-9]?[0-9]{1,6})_Data": "S2A_OPER_MSK_DEFECT_", + "DetectorFootprintMask_Band_([1-9]|1[0-3])_Tile([1-9]?[0-9]{1,6})_Data": "S2A_OPER_MSK_DETFOO_", + "NodataPixelsMask_Band_([1-9]|1[0-3])_Tile([1-9]?[0-9]{1,6})_Data": "S2A_OPER_MSK_NODATA_", + "SaturatedPixelsMask_Band_([1-9]|1[0-3])_Tile([1-9]?[0-9]{1,6})_Data": "S2A_OPER_MSK_SATURA_", + "TechQualityMask_Band_([1-9]|1[0-3])_Tile([1-9]?[0-9]{1,6})_Data": "S2A_OPER_MSK_TECQUA_", + "S2_Level-1C_Preview_Tile([1-9]?[0-9]{1,6})_Data": "S2A_OPER_PVI_L1C_TL_.*.jp2", + "CloudMask_Level-1C_Tile([1-9]?[0-9]{1,6})_Data": "S2A_OPER_MSK_CLOUDS_.*.gml", # discard .gfs + "CloudMask_Band_20m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_CLD_L2A_TL_.*_20m.jp2", + "CloudMask_Band_60m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_CLD_L2A_TL_.*_60m.jp2", + "Preview_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_PVI_L2A_TL_.*.jp2", + "SnowMask_20m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_SNW_L2A_TL_.*_20m.jp2", + "SnowMask_60m_Tile([1-9]?[0-9]{1,6})_Data": "S2A_USER_SNW_L2A_TL_.*_60m.jp2", + "Processing_Report_Tile([1-9]?[0-9]{1,6})_InformationData": "S2A_USER_MTD_L2A_TL_.*Report", + # GRANULE/AUX_DATA --> + "S2_GIP_L2A_Tile([1-9]?[0-9]{1,6})_Metadata": "S2A_USER_GIP_L2A_TL_" } + + + self.NSMAP={'xfdu' :"urn:ccsds:schema:xfdu:1", + 'safe':"http://www.esa.int/safe/sentinel/1.1", + 'gml' :"http://www.opengis.net/gml"} + + + + def match(self, pattern, stringlist): + """ + test a list of string against a regex pattern + """ + results=[] + prog = re.compile(pattern) + for strin in stringlist: + #print pattern, string + if prog.search(strin) is not None: + results.append(strin) + + return results + + def listToIds(self, dataObjectSection, s2alist): + """ + for each id in DICO_IDS, retrieve which filepaths are matching + """ + ids={} + for key, pattern in self.DICO_IDS.iteritems(): + results = self.match(pattern, s2alist) + + iTile=0 + iBand=1 + currenttile=None + for result in results: + if 'GRANULE' in result or 'DATASTRIP' in result: + tilename=result.split('GRANULE/')[-1].split('DATASTRIP/')[-1].split('/')[0] + if currenttile != tilename: + iTile += 1 + currenttile = tilename + iBand = 1 + + a = key.find('Band') + id = key + if a!= -1: + id = id.replace(key[a:], 'Band_' + str(iBand) + '_Tile' + str(iTile) + '_Data') + + ids[result] = id + iBand+=1 + return ids + + + + def getMimeType(self, href): + """ + Returns mime type function of file extension + """ + dicoMimeType = { 'xml': "text/xml", + 'gml': "application/xml", + 'html': "octet", + 'xsl': "octet", + 'jp2': "application/octet-stream" } + return dicoMimeType[href.split(".")[-1]] + + + def getChecksum(self, href, l2productpath): + """ + Computes MD5 checksum + """ + filename = os.path.join(l2productpath, href) + if os.path.exists(filename): + if href.split(".")[-1] == 'jp2': + return md5(open(filename, 'rb').read()).hexdigest() + else: + return md5(open(filename, 'r').read()).hexdigest() + else: + return None + + def addDataObject(self, parent, href, id, l2productpath): + """ + add a data object element with its subelements + """ + dataObject = ET.SubElement(parent, "dataObject") + byteStream = ET.SubElement(dataObject, "byteStream") + fileLocation = ET.SubElement(byteStream, "fileLocation") + checksum = ET.SubElement(byteStream, "checksum") + dataObject.attrib["ID"] = id + byteStream.attrib["mimeType"] = self.getMimeType(href) + + l2productpath_ = unicode(os.path.join(l2productpath, href)) + if os.path.exists(l2productpath_): + byteStream.attrib["size"] = str(l2productpath_) + else: + byteStream.attrib["size"] = str(None) + + fileLocation.attrib["locatorType"] = "URL" + fileLocation.attrib["href"] = href + checksum.attrib["checksumName"] = "MD5" + checksum.text = self.getChecksum(href, l2productpath_) + + + def addContentUnit(self, parent, ID=None, unitType=None, textInfo=None, pdiID=None, dmdID=None, dataObjectID=None): + """ + Add content unit element to given parent element + """ + contentUnit = ET.SubElement(parent, '{'+self.NSMAP['xfdu']+'}'+'contentUnit') + if ID is not None: + contentUnit.attrib['ID'] = ID + if unitType is not None: + contentUnit.attrib['unitType'] = unitType + if textInfo is not None: + contentUnit.attrib['textInfo'] = textInfo + if pdiID is not None: + contentUnit.attrib['pdiID'] = pdiID + if dataObjectID is not None: + dataObjectPointer = ET.SubElement(contentUnit, "dataObjectPointer") + dataObjectPointer.attrib['dataObjectID'] = dataObjectID + return contentUnit + + def addMetadataObject(self, parent, ID=None, classification=None, category=None, dataObjectID=None): + """ + Add metadata object element to given parent element + """ + metadataObject = ET.SubElement(parent, "metadataObject") + if ID is not None: + metadataObject.attrib['ID'] = ID + if classification is not None: + metadataObject.attrib['classification'] = classification + if category is not None: + metadataObject.attrib['category'] = category + if dataObjectID is not None: + dataObjectPointer = ET.SubElement(metadataObject, "dataObjectPointer") + dataObjectPointer.attrib['dataObjectID'] = dataObjectID + return metadataObject + + def splitPath(self, filepath): + """ + Returns datastrip, granule and sub directory names + from a L2A product relative file path + """ + tilename = None + stripname = None + subdir = None + splitted = os.path.dirname(filepath).split('/') + if len(splitted) > 1: + # tile or datastrip + if splitted[0] == 'GRANULE': + tilename = splitted[1] + elif splitted[0] == 'DATASTRIP': + stripname = splitted[1] + # subdir (IMG_DATA, QI_DATA ...) + if len(splitted) > 2: + subdir = splitted[2] + return (tilename, stripname, subdir) + + def updateProcessingelement(self, metadataObject): + """ + Update processing element from L1C values to L2A + """ + processingelement = metadataObject.find("metadataWrap").find("xmlData").find("{"+self.NSMAP["safe"]+"}processing") + processingelement.attrib["name"] = processingelement.attrib["name"].replace("1C","2A") + processingelement.attrib["start"] = dt.datetime.utcnow().isoformat()+"Z" + + + def append(self, parent, child): + """ + append a child by recopy + """ + newchild = ET.SubElement(parent, child.tag) + try: + child.text.strip() + newchild.text = child.text + except: + pass + for key in child.attrib: + newchild.attrib[key] = child.attrib[key] + for childOfChild in child.getchildren(): + self.append(newchild, childOfChild) + return newchild + + def generate(self, l2productpath, safeL1cFn): + """ + generates the L2A safe manifest + by parsing the LA product + and copying some info from the L1C safe manifest + """ + + # == INITIALIZE XML == # + # namespaces and root tree + for key in self.NSMAP.keys(): + ET.register_namespace(key, self.NSMAP[key]) #Registers a namespace prefix. The registry is global, and any existing mapping for either the given prefix or the namespace URI will be removed. prefix is a namespace prefix. uri is a namespace uri. Tags and attributes in this namespace will be serialized with the given prefix, if at all possible. + root = ET.Element('{'+self.NSMAP['xfdu']+'}'+'XFDU', nsmap=self.NSMAP) #Element class. This class defines the Element interface, and provides a reference implementation of this interface. + root.attrib['version']="esa/safe/sentinel/1.1/sentinel-2/msi/archive_l2a_user_product" + + # Create the 3 main sections + informationPackageMap = ET.SubElement(root, "informationPackageMap") + metadataSection = ET.SubElement(root, "metadataSection") + dataObjectSection = ET.SubElement(root, "dataObjectSection") + + + # ======== DATA OBJECT SECTION =========== + s2alist = [] + # 1) parse product for all files + for rootdir, dirnames, filenames in os.walk(l2productpath): #check all the dirs and filenames contained in the rootdir + reldir = os.path.relpath(rootdir, l2productpath) #return the relative path from l2productpath to rootdir + for filename in filenames: + s2alist.append(os.path.join(reldir, filename)) + s2alist.sort() # s2list is a list with all the files (with relative paths) + + # 2) parse list of files and guess a data object id + ids = self.listToIds(dataObjectSection, s2alist) + + # 3) creates the data objects element + for filepath in s2alist: + if filepath in ids: + self.addDataObject(dataObjectSection, filepath, ids[filepath], l2productpath) + + # ======== INFORMATION PACKAGE MAP SECTION =========== + + # 1) Product root (generic) + tiles + strips main elements + productroot = self.addContentUnit(informationPackageMap, unitType="Product_Level-2A", textInfo="SENTINEL-2 MSI Level-2A User Product", pdiID="processing", dmdID="acquisitionPeriod platform") + tileselement = self.addContentUnit(productroot, ID="Tiles", textInfo="Tiles Container") + stripselement = self.addContentUnit(productroot, ID="Datastrips", textInfo="Datastrips Container") + + # 2) Create elements for each granule, each datastrip, including their sub folders (IMG_DATA, QI_DATA...) + tilemap={} + stripmap={} + for filepath in s2alist: + if filepath in ids: + (tilename, stripname, subdir) = self.splitPath(filepath) + ## GRANULES + if tilename is not None: + # create elements for new tile + if tilename not in tilemap: + tileid = len(tilemap.keys())+1 + tilemap[tilename] = self.addContentUnit(tileselement, ID="Tile%d"%(tileid), textInfo="Granule Container") + self.addContentUnit(tilemap[tilename], ID="QI_DATA_Tile%d"%(tileid), textInfo="Quality Control Container") + self.addContentUnit(tilemap[tilename], ID="IMG_DATA_Tile%d"%(tileid), textInfo="Image Data Container") + self.addContentUnit(tilemap[tilename], ID="AUX_DATA_Tile%d"%(tileid), textInfo="Auxiliary Data container") + ## DATASTRIPS + elif stripname is not None: + if stripname not in stripmap: + # create elements for new datastrip + stripid = len(stripmap.keys())+1 + stripmap[stripname] = self.addContentUnit(stripselement, ID="Datastrip%d"%(stripid), textInfo="Granule Container") + self.addContentUnit(stripmap[stripname], ID="QI_DATA_Datastrip%d"%(stripid), textInfo="Quality Control Container") + + # 3) Then create a element for each element below the correct parent + for filepath in s2alist: + if filepath in ids: + id = ids[filepath] + (tilename, stripname, subdir) = self.splitPath(filepath) + ## GRANULES + if tilename is not None: + # then add new content unit + if subdir is None: + self.addContentUnit(tilemap[tilename], ID=id+"_Unit", unitType="Metadata Unit", dataObjectID=id) + else: + if subdir == "QI_DATA": + self.addContentUnit(tilemap[tilename].getchildren()[0], ID=id+"_Unit", unitType="Measurement Data Unit", textInfo="Quality Control Container", dataObjectID=id) + elif subdir == "IMG_DATA": + self.addContentUnit(tilemap[tilename].getchildren()[1], ID=id+"_Unit", unitType="Measurement Data Unit", textInfo="Image Data Container", dataObjectID=id) + elif subdir == "AUX_DATA": + self.addContentUnit(tilemap[tilename].getchildren()[2], ID=id+"_Unit", unitType="Measurement Data Unit", textInfo="Auxiliary Data Container", dataObjectID=id) + ## DATASTRIPS + elif stripname is not None: + if subdir is None: + self.addContentUnit(stripmap[stripname], ID=id+"_Unit", unitType="Metadata Unit", dataObjectID=id) + else: + if subdir == "QI_DATA": + self.addContentUnit(stripmap[stripname].getchildren()[0], ID=id+"_Unit", unitType="Metadata Unit", dataObjectID=id) + else: + self.addContentUnit(productroot, ID=id+"_Unit", unitType="Metadata Unit", dataObjectID=id) + + + # ======== METADATA OBJECT SECTION =========== + + # 1) Recopy 1st part from L1C manifest + ### root ### + treeL1C = ET.parse(safeL1cFn) + manifestL1C = treeL1C.getroot() + # metadataSection + metadataSectionL1C = manifestL1C.find('metadataSection') + L1C_KEEP_LIST = ["acquisitionPeriod", "measurementOrbitReference", "platform", "processing" , "measurementFrameSet"] + for childL1C in metadataSectionL1C.getchildren(): + if "ID" in childL1C.attrib.keys() and childL1C.attrib["ID"] in L1C_KEEP_LIST: + #metadataSection.append(childL1C) + childL2A = self.append(metadataSection, childL1C) + if childL2A.attrib["ID"] == "processing": + self.updateProcessingelement(childL2A) + + # 2) Add metadata elements (only) in 2d part + for filepath in s2alist: + if filepath in ids: + id = ids[filepath] + if "Metadata" in id: + self.addMetadataObject(metadataSection, ID=id+"_Information", classification="DESCRIPTION", category="DMD", dataObjectID=id) + + # == WRITE XML == # + #print ET.tostring(root, pretty_print=True) + fn = os.path.join(l2productpath, 'L2A_Manifest.xml') + with open(fn,"w") as o: + o.write(ET.tostring(root, encoding='UTF-8', pretty_print=True, xml_declaration=True)) + #os.system("xmllint -format toto.tmp > out.xml") + + + diff --git a/sen2cor/L2A_ProcessTile.py b/sen2cor/L2A_ProcessTile.py new file mode 100644 index 0000000..3ee1a4a --- /dev/null +++ b/sen2cor/L2A_ProcessTile.py @@ -0,0 +1,293 @@ +#!/usr/bin/env python +# -*- coding: iso-8859-15 -*- + +from numpy import * +from tables import * +import sys +import os, logging +from time import time +from datetime import datetime + +from L2A_Manifest import L2A_Manifest +from L2A_Tables import L2A_Tables +from L2A_SceneClass import L2A_SceneClass +from L2A_AtmCorr import L2A_AtmCorr +from L2A_XmlParser import L2A_XmlParser +from L2A_Library import stdoutWrite, stderrWrite +from L2A_Logger import SubProcessLogHandler, getLevel + +import multiprocessing +import cPickle as pickle +SUCCESS = 0 +FAILURE = 1 +l = multiprocessing.Lock() +formatter = logging.Formatter('\n\n%(message)s\n') +DEFAULT_LEVEL = logging.INFO + + +class L2A_ProcessTile(multiprocessing.Process): + def __init__(self, tileId, res, retVal, queue): + multiprocessing.Process.__init__(self) + self.queue = queue + self._retVal = retVal + self._tileId = tileId + self._finalRes = res + self._scOnly = False + self._configFn = None + self._logger = None + self._localTimestamp = time() + self._res = res + picFn = os.path.join(tileId,'configPic.p') + try: + f = open(picFn, 'rb') + self.config = pickle.load(f) + f.close() + except: + stderrWrite('Cannot load configuration\n.' % picFn) + + self.config._timestamp = datetime.now() + self.scOnly = self.config.scOnly + self.config.resolution = self._res + + + def get_logger(self): + return self._logger + + + def set_logger(self, value): + self._logger = value + + + def del_logger(self): + del self._logger + + + def get_sc_only(self): + return self._scOnly + + + def set_sc_only(self, value): + self._scOnly = value + + + def del_sc_only(self): + del self._scOnly + + + def get_tables(self): + return self._tables + + + def set_tables(self, value): + self._tables = value + + + def del_tables(self): + del self._tables + + + def get_config(self): + return self._config + + + def set_config(self, value): + self._config = value + + + def del_config(self): + del self._config + + + def __exit__(self): + sys.exit(-1) + + config = property(get_config, set_config, del_config, "config's docstring") + tables = property(get_tables, set_tables, del_tables, "tables's docstring") + scOnly = property(get_sc_only, set_sc_only, del_sc_only, "scOnly's docstring") + logger = property(get_logger, set_logger, del_logger, "logger's docstring") + + def run(self): + if self.config.resolution == 0: + stdoutWrite('no resolution specified, will process all resolutions.\n') + else: + stdoutWrite('selected resolution is %s m.\n' % self.config.resolution) + + self.setupLogger() + logger = self.logger + logger.level = getLevel(self.config.logLevel) + self.config.logger = logger + + if(self.config.resolution == 0): + if self.process_60() == False: + return False + if self.process_20() == False: + return False + if self.process_10() == False: + return False + return True + elif(self.config.resolution == 60): + if self.process_60() == False: + return False + elif(self.config.resolution == 20): + if self.process_20() == False: + return False + elif(self.config.resolution == 10): + if (self.scOnly == True): + stdoutWrite('No scene classification processing for 10 m resolution in sc_only mode.\n') + self.logger.info('no scene classification processing for 10 m resolution in sc_only mode') + tMeasure = time() - self.config.tStart + self.config.writeTimeEstimation(tMeasure) + self._retVal.put(FAILURE) + return False + if self.process_20() == False: + return False + elif self.process_10() == False: + return False + return True + + + def process_60(self): + self.config.resolution = 60 + self.config.readPreferences() + self.config.createOrUpdateL2A_UserProduct() + self.tables = L2A_Tables(self.config) + return self.process() + + + def process_20(self): + self.config.resolution = 20 + self.config.readPreferences() + self.config.createOrUpdateL2A_UserProduct() + self.tables = L2A_Tables(self.config) + return self.process() + + + def process_10(self): + if (self.scOnly == True): + stdoutWrite('No scene classification processing for 10 m resolution in sc_only mode.\n') + self.logger.info('no scene classification processing for 10 m resolution in sc_only mode') + tMeasure = time() - self.config.tStart + self.config.writeTimeEstimation(tMeasure) + self._retVal.put(FAILURE) + return False + + res20 = 20 + if self.tables.checkAotMapIsPresent(res20) == False: + stdoutWrite('20 m resolution must be processed first.\n') + self.logger.info('20 m resolution must be processed first') + if self.process_20() == False: + return False + + self.config.resolution = 10 + self.config.readPreferences() + self.config.createOrUpdateL2A_UserProduct() + self.tables = L2A_Tables(self.config) + return self.process() + + + def process(self): + p = multiprocessing.current_process() + self.config.readTileMetadata() + if self.tables.checkAotMapIsPresent(self.config.resolution): + self.config.timestamp('L2A_ProcessTile: resolution '+ str(self.config.resolution) + 'm already processed') + self._retVal.put(SUCCESS) + return True + + astr = 'L2A_ProcessTile: processing with resolution ' + str(self.config.resolution) + ' m' + self.config.timestamp(astr) + self.config.timestamp('L2A_ProcessTile: start of pre processing') + if(self.preprocess() == False): + self.logger.fatal('Module %s - %s failed' %(p.name, self.config.L2A_TILE_ID)) + self._retVal.put(FAILURE) + + if(self.config.resolution > 10): + self.config.timestamp('L2A_ProcessTile: start of Scene Classification') + sc = L2A_SceneClass(self.config, self.tables) + self.logger.info('Performing Scene Classification with resolution %d m' % self.config.resolution) + if(sc.process() == False): + self.logger.fatal('Module %s - %s failed' %(p.name, self.config.L2A_TILE_ID)) + self._retVal.put(FAILURE) + + if(self.scOnly == False): + self.config.timestamp('L2A_ProcessTile: start of Atmospheric Correction') + self.logger.info('Performing Atmospheric Correction with resolution %d m' % self.config.resolution) + ac = L2A_AtmCorr(self.config, self.tables) + if(ac.process() == False): + self.logger.fatal('Module %s - %s failed' %(p.name, self.config.L2A_TILE_ID)) + self._retVal.put(FAILURE) + + self.config.timestamp('L2A_ProcessTile: start of post processing') + if(self.postprocess() == False): + self.logger.fatal('Module %s - %s failed' %(p.name, self.config.L2A_TILE_ID)) + self._retval.put(FAILURE) + return False + + self._retVal.put(SUCCESS) + return True + + + def setupLogger(self): + # create the logger to use. + logger = logging.getLogger('sen2cor.subprocess') + + + for handler in logger.handlers: + assert not isinstance(handler, SubProcessLogHandler) + logger.removeHandler(handler) + # add the handler + handler = SubProcessLogHandler(self.queue) + handler.setFormatter(formatter) + logger.addHandler(handler) + + logger.setLevel(DEFAULT_LEVEL) + self._logger = logger + + + def preprocess(self): + self.logger.info('Pre-processing with resolution %d m', self.config.resolution) + # this is to check the config for the L2A_AtmCorr in ahead. + # This has historical reasons due to ATCOR porting. + # Should be moved to the L2A_Config for better design: + dummy = L2A_AtmCorr(self.config, self.logger) + dummy.checkConfiguration() + + # validate the meta data: + xp = L2A_XmlParser(self.config, 'T1C') + xp.export() + xp.validate() + + if(self.tables.checkBandCount() == False): + self.logger.fatal('insufficient nr. of bands in tile: ' + self.config.L2A_TILE_ID) + return False + if(self.tables.importBandList() == False): + self.logger.fatal('import of band list failed') + return False + + return True + + + def postprocess(self): + self.logger.info('Post-processing with resolution %d m', self.config.resolution) + + res = True + if self.tables.exportBandList() == False: + res = False + # validate the meta data: + xp = L2A_XmlParser(self.config, 'T2A') + xp.export() + xp.validate() + if self.config.postprocess() == False: + res = False + + if multiprocessing.active_children() == False: + #Create the manifest.safe (L2A) + mn = L2A_Manifest(self.config) + mn.generate(self.config._L2A_UP_DIR, self.config.L2A_MANIFEST_SAFE) + xp = L2A_XmlParser(self.config, 'Manifest') + xp.export() + xp.validate() + + tMeasure = time() - self._localTimestamp + self.config.writeTimeEstimation(tMeasure) + return res + diff --git a/sen2cor/L2A_Schedule.py b/sen2cor/L2A_Schedule.py new file mode 100644 index 0000000..584bba1 --- /dev/null +++ b/sen2cor/L2A_Schedule.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +# -*- coding: iso-8859-15 -*- + +###This module starts the processes, taking the information of how many processes are alive + +import os +import fnmatch +import string +from psutil import cpu_count, virtual_memory +from time import sleep +from L2A_ProcessTile import L2A_ProcessTile, SUCCESS, FAILURE +from multiprocessing import Lock, Queue, active_children + +class L2A_Schedule(): + def __init__(self, config, L2A_TILES): + self._tiles = L2A_TILES + self._maxProc = config.nrProcs + self._res = config.resolution + self._targetDir = config.L2A_UP_DIR + from L2A_Logger import LogQueueReader + self._queue = Queue() + self._retVal = Queue() + log_queue_reader = LogQueueReader(self._queue) + log_queue_reader.start() + + def sync(self): + S2A_mask = '*S2A_*GRANULE*' + procs = [] + for tile in self._tiles: + if(fnmatch.fnmatch(tile, S2A_mask) == False): + continue + + # the max processes from configuration: + maxProc = self._maxProc + nrProc = maxProc + + while True: + # the virtual memory in percentage: + vMemPerc = virtual_memory()[2] + if (vMemPerc > 90.0) and (nrProc > 1): + nrProc -= 1 + elif (vMemPerc < 70.0) and (nrProc < maxProc): + nrProc += 1 + + if (len(procs) < nrProc): + p = L2A_ProcessTile(tile, self._res, self._retVal, self._queue) + try: + p.start() + procs.append(p) + break + except: + continue + else: + sleep(2) + for p in procs: + if (p.is_alive() == False): + procs.remove(p) + + while active_children(): + sleep(1) + + for t in procs: + t.join() + + if len(procs) == 0: + return FAILURE + + ret = SUCCESS + for q in procs: + q = self._retVal.get() + if q > 0: + ret = FAILURE + return ret + diff --git a/sen2cor/cfg/L2A_CAL_AC_GIPP.xml b/sen2cor/cfg/L2A_CAL_AC_GIPP.xml new file mode 100755 index 0000000..e9f3000 --- /dev/null +++ b/sen2cor/cfg/L2A_CAL_AC_GIPP.xml @@ -0,0 +1,49 @@ + + + + + lib + + + + + + 0.018800 + 0.064400 + 0.034800 + 0.028800 + 0.014400 + 0.014800 + 0.018800 + 0.014400 + + 0.022800 + + 0.019200 + 0.028800 + 0.088400 + 0.172800 + + + + + 0.442250 + 0.492225 + 0.560310 + 0.663085 + 0.703959 + 0.742381 + 0.781725 + 0.833331 + + 0.865816 + + 0.942251 + 1.373680 + 1.609431 + 2.193888 + + + + + diff --git a/sen2cor/cfg/L2A_CAL_AC_GIPP.xsd b/sen2cor/cfg/L2A_CAL_AC_GIPP.xsd new file mode 100755 index 0000000..ae562f1 --- /dev/null +++ b/sen2cor/cfg/L2A_CAL_AC_GIPP.xsd @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/L2A_CAL_SC_GIPP.xml b/sen2cor/cfg/L2A_CAL_SC_GIPP.xml new file mode 100755 index 0000000..64fb050 --- /dev/null +++ b/sen2cor/cfg/L2A_CAL_SC_GIPP.xml @@ -0,0 +1,67 @@ + + + + + GlobalSnowMap.tiff + + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + + + 0.18 + 0.22 + 0.08 + 0.25 + 0.15 + 0.35 + 0.012 + 0.035 + 0.25 + 0.12 + 0.018 + 0.0 + 0.35 + 0.65 + -0.24 + -0.16 + 0.20 + 0.42 + 0.36 + 0.47 + 0.12 + 0.25 + 0.85 + 0.95 + 1.50 + 2.50 + 0.90 + 1.10 + -0.40 + 0.46 + 0.8 + 1.5 + 2.00 + 4.00 + 0.1 + -0.09 + 6.96000 + 5.26667 + 5.37708 + 7.52000 + 5.45000 + 2.55000 + 0.75 + + + diff --git a/sen2cor/cfg/L2A_CAL_SC_GIPP.xsd b/sen2cor/cfg/L2A_CAL_SC_GIPP.xsd new file mode 100755 index 0000000..e5b6e78 --- /dev/null +++ b/sen2cor/cfg/L2A_CAL_SC_GIPP.xsd @@ -0,0 +1,249 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/L2A_GIPP.xsd b/sen2cor/cfg/L2A_GIPP.xsd new file mode 100755 index 0000000..93510c5 --- /dev/null +++ b/sen2cor/cfg/L2A_GIPP.xsd @@ -0,0 +1,344 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/L2A_Manifest.xml b/sen2cor/cfg/L2A_Manifest.xml new file mode 100755 index 0000000..56ae351 --- /dev/null +++ b/sen2cor/cfg/L2A_Manifest.xml @@ -0,0 +1,963 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2015-08-13T10:10:26.027Z + + + + + + + + + 000734 + 022 + + + + + + + + + 2015-000A + SENTINEL + 2A + + Multi-Spectral Instrument + + + + + + + + + + + + + + + + + + 46.02490454425771 11.583573986577191 45.03757398414644 11.538730738326866 44.99812645604949 12.93007028286133 45.98408391203724 12.999359413660665 46.02490454425771 11.583573986577191 46.02490454425771 11.583573986577191 + + + + + + + + + + + + + + + + + + + + + + + 6ca96954f2b026f98a7ed8cc3fcc0689 + + + + + + 2f1413c93884c8e8e75d43efc689c68d + + + + + + 5d8785b5786fa949fa40a96861406576 + + + + + + ccee7f17d520c7eeef1bebc1d20115f2 + + + + + + 4bc5b705806385024e67fc18962e50ac + + + + + + ab392afec8fced09319b34300f30b560 + + + + + + 849f1fc47c4474fe439caafea026579e + + + + + + 257808d6cf5878f7c102deb31e399666 + + + + + + 38b151d5e243a6d7f53c41293fb7e00c + + + + + + 63e9e6b07ed13f444bd3df02456182c9 + + + + + + 8c02ce7f9fafbb7693f0880818740fa2 + + + + + + 066ce8aea068ae0dcc4b2061d76251c2 + + + + + + f0a0fc7883f5820972642bb1dc037481 + + + + + + a0bd5539e0cc30c9b3245b8be962e9a6 + + + + + + 1dd65eb036be9ec57d7ad367e65286fb + + + + + + 9f7ff90d436fde6a40878fcb465fe83e + + + + + + 7a297bfaaa318a3ae367c59d8d852c06 + + + + + + a477248c6aa822d5f59fa04e65c739df + + + + + + 36efdcd4fec79c5ca02f4bac22439664 + + + + + + 5fbe6595a2ecc2b725041599b5293c6a + + + + + + 57ca3969438f30225921731365f9ea7a + + + + + + d0bf61ff491f8fff55a1e6c8110031a8 + + + + + + 603525a9c2b2a598a155afa6da797218 + + + + + + ccf808a356787a746b4dc33352eb118a + + + + + + 9c3ecc0f286fcfef860d036161e38810 + + + + + + bdeecd01079d9ff8f87ba516149006f0 + + + + + + 2b7ac0926284987ea5416e21157d539c + + + + + + f77ae3dea3752e90386709187c204656 + + + + + + a6e49a209586640c9b3e4756a48e86d1 + + + + + + c83336b8f03ec6ecb4b939173e0233ee + + + + + + 9abe1922c518a7beb68fdc85f78941b0 + + + + + + 1d3319fbcae5045fb470480d8ef23072 + + + + + + a0acd66f4f0a908ef4391a8031fb8630 + + + + + + 9c52448a7723e758a272f6cfd2d15913 + + + + + + 2ba1dec7a7e56cc39a381bb03b3be25f + + + + + + 3c02ce8c26a03e017438783e5adc96ac + + + + + + 09cc7a4cd22915d00d1b7dc74a052f5c + + + + + + fdc22f4040a5a845179a759865161759 + + + + + + eb317341227437e506829c3ac96c0f06 + + + + + + 5e36329701c6daea9bfd33b0d493813f + + + + + + bbadf92dcbc92fda6ab6828a9fe761f9 + + + + + + f774c8c5dd7a729d27227770038b3715 + + + + + + 3e80d36697980117dc3fad5d4eba6840 + + + + + + 41647bfe96b05876bcffb8c5c190ef3f + + + + + + 5ca3e86c37f1735db9fc334582f64b1b + + + + + + 5c731f81f874c9612c4c17f54bbdb227 + + + + + + c12ee9e3009867dfbbf74f1784c868ab + + + + + + 181b058d56c4b1db8e2243253ff4f1cf + + + + + + 26c4becae7f2847c1d2d572f7e7d513b + + + + + + 51fd3d38797b77acde0d04da3854ca88 + + + + + + 137f90fccc2a8e503cc233383e84d127 + + + + + + fe70b820d755416280a694201cb7f94d + + + + + + c5f7a21421f746f9b263d9632bbe82cd + + + + + + 26659c085a1442a6bc02f530f0c793a8 + + + + + + b245bded68691cf835ddb4d1331fbbe1 + + + + + + 747db38a07d7b410f3e708abdee67375 + + + + + + 8aefb7312ce628ef44cffc21ea5bdf1f + + + + + + 29763fcc2479a8fd4e3d9461239acaba + + + + + + ae323e57289dd59d037f36a0ab913993 + + + + + + 71df5abd702f7d8a028e0eb3666aa639 + + + + + + c382031b06a41579d3bc547e76e83105 + + + + + + 9622bfe4cb0bd14dc52670f56f4e50d2 + + + + + + e6f824fe274b2647a9c4b64b1cd06fcb + + + + + + a6a061f4a9df60fcf9722b04d9669f44 + + + + + + e47845c2736e98a3e5e5b3a8f4f7eac0 + + + + + + ec6684bb869aada647ca2f2c3f593310 + + + + + + d4bb2b0a679d7cee986a3dc0f9fa414c + + + + + + 379efacd46b99637dacae92942d4a9d1 + + + + + + 0ac0b1163097c04919c47ab87e805012 + + + + + + b8b14a372f1bdd0f8f809741b4ba80d1 + + + + + + d53dafe914afe61335869b355b61f509 + + + + + + 90c84a1b1d0c503c8b686521feed9bec + + + + + + 900c1fb36d4151fd12ff2e89af22d396 + + + + + + 524e613809baeebe71292d66511e0bc4 + + + + + + 392a3d955fa03cafec1b11451c068067 + + + + + + 7987cb9d37e6a7ce95c674b9f9ff2609 + + + + + + b271b0deaeb258bff7648b6db720b766 + + + + + + e242990090f606192e27045a07c7edb1 + + + + + + 5a6783bcf3dd182d8e77aabdeec35c6b + + + + + + ef7b12950c8cc4d187a2c5fe08b53a0b + + + + + + 828d78c0467078f7c484698cd4880fda + + + + + + 61471e41a2a8ff521bde08b6c16b2759 + + + + + + 5d9da8e5e26600b57ba84e431e6769a9 + + + + + + bcc41677c18d6bb9394eaac4de1a43eb + + + + + + a83706160779afea5df8f1c0d90a1494 + + + + + + 1b18f5474a0e97903cfda4b3e8df7721 + + + + + + a2daca773aacd8e482844abfb8681b10 + + + + + + 90ec07d307aef62ca67d909808afcc24 + + + + + + 8dfc63da7a74b26ec69195eb52a89002 + + + + + + d5d0cd8b5f8a3f30ed8879d3a1406cbd + + + + + + 34ed2f01e0cf4e4e02ed9d324be0a956 + + + + + + 16e4fd72e956a739af73eca55cee5ce5 + + + + + + 095c9da7a830b63a86023455d55692c9 + + + + + + a55cb34790774b219ed4bd07cc4ab889 + + + + + + 3009c3b71c301df30a1f4e8309d84c3d + + + + + + 101ca2f8b52a826ba9ae2f04a69bca7f + + + + + + fab47b9255329a875b89944f7ba6529b + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_hktm.safe b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_hktm.safe new file mode 100755 index 0000000..f249722 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_hktm.safe @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + 2013-03-26T10:37:04.000000Z + 2013-03-26T10:38:04.690000Z + + + + + + + + + 0000-000A + SENTINEL-2 + A + + + + + + + + + X-Band Recorded HKTM transfer frames + Transfer Frames + BIG_ENDIAN + 87706 + + + + + + + + + 27297 + 27297 + 161 + 161 + 32 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + measurements/tp + + + + + + + measurements/tp + + + + + + + measurementData + 345 + 6 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + 16f2a7e9adcda96170bc1fa873e275c1 + + + + + + 78e55fff5a10ec1129949a367e888379 + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_pdi_l1c_datastrip.safe b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_pdi_l1c_datastrip.safe new file mode 100755 index 0000000..9e01c74 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_pdi_l1c_datastrip.safe @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2014-11-04T13:32:27.097749Z + + + + + + + + + + 899 + 21 + + + + + + + + + + 2012-000A + SENTINEL + 2A + + Multi-Spectral Instrument + Nominal_Mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 00aa3c4c13b1cd37fb9f3eb646e0d4f3 + + + + + + + 8cc38ec78983d92207e32b574af3595e + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_pdi_l1c_tile.safe b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_pdi_l1c_tile.safe new file mode 100755 index 0000000..da1068c --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_pdi_l1c_tile.safe @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2014-11-04T13:32:27.097749Z + + + + + + + + + + + 899 + + + + + + + + + + + 2012-000A + SENTINEL + 2A + + Multi-Spectral Instrument + Nominal_Mode + + + + + + + + + + + + + 45.6,23.4 42.01,12.73 43.28,1.44 46.32,11.33 45.6,23.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + 00aa3c4c13b1cd37fb9f3eb646e0d4f3 + + + + + + 2d55cade142891a8b845c9eea65faa06 + + + + + + fce0b6f7a1f934c226151b373a5a2821 + + + + + + cb2357f48e25a5fd08a78234837edb2c + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + 00aa3c4c13b1cd37fb9f3eb646e0d4f3 + + + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_user_product_l1c.safe b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_user_product_l1c.safe new file mode 100755 index 0000000..7b4a779 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/MANIFEST/manifest_user_product_l1c.safe @@ -0,0 +1,11247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2009-12-11T16:59:28.0Z + + + + + + + + + 65 + 65 + + + + + + + + + 2014-000A + SENTINEL + 2A + + Multi-Spectral Instrument + Nominal_Mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 35.2498562034 -100.6616689 35.2734657697 -100.7871508994 35.2986501875 -100.9221219652 35.4373318509 -100.8838546049 35.5765816862 -100.8452576998 35.7158283029 -100.806593653 35.8551038941 -100.7679406877 35.9944487877 -100.7293705906 36.1335238473 -100.6901861712 36.2727331135 -100.6512165173 36.4118910294 -100.6120903982 36.5510559015 -100.5728944661 36.6902463918 -100.5337122234 36.8294546614 -100.4944902445 36.9685527034 -100.4549381456 37.1077002679 -100.415462912 37.2467958827 -100.3757707253 37.3858535139 -100.3359257544 37.5249218045 -100.2960297612 37.6639681267 -100.256000184 37.8030462875 -100.2160248706 37.9421207664 -100.1759014112 38.0809816172 -100.1357138477 38.0552812114 -99.9943177177 38.02966559 -99.854379781 38.0286222111 -99.8546860121 38.0052104697 -99.7268411783 37.9825203483 -99.6038067184 37.9828444682 -99.603710506 37.9828339271 -99.6036534559 37.9828425246 -99.6036509052 37.9828281679 -99.6035732284 37.9829262983 -99.603544119 37.9829123385 -99.6034686135 37.9829237023 -99.6034652425 37.9829069615 -99.6033747239 37.9830036081 -99.6033460591 37.982951315 -99.6030631306 37.983199265 -99.6029895738 37.9569859079 -99.462479519 37.9307924341 -99.3230133021 37.9302450404 -99.3231778672 37.9064602788 -99.1967722982 37.8831300016 -99.0736575597 37.8833844312 -99.0735801981 37.8833831911 -99.073573665 37.883469853 -99.0735473275 37.8834619053 -99.0735053944 37.8834890813 -99.0734971342 37.8566848549 -98.9333907558 37.8552141923 -98.9257554203 37.829853693 -98.79422748 37.8296744419 -98.7942826614 37.8055011672 -98.6691746235 37.7814847891 -98.5457310034 37.7815532517 -98.5457096966 37.7784178497 -98.5295973684 37.778361568 -98.5296148908 37.7542014654 -98.4064311202 37.7297604058 -98.2826675097 37.7298768073 -98.2826308697 37.72987671 -98.282630377 37.7298782629 -98.2826298882 37.7268244881 -98.26723128 37.726787064 -98.2672430664 37.7021987117 -98.1432366188 37.677461422 -98.0193074857 37.6774801791 -98.019301515 37.6744014799 -98.003968856 37.6743659182 -98.0039801929 37.6743647883 -98.0039745662 37.6742667295 -98.0040058222 37.6494407359 -97.8803708786 37.6246035471 -97.7574427874 37.6246982783 -97.7574122575 37.6246914558 -97.757378494 37.6246917339 -97.7573784044 37.6246911517 -97.7573755232 37.6246930448 -97.757374913 37.6246901954 -97.7573608117 37.6246908312 -97.7573606068 37.6246870991 -97.7573421377 37.6247254219 -97.7573297897 37.6226628518 -97.7471207734 37.6214745551 -97.741276427 37.6214430093 -97.7412865904 37.5964277821 -97.6182600943 37.5709270932 -97.493675787 37.5709643249 -97.4936636751 37.5679790661 -97.479076227 37.5679743421 -97.4790777672 37.5679738921 -97.4790755781 37.5678577381 -97.4791134493 37.5423228119 -97.3548888755 37.5170481853 -97.2327263446 37.5171175463 -97.2327035385 37.517071852 -97.2324827679 37.5170753695 -97.2324816118 37.5136090532 -97.2158478231 37.5135413209 -97.2158700701 37.4880544938 -97.0935932593 37.4589449777 -96.9548330751 37.320547489 -97.0009744569 37.182105173 -97.0469194752 37.043660971 -97.0927546644 36.9052137827 -97.1384832855 36.7667023199 -97.1839441025 36.6282152079 -97.2293349568 36.4897127425 -97.2746403369 36.3511889241 -97.3197996663 36.2126680465 -97.3649340069 36.0740889954 -97.4096758139 35.9355242723 -97.4545339706 35.7969206865 -97.4990752571 35.6583266148 -97.5436475544 35.5197157995 -97.588147575 35.381056602 -97.6323434727 35.2424019367 -97.6765356261 35.1037009906 -97.7204543415 34.9649750008 -97.7641703247 34.8262509141 -97.8079569881 34.6878234917 -97.8515572549 34.7161567334 -97.9854468027 34.7438500981 -98.1170450136 34.7687191977 -98.2361272754 34.7966452382 -98.3704206997 34.7967085164 -98.3704012754 34.8219166078 -98.4922523454 34.8461447432 -98.6099988366 34.8459601154 -98.6100551984 34.8460521294 -98.6105025261 34.8460491014 -98.6105034508 34.8734822249 -98.7443261813 34.9008802031 -98.8786251954 34.9010013061 -98.8785886983 34.9253703347 -98.9989516146 34.9493791825 -99.1182190439 34.9493218874 -99.118236131 34.976291779 -99.2527588231 35.0001004962 -99.3722302052 35.0000970983 -99.3722312086 35.0266780281 -99.506537913 35.0531115845 -99.6409053921 35.053170027 -99.6408883288 35.0531788421 -99.6409332776 35.0533020853 -99.64089729 35.0771137293 -99.7623268958 35.1002258145 -99.8807197277 35.0999406389 -99.8808021841 35.0999437553 -99.880818167 35.099902335 -99.8808301451 35.1006836497 -99.8848713844 35.1245397402 -100.0081905542 35.126063852 -100.0160646042 35.1518993931 -100.1503320238 35.1523610902 -100.1502001996 35.152378466 -100.1502907822 35.1524855926 -100.1502601916 35.1761346132 -100.2735636893 35.1985428121 -100.3909339681 35.1982998079 -100.3910024475 35.1983088152 -100.3910496656 35.1982477673 -100.3910668787 35.1982496449 -100.3910767239 35.1982127869 -100.3910871153 35.1982358384 -100.3912080176 35.1981854357 -100.3912222269 35.1982074687 -100.3913378134 35.1981657928 -100.3913495615 35.1981875164 -100.3914635514 35.1981592028 -100.3914715338 35.1982177555 -100.3917786372 35.1979555599 -100.3918525464 35.2235866397 -100.5274020576 35.2488561188 -100.6618059634 35.2497430261 -100.6615593856 35.2497682408 -100.6616933579 35.2498562034 -100.6616689 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 27de4a44e4eb36e860bbb2d7a2f5a2ee + + + + + + 16bb56a5b12ea5f8a878ece5e1e03487 + + + + + + 52cdc7f1c3b45d00ba55fdf194d33ad8 + + + + + + e5dbe69c68f265d51ad04a4ca171e3c4 + + + + + + 21deea34e6c0f74b2dcc21eebb21a0f1 + + + + + + 4a34a609adedcbbb4980dc3c43e6afbb + + + + + + 3d989a88af23af7d71fda6c57770a78f + + + + + + a8ac17caa83de535e27a41bd827063c8 + + + + + + 914a12e7a48e258ad63a77bae8c3c2be + + + + + + 53a3d33c8ce5edf2bce8237442478cc3 + + + + + + 8a28d7e3279601ef18eeebe6337d2426 + + + + + + 8da1ea23eef5f3e3f4a53cdd3bf73d88 + + + + + + f7c87b70dde55370c78ab7a5ef10f41c + + + + + + 2a1800630537093db59d842e235f371b + + + + + + 22e9bd6372550b336ddee73580e15fdd + + + + + + d01244c1443bbb11cbe480b354b82adf + + + + + + 3db99895359f04e1a3acaef239b5b85c + + + + + + 625974b334fb3bc5f7312251ac8abb94 + + + + + + b7e52f2d37f876fced91974920c1d736 + + + + + + bd7344acb5f621ceab2b5bd750d89767 + + + + + + 01ff1ed69c66d4933ef62986a01b17d5 + + + + + + 291171764a2de6ae956b4399f21bf83d + + + + + + e779052d2ee00206a7a92f39ef4caee6 + + + + + + ab0921138a9446092b41adb94461984f + + + + + + ed51bf21a32f1030b199b2a93b622d80 + + + + + + 89096478f541b76356c11abfe2804b74 + + + + + + d71447bbb4a373d0ce789338b22aa9e6 + + + + + + 89c9e1c154dbe14f984f8b0c6bb8976a + + + + + + 3b1bd33ca8ab03eced89e38dded6f742 + + + + + + cdeda88f39a78c01370fd035ff68506c + + + + + + eb4667f5a7be839e73e2a914934989c7 + + + + + + b23c985aaad8b05ebc9d31620664ab31 + + + + + + d1a428aa936d8458dae30c92015000ac + + + + + + 03f8a891e3bde8d6e61fe8ab83ed07c7 + + + + + + 7d42f5f739bbe36619ac027d861c827e + + + + + + d01a99386d3903af09f14d6f5f84b916 + + + + + + 91953e568c4b73ca44a7be7f7c10ad3e + + + + + + 03df022adaffba41f6febb488667b950 + + + + + + 1e6b96504c4243b703104728bd34f390 + + + + + + 6bdfc363734504b1969bad216a050114 + + + + + + 3a69a8d175b8a455c7e295ba51993d5a + + + + + + 343f012052dde1b04a37e70650553e18 + + + + + + 3e2aa04ef60bfdbacfebf1c1b3136d98 + + + + + + fa313d87e3dac1e03526219ad2ab33d2 + + + + + + 7ee13bc1e8d1bbb6e00a20becb136b69 + + + + + + 43dc54bab63ffd4ad0a284b374e80513 + + + + + + 3b311f8cdfdc8a65ddd1ad44faa069b9 + + + + + + 8308db0e2d3cc8d4f17958d9c9362d77 + + + + + + 9f83250911619defcb55991e18a4a0a9 + + + + + + 3fcaf733c63bd000c643f07fd05b1c72 + + + + + + e80e707db1fb7db6208ef89bd59ad8bd + + + + + + 047a4aef03e23629bdb7e119b8879a86 + + + + + + bae9d27b4c0ef11006445e819d32879d + + + + + + 7d5613712f19af77d26143eada0e11eb + + + + + + 6ce73fa7ed2f1002fbbcda7d7762811f + + + + + + 736c9bfa773ba13b82de783ce89b9660 + + + + + + d6eca26c0ef0ee12a28642da8839072b + + + + + + 73729db9fb524c2e988bc4d38aa73428 + + + + + + fdd78d7af0dc92c6ec2235353cd0791c + + + + + + 24eb831315179dddb6730166454563c3 + + + + + + 96ab835372a541ba5837ad98600a2c84 + + + + + + 0a0030220315ff9133a74a85e1808e6b + + + + + + 555533f8101c4f7d907f5edae88db075 + + + + + + bbedcdf66000a53ee0a5b15b7855c977 + + + + + + b151972dd68ce2bbedd9a62c54065892 + + + + + + 7e444678b120ef70e944021fde5f9f31 + + + + + + e4030357d2b931c20e035b7a92125901 + + + + + + 879016baefa3b632b0a9e33d6ad53c14 + + + + + + f7aeed959bffb1ede978bee6059c3679 + + + + + + 6a7fb5c2c90ebac8e074a7cfc3bf8f17 + + + + + + b6bcc72b9a056a71e45657ada260d3df + + + + + + 23efe39a32d3e890c103eda123b59a04 + + + + + + 561e926a776d60ae5372401e2731e5c7 + + + + + + 1390d2a263fbd7c0490d8630b9f15f26 + + + + + + 9986d75b2371701144af78509167fe59 + + + + + + 7da6a40f830c7809bff688f937bfc78f + + + + + + 474d4457009b8cc117b61d60509344e2 + + + + + + 9aec2c2c20e7627594dc44d14f8e0854 + + + + + + 004d922b0f7ccb8a83f81a5f97a8f4db + + + + + + 586411b59176776c45b6757e14ede281 + + + + + + e6ae58ed314830657956b875e14429c3 + + + + + + 776725b1cfa1cc1b6994c7c674fd4cb7 + + + + + + b803b27a5416e74ea219520efcf0b0fe + + + + + + a0a21842ecad28674b16350c010906a5 + + + + + + 02ec4223794599176492f4be4059b8c4 + + + + + + 25768d593806a5ba979389ae5a6e18a6 + + + + + + 43e0948454d3ad8a7161e4f947b96c1b + + + + + + a9dbab00740803c0318d803e5fa14c4e + + + + + + 655cde49e9949e9dfc1ec589a1f1ac14 + + + + + + 357e2cb92b68475ea0a90c3a8b198232 + + + + + + 2691d4c16874a7782d0042bfe6265d5e + + + + + + b592aea541de3f699413c958eabbb4d2 + + + + + + 629c6edad23ae699ad049cf7e6c17d3a + + + + + + 381e94bb8d7827a7f82e9e50c49adae7 + + + + + + b7a6dcdb699beef1a784142088808e83 + + + + + + f4ec7bdb4f9a20fc02e5cb48475cce2c + + + + + + f54be9c59c8b90cca17e473fa662889c + + + + + + e64574a0becbc71bfab793fa743ddd21 + + + + + + 0f4a216ef3c7ab1846cacfbaf03d7272 + + + + + + 545d83fd18d7ca842733142310b21a0f + + + + + + 8201ac225892ee0371febe4f7ed84385 + + + + + + 31325e38daad83553403a0795a2cc3b2 + + + + + + 3a9d0530146d15dede5a5f50523ce967 + + + + + + e2f5ae09acc1ecac3d9e78dd10b1faa3 + + + + + + a85f08f3962810deeea7e5b472c32923 + + + + + + cf33bb181c39d2bb96230ced7368a56d + + + + + + 063ad56d543dc02e8fcac341346788a4 + + + + + + e474ac88cb99d5a50f26594dee2a90de + + + + + + 87c0a982e28ae02c9a133de5f76f0ae6 + + + + + + 7378f32ae24050e46b9f261244c87b1e + + + + + + 07130bf0c0c9aaebff1fb680aadc40c6 + + + + + + 30c61c39c1ac28042960fdff8b6b6ef6 + + + + + + 4812225ea9caf43221a6f33b665c1977 + + + + + + 2c8d818e8d9e61b8ff21b9e2dfce2f82 + + + + + + 9d37a98b820f42c84d2f05710e9d9ae4 + + + + + + 89043249b417de2d1e732c6ea92781c3 + + + + + + 6c4887aa357bcbe85e9c830c56972743 + + + + + + e654856193d1ec42f72d8e90714a4434 + + + + + + 3f05a2c8ab6adcfe8e91f2e41d40f8a1 + + + + + + aa3f753cb2ae642f9646410e423ebcd4 + + + + + + 463c28ae295c4b8e5985b15024b89b9d + + + + + + ab6a46467932e70b788b5ad09f5621d8 + + + + + + 8ddbb292ce5a4cb276c83417c0764d9d + + + + + + e6c9fa579295350286898ac9016f62ba + + + + + + 9642e7e596bf2955c6edc0143d74680f + + + + + + 954f88465b5e5be1cb19adc6e88a9d6f + + + + + + 4dcc266eba0cadd359d1abe504fdafbd + + + + + + a45a6968f6b2a755703afaa9506359b2 + + + + + + be38c43a7d8e50c01d1feacbe6dbf550 + + + + + + fe62769013c819e56a4dd965205452db + + + + + + 7742b21d51555ce63b047225da729354 + + + + + + d33ef4662e45d50706bd8c4c4288c308 + + + + + + f95c31ef0f72ca2c11c1ca54665dd878 + + + + + + 558098a7ddd98057077da30f9fa99479 + + + + + + b545137ec8efe1296cb396ab3328cd94 + + + + + + 943ac136dbf3bdb60356bc7fa26eb718 + + + + + + 757523eec1ebdeabba94dd6b809941ca + + + + + + 2407cf7d682b394a7bb2ecf6df037461 + + + + + + af04d7b0498fdf6744eea24b2d6fe0ba + + + + + + 8ead8a683ea26fc990bf8d8f7991aa82 + + + + + + 863e460246ffd72efda43ba01f3b6af0 + + + + + + 0038885769ff4055d2bcedc4679006ce + + + + + + f49cf90ec7d71f0536c46e3c2b2f5708 + + + + + + c44eb3716a1f19b5c05b3f596b35f4ca + + + + + + 4d958339ea1f0862b70eba70c73ebce3 + + + + + + 47c1afa6713208c784ac89f8a5395409 + + + + + + 484a7b4ccdc36703af37e1e747b579e1 + + + + + + 33d1de723dc94dfb13df645a83aa1111 + + + + + + a19823754e980e20844d35e41a86ce68 + + + + + + f034154580203d7be0c64929b7024ddb + + + + + + da0b633ba216e8919cf85bf7b0a31fc3 + + + + + + e8d9c476d8d6b60bc4035a2c83375eb2 + + + + + + 698b1af4ddb1322985a1a6f342aec36e + + + + + + c3d1450109e83829392e78781f130cd0 + + + + + + b924f6697975f5b3726faa8441fda6a7 + + + + + + 4b03a8d3294df1ef4caf443f555e3064 + + + + + + ff477db3c1b2f4eab54f1223b816a64e + + + + + + 293db5aba3d26f7dadab336c76f8d59f + + + + + + 163e9aeee091f1a75154b524441b54d5 + + + + + + 63ea453927dd2c0ccd31ec9c093abec9 + + + + + + bf1a83986537a4bedb3efd0c2b3d23f7 + + + + + + 8013c7927fce01f7bb35efa49b9e209e + + + + + + d2a2ca1b8a13b942296a40092747d54e + + + + + + 316234ce5ccebac89ff4677175d8e585 + + + + + + 587e60c52914292c94198cb234fe3cd3 + + + + + + 1595058c1f5b823a7fcde7c88c2956c2 + + + + + + 15148efd8f75f43fcbf19fe9159f00f3 + + + + + + 3d683a94ff684200f433429658c8c154 + + + + + + bd91da04e2088dda6f2bc552200145ff + + + + + + dbae81a30bfe0d2490021eaedf83fde4 + + + + + + c5d239bb0f40830189dcfbd190b4ee64 + + + + + + 311ddbf53b51e96373c163c4780b467a + + + + + + b724745822e1fde583555e2fcb24cb3a + + + + + + de860a616125f0a3116d7f7acc1c8bc3 + + + + + + 82d2d47f2509d0d6ed3337d12d619910 + + + + + + 76dd34f2c4396639b0232481e8a0dcb8 + + + + + + 9e10daa541d0fe3ff0a1a7b11ed4636d + + + + + + 2ce58e67fdcc855be97a8abf872504ff + + + + + + 2235a698b861b655d9b5ff2b38678b18 + + + + + + 367c1bf0e449c197e651bcfc40edf0c3 + + + + + + 6f38ad5c85cf060531494a38b82232c8 + + + + + + 98ab064bcbd2f12ab573b278ea59442b + + + + + + c69405b0decedb91ab7e41b78e1adb67 + + + + + + d75956b1d68536f28a0597ccb452fe83 + + + + + + 3312fe3dc2a33dc2c821f59006bfb655 + + + + + + 11359577202a37501d074c78f7425a0e + + + + + + 5d26616a8158439fd326c3d2b4547003 + + + + + + 576d5aedae570e1faeabdabd2b93066d + + + + + + 3b487b1a5d06e0409e92efece9a21f4a + + + + + + 338181a8c3ed995fe07ff03b246ef6a3 + + + + + + d66a1767f6deb8844ee259eac010de6e + + + + + + 6344a204ea365f4a624b0efb7e0d50b9 + + + + + + aee891415a3869b5742742e90ddc6b2c + + + + + + babb81199e0334f3fd157e6db2f7cd34 + + + + + + f6297a332ffbd5983aa32549bf5d9590 + + + + + + 92049fe4e1b8222a27bef4d3e3180b19 + + + + + + d38801c339e3075b985961b08dca9678 + + + + + + f9c278f2be7b22f9a90c67db42750728 + + + + + + 340e86a2497a1782c2592b0465b9d827 + + + + + + fd53bda2a4dcac66c3e3a44810bd3d1f + + + + + + a17fc829c2d31b5de60af7a3b371e524 + + + + + + 95573e84dc9d3c7a3f61798fa780b450 + + + + + + d4ec75e4023b02f0ff57cf73871273b9 + + + + + + 2847123f94ef94f0673beb28e97b8c00 + + + + + + bc43aea490b20c3a73440da1562b5101 + + + + + + 2c3269cd8d23611cf599eac38112c00a + + + + + + fba0cae80f0f27bc090e8fe8740b6259 + + + + + + fd6fdb84f0173ed68ef5dd1460927c6b + + + + + + 1effd8595fb83ee5687051efc7f869c0 + + + + + + 84c98dd5351f3dce5db9fa7a799caffe + + + + + + 35c9a6116f0e33b2ba2e78373f2e49f5 + + + + + + 636b85496aa9898cb4fc65ba1c721fa8 + + + + + + 4889d4926d9c3dd88a0012f237fd0138 + + + + + + 2b611bdc5ad1669af048bc7fbe5222fe + + + + + + fd67b519413850623bc8e75daf7244c7 + + + + + + a35bbc44f37cd20f9c8bcf4d3553d122 + + + + + + a5993ecdffe15de486622fda3ae63983 + + + + + + bb2cdffe84ff951315090a6fc8f06553 + + + + + + 07aab9f1f802115536d789ca849cea78 + + + + + + 8e690d37db1ff5abb6fa78c808f0ccc0 + + + + + + 5afe483bdd2ec626efc6d05ae0799da7 + + + + + + 5c4efd8d96a39540d2974255aad809ac + + + + + + 0fa45e2209076b03dd484969ec0dd6d0 + + + + + + c56b9afdcc19f9c2c0550881171ade3d + + + + + + 29b9d423408cefa5658f2fb5c04602a9 + + + + + + c7a896e7b13d498a3ea29f31c876fc7c + + + + + + 1f9b8bc455b8bacf4ea0cb854e619c99 + + + + + + 3ca1305c507b4d5ef6f06adcdb8247fc + + + + + + 100e12662e89bfe950e6244ecef447d8 + + + + + + 44b4d98d167b8f3d9843c43cd2159947 + + + + + + 083f0149d18e2dabca191b0820030c2d + + + + + + 512d25bc2c0b3269988f7672c06578da + + + + + + 24a9fa2c10398d8b98eb92c02146f6a8 + + + + + + 5dffb1b98e9f30f1a66a31dc5634e9a8 + + + + + + 9f5ee1e8d2270811df9d922a0808525c + + + + + + 9c1ea015b3df642653d62f71c7ba9885 + + + + + + 8532ff4ca7a88401522a332f7bd985eb + + + + + + 2d0be5ebfe882f1ffc39ddd2e4be22d3 + + + + + + 0b10ecc4e3b6aab28168b408dce1462b + + + + + + e280b1cf76a70d0bf8adaa907be7eb1c + + + + + + 14a71307497eaba4b468366ccf3fd426 + + + + + + 3d0443784e9f115675c40b0442579bc4 + + + + + + db7fa7d56b5b58e54a6842f98659e0d5 + + + + + + 6c691c27a911d7c07e3858fd114de0b6 + + + + + + bfd11909db1cc48d93337a105c96946c + + + + + + a9bac1e7fb3c7db95afab0c71f04eefb + + + + + + 33e76c24413258adb2f902e442559b29 + + + + + + 09d20b7f3814b64beaf28fef2a7694c4 + + + + + + 411e2d532f93bd24492e7b0f8043ad0f + + + + + + a9632294fe44f0bc1762a9cad505c3ad + + + + + + 5818592ff581e4301c82d7bac13abb31 + + + + + + 95e0be260c2e9ecc4e949f08d683bb21 + + + + + + 5292be85d96764bc981fec50c8a5f84e + + + + + + 23f739a318bf16cb7059c9dfe0a7a107 + + + + + + 480ad6d0c387ba2ac0ed904a0170c3ae + + + + + + 9a1b18d8612885d5fb4bc8160805b327 + + + + + + 8ec785ee92e7711de0bf2e5b94dea48e + + + + + + ededbff3988f3eaf6343ede561ba0c0d + + + + + + dd6b77ac981fbacf9b53d38de76d416a + + + + + + e282a4072ea89bab7f5bcba8ed664f49 + + + + + + 7611a54dccad467e9b28482b80814079 + + + + + + 648819bde2d5b18ae2c33594c2151d68 + + + + + + 0fab4563cb15c384a4d87dfd3ab238ab + + + + + + d3cfcb9de8cadeebeb0b6fa2393bf573 + + + + + + c80ef5aa211e759c103a68939e1daa66 + + + + + + d7946babe0d8eeb00908dcf6d10dca4a + + + + + + c5a683a2d571ec5232b46209178d667a + + + + + + 27a36f674d5d3c0eb65f31bd50d2d3a0 + + + + + + 483422b833def9a8556a438a046c235c + + + + + + b58ae586225cf0030049a26b32006871 + + + + + + e51ab902aa61a0e87817a31b7a185fd0 + + + + + + 08475d42faa5833857c071a2d55da701 + + + + + + 719b98f72edec4d6d0d53e1b178f12b8 + + + + + + 528d01cc9448912aaf8bb551a6dbb790 + + + + + + afb3ee9602ed2e7573e1c4cdfbca904f + + + + + + 9bf9878fcb701720063beef40987216f + + + + + + 5468e63418b94d71c1a7513854951455 + + + + + + 966d62ff7636c2316aeeac43e1f3c28e + + + + + + c013de9e628b1877161c19b0c018cd64 + + + + + + 3cbe5f705842a2ff9eae5b2fb7ed4d57 + + + + + + 99c4e707992f2d2d89c5ed70b19c9f5c + + + + + + 7668e1d66fd7ed04a6dfb4802b5920f0 + + + + + + 10c5d5da3dc23429c44d1d510b206f97 + + + + + + 7c0880b4f35aceafa612ac589705e959 + + + + + + 85fd96e775c5dd87618ecb900558185a + + + + + + 823196602f2cd446a8bc1f435cbf90c9 + + + + + + fd42f7155b8052dfb2a84f3414a6c3d8 + + + + + + 89d17f81d4c22b8a4f64a8befdb6c2f8 + + + + + + 8d0f3b81b9dbdfc6a5bd143a3ea19465 + + + + + + 45bf27b64ad182e8267f7b7cdc31729e + + + + + + 005750f0d6e92ec3aa3e487e21271a40 + + + + + + 72c0e372d65f73ff82b684dde2122c51 + + + + + + 0f6d1bfe253f0b8be3838662b7d14742 + + + + + + 0fe080d7158de6d3061bacdb5ef8c1f1 + + + + + + d0683160a6052d161fe0f9d0a00ce518 + + + + + + c53688f389f562c313e03dae1328411d + + + + + + a1f06d0076dbb56ac7e1fe0e2bfd4397 + + + + + + 37a08eb1833902500021cdd06450e464 + + + + + + b1b7aad9ae2526097b619157f7ba5cbc + + + + + + 26f8aefeee6518695de4b5fbbe8fbc28 + + + + + + 6a5a53cd80c66d2a34d8c37d2c253e1a + + + + + + 02ebc475d97687d581d822c936f570be + + + + + + 072799d310e5548b00e82806a6f91111 + + + + + + 9e922baea1ef911596580215d00cbd5c + + + + + + d49925da5ba8d2ece8cac266f157273b + + + + + + 1237a4689d2ac03ae82f0ad9e662d401 + + + + + + e63bc41c040e3d2bc5d6e533c15f1acb + + + + + + 88262dbf10a4214b3f556e556f9900d5 + + + + + + 3571d7f3cc64be351db3107e78c8e8d3 + + + + + + 98f588451121b076ca4533adebe15ffa + + + + + + 7ff5fabecc1cc56ac38b2d384295cb87 + + + + + + 13f6d41d74fd335a10f84701ac5a0130 + + + + + + 061c3675e37c4a39fbcca79c6f8cfccc + + + + + + 4fd48283bd853616bcc2bf57028239fd + + + + + + ec0e8a0818c6ee7a8a6a12c76347a29a + + + + + + c61bec56ac09f7a7e67161b2ee30ca80 + + + + + + abfa236cfe31b21a0ae916c3d938ffdb + + + + + + e5c0d274e3f21a0930809d515e24dd30 + + + + + + 02f6c34ecb6faad8b61e111a87262f0e + + + + + + c8516972fc96a0cb8fff29300fcc2929 + + + + + + 739e0ae9a6055c77d61f92ceb5b49170 + + + + + + 498cdec19d9f2c36cd96973ab9e7293e + + + + + + 63f277c42133a99a6c055d406f676c50 + + + + + + 3520d4cbf0c53772f3ece4b80cf0e713 + + + + + + d1bb2fb72fed5e65e62aa8cff5748d9d + + + + + + d0a46f17f97e9b4b0b1114d32d3fda5c + + + + + + 84ce7feca075186e5c07869e85d478a2 + + + + + + 1183f3bb0ffe23825826284ff270e6b2 + + + + + + 1647f243031a41853e827dde63ef3f4b + + + + + + a6df49d3ad9844c293f85906a37883cb + + + + + + f04834c93d995748471b70b3b2f6838f + + + + + + 5c191c38e40ef9b449c8997e95b5df14 + + + + + + af0929e3efa9bc74f47bd17c08987549 + + + + + + 11e5f5b90fe2cc25ead5499dad6408c8 + + + + + + 41a27f18c51a953b9fb5be992896eb6b + + + + + + cb2d0542917e16ce5799957484229c2d + + + + + + 95b1415ca49027ee1bed215428de1378 + + + + + + 3bc1a887e8e61d79a8464569b630cb32 + + + + + + 4809fe104e5faa6d2ebda9e254b40fbf + + + + + + 516c769fac9ac2f085f2fe87ae3d4cb8 + + + + + + a260e019e973628d6f6afb3476c7f915 + + + + + + 89fcb52946c4fddc98d25571bcb3c655 + + + + + + c2c6b4d0f39a9848e132c9908cc2d04a + + + + + + ff77f8c464d2e9c671029b87fd8a3f52 + + + + + + 77b884bd14d62d41e961f63940d6e7af + + + + + + f1a47f30ebde17f5d05257805934525e + + + + + + b9174080dd8c8f4aa2fee44f52d1d4f1 + + + + + + 99f0be87d9c79f1b7f92052f57349eb8 + + + + + + 5aff5ca97749fb455aa924392d2b3546 + + + + + + bda288740d4b74b01c662731d06b9722 + + + + + + 08d998439bf34cae3d7a350c8879751f + + + + + + 7a413afdde4a958e2a6ecdd4b0d22627 + + + + + + 50fa5134fa418b787b655b623fec9dee + + + + + + 4c8daa9bf133eb66dc7cbed725cec911 + + + + + + 38fc5626c17a7974e7b7fd2d900a03ec + + + + + + 6b3cdd1a718cdee487a1a66a047e4134 + + + + + + 564d04dd66a5c5d2887764131b441bbe + + + + + + ebaa6fbe823aa94dd62f246da48a7439 + + + + + + 2f7afdb664e15e594119026583f0a439 + + + + + + e4495ee8bf1f9b7e9bc148328c528c4d + + + + + + 9e8ad6099b2e767666038ad27894793f + + + + + + debdd87c1a8ec6794e80c36d73b27f93 + + + + + + 10a5e091b148badad2542117c66250ec + + + + + + 81ce5be8b0023d5eb5df536a24d38dfd + + + + + + 69953128909a702ac43db4afbf510698 + + + + + + ca9b4564f317553c4392c3650c0d75a9 + + + + + + dfee3b4fd5064d4817611ed4ef5f01b8 + + + + + + 8817ff7fe7ec33036200066dd375a7ca + + + + + + a238ff76c65f166c4abef32076375285 + + + + + + af58cc7e9a33cab400e528efb72a6fd3 + + + + + + bcf9eca5e0f890aaa7eed4ff68b0c7ce + + + + + + 5e76f0681985e747de9ddb2e59edcf71 + + + + + + 454a2eb707c518ebcbc87291a23e6dd9 + + + + + + f2deb8d6150a45566770ddd1347889c0 + + + + + + f74cba2134d6839194e4c5d39e30c86d + + + + + + ebaea27c5f664ef160cdb309ebfc6bac + + + + + + 502095636509b068e0f0a4b53af2e14f + + + + + + c724a12cefb907367d02e593df751480 + + + + + + 4a2eba36111657bdace6218ba17c0d37 + + + + + + c2fcc18d95289c48479196f7e17e9450 + + + + + + f47be3f03edd0e127bc5bd679b7e6b1d + + + + + + d023629f11740a6720551fca351aa361 + + + + + + c76d6227d14eee2cf5aead8bac428be0 + + + + + + 5e4450934374ee6fa2e822ad0f9b7809 + + + + + + bc54e89785c54df4cee730dc8ed78753 + + + + + + 9ef4450d78dd59fcfee8a5ec0ebb3e02 + + + + + + 7693e3846926136c5645770fbbe6b560 + + + + + + bcb4f06d5f9906167eb61669d621b545 + + + + + + e0b24849d0e08764ecca52ff35eeaed8 + + + + + + f5cc0ef68268effc5f7a2b4eba004342 + + + + + + e6b748bcc2893d568980f891daa3ec9c + + + + + + c6740d22c68526d91e341d122bbd4a87 + + + + + + 4124f93b8419e3a37ce3cd2e632973c2 + + + + + + c94ed02a41471fd72618a158c0cffb29 + + + + + + 2fe3bcac9da8c2cb0d8c45d35dc42650 + + + + + + 2048a8529cbc50a9e765a9a10be4551a + + + + + + 4bb2d5948cc0abd5cc78a777c25b69b4 + + + + + + 23c2f28a9bfdd93bac54020588feb6bd + + + + + + de1389f7aa1144743ff700ebde5d3484 + + + + + + ccb3125d67b006bf9a9a59dc5209b977 + + + + + + 40f7208e63be6dfacd82700f0894a425 + + + + + + e992a94ef29e8098f18e96449a377aad + + + + + + af2e28d788cec6941aec7c6ea1c2c3d2 + + + + + + 685e1050c14b490fcb82d6aa1ad2fd07 + + + + + + aa6f8a8c9339a17c2122cecff1fd6852 + + + + + + 8276cfbfea1d269d85cd715971cb7de1 + + + + + + 88b3633c9177cf074407a6fe6bb2b117 + + + + + + 41dfc615c169a10b1aa7d1299179b431 + + + + + + 57a0313385e24e47c469901b03825616 + + + + + + 48994d12798dfeb2c0a8fa4adca955aa + + + + + + 327afa530ec4f815b2904e87b7c29429 + + + + + + 16161b45e4bb0876f1783b60bb5337bd + + + + + + c1078b289324aa927da684ce44408f28 + + + + + + b3c4b0ef29b5a24d8e1cbaf11541c792 + + + + + + c102a54c0980c742c0c9762a30686667 + + + + + + a8dc870e2c7e6af5a86775ba0da287d5 + + + + + + 7780387306507dcb36351e1177e5d22c + + + + + + 7f58fdce0e8afee0a0a259ea2b089e50 + + + + + + 0e7e61cf10c5d7ce1f78733e69a757f0 + + + + + + bf96a8ef61d13d00b268766c511367e7 + + + + + + 4ba355a3aece9c49b0fc395e6169c2e3 + + + + + + 048912143448e4178da9643fc9e69d93 + + + + + + 7a493cb4cd7823529c7621befe73e1ba + + + + + + c7bc817780668155c3ad2aaa623afff9 + + + + + + a62ead5c9d14e1b1f63ba4d1e5091df4 + + + + + + 3548bcb148405b98f8befc0a5aa3317e + + + + + + e573ff3e3ab7958e67838caccfb53454 + + + + + + 8a2c45d25cd9ff15de35e87ac1c925a9 + + + + + + 6e24a52051f226033f78d7fee6926e98 + + + + + + 8035769b26776099430b55e064b9c4fe + + + + + + c9fa8a6ec42947088c25816035a87264 + + + + + + c6e3215217d00feee7fab9bbe3e09bff + + + + + + cb1207aea0af6ce8af6c23e67ba408c7 + + + + + + f74e516901858a888b5d3526b34a408d + + + + + + 25972c95418be530f6cc2f24636962e8 + + + + + + f0a4546f1c21124a8cc5a006dbd23a02 + + + + + + 109fda8d10c595db1201fc3d7338d214 + + + + + + da0fdb4143705835e5a15a97b919e2f8 + + + + + + 5929ddf8a69fc0aa7a5f203c47a3748c + + + + + + c35b41a13887dc0753be7aff7ffc422a + + + + + + 527cd67f9e013c8d5ae487282bfd641e + + + + + + 4990bddec42305a879d4cce8a064f25a + + + + + + abfcd22ec96a438453d53890c23bc5dd + + + + + + fb61f3a89777f6e399e7f658b2e721fa + + + + + + 3f7c35bbe61f97cc2d7737d3bcea57c7 + + + + + + dfa4e6efc8b3c25c7eade22096894c0b + + + + + + 55a1687be7f67da7731811bbcf1db1d7 + + + + + + 3ed43a2d429eade3666316dbad0c1db3 + + + + + + f6a2bd2cc547f7e11ed768718d4f630c + + + + + + 1f0f47ccfb64f5ad515c6d1d308da5e8 + + + + + + 96c0b32b55dfb5430d5affe715e1f64f + + + + + + 08022efd8fea49fb778555eb2025e04d + + + + + + 14cd088621540ad626dfeadee2045b88 + + + + + + ef8d46695b54828783f174a0ce37aab0 + + + + + + 8cfb01c1b13613d42b2724e4431abc82 + + + + + + 9603793a0abafc92311e41cf2319ad4d + + + + + + b611397ec305692f199e68f66bc08888 + + + + + + 99c0a42c697b0d1c523702b0989a4b00 + + + + + + 338a81bbb8d30aecb639228b32542011 + + + + + + d67b00ecce9a5aeaa0197bf1a9a9ea74 + + + + + + 5b06f2bc590f17b6846325017e763eda + + + + + + 4d01908ce794d6101c1de662a74c8c73 + + + + + + 4e9b6f8e961df7423ef4e6c77722c418 + + + + + + d6dda1f113acad632e3fca15b16b71d5 + + + + + + 69b14e948d265565d49ddd800b311a19 + + + + + + 8831806433993a386697c55f5c3aab3e + + + + + + 86614c2dd11a063d6e48a373ad26dee6 + + + + + + f0f3fc1ee4c53f76abf49c677bc5ab9f + + + + + + 1cd3f70710c425ca35c8a444e56907fb + + + + + + 47dfda23b83bbae90812efc379071854 + + + + + + 94748f60790e2e5ee704c2747a8f3c10 + + + + + + 23722492c39ad6d1a7eb3ed5e4d4c690 + + + + + + 74e7416461bbc9efa1f168ad506c08d4 + + + + + + 3b41be683dc294c200f6943365f55795 + + + + + + 4af3d636bad0d5e3f901126b89434c39 + + + + + + 8ad09a40d993fa0b3071923a30475bb4 + + + + + + 049ebd1ccee1c5aa78c425c0b36edfbb + + + + + + 9a0ff2b0bbedc56527d3106b57fb065e + + + + + + b8899405c8bdf308d38d388c83d9e9ca + + + + + + ee7027ab42cf5a93470639ebb69a02af + + + + + + d8dbfdfe6399c871aad131508fe214f4 + + + + + + b1220c5575adbb6b295f2229f0773185 + + + + + + 35fa02d12f95c6ff6fca4b8908746fa9 + + + + + + c32b6b6d9ccc1b8ecbd33c685c1ae762 + + + + + + a776e45af78e39ef65d66b87f950d287 + + + + + + 92bf0967e33bab8003ddeab003318be8 + + + + + + 590d211aac8a2b72a96a2d54a21a3249 + + + + + + ee1a0b36c7c5f08bd87943419ea6d5d8 + + + + + + 6c5a321bc1d429a039fb4755aa9cb55d + + + + + + be3c30ee8c98368e2fbe2e8042524241 + + + + + + 2ae3cbe0d868ddedafd5b0ce3c239ca7 + + + + + + 996e15ac693f56f9006124a7ae1feb5e + + + + + + 8b5616721c0e20c389aa1b8822277e46 + + + + + + cccefb570e28a660e29d72a0345749e1 + + + + + + 7ad91e0dfde506fb98ba230e5e7e5dcd + + + + + + ed970e6d8138a0fd161e6ef885cf9a32 + + + + + + da39948d16e157e9d333e0e0d02e0ae6 + + + + + + bad05a6542d4d06ae7df6f68dac0f218 + + + + + + ad0e856707bf5388a0d5c0a9aa2b4d34 + + + + + + 70e08cd09cc31f11150cedef54e841af + + + + + + bfd668fdaa46b9aefc425fb8cd14d7f8 + + + + + + e5ececf96242cb2c6d5a5872b60b229d + + + + + + 150e4e809aae035aeb5d01bde679dba1 + + + + + + 5ed9219bfc173dfe16adcb0ebb04a0f4 + + + + + + c6df82ecc26f0f8818b68b88e6679293 + + + + + + 77a89c43a3bb54e6e8d90fc82be8c67a + + + + + + 5258bf0269281f426dd98400537430d2 + + + + + + b60d7b1cccd8da3c111f24073596d513 + + + + + + 8d05d3d6480ac8f11d0e46ffb4423799 + + + + + + 86b4c3ed575813c192cf8485084dea62 + + + + + + 46cc8842aa7b27dd3a11fded3a86b7cc + + + + + + 7103f1a7cdfb2c58f2cbec7e3bba6d8d + + + + + + 2b103ec65b2c2e15c7bac2cf19f09ce8 + + + + + + eeba989037178e4caac112d699d22ee6 + + + + + + b3b9af401b0083613e8c751fda2760d3 + + + + + + bef66950a9b8f75d51a4961bdd30970d + + + + + + 752f5951ac845fb7c0db4cc7f09d7651 + + + + + + 9dc459ed70e30df4fe3a77afe8f6b25a + + + + + + 5f7d3bd78bcb1c48aee5983c1cb58395 + + + + + + 6522794290b891133b8870a3cc7cb16b + + + + + + 19b20feadc8cf28623dbf31d980f783a + + + + + + 52dc02e0a2d46a14f7a091d16c80a68a + + + + + + 3c8f25558b9d578b1487bfb89d8ef8ca + + + + + + 7d652c7c17f2f07af21a455a8b1641fd + + + + + + c67d92d59e3176eb4a6124d5974d85a2 + + + + + + 118ce34b6ba0a01886e7144a9131a17b + + + + + + a76db5050a1685b8848d7ef404d8192e + + + + + + 60f05036987b5c5962c9754ada29c940 + + + + + + cf5cd38d0355b6cfb2e5ad2e9a79b984 + + + + + + 63f8eece7a56c96677f84ab1416bafe9 + + + + + + 88a523f5b1516464d0a59720708d04a9 + + + + + + 1c4913951ab539a5adb2f14dd12f1f6a + + + + + + a535c422424842d9a1a4699939d76741 + + + + + + c80b0f9c8e436c45fb0739d5ac76148e + + + + + + 14a69a399225e4df432840534f2e0bf2 + + + + + + 6a3cbdd7ceaf4ec40e4ccc421eadaa4b + + + + + + ea0f19c4ee079c4c115fda069e1c4c3c + + + + + + 3311d63f71ed0557950d8228c9a27ea5 + + + + + + b2388213029755f0d80e42ee8a10b25e + + + + + + b1d32a25c2acaa400ff5e5c8ed774bfa + + + + + + 46415e5c28acf44bc0260d0273203dd1 + + + + + + 4f5d7c1942ff83b914abc62593784597 + + + + + + c2fb2da51c47f52cf5037d13c8f53d71 + + + + + + 6ac2b35990835a63ad85ad577b7e8acd + + + + + + 06b1771835b88e051ded106f24dc8cf9 + + + + + + 1f967ba6e3ccd1e9b224fe082c37df1d + + + + + + d5a6547ad9c289d86093c2162f78e836 + + + + + + 770846bd14ae06beda84e608393f1063 + + + + + + b1a39734a5606be61683473eafae37e2 + + + + + + ed0cf23f0fa66479c00f5f664bd8a3f4 + + + + + + 26d1405df7f0fb89ea250284a0f0cf1d + + + + + + 6983cba69551817758ad1e0587322941 + + + + + + 3f1f899053c24e1ecaf9444e9c81b6ca + + + + + + 4473bee52842019356f604cf462e7124 + + + + + + 95e6a29a21c2d5e47dd7e5e442d99b56 + + + + + + 0a37c359e9ec997d2c2d2c0a27baea64 + + + + + + 3db4b1b3e41ea65b3c2d39528c588beb + + + + + + a6adb73751ac4a066857e3971020389c + + + + + + 79d0ef4096e974f5c4345c676cc16e89 + + + + + + 923321e23b05aeac4f502327a169d5cd + + + + + + db2f5c77db9e6e77818b7666b02cc4d4 + + + + + + 5a57e0c2ee6d7f6c4d32bb837f05a976 + + + + + + 52dd33bf61042e451969de059894cef0 + + + + + + 6e2d3f44e1148c888c7831293de66a2f + + + + + + 0d3c8b2ebb194a8639aa1dafc5db836f + + + + + + b8c22e4e33a957c85d12228106c463c5 + + + + + + 154d744b6dbccadd8210d967476a4311 + + + + + + e25feee4c8d16673377876a2edbe3e27 + + + + + + 30a24f2f5070b823448d2fbf2aa8c827 + + + + + + 3c994aa6bef50bc939fbcf87feac604f + + + + + + af72633d511af2139b9ae279e559890c + + + + + + 61bf541de9259ed3f41cebb5a5838cd9 + + + + + + dfd79bc938ff907c5c586c770f2819f6 + + + + + + 1e58b625b0865d8b1c9244dc5c308a7b + + + + + + e7361d49a0906a9936d472f0b9fc662d + + + + + + 751c9c49a5f41a43fb1c785c9db8860b + + + + + + 403816b6ca65a9bf8ae213081d2821a4 + + + + + + ca7c89b3664606310f0954525f7c6c4b + + + + + + e16424a6e7f320ccf1cc0cdefbf1e636 + + + + + + 8725833a9ddb2c97039cce42a5531cdb + + + + + + e0912fc40d591e446241e9531701acc4 + + + + + + 9a5ad54eb4663395bcf3b678af591bb2 + + + + + + 8c64767e17532824e13a0753631250d4 + + + + + + 441eda922c05c8bbf4f114a1bcb2b7d5 + + + + + + 58cbf7a64d5f6879ad9ed730433c994b + + + + + + f176c3eea9c10fa95f517292eb446b37 + + + + + + c90e1fa7c2d43b09dce12522bf915c77 + + + + + + 74e0f82372a20472af749673be51feb0 + + + + + + ec6382646503d771d1e44ab5e7b64ef5 + + + + + + 16b7a5b35e359ba0a20d466b5389ed17 + + + + + + fbdbb7d7e7bba14a24a3e6c6181463b4 + + + + + + fe7a486636b2c70d1b893f4fc1ff5c53 + + + + + + 3fec1ef41b20f6cd1a824259294a116d + + + + + + ab9f784c5e0ebe66e35fc63f65b4f6d4 + + + + + + 9988b4321ef54d6c85e23bff6d4efdb7 + + + + + + c4860f4d28e387b6f37a556110e2af30 + + + + + + 567173264ba6e892106dc62b149b6fc3 + + + + + + 660cc292720c50e157d14b580b66ad27 + + + + + + 9338f074335123c7b7b75279c1b84513 + + + + + + cda9d436baf1b4f17f5e9148f26338ce + + + + + + 1854b6cb39e9734075af9eb2ee8ad0d3 + + + + + + 53591a570f8a839609b1c1ccd07ba1b3 + + + + + + 7c2df660838bce329f1dd4dc3acbfb7a + + + + + + 333c51307be694d8421ef4f6ce45cee6 + + + + + + 6d23e12e15a920b89840194a8f0cc8db + + + + + + 74f8ee9ccb949346b2df88ad35bafaed + + + + + + b15829a7bd79985c9203c41cc26cb2de + + + + + + e217f84ab55fd1efc6c3dc73477cfe06 + + + + + + 6957d4810634e7ecabf587df195d2c15 + + + + + + 2c64eab6715fa2373151702e3e044499 + + + + + + 0916910cceaf7ac407f92b1d8a8de551 + + + + + + 055f2dfe8083cbca9d70b8d642e9c9d0 + + + + + + 98fb6493bccbde6ce8bd6844d2a2d838 + + + + + + f5b01262b3ae8dc8f50d6b88304da81e + + + + + + bd29a4925d2269576d6d514bf07ff97c + + + + + + cc778b0fed86a6c738e3bdb126e7eeca + + + + + + 873ccc68050b39cff6acdc3ebb62fc1c + + + + + + c845e6e5e5846fbe994cf185e16f9f0b + + + + + + b6674c1126320d3d8398d5145c5462b3 + + + + + + 356bd22d048dc21197dcc7dd7356f2a5 + + + + + + 739ce38cbe5f9adaf7d13d97cfab8ab3 + + + + + + 68ea278b7cedee70e396eb3e43ec7d52 + + + + + + 7099e3e6d7aa6b3e193a97a7e39d4b34 + + + + + + cebd72e9d9be4bb087eadc437c7f34a8 + + + + + + ffedbc6efd92403f6d8297eac67b9b56 + + + + + + 95c150c33f9490bb8c7ef823aca1d9b5 + + + + + + f220509a0c2c556638903f37c1b9f077 + + + + + + 0ff4fd9925f0e3f5453e913ec986164b + + + + + + 9308ecb8601ca097fb901b18f0008bea + + + + + + 45723e3fa1bb46eef3cd10ddc59f3f6a + + + + + + b695b825a6f147ab8c4b363542a88f3f + + + + + + 2c66da2701a105fb6b5dddb38e71a948 + + + + + + fefdf183367a06a6afb66db7b60e85f4 + + + + + + e811ac433ea4a87640da06e6a207bd71 + + + + + + 1d027437abd280d45fa0f7e15f45f84a + + + + + + 78fa603c2d0549a220e61b3b29c576d5 + + + + + + e594feff7b49f4df31eda244186cc496 + + + + + + 275c68e181434eeba5d464bad5ae98ca + + + + + + 7a57aa99b938c61ff0f55485c4156813 + + + + + + e189afa3fecbc782c51b038a7d34ec57 + + + + + + 3b5900345267ec9b6c2913fef3f66528 + + + + + + 5c1b39417c35a2d2feffcf87218a139e + + + + + + 63ac4c16176b19d7ca740f0fc7d91d22 + + + + + + 3288807a660486239f9af726d49c0162 + + + + + + 8b093b1dbe1126bb827cb9acf408e6bc + + + + + + fbbd5c297326c4658b2dd195f36c0c01 + + + + + + 117f350bbcb61e0d759796cb0e33f98a + + + + + + eb2137648d9cd81a029ad8e41bdc132c + + + + + + 8c3a80da5cc632f0908f5d7d8e3fe5ee + + + + + + 344601c7b955492d07fe7bb1cea7e445 + + + + + + 3721dd713cb1bf0e0d4a2dca1e21b660 + + + + + + eea10c3b98442beeeaf25e702c4a3138 + + + + + + 052247a378fd653165f04a5b1a817cc2 + + + + + + aec0ac950a6648112b339a9ae7ebe531 + + + + + + 20160f56ecb1756abe5664ac90b0e347 + + + + + + d16dded458f7fe540a77775b3f4214f0 + + + + + + 9db66367fb35f54d83f150b5084f7870 + + + + + + 0f3e042080a3d1f88529da4f00f45ac8 + + + + + + ee55666ddd3621137bfaf11a0ed772c4 + + + + + + 0cee7c923fecfd0ca5429ce93746ef6c + + + + + + ba3fe48b76f737e19976eef59b90bbe9 + + + + + + d8cb9244d4711b5417dafd72c91e01dc + + + + + + 1c8e9778c518d9c62b3c4ee0f5ea6069 + + + + + + 205eb760ed48cb474505c0337ae4809a + + + + + + 344c9672def2be6887acded05febb318 + + + + + + 1f0464f52036c196b1a1206af5d1283e + + + + + + 78a07e4ecf659533484a86b2bf2ca18d + + + + + + 6280e47ef385023ba8cb1e54f501b582 + + + + + + d90a1b63121b1999e5798d4679541699 + + + + + + 7c50634ef682848746306508ad9e01b2 + + + + + + e91934aaeb39fbb020beade3c2654e56 + + + + + + 2372ae99b95a29d1368b7f322c380323 + + + + + + a489b5e9b07f4967614e354cb7eeffac + + + + + + 87cd143dbca0180037ae95466e25c66f + + + + + + 2137d8a84beaac92f61a8f4b56b1ed6c + + + + + + ed078277c5d18c8c0c88d5c34fc2f2a0 + + + + + + db682adeae98421a337ee6c54271ec01 + + + + + + 33e2c9c96849e0e805427657845b2525 + + + + + + 87e98fa9e82c007c90c31f61913598af + + + + + + 9335d1637a1309474ea411f665da262d + + + + + + 1b298e12878afd7bbd93dcecc145cf62 + + + + + + 02c54f20a2abd5086fed435e4841797e + + + + + + 8eec12e088baf4f3f0ac2bced957679b + + + + + + e0590d700f6aefd23dd6520fc03b22a9 + + + + + + 7b057454b396fce64f33c33aaa2ac76b + + + + + + 3d42b63739204961239f5ec4521a76dc + + + + + + 73836079a4f573e1fdb6c9fabd83383c + + + + + + 42ec15cc4ab09088f63a4660c9eb88db + + + + + + 34474f4cac4d31359ba91fb9863be74e + + + + + + 6434124babbc3a9622f9523f24e407e0 + + + + + + 103025394e9ef68305077d909a5090b8 + + + + + + fa10c978977471105169788472c650bd + + + + + + 13bb73a06f63b1df74a86c60b0388f70 + + + + + + b787358c8ae6eb763c5f8dc27833bf84 + + + + + + 9b0f5836e244cce81e5316541387d190 + + + + + + 128d4802d2aa486f92778c6248af5419 + + + + + + 1b9e07a5857031b27397ec784e836c4a + + + + + + 624d6780145d2440729bbf9e09729db6 + + + + + + b428b9ce1385023bf4b6a80fd78611fe + + + + + + 8a8e10756c60a62f50f9edcb0d1c9f27 + + + + + + 028883a61dad2e5b325f30e05a7fcb34 + + + + + + 446c17950a51a4e2fce28464fce8ac57 + + + + + + 7bc2591031dc220a38810dd61ab67019 + + + + + + 0170c1cad76cf1c5bf4f2afc197bbd27 + + + + + + 9b269d191d3d3fbdc5d700191c6278d6 + + + + + + c66205c4caec6eadb01da03b65887609 + + + + + + daba57a7e5463ef7698fc05db6d1d2a8 + + + + + + f5081923800c8670c32667c8bfe25981 + + + + + + c897e3b823cfc357b66329df037ffa59 + + + + + + f83a103504ed5b9450cc0178a2725452 + + + + + + 32f62dd34811ae1f429a0f284a87f59f + + + + + + 97b47667a0dec301c7734a8cb30279ff + + + + + + 2bbbafe28110d1d985656d3d7c801edf + + + + + + f131c2d76683bc3ba1f3b115851ddc52 + + + + + + 3a76fb5b4e79d138ed3af633bb88785f + + + + + + 03d52e7a1915b3788301c144aed7f424 + + + + + + 16642c48efc8d9c124d0ad592f2421fe + + + + + + eef09b2308e8d01d7f0395b8bb5a501f + + + + + + 9c30f914f5529aebc39c6a4825379c40 + + + + + + a360e1f1db4600e5f7da3f64803a07f4 + + + + + + c32bf503bd2d9420f872ee79012dace4 + + + + + + 4505955d11da8be65006b975a44d78b2 + + + + + + bd2cdeb07e6aae8324861ad23b57339c + + + + + + fd08ee8a703ad0c4b3364e4bfdbec3a6 + + + + + + 3f1116094eb5e2c9f6bb963799396161 + + + + + + 43895aa35af379a034c6d7246fca1389 + + + + + + bc1ccb6931fa85fd8d2483125fd8ac66 + + + + + + a2b8153dfaaaf8c0212142062967d730 + + + + + + 21d350fa5f594926b5eade09dacbdd86 + + + + + + a8391e07505fd75e261aed206dbb8105 + + + + + + 26032b90da61fd6752bc1214e3c0a8c4 + + + + + + 0ab151b224f6ffe9b9895bea8fefdcf0 + + + + + + dfbfb63b8a864e57eda4a5d6c05cbdbb + + + + + + b3e4cce0a073cc2d67f8ffe1a6becffc + + + + + + e49bdecca1cf6fb5dc419e21ee2c645a + + + + + + 3a24b2ff1d888c3d1f0cd9b22047727b + + + + + + 05ebef4e6093d8cf5983717eaf86f288 + + + + + + 002975025d7eb7b7bea57fb9230354dd + + + + + + 4230de267f555498d83eb63744dd49c2 + + + + + + 92529f12e72ace63a5579529f6905d27 + + + + + + c3b0e26bc9743146acf1500844cdbaf9 + + + + + + f6a2501ee51abbbfc72665215f4e7635 + + + + + + 96a820079c1dce6874de987b1d1d1212 + + + + + + e015ba9bb156cb5d41c712abf0d40b0b + + + + + + 27859790c5ddc42c4ef6677ab6dce2ef + + + + + + 00c66a7e8584331dd5856d6913d9cb90 + + + + + + 6f12e389e13e2fd45b40bf0e489e8bbf + + + + + + 86e62dd4b63ae1b2b338d0496f368343 + + + + + + 8bc3c3264334e9adeac9b4d9b766a83f + + + + + + 526b41ccccb4e757a3ea4fa9469a7530 + + + + + + f87de0e6ab46f6466bd6c2daea6a447a + + + + + + c14cc23e8ed7386196a5ce29183a6a1c + + + + + + 507f52509576623e4239033097ce6130 + + + + + + de322871f32bd744f5b12c3d4064f040 + + + + + + 124106dec7801e23dfbdc892ae21e86f + + + + + + e9faff936bf522ec86398e401d116d24 + + + + + + e08bb7643e78191a4852433be1bbaf68 + + + + + + 2ec06c2aa2936d41184c5c15b4c7e5cc + + + + + + 42e877571587bdf05b9d906d7fd110df + + + + + + a4d8c18af468f1c69fc5f2fb169fd7ae + + + + + + b288009d98d4679bbe6d77b002c48c77 + + + + + + c511acff7f489af546d3faca035b956f + + + + + + b9c98205bf7bd18070da3d00133462d4 + + + + + + eebf2aa82ae38f484bcdb4ee54f0ae16 + + + + + + 70c20ea224775317a7be66f05599b932 + + + + + + 3e87dff40c06357d8b9937fa8b8fae72 + + + + + + 1f84f4edc1161189a91b2fc4ded47e36 + + + + + + 66f627515db758734d9a89d80d777271 + + + + + + 93064111b9273565060bba83ef49cc0f + + + + + + 1f6795846592c197331a29c3522583f4 + + + + + + c446b4878de71516bd01dd066e1df5ef + + + + + + 9f4d3d7a2a336fddf74a72cd79de02e2 + + + + + + 91b5d15eb7e392c8234d335555a7e619 + + + + + + e60b606480999a4bcfc521bc7c202ea7 + + + + + + fa44bb0c4cb8178dee410b5a4db86670 + + + + + + 3bf19ed27484d02fd4730e066601c664 + + + + + + 5f2aa83a29e6fa7504c5cf2edcfe0d36 + + + + + + 3ebc2f10248818ab3539b6557b430d52 + + + + + + 55ad6c8a6a14b0bce4341fdfef11f3b1 + + + + + + cd91d23e4d52d6dccc6d6f643f328817 + + + + + + 3201c182a9d5a27a0d03415c65f4cffc + + + + + + 276ede607bc1fae3cc67ec910cd38e5e + + + + + + a6e52212ecf1ca17b18ea5dedafadc3e + + + + + + c14e73890a7c2b0f769c85d696d3738e + + + + + + 39a4d7f3bd7229c81d0c03b24c6ea3f5 + + + + + + deb7525206b48b0645221f32fab8742f + + + + + + fc6461b2dd008c1834d919faac099e74 + + + + + + b154a536a8b9b9d27633ebd2441859d1 + + + + + + b8db124959327b28b3445a9b648c1edd + + + + + + 5a4962ebf20717fa73b0f54dc81b43d1 + + + + + + a63d6424deee93630130665b23e0854d + + + + + + 687f21609052ccc7500fa166c670545e + + + + + + 45bbbc82406049b78ec2d27db7b3c36d + + + + + + ec6d4519c9791a05155a77fa3b66af9e + + + + + + ad4339026b77e345b724670b597d9c8c + + + + + + 146ad1614052814f83ab203fd85770a7 + + + + + + b15d14199fba3383aa77fa6757625ed2 + + + + + + 83f203e6f70de39377fb35f7b112be90 + + + + + + ed1cd638fc23b3fe0b7a5233b45a8212 + + + + + + f6bae4b8021f43655afda8f52ca689af + + + + + + 51f9613a4f2f44c75c2870de58aefb35 + + + + + + 882d30c490f0562d115be8a6c92c5774 + + + + + + 3eaf7afa6c8460d1f57ecf69082c5288 + + + + + + f46894beec60a7013167e1d46362ef84 + + + + + + 5b48acddb3be4c169bb14e1c84a6f9e8 + + + + + + cbb0191dceddbd3eaea7ce7b17dfe500 + + + + + + cad17403c533a52ff331c9cba17648d0 + + + + + + bbdf7388f9acb8440e489417ebd652d5 + + + + + + 700a09bb728aca2a8b8ab849b3b7c6d8 + + + + + + acbbe3578be4f987f69b73a3466af245 + + + + + + d0758f28883bf0a1ee496e3f250eaa0b + + + + + + f6bfbcbc41ffc1a7e6445f7f39a758af + + + + + + 17fbbf6b27c48be36331f0d40333d609 + + + + + + 489da8e8d7a9f203e39cef901af84647 + + + + + + 573601c6ec08636dea807ec7d66cd8d7 + + + + + + fda2868a761abd5ec906cc117a2a9764 + + + + + + dc0b6b9358389dc8372ac670a843a5b0 + + + + + + 331b4891eabcfd2f62f71159fe75f3db + + + + + + d64a0458d6e5d9c5a81761e33b8626a7 + + + + + + 13ef3524b348e884165d35cf0be4a39e + + + + + + fbb3fea3efa2b1cb47e1d3d5ca4f5618 + + + + + + cc385a76460fdf3050cce5d20e478c1f + + + + + + f2d619b03895e7cada6baf9c64736b44 + + + + + + ec0ac8d42dddee71e3d1eabba5478b2d + + + + + + 4bf6508c9135b598ad127ed39a60a64e + + + + + + 3ddbf799a81b349840ad79b45ae7c013 + + + + + + e6d591ac3cbade9cd1033515ebb52a9d + + + + + + 9f4449a13f1908cac092411e75853fe7 + + + + + + 8f2eab5dcb3a598617cd76177fc9f926 + + + + + + 723830ed202aea7d2d1c179b700a20d0 + + + + + + 3c3265b5fdd37cd0c426ac008a56bbd5 + + + + + + 52ccdf9e37922cbd48d645d16ca745a1 + + + + + + 3f4ae111e524dd4f94a9df0dde8d5707 + + + + + + 25f697b885149d941a3efb491f3c332a + + + + + + 25e69b1ee880f1a4349d093e85b13d53 + + + + + + 7a10d7343d9f1c5b3630d8d09ed70273 + + + + + + 3ea3f993c11a6ac8a62321995a448fa2 + + + + + + b745ada571586e1e3c1d948ae2222a55 + + + + + + 9575a858c10219a592e1794aed52ed63 + + + + + + ed7333867f68f00f061e29d75323c1fc + + + + + + fdd10325120c82d2028efad65133442a + + + + + + 182cafbd5377ab64214cd913675d849a + + + + + + 83de99ec976ae7008d28d030dae9015f + + + + + + cab888029667ea3ee9f46690f69903ac + + + + + + 589fea9b7596d488739143454a1e3546 + + + + + + 08dd5e5f5ff37d2ab106d3ea909d1e8a + + + + + + 8df85efeea8ad19530f896c479f1dce4 + + + + + + 66087d968ab3b9df87f19565d3dd0d1e + + + + + + 8fa995ee161694af5df321687bbed06c + + + + + + 07c88b27424786df8c454ddba5f18abf + + + + + + aa04c4d5435e017ffbde1f946fe506c4 + + + + + + 6bd875ff4aee3694467c30053b5c41c8 + + + + + + a2fca04f2b37ca044816467f00ef4698 + + + + + + 15830793216eeb533405292190c0534f + + + + + + 094f1905bee5a8dee57a10b06af68d18 + + + + + + 30177ed7bfd2cba5f8365c787242d8ec + + + + + + f9d3892b5acd5b10b865d0c390a559dc + + + + + + 458931eb8f5275919197d24bef936780 + + + + + + ddaeeccc6db84de872958e544c4651fc + + + + + + 607c3f2b2956f1b93ad2c0bd40472dd4 + + + + + + df9af89b8d45d7c67d9111252aef4ef4 + + + + + + 784289a87b034f42a9ae9d43d62a25ea + + + + + + 99a80c91efabb625c250d084169e0195 + + + + + + 96bc865086ad59db17f8c137f0dc7ed1 + + + + + + b0eeaf0312822a8a4e7ae6fec9751515 + + + + + + 6319158579a35ae35026413463ab1e53 + + + + + + a9571a2dabf29989032abe788f66b410 + + + + + + 4f1d3a9e384431431765895a62f3509a + + + + + + cb934dd3baec2346b6e823a2fbc58701 + + + + + + 3b6bdf67dfca3f0f3df5702efc2c0466 + + + + + + af5b5e49bbc2545d439603821cfb3a42 + + + + + + 22c0b186938aef9b0bdb03e0b3e71038 + + + + + + 358b38df08e7a6353e1c2e9704ac6cf6 + + + + + + 83801f98de0c73e72fbf2634330d8c0c + + + + + + 8f45da5265441c8a73f5e9d9af7d65c3 + + + + + + 57bd44618429246667f96ece6984d4e4 + + + + + + f50a97e42b572656719893d5bbb9e963 + + + + + + 6c0fcaa2a2fd2e69f7d4dc42621d2668 + + + + + + f1bc54a2697d47c4f03374dc4137fe21 + + + + + + b3283fd7f8db341d149a320bc0735dbb + + + + + + c0599eb0c883e32d422620a9eec61e1c + + + + + + 7f7f1352492c69169651027cbe3ec7c5 + + + + + + 3391afb641463d80016b37acd9c83a36 + + + + + + 5e5c9fa88d1e9e687daff79f89454abe + + + + + + 0cf35f14f90a2778150cf4c86fa28647 + + + + + + 2ec430abe48a1134e444d4d18bbdf0e3 + + + + + + 1e13c6086a917af9a92baec723586083 + + + + + + c1df314e0af6a09f61a0cf9913e0d726 + + + + + + 135f51378a68347e7dffce260681adab + + + + + + 137f0fd02fe2b943d86f81371c26ff94 + + + + + + eb9335b886cad80234888cb0e1e10b97 + + + + + + 173a3b293f74ba7fb5a23c8e8469b9bb + + + + + + 5dc6cfbc73a98d7c9facde3f14393c13 + + + + + + 1e4691a86da96ac531f6a17473dc10a3 + + + + + + e859755d3d76300413d3610b647022fc + + + + + + 061e6392c727928a40c98d03f60511c8 + + + + + + 46a9d4ec9e101d903076c6fcd80cdb70 + + + + + + 19bb60e0415b8ebb44be81f028ef8016 + + + + + + be730cfa4f6eb999d262979cb56a90b0 + + + + + + 90d9378fe94c3c022fce9c62c02df285 + + + + + + 2cd0c22e2e9b0d6bb66a1941bd7bcdb3 + + + + + + 860d5f8fe2d633f4f4e3f9d9a55912f0 + + + + + + 45e5c056be2677485725261b09af559b + + + + + + 81731d5d89358dd023b7e5ebc2562f2d + + + + + + 33f09878573275ae9483a8e3fdc2a310 + + + + + + 8f0d0f0025566522d3fa712921eb8666 + + + + + + b13e084f91b5e8197e378fa4ad42f529 + + + + + + 4e14b14b743312486e35f3bd5f26a062 + + + + + + 54f58736d6eed869a13bb2b6dd11c3d3 + + + + + + ca678e1947c13999833d478b0c3a103f + + + + + + f9d158236739bd9d6667c7b1c9c843ac + + + + + + 438f2b85972b52db6d5527091ae78bce + + + + + + c37915bc5bf9f1186872e4163f738131 + + + + + + 775dced7cad1a6d4aab3fa6a518fe3a7 + + + + + + c3df49db9adbf679a1b6dff60b070c26 + + + + + + a1098c449cb7b1cec55927c720824137 + + + + + + 1b0c7547d2d180c874ac7da4933e6087 + + + + + + 451b6045f72e9aeb7b00c12752484134 + + + + + + e9419272af7238ac3d16fa2f2e9e5d5b + + + + + + 476d4306d33c3fe5baf38fac34bce698 + + + + + + 041a85bcd05a99623c6f0c4d4e096bce + + + + + + 50241c219298cc473b8333fbdbdd0490 + + + + + + ce6d0ca17f57744170c62881c2b2c11e + + + + + + 8daf70bf811675e3df784a9d2cd92353 + + + + + + e7ad9b884e28a9b09224e3deb4ca0f33 + + + + + + a1adf6cff99630f66d5088e551fe38e2 + + + + + + c65891e1aefef886f699c6996c3ad195 + + + + + + 9ecb523c4bbeb3879e398db20a54eb80 + + + + + + 8c2942a311f2e9ed9583954d08733528 + + + + + + 6454200058eba6964efe4d674c158ba7 + + + + + + 39773af44a5a77bc24057e0de6ae12ac + + + + + + 39b7ef958eccd93f3f6dfc21b3abdeae + + + + + + 83eda4fe08cafc1641ed6c9fb8f6fdee + + + + + + ae4a78822eda9178bd81aa0590321a56 + + + + + + adf3608b1368bd67aaa9e7c8e1e6d8e1 + + + + + + d9901d34360e00b2f4b23df6b2ca37dc + + + + + + 29d9c126ee2b7831eceaad6f36316e41 + + + + + + 677f9a66cf019a906a8fff7f6e1e0965 + + + + + + ee1439c9b6d4f73202a06b804e8a43c8 + + + + + + 07bc6a34ddb12c0550c0b632ae992e90 + + + + + + b6165d93bc12a00e410b132bcc6ee090 + + + + + + e735610434778422deb0a61f9cb87b4a + + + + + + 29215c078b2a465b6fb267a556e3859a + + + + + + 7581dda239e358273b97cb09df9fa5c7 + + + + + + 45c30b70a7fd0c751c69560c0adb5bc5 + + + + + + 079b15b0b5ca9db900a1610d993a26fd + + + + + + c1f153ad459cc28035974ad942b263b9 + + + + + + 4d236c0f0ab5e67c225ae601b420d312 + + + + + + 6f87799f983c1f987ea6c8f1c39e921c + + + + + + 9b029f03e2098dba59ae940b903dcec1 + + + + + + d8dd91c5565d21f3e74e0da1e442ad70 + + + + + + a6b5da361356ade28a425dac6d1bd7c8 + + + + + + 5cbc818ce2b93e16d712c397ec34963e + + + + + + 4c2a3e3b8be7c8730eae0217b0a5dfd7 + + + + + + b0af5020edfe9b81d82e3943261fc4f6 + + + + + + fdb96e71c1dd8c0afe132e1c1befb2ed + + + + + + 461ae97a408e2d245a61ba31da9e450b + + + + + + c5361f698561375fcd6727cfc2f386ad + + + + + + 4373ebc0dd038ed81793ed1473ea8299 + + + + + + a4ec4b032cf98b96e06922c280fb7ab7 + + + + + + 99fa4b28c134815bf5fd670ac26204c9 + + + + + + daf2f6d371efc4da5a9863f3a8e01034 + + + + + + 305f21ba9d6b2e8a587c2fda3c53a97a + + + + + + 52ae22705077a3b44ef24a2356b62869 + + + + + + b769af8f987151e80b98ef840e46a595 + + + + + + 1960400eaed756c8aef2a52f63e6bd6a + + + + + + 3b1b041a09fcb5c2fd327cf8850e4882 + + + + + + b63e33e00bcca3e31861331af713d32b + + + + + + 0247887a06d9653e52bbcf86081938c7 + + + + + + ddc5c8aeebaa027fcd556c5aed890965 + + + + + + b2c365236a98be9c3930f0a650d3d8cb + + + + + + e9bdbd5902a702a2255011624254c772 + + + + + + bdd90d362c270eecfd0977cda6eb427b + + + + + + 2998426a5f32a61697a8674aefe58893 + + + + + + 0a24f1ed3b78ddeec265fd72faca0aae + + + + + + 2927e193b404c4a30753d22ce6b8e047 + + + + + + 246bdfda8d30ada4d96dade0fde4cc18 + + + + + + 8312ab618fa29c4ac0048da4cc846cae + + + + + + d594431d189519c399d6e9d2762bdaf6 + + + + + + d3b33c82d4fa4c42be64dd623417a1f2 + + + + + + 8f21d0b0f4ddea5af396eb112b788784 + + + + + + b2c63089784275e6ad4250e46124ca44 + + + + + + 7861be1c90c0b756c08ff8b9601b8458 + + + + + + 171c6b49d64abb85ebb467335bf1a6ad + + + + + + 2ae7f070be5fe20e2adcce3a12d1fb29 + + + + + + 28ea68b59df7e2f5be018c273b41c21a + + + + + + ddbdcc2d589d390e58839187dcc27831 + + + + + + 043ff8cbe21286454c89ce7e0b6b4c38 + + + + + + 2a5a5e3d37c4f82231f97bb636b010c8 + + + + + + ed6b8856961f313c24c9ab816e977067 + + + + + + 40738bf7505bb729e1c3b233dcb36796 + + + + + + af058b624290d2289e2ef2c636fb7b38 + + + + + + 335427bfa0ae1776f59190db8a576acc + + + + + + a7db133faf630702f6f943b3ece5ab84 + + + + + + 550592e1a767a15bea0ea6c6fb92b0f3 + + + + + + de6bed588d590a8cf766f9e319f3e050 + + + + + + 6a776518d81a6b1b58fc966c30c9dae8 + + + + + + 67b52f82c18062e5766aa8643ccad102 + + + + + + 3a2eac82c9a3228877cd7222f64870d5 + + + + + + 3c2534a1f0708ecf24abb7a6882a1ff6 + + + + + + eada85d0b99a8fcf6f097f28ad7b74f3 + + + + + + 5ebb59fecdb3d2cc30b780cdc126d75a + + + + + + 5a324a1edcaa0536f7fb209200b2dd4f + + + + + + 69a591fe69bde996e58c8da05c120eaf + + + + + + cb29b7e9d465cc9fbec58a3981c95010 + + + + + + 1667f1942f3d1dc685d94299c1a455f5 + + + + + + d0d37b201dcb8e5da2ebf58fd8262358 + + + + + + 8826c98053e100a0ab2b5eb01395b798 + + + + + + f28d2fd00a14a0db307242b084f2baf9 + + + + + + f9cf503e5be79ece3901edead4f74ca5 + + + + + + 2496fe5bd3efdc8d13e6948de59b6328 + + + + + + 65be6f6c6095cff166ba8eca560b4e0f + + + + + + 8934f80a632a6b8539fbaf256a43b564 + + + + + + 09c3c5fb3191412df38f2ecaae2262cb + + + + + + 702fc931a24dc1a853af7f7ae1838947 + + + + + + 408cb89a4dc73713539f2cf7031c6125 + + + + + + 303f0cc7577b9e55db45b8a5bc6cf1c4 + + + + + + 97f4f482d29d5c96a26d2dbda5f3fefd + + + + + + 35f8252bef0cc8eab82eac6b55d89dbd + + + + + + cb3577da75e2108791d08f2cf6f74864 + + + + + + e4af3bf2e9fa463f7f3b1c08f07fd3f8 + + + + + + 0e7588b10659693135699323bd27e56b + + + + + + 0d1d28ed0be9226c9f29e02ef2a7612c + + + + + + 95f760cbbb94ad6c84a57c98760f3fc1 + + + + + + 8cc1d7c4b2f9ef8af8da03fb6685d398 + + + + + + 259eaff36c634d605d47869c5670044f + + + + + + aaa0ec00eb17bd70bfd604172d3aa51a + + + + + + 6b19141f0674bf8699911e9bf93d5023 + + + + + + 9b42120bb16ebc7711d4aae67c32f3e9 + + + + + + c56af759ba825a88619343fcaf777a6d + + + + + + bb8ce221cf0312079971997ab473a5e4 + + + + + + 5352439bc764f93ceaf4aa50cad87278 + + + + + + 0a5d38e42e7155112d49621daf3a7436 + + + + + + d70fec051b6e00b347af9bae736fa37c + + + + + + 8d8cb7f35b82fd89a392ed5daea01e34 + + + + + + e505c8b7f4c5bdeb28c288e9885db257 + + + + + + ac6e543a354a6be784a2e5acc66b4f3a + + + + + + c2b4bcde1bc863c3097975447d324c57 + + + + + + 13730c073a62743432545d5a61f87b93 + + + + + + a9b1e19e04bc371fddd32610db9526cd + + + + + + 680874ca0a837af75e87f6b845e42949 + + + + + + eec7edda862404d7a6aa3d752f7581cb + + + + + + b70875517d792a3351ff42de386d4dac + + + + + + bfd99d37d8e8ca7a4f9757fe10cfb6b1 + + + + + + ea4767230822970b9954a7871bdd5be8 + + + + + + e1d1edc030047e00ff559c28abbf8e6b + + + + + + 13492380c728d4f581f8c4febf826e16 + + + + + + 0312b9c31518d91e2e438302824e6440 + + + + + + 4b5d2b617343b5f08aa838849ae13652 + + + + + + 539959b58ada437d37880d11c9ca6953 + + + + + + ee6a23a2855060451a5328567c35671f + + + + + + 8d1163941111b5a236dc6247425116d2 + + + + + + 109edcb442d098f150a52327565d12c0 + + + + + + ba59863616575e15ee57a67f707911ef + + + + + + c21b8c87ae5d460b67d22a407963e7d7 + + + + + + a14f9410550cb81bcc3b5c3fb74eba42 + + + + + + d422c39a644b13c29d77cee3d75b8e01 + + + + + + 0ee9b44972a9d975614704c327404ec9 + + + + + + c3234d019fa32a89187310b9d77916d3 + + + + + + 80350ff5e05c6612ffc2a54383380bfb + + + + + + dd87d1e4c13253960e71f2d904f747bc + + + + + + 7c17c291e7fbe0540f03282acfa30a07 + + + + + + 060e806ef308d284957134ac8c39eb39 + + + + + + 2cbf0c0120da6b7448c222fa4a5a8a91 + + + + + + 99cca1bafde3e2638c9762c97d79ac21 + + + + + + 5be76fe0a78e3e4de18f441055d48f9f + + + + + + c945b5f3366eeb197e03dda5fc36e350 + + + + + + a528315b043a2acbf78b9ae7a36b7023 + + + + + + bf43a59bb008cf2b7733de1fdecd4ece + + + + + + 877fade9688e92cf48d8278c4b883b76 + + + + + + d7c76d22ae9ee834cbf8b8e17e335374 + + + + + + 405a28086bb7c2dad21bb8638e8b6f54 + + + + + + c37b6498533c8ca539b437e9f98db6ce + + + + + + 3063f92a22c26d2dad0379158f139e05 + + + + + + 4128ab9d2f387234890f4865ac91139a + + + + + + 7bee08aa184247e23e289c274ec9a117 + + + + + + a6a48549146db244ec8ed3ec547b178e + + + + + + ca4d9804b6bbab5409a8780cec5c69a7 + + + + + + 53ece1f92b5ac2804b1787568be9ee5a + + + + + + 4309a1c4870fe094c661126d01c9b370 + + + + + + 4aa151f105e81f7dd855cb906538a176 + + + + + + 807fbcf68841ffdddfe8791a818dc829 + + + + + + 0321bbbcbad5015328f72138af5bb5cf + + + + + + aa41a858c4e3fc6e5f743daf872fd43a + + + + + + 5ad7dc54e7641f5dbcd0ce6d0e1075d4 + + + + + + 925912a4f9b85f604ddf9d6dc57f0c4f + + + + + + 716603806b38a9f75564d1ea57d7e282 + + + + + + 4fb3a75f84a0926c8c5d65f6f30ad992 + + + + + + ebc0cad782d1e98e3abf1c1f43b087fb + + + + + + 6ba614505543ba80dca3ebb9e47be380 + + + + + + db7e07e4d0a6c8f2ec38ccef8aa54149 + + + + + + acc5d87e36ca2f7852e61b7b6f8dfd56 + + + + + + a9229149838b353a8b7557614e760e30 + + + + + + 352d337f0c3fd140213ca8350d46b5d3 + + + + + + e94d3ea9855a3b4372ed8eeb9767f2e7 + + + + + + 9fca177402f5077b5e2b26c4378678de + + + + + + 5e6a141e70f1f17e62126fe260ffb1fa + + + + + + bda52933b5e75f909cc04d48814f03fd + + + + + + ad6304851eb01891d67d91534bff5100 + + + + + + e06781982e9806e2ad9b7b1ce51188b3 + + + + + + 1b5caa1b51c5a897f96b0502366298cf + + + + + + 6ecada62f29f10d2226e8c4307ae6c02 + + + + + + 4bd77cd16e443c8f2ec503650c79e8e2 + + + + + + 4626e6a978d8418ffb134505859f8d61 + + + + + + 5ccb584d7e5aad1cc50f7301f7b4adc8 + + + + + + 5e19d2a26faf5eb525d15a34d77f93af + + + + + + a16a2c993f08f4d85eb46128bbc55db6 + + + + + + d4023fe6ace7fabd5772f418691e2385 + + + + + + 22324c23ad31396a928505859d9ed127 + + + + + + dd3b2039241811278348353231bb2b17 + + + + + + 2b4c44af67a0984262d11b6e29976f11 + + + + + + dc128d7e9e78206ff57a39ee0f0cf060 + + + + + + 3e23f483bef1e1f2dcf10d1957538ddb + + + + + + f628ed656eecbee4a5ff9511a508ebbf + + + + + + 39b0875c3362a11ad98b02f395a10539 + + + + + + 3bec7b494501efdb02a3fc12fb0a5cbe + + + + + + d18ef4866b19a5c33f28bbde71b5bb94 + + + + + + 9fd07c0f28a6143d44c2757c79329bc7 + + + + + + cf011eb7e656c64df7691c58bddfaa73 + + + + + + 384ceb1c59085717ef19f20699514e18 + + + + + + 577ca2cc129cabfda9a0d25ec8634cd7 + + + + + + 6080d40a6d5bd6ea31ceb705039e23f3 + + + + + + a77ad44e8d461432e035ca2f01ebc92e + + + + + + 720f1a85c152b94637ae9fcd59f51ad0 + + + + + + e64353fdc122a58090cacd42eb368987 + + + + + + a3a0ba33d32d9e49073a03bb745f96df + + + + + + aeca8f3c69dc0307993c03b0ac23cf79 + + + + + + a2fb29fe468225b5bc669e80d187b718 + + + + + + ef898fed3f6e3d4f72e008f6c7055726 + + + + + + 265b406d7bb65a5fc6e1a22629d89fec + + + + + + 08e2e7ededd9474ceaf4643165c3478c + + + + + + 62a81c4bba58240d3d3323d05d8110f9 + + + + + + 27ca4de0dcafa7971efc046ad079e423 + + + + + + a4ce816fa0cd697f5bb55c67839c6fc5 + + + + + + a0c2df6313ca5832b3f5e4c8437c39bf + + + + + + d48f94d92e70c27a252a8dfa3a5553d8 + + + + + + 870c8049ea1e028e92d799fd81314cf5 + + + + + + 5e5b3ef89c3f4fb9dc2f575022878cbb + + + + + + 6ec21e6a15ffe132fa59425b1d56c4c6 + + + + + + fff794e19dd0930f17d9993bd58eebc3 + + + + + + 14fb17425f76f5353a1add881614a147 + + + + + + e703de6f15d613008e53915ae3643c9e + + + + + + af4d4ec1f977d18c7b19909767ef2f56 + + + + + + 3a5955bbbec4b09f750aca626d0dc3df + + + + + + 5890544216b6fb01cbbf6aee8cdced61 + + + + + + 9906a4a478faf7d7f29ff34a97354e50 + + + + + + 32511af48795f6b729f1bf0a085e1c16 + + + + + + 62ec26c88d8191a224f440da2bcfd7ba + + + + + + 93073f927fd6d9f7347d1500e22ab28c + + + + + + 6a0a8224219444f4786d3de93bcec4c3 + + + + + + e4c7db2d46eb364fb69a7db555a292cc + + + + + + 5df77a6ed7518f2f018efc2dca386fc7 + + + + + + fe7c87867edb99787a8945ecb704020a + + + + + + 2134618abb62c8c1ad8af4208584acb2 + + + + + + c894e44291243273cf57138eae228c76 + + + + + + 72687363e882c6ccdd51bc9cd9a37a98 + + + + + + be8eb2904a0994e4edc72c7b45ab21c0 + + + + + + 6063fa138171cbde70cd697124fd5e2c + + + + + + 109ddef2f9a9dc94e67a8be828902e2a + + + + + + dbd0b5bd6c033b775801e5d4176f4bd0 + + + + + + c6d8239df8dafd833f258df13142f2a6 + + + + + + a49cb3a7f0d25d514590c124f0f0cef4 + + + + + + 9305389ef157c696447ab0c11ac8eeb5 + + + + + + 3ea53f621b3a4ececa3be48c1a99035a + + + + + + 68317f98473cd5497b3f25bee89dd342 + + + + + + 24b644dbc0bb6dda55158127d8f316f4 + + + + + + 4cd8f2b466beb354da79c66466d66663 + + + + + + 069360cf8915b48d1dd0c7e81c11d280 + + + + + + 0fadac48807c439429df4c237cd1c4ac + + + + + + 839760a2e2681057e1317bcf50d033aa + + + + + + 7286e1d97f9f4ded8756f75f92c8a485 + + + + + + 7b7d5c7845d9d8e89d7bf6b660e44428 + + + + + + 11d647f0029de56aa1f17b14e781c9ba + + + + + + e1d99a5d7715a7d1fc8a98d630fbaa53 + + + + + + f8b72f9c6963163a95bb0173e737a2bb + + + + + + 6bdbfc4849ac81fda183b57852ca1c57 + + + + + + 2dd57f4361b29bf612cf630828706a02 + + + + + + 16d98a4ca0b291db18d8812f101d110f + + + + + + b5ca232d14906e452ab642918bb6dcd6 + + + + + + 0a2966a26cbb08bb876d26459e2d800a + + + + + + 60121187e89fa6c8f2e73e78da704bdb + + + + + + 5534e7adbbaa6702493e8ebf620b2dbd + + + + + + e086e1ccbcf605b15c4a1127ff7b4a11 + + + + + + 7c1f441e4087ff42fed09e24b8789908 + + + + + + 294cfc0c47441a352b44dc95d688a4a1 + + + + + + 1414559099370ae246a46c0257c2c8ad + + + + + + 4b47b66b8dfae235e30b00360957c2bd + + + + + + fc580e4f4a3b673215fbfd097be1278e + + + + + + e31faa7fc2b10481173f575a8d63cf56 + + + + + + df9c64b49da32137bd3e5afd021f6679 + + + + + + d41d8cd98f00b204e9800998ecf8427e + + + + + + d41d8cd98f00b204e9800998ecf8427e + + + + + + d41d8cd98f00b204e9800998ecf8427e + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/book.xml b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/book.xml new file mode 100755 index 0000000..ee259f2 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/book.xml @@ -0,0 +1,3139 @@ + + + + + + + + + Sentinel Standard Archive Format for Europe + Sentinel-SAFE-CORE + Core Specifications + Sentinel SAFE Core Specifications + + European Space Agency (ESA) + + + + Mathias + Moucha + + GAEL Consultant + + + + + Nuno + Miranda + + European Space Agency (ESA) + + + + + Stephane Mbaye + + GAEL Consultant + + Reviewer + + + + 1 + 1 + + GAEL-P264-DOC-0001-01-01 + + 1 + + + + 0 + + Mathias + Moucha + + GAEL Consultant + + + 25/07/2011 + + Creation of the document + + + + + + ESRIN +
+ + European Space Agency (ESA) + + + Via Galileo Galilei + Casella Postale 64 + 00044 + Frascati + Italy + + (39) 06 941801 + (39) 06 94180 280 +
+
+ + + 2011 + European Space Agency (ESA) + GAEL Consultant + + + + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with no Invariant Sections, no Front-Cover Texts, and + no Back-Cover Texts. A copy of the license is included in . + + + + + Disclaimer: All information is provided "as is", there is + no warranty that the information is correct or suitable for any + purpose, neither implicit nor explicit. This information does not + necessarily reflect the policy of the European Space Agency. + + + + + All other product names mentioned herein are trademarks, registered + trademarks, or servicemarks of their respective owners. + + +
+ + + Preface + + The present document provides the specifications of the Sentinel + Standard Archive Format for Europe () + developed by the European Space Agency in the framework of its Earth + Observation ground segment activities. + + + Based on , is + designed to act as a standard format for + platforms data. It is important to understand that is not a but is most like a + SAFE-like format. + +
+ This Book Audience + + It is expected that most readers will have some familiarity with + ) concepts as well as with technologies. As is + a SAFE-like format, readers who are familiar + with should be more confortable with this + present format. + + + Thus, it is recommended to reach at least a basic skill with + respect to from the , and, especially, the document before reading this book. + +
+
+ Organisation of This Book + + The Core Format Specifications are + broken down as follows: + + + + : + + + Provides the information, the logical and the physical + model of all s. + This part provides a normative definition of the file, the s and s that may be part of a . Descriptive and + informative sections also provide guidance for + understanding how the objects composing a interact each other + according to and rules. + + + + + : + + + + The reference sections governing all type definitions of + the specifications. They + provide detailed and normative specifications for each + type that may be used in the or within s at the Core level. + + + + + : + + + The normative XML Schema controlling the XFDU types + restricted for the specific purpose + of s. + + + + + : + + + The normative XML Schema controlling the of the . + + + + + : + + + The normative XML Schema controlling the of that are dedicated to + the specific purpose of data originating from + active sensors. + + + + + : + + + The normative XML Schema controlling the types dedicated to + annotate XML Schemas for providing + to binary, XML or ASCII s. + + + + + : + + + The normative annotated XML Schema + controlling the binary format of Indexes + potentially attached to Binary s. + + + + + : + + + A complete example of document. + + + + + : + + + A complete example of annotated XML + Schema providing to a binary, + XML or ASCII . + + + + + : + + + GNU Free Documentation License. + + + + + : + + + A standard form for proposing improvements to the present + book. This form complies with and has been inherited from + the documentation. + + + + + : + + + An alphabetical list of the specific information included + in the book. It is prepared to help the reader find + information quickly and easily. + + + + +
+ +
+ Bibliography + + + + + IANA MIME Media Types + + Internet Assigned Numbers Authority - MIME Media Types + + 2007-03-06 + + 2007 + + The Internet Engineering Task Force (IETF) + + + + + + OAIS RM + + Reference Model for an Open Archival Information System (OAIS) + + 650.0-B-1 + January 2002 + Blue Book + + 2002 + + Consultative Committee for Space Data Systems (CCSDS) + + + + + + SAFE Core + + Standard Archive Format for Europe - Control Book Volume 1 - + Core Specifications + + PGSI-GSEG-EOPG-FS-05-0001 + November, 16, 2010 + Issue 1 Revision 14 + + 2010 + European Space Agency (ESA) + GAEL Consultant + + + + + SAFE Specialisations + + Standard Archive Format for Europe - Control Book Volume 2 - + Recommendation for Specialisations + + PGSI-GSEG-EOPG-FS-05-0002 + November, 16, 2010 + Issue 1 Revision 11 + + 2010 + European Space Agency (ESA) + GAEL Consultant + + + + + SAFE Tutorial + + Standard Archive Format for Europe - Primer + + PGSI-GSEG-EOPG-FS-010-0001 + June, 23, 2010 + Issue 1 Revision 1 + + 2010 + European Space Agency (ESA) + GAEL Consultant + + + + + SI + + The International System of Units (SI) + + 1998 + 7th edition + + + Bureau International des Poids et Mesures + + + + 1998 + + Organisation Intergouvernementale de la Convention du M�tre + + + + + + SI-SUP2000 + The International System of Units (SI) + + Supplement 2000: addenda and corrigenda of the 7th edition + (1998) + + 1998 + 7th edition + + + Bureau International des Poids et Mesures + + + + 1998 + + Organisation Intergouvernementale de la Convention du M�tre + + + + + + XFDU + + XML Formatted Data Unit (XFDU) - Structure and Construction + Rules + + 661.0-B-1 + September 2008 + Blue Book + + 2008 + + Consultative Committee for Space Data Systems (CCSDS) + + + + + + XML + + eXtensible Markup Language (XML) 1.0 (Fifth Edition) + + W3C Recommendation + November 26, 2008 + Version 1.0 + + 2008 + + World Wide Web Consortium (W3C) + + + + + + XML-SCHEMA + + XML Schema: Primer Second Edition + + W3C Recommendation + October 28, 2004 + Version 1.0 + + 2004 + + World Wide Web Consortium (W3C) + + + + + + XML-SCHEMA-STRUCT + + XML Schema: Structures Second Edition + + W3C Recommendation + October 28, 2004 + Version 1.0 + + 2004 + + World Wide Web Consortium (W3C) + + + + + + XML-SCHEMA-TYPES + + XML Schema: Data Types Second Edition + + W3C Recommendation + October 28, 2004 + Version 1.0 + + 2004 + + World Wide Web Consortium (W3C) + + + + + + +
+ +
+ Glossary of Terms +
+ Definitions + + + +
+
+ Acronyms and Abbreviations + + + BIPM + + Bureau International des Poids et Mesures + + + + CCSDS + + Consultative Committe for Space Data Systems + + + + ECSS + + European Committe for Space Standardization + + + + ESA + + European Space Agency + + + + NIMA + + National Imagery and Mapping Agency + + + + OAIS + + + Reference Model for an Open Archival Information System + + + + + SAFE + + Standard Archive Format for Europe + + + + SDF + + Strutured Data File Markup Language + + + + SI + + The International System of Units + + + + US-DoD + + United State Department of Defense + + + + UML + + Unified Modeling Language + + + + UTC + + Universal Time Coordinated + + + + XFDU + + XML Formatting Data Unit + + + + XML + + eXtensible Markup Language + + + +
+
+ +
+ Conventions Used in This Book + +
+ System of Units + + The present book assumes that all physical quantities + + Physical Quantity + + are expressed according to a standard system of units. + + System of Units + + The selected standard is the SI defined by the + Bureau International des Poids et Mesures + () in documents and from witch the major + quantities listed hereafter have been extracted: + + + System of Units + + + + + + + + Quantity + Unit + Symbol + Definition + + + + + Length + metre + m + The metre is the length of + the path traveled by light in vacuum during a time + interval of 1/299792458 of a second. + + + Mass + kilogram + kg + The kilogram is the unit of + mass; it is equal to the mass of the international + prototype of the kilogram. + + + Time + second + s + The second is the duration + of 9192631770 periods of the radiation corresponding to + the transition between the two-hyperfine levels of the + ground state of the Cesium 133 atom. + + + Plane Angle + radian + rad + The radian is a SI derived + units that can be expressed in terms of SI base units + as m.m-1 = + 1. + + + +
+
+
+ Co-ordinate Reference Systems + + It is also assumed that without a special prompt all physical + values shall be expressed in the following reference systems: + + + Reference Systems + + + + + + + System name + Identifier + Description + + + + + + World Geodetic System (1984) + + World Geodetic System (1984) + + + + is an international + geodetic reference system + + Geodetic Reference System + + for the Earth. It is mainly used for practical + application of mapping, charting, geopositioning and + navigation. It defines a coordinate system, + fundamental and derived constants, the ellipsoidal + (normal) gravity model and lists transformations to + current local datum. + + is completely defined in the standard document issued + by the National Imagery and Mapping + Agency () of the + United State Department of + Defense (). + + + + Universal Time Coordinated + + Universal Time Coordinated + + + + is a time scale maintained + by the Bureau International des Poids et + Mesures () that forms + the basis of a coordinated dissemination of standard + frequencies and time signals. + + + +
+ + The WGS84 reference system is not an inertial reference system. + Vectors (in particular velocities) have to be transformed if they + are expressed in inertial reference systems. The transformation + may be more or less complex according to the expected accuracy. + + + Reference Systems + +
+ + + +
+ +
+ + + + + Structures + + + Conformance with XFDU + +
+ Preamble + + A critical characteristic of is that + any is an . + + + Actually, as introduced in earlier sections, + has been designed with respect to + several co-related studies, reference models and technologies. + + + provides an abstract mechanism to hold, + hook or refer to content units to form a consistent package. The + content units can be interrelated and may represent embedded, + local or remote that may be + connected to various kind of Metadata Objects. + + + However, XFDU is a generic system that needs to be restricted for + environments requiring higher level of control of the package + content. + + + Therefore, has been designed to + "be" an instance of XFDU, restricting the generic + areas of XFDU to the specific needs of Sentinel platforms data. + +
+ +
+ How does Sentinel-SAFE Restricts XFDU? + + During the redefinition or restriction, some features of XFDU are + discarded or constrained according to the specific needs of + . + may constrain values of particular attributes, occurrences of + elements, and especially add rules of consistence, mechanisms of + connection between the various components of a (Manifest file, components, + etc.) + +
+ + +
+ New Specific Types + + introduces + new types, defining and organizing the + product data. These may be complex types as + platformType gathering all data related + to the flying acquisition system, or simple types as + platformFamilyNameType defining the + platform name. + + + A platform designation introduced by Sentinel-SAFE + + + + + + + + 2011-TBD + SENTINEL-1 + A + + + Synthetic Aperture Radar + + + + + +]]> + + +
+ +
+ + + Information Model + + + A gathers product basic + information, such as the processing history, the + platform/instrument identification and the acquisition period of + the EO data. + + + The EO data is completed by ; it may be + completed by , orbital metadata, frame + Sets, grid references, quality information and indexes for access + efficiency. Plus any needed other metadata. + + + + + + + + + + + + + + + Information Model + + + + + + + Logical Model + + + The hierarchic structure of a (with nested content units), + defines the relationship between the (s) and its (their) associated metadata. + + + + + + + + + + + + + + Logical Model + + + + + + + Physical Model + + + + + + + + + + Physical Model + + + +
+ Physical Components + + + manifest file + + A is composed of three + types of physical components: + + + a "manifest" file, that is capable of holding + all types of information supported by ; + + + a collection of data/metadata files; + + + a set of relevant XML Schemas (data ). + + + +
+ +
+ Hard Disk Organization (normative) + + is primarily designed to be + stored on hard disk or any other file system device. One is nominally composed of + several files: one file + and its optionally accompanying + files. Files composing a + are gathered and saved on the file system through a folder. A + single package can contain one and only one . The file names of a are not supposed to identify + the package content (e.g. platform name, period of acquisition + etc.): the name of file system directory or any other means + uncontrolled by the present document is to be used if an + identification other than the one included in the file is required. + +
+ +
+ Manifest File Physical Model + + + + + + + + + + + + Manifest File Physical Model + + + + + + + Information Package Map: + + + informationPackageMap + + This section describes hierarchic structure of the + product. Nested content units reference s and + s. + + + + + Metadata Section: + + + metadataSection + + This section gathers a large part of product metadata. + enable several metadata + types including unknown types but requires some + specific ones. + + + This section gathers all references to + s. + + + + + Data Section: + + + dataObjectSection + + This section gathers all references to s (s + and s). + + + + + +
+ +
+ Sentinel-SAFE Objects Physical Model + + + A gathers + s. + There are two kinds of s: s and s. + + + A is composed of: + + + a + element of the ; + + + a . + + + + + A may be: + + + a : a + + element of the ; + + + a , which + may be: + + + an , composed of: + + + a element + of the ; + + + an . + + + + + a , composed of: + + + a element + of the ; + + + a element of + the ; + + + a . + + + + + + + + + + + + + + + + + Sentinel-SAFE Objects Physical Model + + + +
+ +
+ File naming and location (normative) +
+ Manifest file (normative) + + file name must + conform to the following grammatical rules: + + + filename = manifest.safe | + MANIFEST.SAFE + + + + The uppercase notation is to be used only if the supporting + file system does not support lower case notation. + + + + + A fixed form of file + name has been selected to assure its univocal identification + among s or those files not wrapped + by the product. + + + The only exception to this mandatory file naming is the case a + is constituted + only by the . The naming is in this + only case free. + +
+
+ Components (normative) + + allows any type of file as a + . Netherveless, it is recommended + to follow two main rules while naming a : + + + + The name part of the filename + should use only lowercase characters and numbers, plus + character -: + + filename = [a-z,0-9,-].XXX + + + + + + The extention part of the filename + should follow the standard provided by . + + + + + + The file name and location of the other files part of a + shall be defined in + their corresponding specifications. + + + Here are some examples of naming convention for s: + + + + + + Binary s should be named: + + + filename = [a-z,0-9,-].dat + + + Binary Components + + transmission-measurement.dat + measurement.dat + summary-quality.dat + occultation.dat + + + + + + + ASCII s should be named: + + + filename = [a-z,0-9,-].txt + + + ASCII Components + + transmission-measurement.txt + measurement.txt + summary-quality.txt + occultation.txt + + + + + + + XML s should be named: + + + filename = [a-z,0-9,-].xml + + + XML Components + + transmission-measurement.xml + measurement.xml + summary-quality.xml + occultation.xml + + + + + + + Tag Image File Format s + should be named: + + + filename = [a-z,0-9,-].tiff + + + Tag Image File Format Components + + transmission-measurement.tiff + measurement.tiff + + + + + + + XML schemas describing s + should be named: + + + filename = [a-z,0-9,-].xsd + + + + XML schemas describing <xref linkend="component"/>s + + + transmission-measurement.xsd + measurement.xsd + summary-quality.xsd + occultation.xsd + + + + + + + s should be named: + + + filename = [a-z,-]-object-types.xsd + + + <xref linkend="abstract-schema"/>s + + sentinel-1-object-types.xsd + sar-object-types.xsd + level-0-object-types.xsd + + + + + +
+
+
+ File System Limitations (informative) + + Many operating systems do not manage files bigger than 2 + Gigabytes. For this reason, when the maximum file size of the + destination facility is unknown, it is recommended to remain + under the 2 Gigabytes limit and to partition files as necessary. + This mechanism is automatically supported by the + byteStream markup of the + dataObjectSection defined in the . + +
+
+ + + Manifest File (normative) + + + + Manifest File + + The of a complies with the XFDU Manifest + rules and, therefore, contains information related to the product + data. It describes and interconnects all objects of the product, + identifies the physical components involved, such as the + acquisition sensor or platform and provides administrative + information regarding the processing history and facilities. + + + The is the center + piece from which almost all starts. + + +
+ File Format + + is an XML document + which compies with the + recommendation and to the XML Schema provided in . + + This latest schema is a strict restriction + (i.e. in the sense of XML Schema recommendation ) of the XML Schema provided in the document. +
+ +
+ Namespaces + + Namespaces + + +
+ Bundle of Namespaces in Use for Sentinel-SAFE Manifest + + The makes use of the + following namespaces: + + + + + + +
+ +
+ Qualified and Unqualified Elements + + Inheriting most of the features from top level structure of + , the + qualification (i.e. explicit declaration + of namespaces) policy is as complex. Actually, dues to the + use of substitutionGroups in XFDU, the + XFDU Manifests are interlaced of + qualified and + unqualified elements. + + + Because XFDU node qualification rules are difficult to figure + out, they are repeated through the following example. + + All elements of the are unqualified + + except: + + + + Qualified and Unqualified elements of a <xref + linkend="sentinel-safe-manifest"/> + + +<xfdu:XFDU xmlns:xfdu ="urn:ccsds:schema:xfdu:1" + xmlns:sentinel-safe="http://www.esa.int/safe/sentinel-1.0" + xmlns:xs ="http://www.w3.org/2001/XMLSchema" + xmlns:gml="http://www.opengis.net/gml" + + version ="esa/safe/sentinel-1.0/sentinel-1/sar/sm/level-1/slcd"> + +<informationPackageMap> + <xfdu:contentUnit unitType="Sentinel-SAFE Package" + textInfo="SENTINEL-1 SAR SM Level 1 SLCD" + pdiID="processing" + dmdID="acquisitionPeriod platform"> + <xfdu:contentUnit unitType="Measurement Data Unit" + textInfo="Measurement Data Unit" + dmdID="measurementQualityInformation + measurementOrbitReference" + repID="measurementSchema"> + <dataObjectPtr dataObjectID="measurementData"/> + </xfdu:contentUnit> + </xfdu:contentUnit> +</informationPackageMap> + +<metadataSection> + + <metadataObject ID="platform" + classification="DESCRIPTION" category="DMD"> + <metadataWrap textInfo="Platform Description" + vocabularyName="Sentinel-SAFE" mimeType="text/xml"> + <xmlData> + + <safe:platform> + <safe:nssdcIdentifier>2011-TBDA</safe:nssdcIdentifier> + <safe:familyName>SENTINEL-1</safe:familyName> + <safe:number>A</safe:number> + <safe:instrument> + <safe:familyName abbreviation="SAR" + >Synthetic Aperture Radar</safe:familyName> + </safe:instrument> + </safe:platform> + </xmlData> + </metadataWrap> + </metadataObject> + +[...] + +</metadataSection> + +[...] + +</xfdu:XFDU + + + + + The Root node of the Manifest file is bound to + urn:ccsds:schema:xfdu:1 + namespace. This is typical because root node type is + always a global type which have to be qualified + according the XML Schema recommendation. + + + + + contentUnit elements are + bound to + urn:ccsds:schema:xfdu:1 + namespace. This is due to the fact that XFDU + contentUnit s are part of a + substitutionGroup which are + necessarilly global and therefore qualified. + + + + + All elements wrapped into an + xmlData + element of the Manifest file are qualified. There can + be more than one namespace + inside + a single xmlData + element, as far as they belong to the following list: + + + http://www.esa.int/safe/sentinel-1.0; + + + http://www.esa.int/safe/sentinel-1.0/active-sensor; + + + http://www.opengis.net/gml; + + + namespaces defined in the specialisations (for + example + http://www.esa.int/safe/sentinel-1.0/sar + etc.). + + + + + + +
+
+ +
+ XML Schemas + + XML Schemas + + + For definition and validation purposes, three XML Schemas have + been defined: + + + + An XML Schema redefining for + (available in . It redefines + the target namespace + urn:ccsds:schema:xfdu:1. + + + + + An XML Schema defining (available in ). It defines the + target namespace + http://www.esa.int/safe/sentinel-1.0. + + + + + An XML Schema defining dedicated to + Active Sensors (available in + ). + It defines the target namespace + http://www.esa.int/safe/sentinel-1.0/active-sensor. + + + + +
+ +
+ Identification of the Sentinel-SAFE product type + + The root node of the Manifest has an attribute named + version. This attribute value is the + relative path for the xfdu.xsd XML schema corresponding to the + product (e.g. + "esa/safe/sentinel-1.0/sentinel-1/sar/sm/level-1/slcd") + + + Identification of a Sentinel-SAFE Product type + +<xfdu:XFDU xmlns:xfdu="urn:ccsds:schema:xfdu:1" + xmlns:sentinel-safe="http://www.esa.int/safe/sentinel-1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:gml="http://www.opengis.net/gml" + version="esa/safe/sentinel-1.0/sentinel-1/sar/sm/level-1/slcd"> + +[...] + +</xfdu:XFDU> + + + + + The version attribute identifies + univocally the Sentinel-SAFE Specialisation (i.e. Core + product level or more restricted products). In the + example, the + esa/safe/sentinel-1.0/sentinel-1/sar/sm/level-1/slcd + matches a Level 1 Sentinel-1 SAR SM SLCD product. + + + + +
+ +
+ Identification of the Manifest Content + + The content of the is + described in the Information Package Map. The + informationPackageMap element provides a + hierarchical view of the entire product content, using a series + of nested Content Units (contentUnit + elements). Actually, the Information Package Map is equivalent + to the highest-level Content Unit included in the product. + + + A Content Unit is an XML Structure (the + contentUnit element) that contains + pointers to Data Objects and associated Metadata Objects + (dataObject and + metadataObject elements); it may also + contain other Content Units. + + + allows perfectly identify each + contentUnit, using its + ID attribute. doesn't define any constraint about + their use. Nevertheless, if used, the ID + attribute of the highest-level + contentUnit (the + root contentUnit) + shall have the following value: + + + packageUnit + + + + + Value of all other contentUnit + ID attributes is not constrained. + +
+ +
+ Manifest File Internal References + + + This part is dedicated to the mechanisms of internal links. + + + + + + +
+ The Mechanisms + +
+ Data + + + + + + + + + + + Data Component and its optional Representation + Information + + + + +
+ Data Component + + + A shall be referenced + by: + + + dataObjectSection/dataObject/byteStream/fileLocation/@href + + + + + + An xfdu:contentUnit shall + reference this through an ID/IDREF + relationship: + + + informationPackageMap/xfdu:contentUnit/dataObjectPointer/@dataObjectID + + shall point on: + + dataObjectSection/dataObject/@ID + + + + + + From Manifest File to measurement.dat + + [...] + + + + + [...] + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + +]]> + [...] + + + + + Each + may have a representation + information. + + +
+ +
+ + XML schema Component (Describing Data Component) + + + + If present, an XML schema describing a + shall be referenced + by: + + + metadataSection/metadataObject/metadataReference/@href + + + + + + The xfdu:contentUnit which + references the shall reference this + + through an ID/IDREF relationship: + + + informationPackageMap/xfdu:contentUnit/@repID + + shall point on: + + metadataSection/metadataObject/@ID + + + + + + From Manifest File to measurement.xsd + + + + + + [...] + + + + + + [...] +]]> + + + + + The + and the dedicated to its + representation information are linked together not only + through their Content Units, but also by themselves: + + + dataObjectSection/dataObject/@repID + + shall point on: + + metadataSection/metadataObject/@ID + + + + + + + Inside Manifest File: from measurement.dat to + measurement.xsd + + + + + + + [...] + + + + + + [...] + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + [...] +]]> + + + +
+ +
+ +
+ Index or Metadata + + + + + + + + + + + Index or Metadata Component and their optional + Representation Information + + + + + + A may have an index, + and/or some external metadata. + + + In all cases, the + + (index or metadata) may be + referenced by a (A): + + + dataObjectSection/dataObject/byteStream/fileLocation/@href + + + + + + An xfdu:contentUnit (A) shall + reference this (A) through an + ID/IDREF relationship: + + + informationPackageMap/xfdu:contentUnit/dataObjectPointer/@dataObjectID + + shall point on: + + dataObjectSection/dataObject/@ID + + + In order to define clearly that this is an + Index or a Metadata Component, the (A) is also pointed by a + : + + + metadataSection/metadataObject/dataObjectPointer/@dataObjectID + + shall point on: + + dataObjectSection/dataObject/@ID + + + As an object may have a representation + information , the mechanism of association + between the component and its XML schema(s) applies + ( + (B) in the diagram). + + + + The Index or the Metadata Component is metadata of data. + Thus, the data shall have an + association with its metadata. + + + An xfdu:contentUnit (C), which + references the (C) shall reference the (A) through an + ID/IDREF relationship: + + + informationPackageMap/xfdu:contentUnit/@dmdID + + shall point on: + + metadataSection/metadataObject/dataObject/@ID + + + + + + + + + + + + + + [...] + + + + + + + + [...] + + + + + + + + [...] + + + + + + [...] + + + + + + [...] + + + + + + [...] + + + + + + [...] + + + + + + [...] + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + [...] + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + [...] + + + + + + e94f8303ad92d056c3b2d0d5d250111b + + + + [...] +]]> + + + + +
+ +
+ Wrapped XML Metadata + + + + + + + + + + Wrapped XML Metadata + + + + + A file holds + , such as + platform information, processing log, etc. + + + + The processing log, history of the product is defined by a + safe:processing element. The + processing concerns the entire Sentinel-SAFE product. + Thus, only the root Content Unit, first and unique + informationPackageMap sub-element + shall reference the Processing through an + ID/IDREF relationship: + + + informationPackageMap/xfdu:contentUnit/@pdiID + + shall point on: + + metadataSection/metadataObject/@ID + + + + + + All the other , + concerning the entire Sentinel-SAFE product shall be + referenced by the root Content Unit too through an + ID/IDREF relationship: + + + informationPackageMap/xfdu:contentUnit/@dmdID + + shall point on: + + metadataSection/metadataObject/@ID + + + + + + Processing and Other Wrapped Metadata + + + + + + [...] + + + + + + [...] + + + + + + + [...] + + + + + + + [...] + + + + + + + [...] + + + + + + + [...] +]]> + + + +
+ +
+ + + + + +
+ List of pointing attributes + + + Here are listed all the pointing (xs:IDREFS) and pointed + (xs:ID) attributes. + + + + +
+ Information Package Map Section + + + The Information Package Map, through Content Units points + on s and s. + + + +
+ contentUnit attributes + + + + + + + pdiID + (xs:IDREFS): + + + pdiID + is always an attribute of the "root" + Content Unit; it points on the dedicated + to the processing log + (<metadataObject ID = + "processing">). This + is + mandatory, and this attribute is required only + on the Content Unit first sub-element of the + Information Package Map (i. e. + "root" Content Unit). + + + + + + dmdID + (xs:IDREFS): + + + + "root" Content Unit: + + + dmdID + points on . + + + + + not "root" Content Units: + + + dmdID + shall always be an attribute of a + Content Unit representing a or . It may + point on a + or any . + + + + + + + + + repID + (xs:IDREFS): + + + repID + always points on a + + + + which references an XML schema. If + repID + present, the Content Unit must have a + dataObjectPointer + sub-element pointing a + which + references the + described by this XML schema. + + + + + + +
+ + +
+ dataObjectPointer (contentUnit sub-element) + attributes + + + dataObjectID (xs:IDREFS) always + points on a which references a + (data, index or metadata). + If present the parent Content Unit must have an + attribute repID pointing on a which references + the XML schema describing this . + + +
+ + +
+ +
+ Metadata Section + + + A + may have multiple ID/IDREF + relationship and may reference an external XML + schema. + + + + +
+ metadataObject attributes + + + + + + ID (xs:ID): may have an + ID/IDREF relationship + with: + + + + + A Content Unit attribute + dmdID + if the is a + (except the one dedicated to the + product processing) or if the + is dedicated to a + + (index or metadata). + + + + + A Content Unit attribute + pdiID if the + is the + dedicated to product processing. + + + + + A Content Unit attribute + repID + if the + is dedicated to an . + + + + + A + attribute + repID if the + + is dedicated to be the of the pointed to + by the . + + + + + + + + + +
+ +
+ metadataObject/dataObjectPointer attributes + + + dataObjectID (xs:IDREF) may have + an ID/IDREF relationship with a + + which references a + (metadata or index). + + +
+ + + + +
+ metadataObject/metadataReference attributes + + + href + always references an + . + + +
+ +
+ + +
+ Data Section + +
+ dataObject attributes + + + s + may reference or + (metadata or + index). ID/IDREF relationships are different for s and s. + + + The + which references a + is always pointed to by a + dataObjectID (attribute of + dataObjectPointer element). + + + The + which references a + (metadata or index) is always pointed to by two + different dataObjectIDs + (attribute of dataObjectPointer + element). One is a Content Unit sub-element, the other + is a sub-element. + + + + + + ID (xs:ID) may have an + ID/IDREF relationship with + @dataObjectID + (dataObjectPointer + attribute). + + + + + + + + repID (xs:IDREFS) may have + an ID/IDREF relationship + with a which + references an . Note that the + repID (xs:IDREFS) may point on more than one + if the + of a gathers more than one + (i.e. if + one or more (s) + is present). + + + + +
+ + + +
+ dataObject/byteStream/fileLocation + attributes + + + href may have an + ID/IDREF relationship with: + + + a ; + + + a . + + + + +
+ +
+ +
+ +
+
+ + + Components (normative) +
+ Introduction + + The s are files part of a different from the . A may hold data information, metadata + information or . The format/type of + the s has no particular meaning of + their role in a . + + + According to the physical model specified previously, all s are to be referenced from the . Refer to the previous + chapter for additional information about how s may be referenced from the . + +
+ +
+ XML Components + + Any ( or ) may be formatted in + XML. + + +
+ File Format + + The format of these shall follow + the recommendation. + +
+ +
+ Optional Representation Information + + The of XML are standard XML Schemas that shall + follow the recommendations , + and . + +
+
+ +
+ XML Schema Components + + Although XML Schemas are XML documents, + they are considered different from XML s. This behavior is due to the particular + role of they may have in a . + +
+ File Format + + The format of these shall follow + the , and + recommendations. + +
+ +
+ Representation Information + + In order to avoid circular definition of (i.e. of + of , + etc.) the XML Schema is + considered well known by the specifications and is, therefore, + not to be provided in a . + + + The considered for XML Schemas is + provided as normative part of the . This + is usually known as the XML Schema of the XML + Schemas. + +
+
+ +
+ Binary Components + + The binary s may be considered as + any regular files of a file system. For example, video data, + image, raw text, etc. may be referenced as binary s of any . + + +
+ File Format + + Any ordered sequence of bytes. + + + The sequence of bytes may be structured in a first physical + level of atomic data types (e.g. integers, floating points, + characters, arry of bytes, etc.). These data types may be + organized to provide hierarchical or complex structures. + +
+ +
+ Optional Representation Information + + of every may be described + by an XML Schema following the rules defined in , + annotated with + markups for providing the binary physical attributes of the + file. + + + + Sample of a Representation Information of a Binary Object + + +[...] + +<xs:element name="tangentAltitudeError" type="xs:unsignedInt" + minOccurs="2" maxOccurs="2"> + <xs:annotation> + <xs:documentation xml:lang="en"> + Error on the altitude of the tangent point + 2 values provided at the beginning and during the measurement, + generaly at half-measurement (the temporal shift is given by the + "time shift for the ray tracing" - see the Occultation data GADS. + </xs:documentation> + <xs:appinfo> + <sdf:block> + <sdf:encoding>BINARY</sdf:encoding> + <sdf:length>4</sdf:length> + <sdf:occurrence>2</sdf:occurrence> + </sdf:block> + </xs:appinfo> + </xs:annotation> +</xs:element> + +[...] + + + + + Standard declaration of an element in a standard XML + Schema document. This declaration provides the + logical/structural definition of the data. + + + + + annotation markups providing + physical description of the binary element. Here, + for example, the length is fixed to 4 bytes and the + element appears 2 times in the binary stream. + + + + + + A complete description of the + markup and their use is provided in the next section. + +
+ +
+ SDF Markups + + XML Schema has been selected as + language to avoid re-engineering of proprietary language. XML + Schema recommendations , and + provides an integrated set of markups that describes simple + or complex types. However, because it has been designed for + XML documents to which the + format is predefined, XML Schema does not provide any support + for the physical description of binary files. + + + It is therefore necessary to specify additional markups + dedicated to the physical description of the logical elements + described by XML Schema. These markups, deriving from the + Structured Data file language () should + be inserted in the appInfo element + allowed in many areas of the XML Schema documents. + + +
+ Concept of Binary Blocks + + A binary file is usually defined as a set of adjacent + blocks with various lengths. A Structured Data file is a + data source containing TEXT and/or BINARY data that can be + described as a hierarchy of data blocks. These blocks are + organized in a "tree model" as a file system does with + directories and files. + + + + + + + + + + + + Example of Hierarchical Binary Data Blocks + + + + + + + A block is identified by its absolute offset and length + within the data source. It is assumed that there is no + overlapping between the blocks. + + + + + + + + + + + Location of a Block within The Stream + + + + + + + The block content may be surrounded by + header + or + footer + paddings: + + + + + + + + + + + Physical Representation of a Node + + + + + + + A complex content is encoded as a sequence of blocks in the + same order than the node list. + + + + + + + + + + + Physical Representation of a Complex Content + (e.g. a sequence nodes) + + + + + +
+ +
+ Syntax Specifications + + breaks down any binary data into a + tree of nodes thanks to an external description. The + internal description is an XML Schema with a few + additional markups providing the physical description of + the binary file components. + + + The complete list of markups defined by as well as their respective roles is + provided in the + part of the present book. + + + An XML Schema is also provided in for helping in validating + markups with an XML Schema. + + + Finally, a complete example of + annotated XML Schema is provided in + . This example is a + typical case of Earth Observation binary data. + + +
+ + +
+
+ +
+ Index Components + + The Indexes are Binary s attached to other + Binary s. The + indexes content provides a quick way to find the elements within + the attached Binary using the + indexed value(s). + + + Indexes can be seen has a sub-sampled view of the Binary they are attached to. Indexed values may + be extracted from the attached Binary but also be computed or acquired values not included in the + attached Binary . As an example, in + an Earth Observation environment, the indexed values may be time + stamps originating from the acquisition system whether the + telemetry (i.e. the attached Binary ) may not provide any timing information. + + + Indexes are particularly efficient for + large Binary s + with internal block sizes varying among occurrences (e.g. + telemetry source packets of variable lengths). + + + + +
+ Representation Information + + As all Sentinel-SAFE Indexes follow the same format, the is the annotated + XML Schema provided in . + + + A file containing this XML Schema content is to be provided + and referenced as of any containing an Index file. The way + of linking this file in the + is described in section . + + + It is not an error to include a single copy of the Index + schema, although several indexes + are contained in the same . + +
+
+ +
+
+ + + Manifest Type Reference + + + + + + + + SDF Type Reference + + + + + XML Schema restricting XFDU Types (normative) + + + + + XML Schema of Sentinel-SAFE Manifest Types (normative) + + + + + XML Schema of Sentinel-SAFE Active Sensor Types (normative) + + + + + XML Schema of SDF Markups (normative) + + + + + XML Schema of Sentinel-SAFE Data Component Indexes (normative) + + + + + Example of Sentinel-SAFE Manifest document (informative) + + + + + + Example of XML Schema for binary Data Components (informative) + + + + + + + + + Sentinel-SAFE Document Improvement Proposal + + + + + +
diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/example/manifest.safe b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/example/manifest.safe new file mode 100755 index 0000000..865689a --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/example/manifest.safe @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + 2012-01-01T04:20:32.012131Z + 2012-01-01T04:20:41.872452Z + + + + + + + + + 0000-000A + SENTINEL-1 + A + + + Synthetic Aperture Radar + EW + + + + + + + + + + 1771 + 1771 + 21 + 21 + 11 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -45.603,-23.437 -45.011,-23.738 + + + + + + + + + + + + + + + + + + + 2990a4b5e4ead6216cfd6b4c17621242 + + + + + + + + 1f2e6eaf1ef1970b543e92c9ffb6698a + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/example/s1-level-0.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/example/s1-level-0.xsd new file mode 100755 index 0000000..044bad0 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/example/s1-level-0.xsd @@ -0,0 +1,731 @@ + + + + + + + + + + + + + + + The Data Unit (ISP) has a variable length + + + BINARY + unbounded + + + + + + + + + + + + + + + + + + Source Data : An array of variable occurrence of + unsigned bytes. + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sync Marker has a constant value 352EF853 + + + + + 4 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + constant value = 000 (3 bits). + + + + BINARY + 3 + + + + + + + + + + constant value = 0 (1 bit) + + + + BINARY + 1 + + + + + + + + + + constant value = 1 (1 bit) + + + + BINARY + 1 + + + + + + + + + + constant value = 1000001 (7 bits) + + + + BINARY + 7 + + + + + + + + + + constant value = 1100 (4 bits) + + + + BINARY + 4 + + + + + + + + + + constant value 11 (2 bits). + + + + BINARY + 2 + + + + + + + + + + + + variable value = 0 to 16383 (wraps to 0) (14 bits). + + + + BINARY + 14 + + + + + + + + + + constant value = 0 (1 bit). + + + + BINARY + 1 + + + + + + + + + + variable value = 000 to 111 (3 bits). + + + + BINARY + 3 + + + + + + + + + + variable value = 0000 or 0001 (4 bits). + + + + BINARY + 4 + + + + + + + + + + variable value = 256 to 8447 + + + + BINARY + 3 + + + + + + + + + + variable value = 0 to 31 (3 bits). + + + + BINARY + 5 + + + + + + + + + + variable value >= 0 + + + + BINARY + 3 + + + + + + + + + + variable value >= 0 + + + + BINARY + 3 + + + + + + + + + + variable value >= 0 + + + + BINARY + 3 + + + + + + + + + + boolean value = 0 or 1 (1 bit). + + + + BINARY + 1 + + + + + + + + + + configuration of Tx/Rx polarisation - variable value = 0 to 7 (3 bits). + + + + BINARY + 3 + + + + + + + + + + activity of temperature compensation in the SAS - variable value = 0 + to 3 (2 bits). + + + + BINARY + 2 + + + + + + + + + + beam excitation coefficients in elevation selected in actual PRI in + the SAS - variable value = 0 to 15 (4 bits). + + + + BINARY + 4 + + + + + + + + + + according to value of SSB Flag (0 or 1) it represents either the beam + excitation coefficients in azimuth selected in actual PRI in the SAS + or the he beam excitation coefficients for a calibration operation + selected in actual PRI in the SAS - variable value = 0 to 2047 (10 bits). + + + + BINARY + 10 + + + + + + + + + + calibration mode - variable value = 0 to 3 (2 bits). + + + + BINARY + 2 + + + + + + + + + + address of TX Pulse selected in the Chirp Generator of the SES - + variable value = 0 to 15 (52 bits). + + + + BINARY + 5 + + + + + + + + + + constant value = 00 (2 bits). + + + + BINARY + 2 + + + + + + + + + + constant value = 000 (3 bits). + + + + BINARY + 3 + + + + + + + + + + constant value = 0000 (4 bits). + + + + BINARY + 4 + + + + + + + + + + variable value = 0 to 14 (5 bits). + + + + BINARY + 5 + + + + + + + + + kind of signal acquired in the actual PRI (echo, noise, calibration ) + - value = 0 to 15 (4 bits). + + + + BINARY + 4 + + + + + + + + + + boolean value = 0 or 1 (1 bit). + + + + BINARY + 1 + + + + + + + + + + Signed short (2 bytes). + + + + BINARY + 2 + + + + + + + + + + Unsigned short (2 bytes). + + + + BINARY + 2 + + + + + + + + + + + + + Signed int (4 bytes). + + + + BINARY + 4 + + + + + + + + + + Unsigned int (4 bytes). + + + + BINARY + 4 + + + + + + + + + + Float (4 bytes). + + + + BINARY + 4 + + + + + + + + + + Signed long (8 bytes). + + + + BINARY + 8 + + + + + + + + + + Unsigned long (8 bytes). + + + + BINARY + 8 + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-1-bis.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-1-bis.svg new file mode 100755 index 0000000..97f68f3 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-1-bis.svg @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Page-1 + + + + Rounded rectangle + + + + + + + Rectangle + + + + + + + Ellipse + + + + + + + Ellipse.2 + + + + + + + Ellipse.3 + + + + + + + Rectangle.4 + + + + + + + Rectangle.6 + + + + + + + Rectangle.7 + + + + + + + Dynamic connector + + + + + + + Dynamic connector.10 + + + + + + + Dynamic connector.11 + + + + + + + Dynamic connector.12 + + + + + + + Dynamic connector.13 + + + + + + + Dynamic connector.14 + + + + + + + Sheet.15 + A + + + + A + + Sheet.16 + B + + + + B + + Sheet.17 + C + + + + C + + Sheet.18 + C + + + + C + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-1.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-1.png new file mode 100755 index 0000000000000000000000000000000000000000..47a5c1764484f0295e233bdfd19720a6c3e49e00 GIT binary patch literal 29569 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⪚gDAQ8qehi-P0&B%Ky*N;W&Wbg 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

pXXFWIV+SNPnV1!}eaY~CXAaIHEcOB*W^Y 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Page-1 + + + + Rounded rectangle + + + + + + + Rectangle + + + + + + + Ellipse + + + + + + + Ellipse.2 + + + + + + + Ellipse.3 + + + + + + + Rectangle.4 + + + + + + + Rectangle.6 + + + + + + + Rectangle.7 + + + + + + + Dynamic connector + + + + + + + Dynamic connector.10 + + + + + + + Dynamic connector.11 + + + + + + + Dynamic connector.12 + + + + + + + Dynamic connector.13 + + + + + + + Dynamic connector.14 + + + + + + + Sheet.15 + A + + + + A + + Sheet.16 + B + + + + B + + Sheet.17 + C + + + + C + + Sheet.18 + C + + + + C + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-2-bis.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-2-bis.svg new file mode 100755 index 0000000..b6970e7 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-2-bis.svg @@ -0,0 +1,123 @@ + + + + + + + + + + Page-1 + + + + Rounded rectangle + + + + + + + Rectangle.4 + + + + + + + Sheet.16 + BLOCK + + + + BLOCK + + Dynamic connector + + + + + + + Dynamic connector.2 + + + + + + + Dynamic connector.3 + + + + + + + Dynamic connector.5 + + + + + + + 45 degree double + + + + + + + 45 degree double.7 + + + + + + + Dynamic connector.9 + + + + + + + Dynamic connector.10 + + + + + + + Sheet.11 + Offset + + + + Offset + + Sheet.12 + Length + + + + Length + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-2.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-2.png new file mode 100755 index 0000000000000000000000000000000000000000..8628422fb2a6f65a6e3c1e4f0e91729e20606144 GIT binary patch literal 10592 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 literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-2.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-2.svg new file mode 100755 index 0000000..53aacbb --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-2.svg @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Page-1 + + + + Rounded rectangle + + + + + + + Rectangle.4 + + + + + + + Sheet.16 + BLOCK + + + + BLOCK + + Dynamic connector + + + + + + + Dynamic connector.2 + + + + + + + Dynamic connector.3 + + + + + + + Dynamic connector.5 + + + + + + + 45 degree double + + + + + + + 45 degree double.7 + + + + + + + Dynamic connector.9 + + + + + + + Dynamic connector.10 + + + + + + + Sheet.11 + Offset + + + + Offset + + Sheet.12 + Length + + + + Length + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-3-bis.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-3-bis.svg new file mode 100755 index 0000000..d4e8859 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-3-bis.svg @@ -0,0 +1,138 @@ + + + + + + + + + + Page-1 + + + + Rectangle.14 + + + + + + + Dynamic connector.17 + + + + + + + Dynamic connector.18 + + + + + + + Dynamic connector.19 + + + + + + + Dynamic connector.20 + + + + + + + 45 degree double.22 + + + + + + + Dynamic connector.23 + + + + + + + Dynamic connector.24 + + + + + + + Sheet.25 + Header Padding + + + + HeaderPadding + + Rectangle + + + + + + + Sheet.15 + CONTENT + + + + CONTENT + + Dynamic connector.27 + + + + + + + Dynamic connector.28 + + + + + + + 45 degree double.21 + + + + + + + Sheet.26 + Footer Padding + + + + FooterPadding + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-3.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-3.png new file mode 100755 index 0000000000000000000000000000000000000000..7d9f1598c7d0d64bd3c68253b3c437a9b0aa1d1b GIT binary patch literal 12190 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�Q*v(uvR2ge_LwUZ`<5W5#<{Cc4T6iXQ+gS}E+ViUM)0R33> z6N(oB;!!NT4}D;jg4|UT6m2S)K`-J-ZIbfeWn{zn{zV_}M6u{8XdU-6&|M>wA0eLy zoBgbE_~356gHO8GJzeuw%%O~h3Nt6+;ok$@YC(KYpm!){^5cNyyZxZ2G4Z~ba>r+H zJXlKfpbh!z^_o6H6%@OT(f{{-!d$R0x?q|49!?-R7Wk7Iaet`YRg6HG(Uo? z0tC@Umd`L+gBXp0Wc2T*(2TZeP!9(b1`x@K%!3F+JL{gf|2PEhssT_y2wA`RF=8lI zq=;=_ES?=MBv;Gzl38k1gRmdsvdEqt+Q%HDirpfzhA~T>@5MklI|UO+a<7T3RWUn9 z&)3!7s}!{vdsR$A@j0r3R4bOL?=2-1RMRV)jq(hbU2LvQ&V~PlCpi8f0H-VE6zz0B zk@mnjW@q>e9R26g^}cJ04e=Z2=WO}Zjuj`Eg|TDM$w%^cnK{~2%4YDA9RD)i!R^Hr zi++KlGJu;bj{EGGK7rXx7(2jPNDI4hA~!Ycv9!l4%wYOG^)iaB6!_}{I?!t8@Vrtr zT&m|1pBqo%kXnp9IJWwLnr1+fz=R_Zj|Zzx?g9;1IxvcYNzrqK{z6qTn;~$ zK8U9^3CS(rR}DfjfD&dD1wU!v!oOlw>72>04=C`IVgzZ@RjtJ$PK#?!eZzi5@puiM z9&74*2(9xfq$5X}yy-%U0Duby)im*DlC#XiJw7!qI)x(ro+Z| + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Page-1 + + + + Rectangle.14 + + + + + + + Dynamic connector.17 + + + + + + + Dynamic connector.18 + + + + + + + Dynamic connector.19 + + + + + + + Dynamic connector.20 + + + + + + + 45 degree double.22 + + + + + + + Dynamic connector.23 + + + + + + + Dynamic connector.24 + + + + + + + Sheet.25 + Header Padding + + + + HeaderPadding + + Rectangle + + + + + + + Sheet.15 + CONTENT + + + + CONTENT + + Dynamic connector.27 + + + + + + + Dynamic connector.28 + + + + + + + 45 degree double.21 + + + + + + + Sheet.26 + Footer Padding + + + + FooterPadding + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-4-bis.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-4-bis.svg new file mode 100755 index 0000000..4307b14 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-4-bis.svg @@ -0,0 +1,77 @@ + + + + + + + + + + Page-1 + + + Rectangle.14 + + + + + + + Rounded rectangle + Node 1 + + + + + + + Node 1 + + Rounded rectangle.2 + Node 2 + + + + + + + Node 2 + + Rounded rectangle.3 + Node ... + + + + + + + Node ... + + Rounded rectangle.4 + Node n + + + + + + + Node n + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-4.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/SDF-Markups-4.png new file mode 100755 index 0000000000000000000000000000000000000000..e796ed5d54757e9a728885b400a27e096b6f4526 GIT binary patch literal 10304 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Page-1 + + + Rectangle.14 + + + + + + + Rounded rectangle + Node 1 + + + + + + + Node 1 + + Rounded rectangle.2 + Node 2 + + + + + + + Node 2 + + Rounded rectangle.3 + Node ... + + + + + + + Node ... + + Rounded rectangle.4 + Node n + + + + + + + Node n + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Data-Object.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Data-Object.png new file mode 100755 index 0000000000000000000000000000000000000000..418907894dfb02ff548748ac3b9f3f37a5d0f5e9 GIT binary patch literal 22371 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 literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Data-Object.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Data-Object.svg new file mode 100755 index 0000000..809c242 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Data-Object.svg @@ -0,0 +1,1000 @@ + + + + + + + + + + + + + + + + + + Page-1 + + + + + + + + + + + + + + + + + Object.121 + + Attributes + + + + Name + contentUnit + + + + + + + contentUnit + + + + + + + + + + + + + + + + + Object.124 + + Attributes + + + + Name + @repID + + + + + + + @repID + + + + + + + + + + + + + + + + + Object.127 + + Attributes + + + + Name + @dmdID + + + + + + + @dmdID + + + + + + + + + + + + + + + + + Object.130 + + Attributes + + + + Name + dataObjectPointer/@dataObjectID + + + + + + + dataObjectPointer/@dataObjectID + + + + + + + + + + + + + + + + + Object.133 + + Attributes + + + + Name + dataObject + + + + + + + dataObject + + + + + + + + + + + + + + + + + Object.136 + + Attributes + + + + Name + @repID + + + + + + + @repID + + + + + + + + + + + + + + + + + Object.139 + + Attributes + + + + Name + @ID + + + + + + + @ID + + + + + + + + + + + + + + + + + Object.142 + + Attributes + + + + Name + byteStream/fileLocation/@href + + + + + + + byteStream/fileLocation/@href + + + + + + + + + + + + + + + + + + + + Composition.150 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.155 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.145 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.160 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.165 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.170 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.175 + + Attributes + + + + Name + Component + + + + + + + Component + + + + + + + + + + + + + + + + + + + + Composition.1 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.7 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.12 + + Attributes + + + + Name + metadataObject + + + + + + + metadataObject + + + + + + + + + + + + + + + + + Object.15 + + Attributes + + + + Name + @ID + + + + + + + @ID + + + + + + + + + + + + + + + + + Object.18 + + Attributes + + + + Name + metadataReference/@href + + + + + + + metadataReference/@href + + + + + + + + + + + + + + + + + + + + Composition.21 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.26 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.31 + + Attributes + + + + Name + Representation Information Component + + + + + + + Representation Information Component + + + + + + + + + + + + + + + + + + + + Composition.34 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Link + + end1_name + 1..* + + + 1..* + + end1_mp + + + + end2_name + 0..* + + + 0..* + + end2_mp + + + + + + + + + + + + + + + + + + + + + + + + Link.39 + + end1_name + 1..* + + + 1..* + + end1_mp + + + + end2_name + 0..* + + + 0..* + + end2_mp + + + + + + + Sheet.178 + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Metadata-Object.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Metadata-Object.png new file mode 100755 index 0000000000000000000000000000000000000000..aa51ecf2d510e6710b23cade9cb697f6e48953f4 GIT binary patch literal 49113 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 #l@bpX$OE07}LexW`GGr*GECdmeM6pukpR_Af?U z?IuejD;1|6ebYO7%>~ydd{y0Fx3CNUT_|v~bQok|X+x=v` z8(**I6%>ua)%+bAWQb`)w%b{~q1-x2o@)h+7(;J0FORwf;CQbDvD89pUh$<;v^$iv z)nnCP#Hgc8>LMQTTOv3Z)EY>Pd8n zq;u)y!SV~xF{Y~uP4Lxzp-ykY^@y9;7x0;|{8!CJ6{oaR*eQj+a%P2diRYKkl5=RS z0B=Yg{MaLUsrhjx+fdJ8_l?JBZ5MQ5R|0IgG5Sk+L1D_$s!|NV0R{+3c$u1y2eQHk zS^ZhC%{RY|yp-bAD60d@7eH$3`Oe@pK3X7W0o*p9&naF)#UI0u@gLBzOl+HEHgUSx zFZ}YHr(Cjx#>zzu%_j8dVa@ad9X)mDJ0fV_ClXbtY;dlF+Ax^Xru7vyDH~hGvaO8F zI7k0dNxJHiyT8Je$9XbY9@LEf9Hd2v=E+sRIFTxH5<>#OkSZ_v_C zg-t10vTU0`CK{&{r;-qM)&FFQ1H)%)x~}a%LI>&nE{fI#jgdX8HIeORp_#C zs*o<6QOWvY2-gU*ABPNlS@--|4ju>MXY+!at5QTtElY9{a&G@=;G1kH1+kyh5HrGG zUPnL{QvKW}2Tj9Zc&+%G6(E!1PqUg@t+PCYg(J1kBx9>jh~Ob5X5-dCrV*OoG{zdU zjPfETk`^7hGPLU^On&$KF;fH9#$!sU#DWdiYnj(~mLF0UgUsH|Eb! zN@9D_8pxnCv3>nE_@i=uz$NQ=g4Ve#k}AyvBnlw=SkDq6oCtr_smKZ)2p*xPr8gjD zlfsGN&$Pb~0#~7hnO(V{40?sEj<1BXl#_O-nv4nfyNTLoMoB)p*4Pj{9-Nfu3WCoI zBo8u?Ck|bj9#RSHx~sK`aC9LG%7MT}(?jxt7z<3uRrV)~CD{9oixlZY#)DOBD&lJ7 z(uF>=2@UMjP=Xiz8m#iFnYR@$er`kQnRby14_!Sv|vP<6!b4ih%T+g!~Jxl8YHCwz(qkaYBgvkE};jr$%TN|CQ1f z=Q*?9tzETY-|VQt{^Eva-So1ZP#ROw%xWCXQYx8*b&5gJsz z3Ixv7IC(6mGH`?{HOW+Ip!%Hexx8E77^WcjMm6a=xQbI2MHxEfxo*`uDD`45x;dQ2 z51XEmhb6kq=5t`H$MSV}6XzTHtCd7khsH0T z-}D<_we;fBVZ!S*M^a4Xc;J7R+?OVp3+QDB6DVU=5Tmc-Gx>rbtXN3|MS?-NxtR>j z6F6Roh+NlO^f$TalE3kK8F5c1oEc_cKR z7+cHsQJ{Gzh{s@DLZ5&%8}N{m)p<*y{gh5^64veB1ea85lLwQ+ z6mV$7a1)C7jIg1{Ai0}Yl?1T9R<+dKl2U}tW|rA`4^`2E?nV7YK`-N^MYa(0vZV!6 zuk@a#Uq>Da5zZi9{0cqEGr4KaJ{o4RXCpsfy54;>7@mM}TL%kSn$d04I<>W533Zxs z;f{oTwW2X1^oZb%V5r-Z#0m!Fu~@@5B%z5&J9iDv6J~HgQ^f!C=UKT20tXw+-8L7g zK%Txbbbkhom`Uv@jVz{<+NqagFPC!iEU&T(+5(kH61%^LY_9LzGF4 zyZNsoU)rL$2o*+IZUbx@LGI;3KjV14yA`HBBa~nA&?7K@=iYSI*_1~)anZAmS8)NR z6sZK?@~RX?5YG!0Q)zxd9R89p<-G&qLG@-s!Wm68Wk**mY{x7{{5%RctRp`xd&<+U zu*Gw;V*0UL_=EsU+OwC_-L@~9kCUb9J(877*DJAHdH%*wkAWuy7oT2gG>y0~^uoe& z7Jy*T{tMh@zK{+J=@ptT-A}p zs=)2kAEtDHUr|&pu^f*H2L#=91oGXG=SFZHmgFPGAKOFFB+62Xo;4&R+B;Gw;?Si% zpU1EJzVmP0@D1l$)eHV?YiBKF$re zVAhyWJAb(k zu%mit(h$IDBSJAns19#@W}jUmus<6AnhH?h9_ZO`Ud-mTiYg1go(@?3WHX>t_BYS9 z#`TFCa6i5=72-$-Ca283~r1jmMlbW`bgxswXXnX&#t1W)k zaRGj7jv*-}1HHvJrS~y2C#NYdsP_1NFChQ@Nuj-j?Z_00@gf}5()pP~c7IlzeH3`;z-w=bOcP*cnh32VFni{&{n)p%yj9Yh|XX zGhXy!rYH#@HYo7m-{_K%O)7n%%sSHrU3V9Y7rX}qRASaf>@SWWlR?ohX^u&$PdP)j zrTGtQa(6LMt+vIy2Kri5G=x3{x^k?DzeBz*~mO0T`V4_#%Hxfu0BW;BFkl#ngRy_gYmJkY}wh%LfUZNqJH?;$y6d6im=5n&Byw(VR`nhC>R@ZH+lb8MwyN+ z*!7u28W}5{ODB`SGAqQT597IBqGfihNSzA`1w5s}b6`~))_6s<+9D$a(jU*qTjh8E zw_l>DsMj!Lq-G#~(Mw7~=N8K=M!K(JZ2OWXC66A5SYV0Z+poP%(Knhy0<{0iV|aaZ zwp3TB?LcJ>o?3&gZ01TMWjjA53BAvhQ2(24v28HVL2=4Uuy%3j2hog{>m@CyJNs)F zF?8Q58a+~ayQNY28S6BeM*xn(YEn|rzYct|Tq!P{eLj>7%)EV1V;=3zt34L8Hm;Vc z|EqSDB!k}yB~3rEl5A0x5A0`q>;?&Cz=j!sdm>Vn8-DC!V^}`fpyFBwY=X_^U-fk8 zSl|Ks3+UdBoev$cEP8{G`xp27J&KW)P;rcKU)RZv$7bAcv<0#M$(~QtqMRUiU$nzd z0E?t4{udBC7cuo<{SVo9SfiKwj7AC7-&yGi2B&pnMVjGqSs{cHut4gTxkkrTGXoFM zG}{Pa10!2Sjc-$?w3(PG0dXo$wxBm70>6J*0gJ+7S#j!rI|w5bY9+c39Mn1%`-LsR z{M^@u?#WBGP;XYzW3U8OoWgf0gf0{*J&k)s4R0%|ji#XGhjv;-I_0BjFtGT0>!u@f zeE!>ADM96B>$M~D?Qh;B-l&d*Qbav=lJL}_NOthsQqt*gCi!)D5O6d1TgB!lhvzp% z@HWer6E!+=*^4nZD#IS9(xm79{vb@oX8k5kgNPwg0_y4LB~Mqg0r`>YoenCYG?PQgtc zlf8#h)WVE4&^TT#P*i^-BzZ25c;Ck0^jPM%I)u8;(0Jw;)Cr5O?jKD@;TzH*dPa)# zzzbRw<-(>%148UYtN~mHQgjY-U_!~XVByvL!h}Q);~@=*^F9x0sy(5Zgp_o9=N#lL zJVqx*4$n6-Xq(gnp`5V#ha~zy93H89V7)GkEXLZTG0Y-eUL^@>6ZDV|tIK1w(nDH; zO)X2s$q&0OE%!~!#3%(3A=JpMySQot=ZO0Q895T`knMEr@_|Lho< zwjZy3ZjVisW;Q}_wVF&NFbw5 zAcamkWYZI`$0JZ)Z4S<)$GL%%D%&e*xT;zb`ZV! zZm*8RZZ0NvANTrXGXCo~9aXGo^m{1us*A9>vCzM>vbDQ7Pa*ph$0W3cOWlYXvWWO$ zi2l~b8ox|v#4i$_OvWRu!3tA7HA8Li>7}qfTE`pEg&`IashS{~^A)*JV3BK(>$vnF zb&TkU^8dV0+sX(MV@f3Exho4+9YdJ#Hz(NBPN=N7j#6851)PjZ< zOHqShB+G3gSm>vTOFONt0r4s!nOtm6Fd-F@Ac{1QD-9ggd&>WCq{H8r__YX0?!DnJ zpCI=HHQG#A<#cWb>ruWAsxxgY2#hu+B1^e`zIWsZLzKku9hX^KkyTV$>r9k8BVxs2 z2=6taQB)aUv3nfmArG_;)jHqIGAQ^^Fa;x$deYAbqzR)go(f=T>38+{LoD8;ojTr@ z_7YG87-iorHv{R5-8KC+$A|CBxzB*aW|R@B;a?%brq}H{%dYz(v^cL;tO6)Dv)&AIS8qGr?;qm(g<$Zt(p#j>^AJN2LaP z@MkJRq@$jK%?%~WdfC9MvT4<*ff?A^`AxhYBf2;^+xsdi=#1$0(O`yGRN}+iR`tGF zrYCuYCm!=BNgw;{!A;pQnDqZ9hyDM*)&I>XBi09#p-iGUJLCbf#25PG)Z-rT>t z8{+vheqpannh2nYL{$IQ!-jw>0t0(Ctp%_m>?ZB^3M5A-l5W0fy!{I1QW;J>ev2yR zV+YI;JB?`!PI_-}w?>bB1^1GR4f->4_Q09^#3{hsY8eHh^Yw|60CCy1`|lZuv$-zO zVLVVgyv^Q&XdkwK9J=>YTA_d)L8)a8$VAs#c?QsX3mbIQ#KDp7YmAOYJ^)QQv+Thc z%HXD8=CX)_U}4Yoo;{h5?b`%%N(4I#FizMhed$(}A6G-g`{fL?^!|sbOfS>5G$DKa zEQ}Z&OM^Ygrm&a`shPB*zK01(vYyOG11*K1L`z5o=39a;bKv$8xz6(|tBn}sVc8D< zmpkN>178`8%q74Sh*i_xf9MmD`n4#f<2_LEQQLhEec&WjZeS)wWBM!VdvA2^7VJV45C!jp?$-$s{|=@`xa1ioYr?nB3LF{jcTp8^`^Gx zQ9h9`SSA}q9X~Z`^Jf0~d9Rk_R$kg`Z4itR7=GtTuk7S@C!9XUMRK)rl++b+`Qeuy z_PD{LkZ<**k453>@Wz$WCBaGt{T-^q*lLvYoD@pYVRi(t>m35}x_ol+?Qhog!32|| zkc}*Jk1q&pwXz;m+S34zY+{4n>kcLDDJ&Y&Tnf1Ed`XwBm_23uXQh|;uvI)FxE(eP zE0Fb5zqSoCAU4gsX?BVP;8MSL<`SU`^+;z3E22Ud|2>!$quFFHt}-i$ur+9ip2~;x zSuW*>IAzTEtpnjwX=G3i1}ElxHTaql(aifQjJzgywcx2w1;Z_v5$FaKQUIfo2sjYR z4%9o+3m4!Wm-Bs&SVO+SqZ9$z0aP2?IE9?>8VwOH#xb%SN4` zQ3wi{W#Z3@I+LTXvIRl7`Xs5)4AyAoCDb~SMqBHL<|w#q&`VJLbisE!?daQJtyK>V zw=`;>CVgd4RJI+L!WI$9I)bW<`Zcb;a^#tZW;+NxkhYjICSkbp&grSqAO~(q&K6?lN z7Mmo*UnPl#%DqO>@=UB<$<9QOFRi?_X;{ICEZZ3np%%60puF~G)Y>JE$i)z&~zqZ(YIlT>x#I}0;x8+8!px~m&D=T_4 zGX3P|ADu51vqe%Nk|8s?`}r6L?aJ&|zc;!r|8s47^xcO{XqaTd9@Dk(+b6wz##Z>S zqtfpTEs*nARh9S*Mgjl13&_{pfl!QqDI~N3C7Cv1d1-PjTrJedq{cT=ne-uqM=JE7~2Ea z*=ggcU4jx($~W*>ZcWb263%|_(XTRnlHd&H&Dgb_HZLK21I=1Is6`mIo$paJtmMiL zJ5RMr^*;KK^H^NI!!_7AB)W*2WURzluK7Ow8dLgXy}4Xo?15d}0uN_j%)l!+H{8bm zW@h}4(A8Ptin6>SU6cG{aCgdxtUw}M+MxGr4teGWR-U*WvEy}6=RUQlkA>kEQMLiko`_22-zPnO72G5 z44GzWfe#2+KKSXbiDsg;Hz7m&A=^jQ!#Sv*qYTh3nmTR7zwJIIYz;cL8k%7tyE@;? z#OPX3h|#j1T#Fu)Q{cP)tCWB&q8Ocb1JA2$B$cf_jylWgf9)Dra(QnX#S*2=${XFV zJ&s71TKm3-#sv72m_spSB<&-UXLHmX1Vc}H5koy9CcFOl`5P%&a#i^QZ09>xdLnz-wUZf_p+=(njobX$r@pKZ=swJV=YS={hDP&hDi| zbqkrcn8vPnvw0q zK)qI2N!s*-DW3??G?&s;an!OY27WDO_+HfVK!Gi)bdf65_+2|27L0oats zlWgdMo@~&)PSg$|iR*c&Lw52PJm~dj#Ss;}OGhw_u8fJPy&uc;v^QMWtvRY^c ztZ9C#F=1L_Lx>x%mw0Mh7oWNaQEz@%=f(Tan%On&a>++qBDdrC?z}eQuH+@psF`Z< zpxuzWXfS(b5m|;1)3;fRN z(WW4E)?igoUmH&`rQMfd9vOen_Ys!B{NXA*&3y4?O}B}3bq+4iy`F~%pqVTAWLlx~ z^KO$r5~=d4qYz|$^NHJ`e;7j^!Rt|Iv~zNwbnj2>5_fT8P>+l zN6_s~JgabfGNn^UAfCQKg(Z^ zzC|hUzX-{1{oR6$^v^PWQ~6L3c-=wioZKdiay2P>PyoC(?>jIf^sCG#F?R!{a+;pb^MwxRfGD38q~z;z_u}*OAi9 z+#q~B^M(@E$jO|64G0b pgwfRi){uy$Xo?YQqGPMF8X|V`*K1fs(oU?LLeFJWcsOSDT1lH0>{J}Q(sS6 z5&k^yQIku7a-qCsVFv@VSf8f(zC_Y6_-&T;ST22iT^X4NrZS1lx~WNnMPzm}@J4xp zPwt`&az3D4`;a;{CCj%eQPhzsZ1(~!*it*&x8V0is$%;k7atxkZgcag_>PN358t~1 zjBcU6!&>||vd{bzSA*v%P^sl@KxJJjvb9W1!b-XB_8x8)Ba#ln<0VE_SmHU*2kq!b z#R=r53v|zU+J3)&!)c5WKlObbfN1n8f6VoFJXdNsN_ELXEU3v>qXJoCJ$(o8ZmRv4 zq~QG3_z=ah{BP%H)7k?NlpEJKg?Z75gua!w4-=uX!Kh2yp(K#PA$Wr^#ED)e3rD%< zHVvj{i_A1mUlD2r`3%rPTGh$#)cY^M1>BxUl(b=0+W%&rbp@XTHtejG1-2=eUHpHg zhO{RZVhut4C{^V2ssAjXLNh1-ash*UnWeq@h+?G{^ewQB0AWrEtguslU%x^g0cJT( ziec+QB67mzb;~Xoxw-Sg1J+0`jC!};!Az|7x?+q7A~ z3Wy>-k(RT6itWO}1Gql)Bpg)y6v~ee$I1$xgYR;os?q{cg0-$u=>Sij0oxCi@!<~J z>6zyZHGm|Gfb=oMh}~^kXu8TkHEQR9e#q&XjXc5{Kv$m@5+>KPSDSJeqMa3vTjc-i z&jLR_O5&_Z$fp`&0VfHt@)}JG*$7FB>SgiteWv%&+_GBy!OhM8dg205)CmkpD@e8h zNU$;Y^>al3J-|+UD_rD4erqFx->`ibTSuDUrpB(Cx(V~8E4UyOXs zsRxVMp`jrMo0PF8khBa^%6U1)IN)1e8tH$&yW{>x(gf_b446Z7SRV8pccYBXXUZl7 z;<56gUFS6az4gzc?Z)lYr$Yp*`}NtN!;iVIy}y+%at+qEf_LZq(tXK91YSELUp@GN z;!YS4BKqBV4>O2N6?4pIxTbW$b|KuumX|v?fU5`9I3yYQANMfGASf^>nev_T*U5FUT@jq__EOb-q5~RIb$Oi14G93BR3r zuYcNE46H!-0CF?Oc56Knn{dRNu~UQNc(X#QNRI=?y!u9WkihdvQ7n@e<|FAU_rdX; z6+C;1Oi_CQIwz0h8F_QIP6mm!g-+IXTJhlN=?f;FRXgM3h?mxr8i#?YVcEDPP@5uk zCTpPAq$C*TuV7=UVD+F&c%{)|ex~3lLt&@i$#uIo!8Qeim~zUca_B-B%;56OpVo?k zJ_%X05vfGR&3i;BJ5}^mfP*mevFwR8C=KCcJ?tij7)8113pM2N%Ln zPpczpf(^v=J@dySQmSd8#!6M`IDjGMuc4IWb|~`3L>`^P}kSy2#c}A?_p8pJXQIxH#gTew)Uuia{IIaUvFueS?{y# zV``ebbhWy+C-ff6gM=4ZRt|$pD~q|g!au*)-WjcEGmNEEwwjio2?!R(jsm^#qCJ4t zGYR4s5@o`^90Vct!EVoHWm5oJRkMvGO0m;>(08H;Ix&6(-+#96yn1i`qHBX_Xk{?q zl}G`7ih&?vEzY05;M&@Z(zN|l~E4(%y1-NX25z5iw0Hwih=dHZZIj{)xPfoe(VA9iFL zuB(reurC+SGXRt$gHKy^w^orJ#6+@F9>gngMvpQ5`UVbk7%S6p59zGrcfSgsHumCn ze}ba$IDey99LL~}0F&IlFa5TlSEtmE?NQQkW!U2sWfb|5(ER~R4Vz2=NBq0W#;tia z@-yA1I3Z8l>eV)lDQ{4G{QKkoi{6gl(Z7;vDXZUhg{5kI@qFnr-MG7oq>p+&BwpKb1<`b+1Zuj zVs@!*)LI}I$O4%H#acgG+Dh}^uEeblM4dM@AnL8it@!!TKi5lvIcRMKref=97)&|t zFhyk3Xz`6(2M1KmDi)lj=oYj-tX?wl$L6LcCY5+#2AbnPH~Y2mGyA(5&0`&q{d=29 zkPyHIZq{0kl3+yer(!p1)+*Tr6N`wo8k)CorO(G(wbgNDc9NJ5ga|Jjd@lPXPX?m* zc2>v3+&Z`FLt_0dzsz(L$h*Dc1-T(*QFbkE;!Di=n?+)cd*lMHN+O*;{6rZOxjMMH zmmVt`mNv0Y^o1T|gssDHG|S&-U4wLN?*?>n{&^I>e|htoiLKy)S2eEwT?eA6#*mE^ z!;2#|F>XT52|r(nCb0b#AwGcj?^%bxd!2_^A)*OLAAk0@Ir#aZfAF~t2xsmJ=L|2z z0hw%HXS_R_2>!NCT}MM5-=TL#vY!ZDdB4Ahn{>q&jIKFs34e8DM?6z#k&4@~33%Bm zc$KL_)6}F2Q>bv_Dl>f$MG+q*N`vc=XIO|0J@IX}%pbLtWmsUbM0pO}bFz(Zfs>M9 zTgUH(B>)e&Fn?DKwk0IN@_QGIma()K{b`nqvL;{ap`wz* z(G=8wsWTzGRlQ@WdOt|8^T1b$=(j-wxZa4}IzEq&7vTDSw^xFdMqDi6=GdlH%nt~R zq@7yKGtwNRnQA!WQj4Vb8;R($uf9oGR;@j0f`X3!ccaS47x_h*B&O2}(9s?G{|g## zML~-@q(goIlwa~=neNR^=r{hPjWOerHfQ~A2DX`-+WYgKi^j=x1fKp1c*r{Gf7}p- zqp!h)`o=}o^z=Y0>{sExt%x9*uUiq+;uj}1T@Pmdp+x-pMq&7$*$k4zFHgmb0 zx&}C43_gzOR1*HU(;}|X#Bf*U>#05{^mvlS2l!DBEtG#Mg=9nvY<0kXN6?8skF8MtZ zsXR2#tCN5Ut@g9COhgFufU{O*N=%Yd_FPqvgmy{tbX-fiek)Lpkx1K9o{?14GmVmO z4zFxw&P^vf`)JL3miT|?FA3TG!nq$DRSXWe{(C$fh)6{K0Y^r^2p;q_7O(bO*UH?z<9 z8gIdJz!oZqHJUODZ{nlExMF}ucwS|vKu7;Gm}MB0a=boz3(KT#YlNpX0TWPFKmQ0w zhWcCnRhat9oI(pm09l=`JbsuVzZqOb$HpS%Py4HY@M&MePAWE}3`VlY^vBwwf7|!1 z(_NP|gjAlAqBm`XsbWAh=WipXhsE4t_2!kFe0|vmF<>5czCN|8I32H|HDH$sX+W zljcPcE-uN~kZ{k40X)~^rJ^(6(`zdlkD2tvZm_M6^1c?R%L2jtSYmb}nIHV@c%{rr zkbTQPOIX46i@sR*R7hBbs#bjajMP3#N+{?E74g{M&i{l zII;f7hD_YW?6Ve!61BA+wC`F5ZM@OaYNz2Kq?$99{zR}yJ%+Jg)*L{Y@X$J=jd=)e zFVB9EmX`z?IpACmd_`o{N|VTTSg?7*8Ye~RB;8;_79By-#Pr)yXqZPH_p7u#N{@S} zIFf+(0X;-Kz$yltUmm@RTRz?~?n|v|12oSe7hgk1C<3KppXmTyiZ9aXZD$*+?)W(p zun_*N&w9DoSb7bSI(M6?8QKF$;4^|#oQ;nOUT?_NDlobWL`=#8q)iBs;%?+V6GKY$ z2U0=wVNIQau1{e%{-gme*tn`wGmYEAQpX^{-#CkExbmKz&jV3W(fnN=>`q0PJ_iXj za9s5gC`Cnn=<^T2@8#V0ybyd4y<;#&jr0A$Yc@pO4vSUp|JT%a$5Zvk{~Oo3_O4J| zdlT8~+A>47kgUuQk$I7wjL5z=+1ZhqmAyv@S=lRl{NA_E_xpQ%`>%W5bI(2N{d&Eg z3yeOjja&>_0a;kr2OR?D=bVb5GmRh}JNbdU#}_5Cr)$q{0CUhBXM;V6)uM>y;=&Z<<9~^MC%nqNm|eATA|JD)TU~@z)7A*epn;1 zoC3q{7f|-SUt_M?4IWSAB2LW!=uvcj7;HLdN?yHw?RRc9Od&rBYCTwxIh2Y5W9x2;Le}m zaJv3bz$BI=f&1o?gLJRBR20ai!}*ZZ{SJ*_{e3`b8wEj_9KGrupi?cPOa|*_bEZZ) zn$GB{$=s&f7XSo&nl=7>tc(uMM7|#R;eYD`SOg5^V&0ybQKS93ym{q+zaQ|x(bI$% z-Y{CDT~IvT7b(^N5`8oEJhNJTj0aoI4&e6qa54_Hp1-h!%2TP`(7@Z zCxnXDjZ|^Aw6Z<}aF2oJ46<$X?+U*V+=6j1$Sm2zMJ07K6G`x0;sV$<#Q^EhY`e*? zr^R}0Or;;Bq~MiT*zS8i8m=$VYtxn<0ecorQW7jFPTa@%MeT6Sy(J1nXE}Mw893^% zBL8i0**E_z{Qs$ z0(VyNo77b;j1BDsaGmiVFYzkl-S~nv9G5$e7{V;V@6dbmv!q z^E}E%%kOMBoLf1bA=uMxSCNR~QU8pVNeG{VF2>^mhm{{fv zfK!?fg<+x1ze{zL@Nmw{0Jl49)qc9~_3p7)uz!VwSYFc8R*>J$O3;ge$k`gmoli8R z?h~J5%s>`%2Hhu09?1f_zfb(2ZutPq{6d)nI&!Z72A3gy?ZMnu39O1@$5ef^^!L+V zZ$LbGO`yA?*2%^f&X0-=NCR~(_l0(9X+CXE5TYxlTOne~Ck$h=CcD1byOpvg9@uKP zIzTc~S4He^mFuaCD$Ap5BC^Rd;@@qv#2&|p+?{}|R`dXt5x;x3eLhB#smEQW_GfLQ zHW?UT%>1;kD6Ey0=61F>w-gtu8Y}lHfO&T&HqzfB9P#2zJRa%(+hc#$+-3&bs)ffp zoRt1;)JXT%dvCI7E1L0(c+PjSjy${lcJjIv9uG&tXc~R000)&i5oUV@>%u#t6bM%y z2DS9H?i4MS-&x0l8x(bnSu+HK-d+`P;oLhKffS+%OD_|Y6s^HYV>FC@Aw(bH>_yz2 z29@uAW6Q!thnDOjqwMCApcA~2QF(-Y|1K$zR{7#actEVh3DkM4mO>6jLLd0mp9m{o z2`TeWaxC6rjAJw7@Pip}NY@GUg`8FZ$H5TbXzr6? zfq`DJP4zG!&s=HYdXXHn`g@99Q(oV04Oc2c6jaf3P~3qUrFbQK9f~Ib;PeI9vcCZV zpMb#l?RWcMFvXU*+^#~Uoc(ws1FK|ykwek^W+~;*Dv**Wp1gVlt(fI6!4N47tDe0C zj+gCZURMX*;%ZMXk;soU%J(6q^g29dHPWffA&N?NY@CbIq%xb#c`|`W6l8AXcuW8c z_;0wYKkm?&4Ux1u=UU`jUP52Mvafj0Iv?>G1bk+XucX5AQc>awhnOrQk&55wnCu=n40n*J~b?GgMuU;r>u$mPVDz_k`RJ=ET%=y zDxCw~=7%^)-ra%Oj=EzfiCR{Nt)+!*^D~f^NK&;F<+H1=sD&TBn|z0*Tt*(hfP}GW z7>#)o`e(fydS=yi&Mj-5$errr6iXKPoi!+(ozd6gH!1a7m+(y9UGh6~y5%1X`*7oz z)@I{&Qs!4n_+_RDF)NwcBDb(ll~XU}_5-m>n8q*2f?c_&5-6uQEE^@m*v?wTeXUHuqk8|!s4JPe z{yRA&Bp1fBmQpLu-;cI4g{h;^QWkac{eztsyFollx~Pl5^9G*6&BxvHMw1`Nq$dECIcS?Wol)gchy|JIZ^kbfDi{Mws{PE0VwYTO_T{&wiTkh*UF5&B3Kj_bV&Mw5S7NSIS5BRD$NU%LJ-xa3lKTGU7nTD;buwCRQ8XkJiR7~;+R5CFZ%5J|@(o8@ z#9=evhb>^3{OQY+O@10u+pMPbJ1}rqK_7h-3!#nfy|RbqAvMIr*8Iiq3FgO6t8=SQ z1OovPG-urII}e{FAtAM~qXUgr-`lwgl@@d~IqBY+Lw`CWDDW;&H>|;Iljrx$kDTS# zqe;yaEy=dzIpFaxc@DT?5wEnW&SgYW@qaK#QZrcxd>yD$-*1y6OCS_Bc1&WX?E@V_ ziZji8nu?Z0^}d~OqloikEsTy)Grlzr+)WnC48oTWVIf#L&A`;6qvr8>P=4AB6tT>C zgZ&ViSfz(#g!c6in!C9O5+k0Q5JCp5^c)Su+|pE-5G;de%pm4`LLl7sNvsbOv*TkU zj_r|7a+*y`OZDR~IwM`A1LCw5$t()f&%iH7H-9n~kvCvt#=tC8+4)GDa2*|Db#}I8 z{p)K2Azv3IMrv{%?}@1n^WcxR&IeFhM=RorzTXewj)fopSilnmjMcUJaIx5JO4XG5 zaIa=X*i@{>~~_SYlt1ESrDfdeWCraL5`iU^>D=>R;DxV1v5_zyd4eC z`&=ep1A`t^Tm6}TZFhQ>Xpv&(HdNlvY$qtdAJR~tIOrPXMD^*Bn*gs@NR#nBlbCu> zIi3x3o^|fNz{jnhQUheI=SjFo9=H9v>!iq5bNQW{VoF>*8vk_wmZ={bf=Gax`YpS; zWlM2+bBghW1?G^~CC4IiEsMx*GZ;B77>m=j)M0w3L*(VR;pl%h(r+1KKHnw4$QjrQp8`Q!`WSH1-IeUG2y zQl*mNeCQo4tHjjXp%wE}IEs}^ZDopy&!LfG@ZABn%v6JJjtRQ7*cI-7KGra6FQF;1 zP7+z3cB6&N0m)r8q3DXfkS&wP7j?4+*9kDt*`6`DY&<5Yh_2eZk(PE2W){OfpEg#7 z9a^3;6~12oDwnFvVU4%Mxs|#aTjonbG3}H?aJ>t_E_HF97CFFzi$Ls9ejvOTp7SX( zQgpb21tlC9dC6;BOEBLgeS1FSMK8eH&-oTuKF+be+BNe#Up1#mpl~nh4bq)?(D%$F z37KZmN9+h_1G{*et);*YmbuZZLu$&*pYbtdy*Su(TJOH(ksQCwLG6>pbk7C&-!2jr z{~Rl**D(}H4XsL?9hbZ9NT1E9pqrFuS&l3=tQgzI=WS|buV2L<8hL8W6Q$M-$5SS9 z9A)bK#5~=*&I7lIi$iSB=JC4UF25^Ck8h;iTe&j+LZ#Wh#%x$REMl9QByHc~{O#`~ zu)`Q{CYNPUGYRA@tIr;Y1elDW^scwoAS^G%Y;6PD>aHHHI+RV~u^J`1m>z71WE_`3?P`tR`G z)LvCI+23CL^=!KEZ&_+dz5OXILOMA^4`KxlmYIMS=XREJI0NZm?R)Z?6lJd>NPadF zs4hIW%K2)RXb6OhA4}hKO9qfjfl6fSaFw&HVNJ~E4N6So_w*pJO4I+M449CaAFXkJ zGN3_wLONarLW%&+k?{bUB?-sF$UIeraFdNI)u7K;GuWc_V;_LTK!dh-(V){qeK#Il z(hLHGn}6>Kybsp~Fv$*GrT}TRq%?)BEadv1;qdxqvHo)&r)L8n9EO{Is1`W_ks`-U zjXpgdVi(Lap+{L&#@?EUoAXmz2vcgOa8f8?K3#^{42`Dd| zO%o6$8J8TL4s>YJO)K2Q)-&JU3M+FV27l(k#W}v0jH&>|afJU42?H|enoW&9wWXE=%Fiz)3+@{XTDFdZm4K4O5#wQ-IQ5P-jz31yW9 ziSIR$U!FfYdGLr<$SD{@riGDDGGaFpbw1E2Bo$eb3XUOkzT|;G zG=)G0ya>WE{-=QFFst-Bxd-p(1^0x~>XT1k>u3LFPc~xz6a-QV6XOFQ&b`2;T}V$` z_^IMH;D~;} zFlDcB{3&#!T|Q6Cot0m(YGOiiy!-b48GskeGF8|sD*oD$Ru{jMTLOEBhNY1qffu$r z-&m(dNUHmN05v8%VNSvX`|SzcbF~hbS|y^Rw=|1p4fY z&I7k2+~BP5;(K!hEoc8G8*g8|5|%1U0`h9~-OEW*zfQgbuZ=8FNWc9hEj5PUoPJ6< zx`wI2MB`PRz{nHatIW;sBx1pj8UrnkxPHGA>nh=n$t#_lgvCicHc8l$_U8ZWllfPO z0;Xvo8-1J1-+lq{5f@NV-Z2SW!pMw5QteGO*Op`K3*5zQ!HO7?i{&Q}4(oZ1T@Ta2 ziaBz5M#nhn9EjO}My(b?&9UZ3us(5C=gN4o^y}Qpd@-m0chW>0g3R9wo_^NMxZ6sq6o7m2M z6#I3rsq+1~02voWe6qlfa^_UKAnGo}F`qUzF0V^WE(~&(_a~}FjRPxCNg`{hCu}kA zgD-w!!fTM7mun_4%ue03D2I4x&^|P3`I4r62hZf|>ceu z^sX-G(rm4*5BVK?nQ;^dbka2*b0wTSb7jh6LhN= zj3h~uPIqjRCA3JJ5UMEYvoRK~Ch3){>M1@>OuBqaLy8({d{qyLHDlK*4mjDmgT8*z z2UgflvNU~T6OiF|b!;PL%)*xHde7~wFHmp_yJk>v>V~twhJj;oJ^&ppfFGNIk&PX6 zA9d782CmT@hzd0=>+j5L(XvxSwI8^rAaNl>Cc_-eX3@j$;i1Dg3^Z}3#dReX77~=V zaY>VnsyVf4T8ebQHd>sfw!G0v-I0+EM;jT9ab42_74^g-1JR-E^K_IYV`OU-UUnzR zKOV)%+gnV}mSyF& z@-4a4+WVfAuIpsK)DV&o+s;(d$w)Guqfk zU&r`X%W11F@0MF+>;fl_)jrss6cnk#;OR@-Hy}uPM{|{JTP4_IlBEa4?`b4k@a7GS zwdo5fDp$LFChb_NU`u@?#iZN+4wHaOQ8rd{dg|rv7r7eqpg6B%r|azMpC&Z1{g$`{ zV@=Zu4``lOzcM)t@3lVpGoMe=$SzEiz%!%jz(4xl^AS^SvbrCxG%z5{5Ut8&yoxAV zC8k)TyESSsSV*?^CJ zmQD}*l28ueKd{vc*zcM>mLER&SY-3wMQ;soxqb32Vm=_H-l?)W)hAZRBViCkuIqEh zD?v9`XHBmJ!p#}B9z&2aJDeX8-E|FA69nOTs!14m6Uk)o8eXRbu=?cK)oS;J;iedc z%d2W8t_RiXDix&ueX+uPzXW&ourv153;a=hDGkha!Q<)j@M8`y*v5<0hGqdC#7U{k zmnF?uBxt69fq4|!OejWgbHrnVX7GvgMANPOsjHR3=?kMmq zl$vh+Rx*HD0C?j7cseyC^cakZDj;6c3Kk7c*oHsh-8C?-lx^0?yfG(U0l?8JSS!Mg zma;{z?njf;J%{g-FuIDxK2#ScZa;hS< zu@-e8J0~@?p0>b-I|7g*7YJU{nEOLk|Hvq+JG>2#51A9V*~dO;mD-I|ISq+_CGOP+ zRB&5rF1D}@-L(<-!v$-)Fx-1{YAdUitcb(yXH6IqyVTuBOL)ZP%sO79rEgcbZ&uqn zYHWlb`Bupf%Wvj_+D$_NfKIWB1$!?*FwP=5{R;ZGvpzXQo2tYLdy@cO#JWeTqmG&$ z&>dfvDP$}~B6XIOLYyaUu zgM?b&nE`Sknu?8z7^HNF!ekGg|_6=!TdIj1SANUTruMD&Ch9F8!&eNYB+|SO?)a!cD(Z-jZYDg(^B;Z z?w9fAu()PB7t`}J`-BY`>l7xVTWA2`FXU4Xp8sRT7g&jaacOFIjE%}2sY4Xg4`N+x5lx?@wiK`7R@&-QUpS}7lqnpu&yV<0-U<3QveEu*m+ zESsce9FSBC6}!@diqjw5zA#(=8qOKOQhX7qh!>9`%1#oB^!#-cu#Ri>e(-~MdPTZU zp8u^cO75fmGEXKO3UZD7FYEjp&z2(@i7UHfb^+`AW|h}J+4e4{Av5UQogS zMx0c$KDjKLB9a6BIu0ej6A8@L1B@z*VEKv2;~z+_(7d4V<`T>b#M{R^Pm+2SUs2~?;yycrY-4iVhQp1+T(s80c+e)&Vc`Eb93_>vZP&ddT_E`4>* z2#gP4AeX6+qlK70T<(cwY?Iu%o+#@9l$%&AeRmbM;RGb`JnFKs?hxJ+r435(Txgh) z8j`4rXINB0PX;v7Q-`PAA6}kXA)b#e0uc)@u;Px2Df=%XNA6=Vu!f(M+bKj7d@ddd zMS!SuVxo#8ScGe#QGznyS)s(C@=uX+2&v=YNiS|X<#XU?RPDSJSITdQ?!aFuU`2ZO`D;!;-iXKn;Q@|UHsJ55E;dnC3?{qnRusBJ0@YCz6AKhiaWOzP+ z-6`i|a{N{EJ|Ga8EIV_*8o&-I#fx<7jbj#w3BcAf^Zh%~V>JUbf^;QAa$`cf_*-n= zrhCTl;T}qs)eYdlsj6hRrHcOGAJR+^7(j&^k)v`lPv0Cg_>Fa zaP)y`lrzb`H6%nusTRFho)Nd3^<8zlzWIw};D9Dl%m3uVXpOpE)-s+f+v%wgj7>?> zzTAuIWofq%5g(6utmjeBLp#UOmddDb4f#!_NnPUin7#P8I1 z3wOYTY+TH*SHm^Mv~BWNO9$HHmEQP`-1M2G$eW)i`(0zmTU-{_cpWtIkWV&R zA>>p$!w0$+)pbfu2{rTrDB{27Juc zQPb`Rk+xK7-tF>J0&V&@@C0SbqEy!gn^vI=C1b>T_!KnD)r$$+df=tf71ad+s#L|F z^v?^!h8Z$_M5CkwVH;k8`(7SZ!{Y(QS!1@2wudsGrvDn z$H9fH4?K&CV-(xYd+Xc((v91&LRPJ#r?q2^$$u{hSvdsD{N%g4WWJ{;PCaR3-xU!i zKMXH6P+o!AhP^zD&&P;|v2kfkr;7x2rY8jZqlV{0v`uY7%OXjZKY)w$x3u83A^(U8`Z0U5Pr?VqwAWsA^rTjEb=i`-O5%7In zZybmnx#rp>(2RY^5*gL*wU1{R&0CB8vt=%)p!^g@=-tblbXHA~G3bMM+&yr8DorNC z5*OoNIy9*v?@8>IM{^l~6saVVVYau6Sys`6e7icVHC9B6u5kwL>CH3EGQL{#abwC% z*k|ZHo3!YDJ5^P{@2D79RItSQSmm_JqiCGO6F1eNm}z-er~bF6wr1PjC+(|Jy&E@R z<#n74IxNwItB<^}_ifB(qBbP%5OPkwRFwcI)Om>{xv2`oBc+9~-0o||mXsU6={LDN*5 z@6SxU*ZEj)sBj-o0<~C}w~kNyw=Q^VWH{C&3)$wJwW$EM-xRcl6FY1~7U`E7ZGacZ96*I0`rvZ3DkS>l?RASk z?NG62c}V$}?w7pi*dU;ewzv#8#j=Qfpo;R72CoytEg)^Yb)TEaCWONq8~41>GJiTX z`ko(BPMNsTN!NFi12m%He9icv==GWyu7ILdkhOlO!ti#48eSsdg*}bCSWOloyo0O# z3^=}RZ&smlF4@~aNp;bdJ9FR*UNaK@?=TeOekQL4JNY8$ea(xi!6e+2*9Yte51ydm zOU#y+YDhy$qSDOUwt{!?sJt%>L9N5fm^ZACF8GDN4)+Z}WGc=MFSg44*V8?-JH?l0 zY9~7X1+)LTt^dOm(sH%R>ucXMM+i)G#N6@NZX_sMGq|Q((`jNX@T@bEd)Ozc;m%Ee z62al|2lWGym%N4>$0xgjr;v1ybI#K&sLw&9S#{2nfKjlz1;1nRe+Hgh4`8pBUfC8~V$XFIw zI6|Lu6drJXV1yfT1d&%;Jp_}67Sp?HT9AQ?;e-`9WltrwK4joIzRb?1@J1>fSp)99 z>{*H{b1%heQ;e?>Y=eBc)?_tBw{7_q4#PrU`keoBO-c2vnC3yF!IJne5yIbN>*nQZ zGC&qp=2YzJ0=~itUpDJC=-p?-qb%_ur4t|^GETqDyazS_I!Z+J9fsAJox+N}c1n2i zCL1Ci{J3Wxk7WQ^Qn%*$JB(z&aX$JlSePtJtESit5l1}x!9J@+T`P4h+q(ZEgoP;& zK#3dOghX{Uyf>g89_>k@4F%J66ch9tsJKr!oXY~&HMH)8Z1i>Z6#ApL@_XzYcoHW$ zjFJE9FMsl0+k*>{Zz2}2o{B3rlU@Gf%`QmIHm85?QMP`Om@e+=w9sS-Q9rjD#{0>h zH27kS1))*9p`@YpVh@xv89HuurNFYih2Tsjm{KpD)*}54{iobSS2&wv8CZxnI|#58 z&4V85N9V6aAj46AHa@XN)B7$b$eO%7I0Ph$d41H+9e@80Io#*}vJCfLkvIE2c0MXF z5UNagQE(2zXBeW^fgMrx*yG&R+}1OIJ9L|Mp^MVqg-aHIZK6L_c$V9W3b!jTxo|s@ zdWe8!O6j|V=#~j z#}|&m`z0hs#4O>PB{g;zr_*J7bHcv)ddKr`uWq1C%NKli&8GIyX12q1a8qvG>ciUFxlqu-%W36maLSe-iy~l1@<{oNxR^0Uz@ju*`o9i7xUGdIdfN zZrSrlnx609QtwJEwXCrWltdttmpR&AfV!ahcdQOGLXk=$W&@D;S#2NwtxvA=9cl~0 zc{OSMC7A+FF8?H7g$#s{4Op_M{qH6V9cjQEB`WToEqT9V3d9!$c1+Nt;;WBneL#-% zUX$Aq2rfOSbm5r8A;%|0F)>N7VBXu6J73 zW=Sa%NY%f}v!;@ezEd9ZHdyBL4+)sYNN;FPQkn%`?zNaf)GN{-NU2OfLeP!)1V_By z?#_wk8bkhaN%S*)d8PFLF_<%=>Fc>+(2LFzhEw z4C|cIaW`j{)%y$|!TIxWPuN&jmt}`aXVUo&p>nw@cu6IM5$`e-$<%q0{Ob$aLR-$D zL>qCr5dD41X%*#GjdpUkn77rJE@~0`_aC$q|4OmyV%-ljKPRck9q9_&Z6yHASUCo=@300?BzOm^drBje`55w?JW{12F z?dQcxW~J6a#1zHegSTAH@7?I?%VP;S&9Na^CYo3iJ|#msC5&@eSe6kf9u}|gb%=jb z$f&ciK2U!Q(&C(-4Pl*?2{ifHPtG||z_*B@2r)r66)dvYXz|-+v#%@U%TxsP)~$H5 zopS;*A{}lOfh5^Y6f8|DEtiVPwDj`YfPSQTK?G5tdV&SZp37b#q2^>(l{e#qHYLf4(7s>$PI; zI?j`Dq~ydpKLjvOtuD#BY#HjPaHYic23m?#s%tt+VZQz9QQt zqqz~$4;IH99!=FUp4-|T$h{-gEtAy0KhN~K#Ihj~sb-Ljv^Fqq{{dlMTk_2(eB3zm zP<8JJ_|?~(hzBi{dQJtrTrxPbYM7lyzTkdVEVU5X1M$7wse9mmbs)Z5{~I8voe5#^ zjYqtrU^b+v8UwIotNSXSC>t+;QSF6m{L?Hq1onD0UwluAO7)*@>y_bj$-4Ys86SMA z^#;1W+*keT$*=e@mO1V7%PU(=Eu&Uz?ccv1!nqyQ&~B~bhRY+rQ)t@@v0c_BGm7QR z3>;JALg5=DHSn3e0Ye3X2u%)LqeRX(ETliY1tC~cAZBO{m|-4(d?!=@g-8mKd~B{w zrmr3df=*be6u_$Hb+XYO#4D81I>{N`$xj;@*Shn zU^?apyO6c*U^P6DIfpms(bXM&DBkZ+*}ik%lg7eXtJ}Hl(-tkyYohk4F?F1(-Y4IO zk>7WmBR=EEPHXOkI=@9tZ$ zEQ`|pe&>g7EhZzK*Z{|M3LqGG-reHT@3Mi<9%$%baT2XPgY*@SyBo@jI5B<011~im z{l31|@ZglZpWme&=xg}V(w{gQ)pUq=NE4^P` zI@M4#mxBerTsv#`v!m9uPqYvTE?*YQDwZ{yxA*xU4iH5eU1c-;;P&7Fu>K_7P=u@n zI!-3pZ-ZJhCKkxm4Ks795OIah^z%y>R4p(kJ}Z z{znDfACbLyAR96;b8_%^Tt`#Em>6o?#wLhByx7iq6dyYl2^F#pM6OK}XjyW!cYmXy z$J^AVip?$tP<&&w_Sq7cGc3)Xp97u-hHgM(e5FiS2OnUTbaJYXWX(gl0BN?I5LD-X1>~F~7mpoRa zg7-GPBW%Awup~tAYKPPN;E(rX(5jrn4W6Yj%kK^z?|xnRHb5ZT!{;(UJ!0QB8%<+c zjvAc*|C8a=xKsOV{Uh7H2(;<%q_MC5$Jzay8KnP_us^0lb(7TJB26$(E3u-VSO6JE z4bNtJTYMx(|%5EcU?VW2J>9aswBV)%Eq!OrQ?stA8srG*LcGD!9YCGZWE5?2HYql3bC-chI zw9UAiW^Yz^{`y`;AV;*ObmSdzjVd4IYp$}_huZ-M{#sj*RED{^sS8x68O+h0*cRO* z089wvHmYcYtgeY?Q1*8x|2p3o z;VQY|eAVTAEGDTGNKH`>GH8He<(xk=QPwFR*tKoyEZgD$qez9CPvLm<3btRAmIl72swd`wG{CZ0>PEvk1CS-U>Es|EV6*eDL-`69 z7)TWs48v^2lq1u~NZm=C^2m$2;F2`G>|*3_NmWxwbbqOPHn7SC-H?3rVaeMyHK7f9 z1K@3-H;&hU1D`4}{9RT2`k51`;3HKk=%{jWQ;0@k1-WhrjLbWO6mXn23z=NdyAb}F zMu-6oW_!Erx)OQ;2|fL+g`I^HuC+ckq;P^OHgL+zy$v$&xx_JkSEB8Vt!o@OFnl6h zR)7%No~|fB-BGp`qN6aJJ8HubP$pp4+Fk*Y-<(opLty^`&KNPvkHE;5Z$GLF#61k} z_C``{pm>>Xxe7!e)R+*z;~@;;F-E~b!A=5Z@b~V%NmpV;ybH7u1buCQhbBlS6NUyL zL7?9GN!_mrRvoO2>mNL7>76FWP8{Duv}&E^KPSsK(1Y8kVvUmxG=hQPQv5E8VN`ki zS*8wnO@#Wb8g0RG0znAPwSxK!-J8mL$ZNBy9cfB)rs3VI|`_s_4*&H*J#23oBX0GR+a-RrH% yKR&}AAN8C6@pghZP^z;M))%X(Z`7DCZ_!!Z5fq+_&%dC7e<}(Z@@2B-i2nx&%k;ef literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Metadata-Object.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Metadata-Object.svg new file mode 100755 index 0000000..295f7bf --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Metadata-Object.svg @@ -0,0 +1,2378 @@ + + + + + + + + + + + + + + + + + + Page-1 + + + + + + + + + + + + + + + + + Object.121 + + Attributes + + + + Name + contentUnit + + + + + + + contentUnit + + + + + + + + + + + + + + + + + Object.124 + + Attributes + + + + Name + @repID + + + + + + + @repID + + + + + + + + + + + + + + + + + Object.127 + + Attributes + + + + Name + @dmdID + + + + + + + @dmdID + + + + + + + + + + + + + + + + + Object.130 + + Attributes + + + + Name + dataObjectPointer/@dataObjectID + + + + + + + dataObjectPointer/@dataObjectID + + + + + + + + + + + + + + + + + Object.133 + + Attributes + + + + Name + dataObject + + + + + + + dataObject + + + + + + + + + + + + + + + + + Object.136 + + Attributes + + + + Name + @repID + + + + + + + @repID + + + + + + + + + + + + + + + + + Object.139 + + Attributes + + + + Name + @ID + + + + + + + @ID + + + + + + + + + + + + + + + + + Object.142 + + Attributes + + + + Name + byteStream/fileLocation/@href + + + + + + + byteStream/fileLocation/@href + + + + + + + + + + + + + + + + + + + + Composition.150 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.155 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.145 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.160 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.165 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.170 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.175 + + Attributes + + + + Name + Component + + + + + + + Component + + + + + + + + + + + + + + + + + + + + Composition.1 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.7 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.12 + + Attributes + + + + Name + metadataObject + + + + + + + metadataObject + + + + + + + + + + + + + + + + + Object.15 + + Attributes + + + + Name + @ID + + + + + + + @ID + + + + + + + + + + + + + + + + + Object.18 + + Attributes + + + + Name + metadataReference/@href + + + + + + + metadataReference/@href + + + + + + + + + + + + + + + + + + + + Composition.21 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.26 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.31 + + Attributes + + + + Name + Representation Information Component + + + + + + + Representation Information Component + + + + + + + + + + + + + + + + + + + + Composition.34 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Link + + end1_name + 1..* + + + 1..* + + end1_mp + + + + end2_name + 0..* + + + 0..* + + end2_mp + + + + + + + + + + + + + + + + + + + + + + + + Link.39 + + end1_name + 1..* + + + 1..* + + end1_mp + + + + end2_name + 0..* + + + 0..* + + end2_mp + + + + + + + + + + + + + + + + + + + + + Object.49 + + Attributes + + + + Name + contentUnit + + + + + + + contentUnit + + + + + + + + + + + + + + + + + Object.52 + + Attributes + + + + Name + @repID + + + + + + + @repID + + + + + + + + + + + + + + + + + Object.55 + + Attributes + + + + Name + @dmdID + + + + + + + @dmdID + + + + + + + + + + + + + + + + + Object.58 + + Attributes + + + + Name + dataObjectPointer/@dataObjectID + + + + + + + dataObjectPointer/@dataObjectID + + + + + + + + + + + + + + + + + Object.61 + + Attributes + + + + Name + dataObject + + + + + + + dataObject + + + + + + + + + + + + + + + + + Object.64 + + Attributes + + + + Name + @repID + + + + + + + @repID + + + + + + + + + + + + + + + + + Object.67 + + Attributes + + + + Name + @ID + + + + + + + @ID + + + + + + + + + + + + + + + + + Object.70 + + Attributes + + + + Name + byteStream/fileLocation/@href + + + + + + + byteStream/fileLocation/@href + + + + + + + + + + + + + + + + + + + + Composition.73 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.78 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.83 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.88 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.93 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.98 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.103 + + Attributes + + + + Name + Component + + + + + + + Component + + + + + + + + + + + + + + + + + + + + Composition.106 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.111 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.116 + + Attributes + + + + Name + metadataObject + + + + + + + metadataObject + + + + + + + + + + + + + + + + + Object.119 + + Attributes + + + + Name + @ID + + + + + + + @ID + + + + + + + + + + + + + + + + + Object.179 + + Attributes + + + + Name + metadataReference/@href + + + + + + + metadataReference/@href + + + + + + + + + + + + + + + + + + + + Composition.182 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.187 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.192 + + Attributes + + + + Name + Representation Information Component + + + + + + + Representation Information Component + + + + + + + + + + + + + + + + + + + + Composition.195 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Link.200 + + end1_name + 1..* + + + 1..* + + end1_mp + + + + end2_name + 0..* + + + 0..* + + end2_mp + + + + + + + + + + + + + + + + + + + + + + + + Link.205 + + end1_name + 1..* + + + 1..* + + end1_mp + + + + end2_name + 0..* + + + 0..* + + end2_mp + + + + + + + + + + + + + + + + + + + + + Object.210 + + Attributes + + + + Name + metadataObject + + + + + + + metadataObject + + + + + + + + + + + + + + + + + Object.213 + + Attributes + + + + Name + @ID + + + + + + + @ID + + + + + + + + + + + + + + + + + + + + Composition.216 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.221 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.226 + + Attributes + + + + Name + dataObjectPointer/@dataObjectID + + + + + + + dataObjectPointer/@dataObjectID + + + + + + + + + + + + + + + + + + + + Composition.229 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.234 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + Note + + Sheet.240 + + + Name + (A) + + + + (A) + + + + + + + + + + + + Note.242 + + Sheet.243 + + + Name + (B) + + + + (B) + + + + + + + + + + + + Note.245 + + Sheet.246 + + + Name + (A) + + + + (A) + + + + + + + + + + + + Note.248 + + Sheet.249 + + + Name + (A) + + + + (A) + + + + + + + + + + + + Note.251 + + Sheet.252 + + + Name + (C) + + + + (C) + + + + + + + + + + + + Note.254 + + Sheet.255 + + + Name + (C) + + + + (C) + + + + + + + + + + + + Note.257 + + Sheet.258 + + + Name + (C) + + + + (C) + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Wrapped-Metadata-Object.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/Sentinel-SAFE-Wrapped-Metadata-Object.png new file mode 100755 index 0000000000000000000000000000000000000000..2d504a506913523d15cfdfa3c54fd6fc224c8400 GIT binary patch literal 14677 zcmb`u2T+qy_cs_qQG%cX0Yr*aA#?>15DZ8&v=Bm-E-FPts&t4nML-Zj6$m8|il7wf zMT&H((iK5aI)e1N7vJ~W|L)Arelt5e!;I!W&%O7YbI(2Hch2(?t*u52V}(H=5Zb%y z$`}X)$_9auxu1oC5#iU_yx<=)SB#nxr05IV0{B7kNKs1>0{QTo=Fo}~{JwHu9is(- zc=JObfx!^SJ{Ss|hd|uLA&^B&2t+m!0%3mowp#ZV1afomuCgN5(|jdWE5gh$smL#g zJ%X(U0YAgmM9E-nrSWoHI&cn$zllK)Xj%)E5$^XpKmE<$B+bnmZ>`8n!~64!Ny)gG z0ps>#sdMuBUVXJ>t=PXkqv;;M(1p3ZUO0E+hUc)Q|6}x`CNSb8~w*ed6heHrLZiXZZx{&4t;-_Pga*rsPiWF5 zFvGfgdtK8}Vz*MWVvu}c>b#2om}}34pgVFI^8Uk}ivR@c@3U{_dW%CqkqIh7u|iy z8T23|-d}wiJzghAJJjw1eI;Ocu0~iU3kxABFT~rizzI#+Et0cqhN+A9bC}V0d)JYC z^6Bx9FQNqn*~Y?!AlPt+;UqRB@p_T{IGQj}))dFd2tiOkqawU{@A^uLmc%&tY6uR7 z;4QD@h0rg*-FY{525Sl zuRbUu`BaNFTlops;A1>_n-f#V9$l~ByhXV)i<-Vr{uA8uf1zjqRTpq_JT^AQ;OHn; zzdQ3e@^ZzKZ~IxCN2F9)3$Ho2)$-xqU%Ne#&%+QrOWieiN?<3}=5;nk@xj6NN({?j z@Fh;)KV)b-rP1kYIFy|1GXfJ~fb6Q&LvFO4=JA zn#;?XvZ5E>|3##HXTuH^({bFYbed8K;E-{#dGMfhd$E0HCey=X^1GYz#J~V%j*6D4 zano?+O_b0DQW?MdGMwyGeA#}qiVv);6r+vI&FMZCq)>|}WTrykYqlxr>CD#lPD1EB zGYnxMIos^rS(4jVSNG9x6j)_Ct2@J9?=x2hh#GBC?1K%g#SuZ_YT`;7>^=JqmriNB z8uwWpoXh>y7VkJ>mwru#)L zUoR~c+kX02wi$lcKi6KW%r>H~%)S}wZ`4Xfz^K$^Z$R-ZlS%a02-@?gk`%&>qGrlv znyq(vv_REmw}Gyo<3Ld%MvBY^1_uT)3p!5m! z=GjJ>T*5;M7b1mu;FkNZqMS9z2=sRhNl-jun;ef=jFBz?lDG}Qzu1R>y)J16Nbw2} zTD+s4s0(MwYx!{<2%i}oO%wEgMDV}gUe}IPSX7iI>%ORba--bDv3O)qFF2foJ^qm2 zYiWy_NCw|;G@?Y^;j__H;H8yDI~G@HXwe`N#4J{ui=Quz6pt*4p~w-NxEun;$1`$L zKkB%=!rKJ>($ukgDH>{undEvTUt z4@R1<1CKYe-Wn&81jBCDH%X<)uS#)sb#>9u(EKd1sCKgh=A*MfOHNy`aenGC6Z=K- z;W9;PtR>U!W^}*OPQ1vyvc3|l=1^c6ZE)3ix%W!HO>U;raTvA$9f%3nx&rq zN#N#~cMs#?V{oE)Bd)sMVE;oLyCGCmT@sWgjCIrM|B@;v?KmD+ckA)PhpJgjk!Bl) z8F5Hrv?*^C8k}N=Ue0}t8Tul5FwAkh-{DDlR$x*3o<06EABQZPjEnNgqF!z-XGw5O za8#IcXl9ivwWy5Evkunh=h87M8Ww&x zPL~H;sFwKA<%a?Ki>M3BRkG{(X4JQK#YLKi;yr(QT@5*i=BL3=>ml0uU@4sy@;H6j z8Rlq;QBTY4o*Tguu{4*c@p5am*Ly|MWn!xYbn`c51L);rRNd~85e6JjzS{cHpd~nJ zy*N71>&mg``gR++{84ew-%XgF zM!weSKqH9TVPnco!Qo>&d73Vs4XTj1SZm^T2E-&(N|6~JG*=kg<|FJRhog@ zVDs-rtiFaKiMQ*`vxrC{+7R;JyFV|7EvwA;Nu<%rdnVzWRzWfd?pzqmr4f1dOn!a+ zXIqNrUBdvS^CDXMxcWP-4brhw6ire-PwhyDGt3R@=8ev@hd>#ta^CYIapr;$titn7 zpf@MEw*wLvr;c`2 z7BRwpb^&)f2Ekvm*bGNg>zIn_NqeEMSOb~JqxZh8B}{qVKRzgaJ2d4qb+7Y!>~>o# z{DCgY&;IsdLDkKKtW=95ZwVdU*g;A8qq$ZVKh??JCFyrCY_`59G~g&+mm8+34-|kL zn-*|9%AmvM`}Yxzb)fp6?(1rs75wMoc4O4G1(WDs-I=zSo~5xEwJIVRt^Cd&s$|8X z7%V;vpx0A615pgx8QmeTiQB5BLnErJIp)=w&S?uCvLLu3Pv9E0KX1cD z%L-qTsHwq}sWLD*nvNtn&Da@n8s}0YlDAx1b}U=dRiD3hu#n?$oquc@+A$rs&v?It z2QQ3`Lk8gy=&_G00gGeH4&RwGX)1iDm#3SzW5^I*vwT|5;E7NyV`+G3RnFkaQp0f$8&>l8f=uo4G<{iCRq=bwo7Ad}7rb)I zXS0%isUjX7uUPADN!kbwWn9W*d_zNui+&}{j)8#C}n@S6$^rer3)z>1S)(D-$}i6PwHXU%!4;`c4Lv5sKiO<<Oc8E>AgCh zLnT1of>3PjTHfF6;j6#LH|dut5&k7yR(39E`nl*-=*-I!=bgNBU^iXA7(`K?@>iw^ zMI0+g6Y+$N{q@0JJo(r`va;(*8`9h8_17nVo0^jE@NNoz2Z(K5Pr{M@I=o zVC@f^f-}L<=3^d0!Cl)x@2xo$+}`~p=sMG{*0A14E_ZbGE!)jMZ^7|K zGxX+f!#8&R`}D8F2yDv2cyl<(cF>~1zb@Z*Rt;Ci2(B{lhq;07KYmP`#LLeJ+x-1C zR_wo3V7E1K@7-9b9L_3e2?fX@;p`cT&L`dfjE|wt~;*?)qTf zaZh)*{Qi8FjGVIJn}wZ&kB$>fhPnr`1Mr_TV|nQx&1Nk#Eyxfl ze5N0N_@<7+-fSrCWhl0+m`B&hpyFaE>KhSb&I$h`C57ZmSkq{DTRv0TFy5e0sT^5u zfiX2%F|F^8nctY}DlIJ~zfL8a`BTQ_nJ_haA+eeJ1~X~aT^pYOa>!c5l(wPDN~U|H zX7O(``77lDpRMR??ZiX=3JLW z&0=Tz&49lexx)76&>ej4t*1+xf+exKD@yK>8ou*=8Otq(@uDCS3z!aJw$I~BQ$pQ& z;N|6IWo6Y98sTG>_&JN`emvd7Qd^6^ZmP4eH|Wgy zhdnH!2&0=N@o&ou>`<4!#v;G|QPQMDR8<@QciTsyg5#;H_h@?G%9MKj{T0IlXCE0; z5(&TUY)2B9oP8Pivo^2xC)A*w+g4`CM78y104I%O=FlwRHrj*Q}IPDD9nv6>Wv#tZuWZp9uOp+S6kNNqq)78+8P8|Irp}+=?*dE0;j(t ziJQGb{}XRe+qT1$yRi*U@soC&)(i1TXV#Q=K~JJS>+odICllCT=cbx(Pq0Y)Hm0F{ z3@#K%mqe2(LbcvaKV9-|DW7;O-8SFDu}*l}7-avrJ(HqY)jON}+a$yD0DbIm11?2JV zV+Dhk#WA`wI6YVm$Gw~R_O}ULXUr;)i*oGe*TOCOLbzot^nN$r#Fy#ey%!8}J~xaBuV^oC6X-{s z>)&`bwxe_EI3>I79UO3|mjZ_VN>sp9)<`yK3`vQ0ITY7$O`4qnGp8a{_r=UFq zLEaG6bI$R2Z%vC1V{;DeysO80;@L}8c|pHCOZeDp6;U#1L7saUYdi`2G#=+dalU`B zUwp`c6s*F$BIjcn2qm$}Ha6g%*79S|QMDOM-Jro+`6#Ve+2m~U&p+id7JW#hGkZ|! zjtejl&UVu!pUSd2-|2wj@jJI*#bXvF7f4f)*zCS1%!7wcEe%-Fkr>f?9s>jR2_y$o zCbK!d>)@)Ue|NWd;^R*epptp&Fj)K(0uM3NY4DU3zp%p|xM>$2d=q5zzMTv5$PY35 zhSS}yH^~qj9suR(B?;N37kNGEG(jnSJxaKbB1X2&O6S*K`<>j_X%|$!7dCF? zQ&KL3Lm6BkRQVJrjGe5u%pb66kWzKoexXO_DIVSEnszMBaw(gG8vit= z74ox6XRes*!3M_sqZ2&b^fc(v2Ihj^U8~(?Yf*pdU8c^;$UVEqRj;OMT!NZ}Tye0b=5pjha=ge^monOC!TlLysxs$28as!m_7Jv)#-P@Zqy3|nSK4ImO{7cV-#(8%N4Z~# zE*4U|y_KiKw-@Ik>(&J#jd;r3YHgwDU+R3dAH_O$1l_Bf-TOTW11iN?2(0(l^vjNqF=!dL`92UAs2-CTA0HM5 zfT{w{iqdnNxh_+basU@@&Y>VJE&U`}$<;dfQh|n4ry{NeoX1NUxA303XAt!3lU1(G zG>Fd;X>8&u_&iohZbN`9tP<#w5*V@B2jA;_!p;bR0K)r@eOT@DyiKgQ>WN>ZT{u(G2QJG69@Oa%$}4-J8M%@WpQz@p{LcAr!og|g3M)yEqH5Pa`?eF0mK(+f(mZD@kDHQ??TKQ#9k!HFY%-aKw&d`AH62D<7@}c+ zYi7qnCh7XB5OF|go#*v(*RO%&N+sW0Hg8QYq8IKuMZHe~Koh`}z_mjBUypH$ovue&)_C8z}k2WG_C1Sl-05ZMk z&Smu@^XRcEVE}zX7&QS3P~NW2m5RQ?jAdMxk|2HxR)F`YFshvFl_qTNgorI)(01!n zW88FC<}zmyzv_n0jWbj$`#If;v?fXxeO6R?Fb?4pH#F5~KZ}*^pYV3zMK8Qt@)`YO zigu>hNxw+{kVruu%g-hu)3li&K?sNp#_4J_cF!&pTLzxdBtvKhY`yRD_|SnQzA|tA zCoZ#cM~R`_si4R#DV;Wk3CN)fyAu z8a=v0o%R#9AfLpv=w9-aH^rIF5ESiF@dlv0)>7O!j_$wzss7`mfY|_$A#(HJcYQ81 zWkO)Qr;l{s58ve3XgE1Ic>=}H$_ddblQF)qz?q_xE)>f-hc6WG%5k5*oSgwd-)(+f z20c~POrV*{(^L_sMMaz>qtUa?dEL6b^|j+CPO}>8`rQY!SEW}ctFF_A^}|lNO#BER%4tV=T8UH!d%bL;Wx<_Z z7(0M!4*cPH_irx&piR1!WIU%OzAOJ{X%gJ33n8GS2a~p>IGz9hMk@qiw;OXR7y^BB1GCCB@r@cM!A99rdOc`=n{2#9afY4Y7z=*}>@V=w!z6XIU6p(B?FjI zE$P=Ay8o)U<5+?|iS3r>)8emq_#`1ApQv4#6979KAuovL3B+!l^ddV#bi&0Eg^{O!iK zTb*kE5u6?nTxKXh>a@<=_RqCew^#OfV3sg2MuqYJ_U=?h=BqyKR9Rxp zwZZR|e53_2`Z*vpBY^IyoLA@A*`1AxTAOM}=lJJBL1`8F#qHEJ9Xz|^Y?kZ zqneXrP^Ju7qt^$Uh-3CHkp4*hv7N)e zZDoG}Kv#CV_C}W8e%DJ1yyaWpX&O0A#&hgUkE`9lEeSrQ5RQY zTa|j#7Zo*+Wx)iKY5l-aXUBCG`ORHRFX=uDay2yd-}@n-g+PIK>gjkCR0JSYoygYi zc5M&4sjlUy12P2bpl3Gyp9_sYY{vE^K0Vw}rzDjfZV{^A!s0wlyuQ4-J1her&`YGm z3u717c$8kKB6<{6%Ht~OBVtg$>*K#&tDGF{tof>1*i-zEs$OrqaZ~}%c>mcuf$MJZ zLH<9qJodX>4aj-m&gyEubL)S;TBJ$-O%LCwHSWJncyn@q?97D4`I~t4hpSJ)|LtYV z)e>t0+k{3q&xA1bS}Y89ZDdA$Vlc3X>t=YcziA(ia<#@U=xG-oEpN4$mkO?*!B%fL zE*GWpr5Swx_St&R=0D4LuFq#pdHzZ{DNJ3SnmReEaP$3PxpH!R-0*}^i3ZIDlY9rN zY9`Zk`14rUojK_f{}l(H?WHx`84t(rw_JC=-8;(lV_(lxJ@Nk&q=zKlnfjoR2*d9G zn0xC;fe6XK2oTz$6JtOp3G=Y@^ z9VEy(9#XCUq1#H=!a8H6`_e}>PQNk-c?KU~9lb@w(uQ_k0E>3lKPo~NHR1aVOz)XoI#KJb&5w&|CV!ttEfu*cL zx5;}nr^8f>D6k!Lpe7WEI#VOU4{lpaJ_JzoVOwh%*p+$0Dd_F?e!}`1FcyU{O2UpnRsrn<(jqu^K>M|m)k&!?@{f_Ho zLyS53?7T#r*T$^c9f=!^FZ51hOZ+)An^*ccL8J<%ma}Jjf2lZE9&-v+g7`KqHT7F> zD70VTz3Xr7JK79P|6S0HfEgI2DsfInk!NCfVTBoi4bPB#9Z^uM5lN@y{ve42QY77) z++=4!ICe>KRuwk`9Mnv*JO3HLSL#9`OL7Eoa+eJ0q$vQLA6z4?^$H6dUEcjgaT+in zyMOTk0eKOe&c$-scqWoB1)luO`2Y~iVoz>39nX8uM7e8rYnhz(bod<5;ky#V+Pw6P z>I~$!hV-bPSttLy5Wh|1r+xslg)*!2mP+=KNVzr(^2ogd3PD|h9awu1rt`syoQXv)9G@VaifjR&5N!;jsGIvmz2Db7F>`e2Bv+Q z3(F}ht=k@VxGep|w88)Am010#cI1;E0E3sCi`QmN0eJZWXhiD2yC?Tx6LdXjCq;bl zf*yMuTj{niQ15pTh;p6_pS$TY`$Cxt(TZKt zUfj+YsK0?EviHcHhlf-ViF||s+h;LN{~}~oxL0)uIeuX=9kY@e7M@CmHJJw`PRf{E zeU&V9zu23gii*9xy*|~I1B=KYsVPE_UttCxMisHLDM}cK`XV?4#bW-D)Xn&yXDHzbYyvaj zo|}K-5fr&dQqJUmNIT|N zm3H0aeb#3MyaX@_oWR{YO3F^5XnL%#Q>?(utD0b#qRK&Ysa1Wzn2@NpsrjdM8Bhz# zk7Bv_QIED9__tZzD|{r+WQ`#B%C4TqPJN;g0B8G0TXkXw6)kiM-@SbG^4%?T#~^t@ zuGM})b!c25v|KRy9M-_lu>4xKVbqgv)m!xks}rC{!%*S7BzIC$(pb4ef;Q+Kd06Gm zNk@gXU&>*if&MRUa5jX@;n0yOJC5aaC#Tzo)93#-go`HFR56g@Co%e{vsgrj+CxT? zAubNc{MuIya>Q4uZapZvBa7Y+P2dCf!c~bJ|EsJg{v39^Kgk4rB>`O31Wh7686Hyt z|3ZO2Z<8P@0kD=uU6o}d${E=F}4$t zGNj6RMDZ`1>^EKVyqzGp@8F`pd)hDu*hXE)*lABZ2H6>VDmZ2rP_1<7z#>4y8{fTY zO(gNXjSUj_3xxeWb~M=J!T1=I+&G2?#t5ikj2Axbd%Ks9qP~=eee=3o09_3IPxD9< zFVmvN3)T1-fC9);!IZO+a1z#z3Z0k9;gxipd7gmG2Db4RTl1!&>o^qeQAT896gZ6@ zgpF6vA^9q>c=~Hc`gawsWg+Xpi{4v@DHeT8!|V#al~o&pW2e}H5-rTM)>Aij!*4=6 zUBU0~uO8OfE=CD6(tL&Q_+@lnMNO12ElB8HX7nd3oq1N&B{STA_of$*)PP2yt)-E4 z@5Q_)4Pz2vTcCZUXv8A!2G~Et5UUUHIfXxu%c0f*A8D9HNne3z?5|$A4VyeY0Oovz zCCPTRz+N%6bIpJpuPsA+f8rE4$Z#2Vhu~R{Ok1Y3++N*?;$bK9a9jgUDaYe;T>| zm|K1_XZ??(ia3#gYlZnsAzCK<{qLegL=Z zv?(e-|4?6m4=u>c{F3LiFLFLEDoGN6*-mvM2I+K5-`A0fC-zfnhs8>@p9mBRM4q(Q z7>e^h&#Aelx|=^T6hRgCPV2#Xv>9&T?cUB`AN|oGahZ_%bW+b|j0a^m0VP4PZurHz zo$odNNBc2`9KAg~@akYPl3U@<{ncnFGDKTfA4f(KknHX4J%g}Sd&LcFOI8@j-Hv1k za|u|qWO4O0&1}KJ{I{wz9TS@d1l#<6vnmibL$y3;(9Y(U@|O9-j=$!1_D8LBb2#tu zs39!&2NI~L1e$I8gA;RF{WoIMXRBneh7YBkb&d5oV>u~ZK#b&~q0%G)J9np5S5D56 zDE=;pgU{3T2c594fHbw6sT|jE$|V33wDE)rV?%W=vG8QPVgFRg#@R8R^PWTXMn-fD z`jRyA5>n%f4Oc=M8u{!FE(%09vWt~3y1$%PEKN$NYw0mRGS&e>zE)5FM*h zO&c&~UUeWl$Mxut@PNwGtUt}~*7!;~$oF(6$GWQw#j_urcX z_3j+ETvNsu7!VH;@5w$G0_UNZy zePLJx2r2ty@)6M?;hC;ck6J&!u>o>Q{^&iQ5eB=Ief9h6;BfaL_~(!!uA+Q}J>4tU zfZem9TOi2jKk;9-bahIa>?7x^5jq>66?kgJgHO9e@?mc{Dd|Du74K}fpcExZ^R8#U z3XTOlm+&UuyRrVJ=*b?9gDycAtd+H~o%yE$bbQqLrT)98_m)2O)fi2%Nf2 z;73d+sO)nt4dz_t__|p7sCPgNr1&Mki0$9er!>;b%fAAs;sPrveR+$~3+#*w&NX3t zp$lY@Wmx@y0WCN!26|}P2p=+#)_}GaHrbG05WG_6fqdKa!coY^8y3nLU~XF0vPMNf z_WMS`Kp|Ib4V-(MSZiy5P@ zJOqSye_sf7L=rFiH=!79RX{gXc=ugHDE5tqSmYhtDb3d2G2TXG1f^n-6rVkH3V`!K zls;w0YbZ5vIrJ{S;*y&*s&ja6ea%EhfC(&h10pF;zSmX(h4in_T>@auHy5ViOynSV zm;+x`*&8Xg82MW`K6TnW1-fhg9v`eVxXhsr$_qaKs`XhJFV8D`fzl;}LkkKDki@F@ z$c`Qa!LDL#%s4XohU2)~Ov}rMLJk$1AdcQ~omDHSDQe8q%MC=;^gkb8)UyQLQqz}j zN=xVVWBeZIRAvAD-CJOntCL=|krGq;uXVg^-|GxEhfRT0{}%fDOKM6|Qpa&2!~IS; z+)DHgv45fb?7hglX5e7lz6BkXpMczCXVSH|QTY=H$U)IMHdNpg^4fj}M-rVlbaLzd zTlEipl&-?M&X4ne;wj#aHuFR99J2Bu{1&yI&XzMm8VR6x>lRMc02lsUxGDz8TNRPcQJQGw?T5>)iN$a87#F|Isw}b`ehw9Q}PEI+a}az3Wrm+P{K^F{#I_ zH|HR;klzvG)YC4O&sF9;8!uWL&s&jSoXS8%SVEKHBo33mki+rCmMgkLNca=OVGa$O zxa62mwKyfEnz(_3VU$p zv2UeqF3Di12QAVLT>h{JcD|R-@KEv6p-yIK4v7d3r}K`WcVn@2`ePVaW|)RexbZsr zF+TUeRQts^PlmNdlhfH6xx`$*goPlU*asPJ91U$-XN#mDG6W?_Z8R>JbMV^Jt&y9c zRkDL!=MKeAasP$5BR%gc9${9B9{WO?_8}RXq;D}ohb3Q%3WKlUY30)nCE$mH-!)+k zQ;sW*n+Z!j82cu5zI!2;Q$oT68qQ?PIFr6LCqGuF6`>8Gxc=P0s_1bb#s0I=L+LuR821N97rOlY}&GK(5b899b7CEXS46x+!vOGE%=9Onq zIv?lz=hK-jmYTS61v*4{`}FVZfL?^;{HvApQ7#49r$Xkto@YJAT0nj%NtbLj`6C9k z9S7SPd(Zm=VY&c1(=KVTs}-T+lv1KktUO6}4f1x<5PO(A=4?sFYFbI%BCrcZ9VgMZGYb4GS1oG>^%@jVjL?1sIXaG9xWw5@S*dZsfLYc8QjNnt1LhL5X$0=FSKzWMy&YmE%ZT7)=ry~ad)1Jx!*5c{Oo@UBBg-8FV%F- zrzM#y3V + + + + + + + + + + + + + + + + + Page-1 + + + + + + + + + + + + + + + + + Object.121 + + Attributes + + + + Name + contentUnit + + + + + + + contentUnit + + + + + + + + + + + + + + + + + Object.124 + + Attributes + + + + Name + @dmdID + + + + + + + @dmdID + + + + + + + + + + + + + + + + + Object.127 + + Attributes + + + + Name + @pdiID + + + + + + + @pdiID + + + + + + + + + + + + + + + + + + + + Composition.150 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.12 + + Attributes + + + + Name + metadataObject + + + + + + + metadataObject + + + + + + + + + + + + + + + + + Object.15 + + Attributes + + + + Name + @ID + + + + + + + @ID + + + + + + + + + + + + + + + + + Object.18 + + Attributes + + + + Name + metadataWrap/xmlData/safe:processing + + + + + + + metadataWrap/xmlData/safe:processing + + + + + + + + + + + + + + + + + + + + Composition.21 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.26 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.34 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.1 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + Object.7 + + Attributes + + + + Name + metadataObject + + + + + + + metadataObject + + + + + + + + + + + + + + + + + Object.10 + + Attributes + + + + Name + @ID + + + + + + + @ID + + + + + + + + + + + + + + + + + Object.32 + + Attributes + + + + Name + metadataWrap/xmlData/safe:any-other-element + + + + + + + metadataWrap/xmlData/safe:any-other-element + + + + + + + + + + + + + + + + + + + + Composition.40 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.45 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.50 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/example.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/example.png new file mode 100755 index 0000000000000000000000000000000000000000..f52559e2ccbd9894f9515bbfac822d50e2836280 GIT binary patch literal 7517 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 iANHJ}^IwzNmkW}@b + + + + +_anonymous_0 +houseType + + : ns1:houseType + +color : ns1:colorType + + +houseTypeModelGroup + +S + +houseType->houseTypeModelGroup + + + +houseTypeModelGrouplivingRoom +livingRoom : ns1:livingRoomType + +TV : ns1:TVType[0..1] + + +houseTypeModelGroup->houseTypeModelGrouplivingRoom + + + +houseTypeModelGroupchimney +chimney : ns1:chimneyType + + + +houseTypeModelGroup->houseTypeModelGroupchimney + + +0..1 + +houseTypeModelGrouproom +room : ns1:roomType + + + +houseTypeModelGroup->houseTypeModelGrouproom + + +1..* + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/index.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/index.png new file mode 100755 index 0000000000000000000000000000000000000000..82d5d5ba0445f3f6ac2a79ae347a5791807f516f GIT binary patch literal 22045 zcmbUJb97x@xW)~~jcpr^ZQD)K*tTt3jcvBEZ8vIcyHR5&-^z2&8RPxlKi|=joso^T z7v{R>bzj$SHu9T-BmyihEC>h)g0z&FG6)FhGVt>q8VYzOyn>zw_(g0ir7RBu;zbDp z5)c9c@(er`a0~+C$^-)P*8l{BCmjR?%OSg6i4S-I!dzHh7zCs)&gVrb3HTe-Sy@s9 zqnok`?TK^Tg z9=@IcBSbjtytfuDHDnNkWL$lkVnM%TZsP3+dk;1u^hu>e|mwK&Ao@1-+=B zp9PZz9=;jC0B?e&``q6Dm$wYkgE?IrP+2b>Vo-(be|HEXLR3>5tbV!4kzh0mL_<8@DurZr>&4NZDrMxv#6pB#$0U|Bg`u~nONvogjDC{myf3d8%{yav zzkk=QTZSWx1X5rUhi&=X#L7$cJnlxrufW?E`jsMjps_deYmnI8O3nXNaK zEnDk(x#*bvrAmuos(-lM7koXhqByotp>8{Fx6w|~^LC#lfXSdk&Fg+KKLz`FhNXE3 zJ+?ugcEXA9tAiKZF1sFnN1{>bG+)g~5}i2L=yjP)WpmdX^ns;;;bCD>`M%tz)bzZs z(&qJ{!Hp-`I>sR{nN4PnHCoOUE0@SvRf*~tcD=veOtbhrI%Ej?cdMN8R4nQ%XvH>u zgBj!Ig3=DKSZ}S18m-ptn5EyUGY*H{VV&mNbNX;Tni^YevR+{4b3T-#QT>(N-Q%zm zH0Qgm7kURTyOg%lY?~$E|NeCJwfgz!-%U~`yY(vF3uDh~q9Ez#*fA+K90+@cS8BX| zd)PX?ah~Qsa{3sG#*%e%s*l?<^0`h?*PD5$HOgW3zPF*#YAn}^xVpL$@V1r1x-XGU zW2x)_&fLOvhub->zu4!fbF}Guet8*xzB?s=wRwBK)4lir#=xobNF2dkn`|1xbIdli zc`~iKfe3kf4 zm+OAHNgvODpH45ch_cpVpGGDbS3ce-lk&A4emY+8z4apg&h>QBwe_+$5d5HFS|AA+ zD!;hYYxMZX^ZGQ|DvRpG)e{=-*Lt4+Rw!3$FyrvJly^RCdOuU^wAS*y-Ok|_FH~uB z!ob5%q+SjsO(*M){I1?Z5rIoZ$IkV=*K|G2RI7NhX^+ndq}KWaY}{phhZ3rKeem$T zHdnr43CnV>G!~!NO^z3Su1qoQD9>My7ZLjSmuf}oc%2z=i$clFCx}8(JbNzUKyEB|lq>y##War{qHpEk{P)p(5@=>YM5IgDrH3_?dA#PLR zcE0-D`_wPbXSdGfYQL9##odKa6afQl`5IJ;3k4nBB&)i?ZiB}))W~NM$Ki6b({s+W zLnEG;T3u+F83TGRN9yl3ZN3V~(oa{!%5$XMqcY?A?KS(J1EdIK;6S-flyHJ(ilxz> zE;=qvfKQ|1;Z;H9m zecX#@alg>tdzm$tEutPTUWZ0<9)1#32j=?pY?I zj)8Eb4nDV=!%5dl=Y?OY0?zz$X`J;6U3ZJxPRD;pe32fQhRYqNKp0&AJB2J5%Wp3a zrwtWX>Z~3ov7DO@E0pyFeP6{(%cPSi+t%HNV{pFeNZBRin56nI;m3yrkjkQwhBHgV zg!9MqT}Q~JGxeGGsJN3QY;;kEAZyi zNUbL2F4X~yCTvZlROCeMe}rNdeV^4CUE{Mv|39m9AjSWyfd9{1{;T5uQ@|6k{$-ea zQ043oQ0yxhTJecU1!8J!Lc{Rdh5UGh_^%BAKPQ0y|F3Y&OHM}5vmm2d1HK2AZp_VU zzI^A71E{w94!q{$IktPT&Sd|+f^mPoc7$e|UR+vgCffn*R3HTdH*f*J|5O$yB_%Z( zio!Tq6ql5gEs}^OXJYz>%Vt5G#;D({8LCn$m(cTiz}SBAa@nJ3POnup43yX3TOaT4 z8`Z!SdET7kSnu1o=d(@woQ=q3;R$%YZ+h$@thBpUz~iz}Z?x|Wgv$cefr6P?somwI za4j=i&|fc(fR~b1y*e4VjRbOhdtKAI=HN+Hxnmi{%3ay z!DVZJA*tMCrHVmCJDy6Pq^{>FuHSPzEBm~;57ag+K|#SL8T*a)gGS#om1-SsUxb;L z>v2YYy8+$K4MLI-bQ3TSn2VU!RxTK52OpfBsZayZR$VkyRGZU(n*yB9p}K{F6cGm6_3VDDJ~`tC&eQqtX9z`u3x4EZsEQA83{SL34$Es$xQZx z`JXCI4;$`lsXM;5l>JnLN7BqZSJGvQADiytM$Pk26NODJlUDRd>MYXwC2hGR{~5-Gl_P4hqK@Nha- zs8yMquQttgdOAPtMl;UKpT#xd5D_sN8X7*oAEfCwN0O}%5c&KIJX@|CDB_@$ODFE~ zen|CyJJnY%mBZn7K8%6KW)h;5&)lCeZ?aEA-qj_Mf89fBbKMPD=kZiVMIuTqZZI$T z_U#9RS|v5;!FY5JNmyv?QeV6vgC7aW*O*@g5|a3ZCqMR0q*+2V;|(JmWkiAqWyN`T zwCpa{sHBgkqzfG{gM_fUj|gFW{t46gZ26+z{u@BmXsbsrbdLth!V@Y+K8S|iQ51Y* z+u(uL2Bwz%AuRpmvOGVn|K@LRZ1dQdm}ERoyW7)kuBTqNn&)eiinW!x@5GELogt$e%U#-b*he-|mf!CF zqFTI8i@sle6sJ301_W%@we|(E^DIU^ok2iX!ggM@KAqMi)*1%GGFGl_XR=cawwgoW z1kt7zeBI5KJJQK6SEXIh7SviF%x*fcA|P40%G$fE+4fy(d*dIl>g+ZSe{HkNiTV|_ zsG=zC&}4=Bt+`SW7E6rtYFoH1cM(Ub+d+7mw^AJL92uxdA;^i=V6JaRc@%alEYdu# zG9rH$l8gv=e@PucF40b*i2O2IEgCsj=x??~W%cj&%O#!6lATGVU+|R&1mC{r#CBWf zs$U@2(!NRL%OPId{fhZlg`FJUit|?SQ&lc68gN+U$E495lAT23cW9W1ID4u!^MW_{n<*Uqs{Z}NoL>K!BZdW)t;&bI13EjZ=~K>_!f7~0j-{^(;8HMkJ>#NQOFpu1Je5@L6)SWBl)W< z3CXLXc!AmZjIpt?PcfGBJl|xk-UbMy(qCd6^j(_zUB8s}1>YZw_+HK$cs44;B2k;& zCbn(?nNweUOP5@|0E6?yv`7b5~*DZ?zwu=`(^RXIOQtvyyroSx8eiKE@!08r)CV;2k) zmOJ%M&E~V?2txi&r&^67^`lC9$x{d8ULsh38##JmmbaNA$+h>0bn~dJS)i_$Xf~Lk zqN46P5xv4pEdsF*>~#11ndoy!PG| zi#F5iNSv`tdfxIJ_M4SA=As0z(shi7L+|JI{&RS1!AJt-oCI~8@~GqlDF&K@6Xmhb=vCJy)U~?s`K9N2CX9?ltu3^x3&)Ix*XpRuN+wYUd~%= zUzYXN)qA+z{j)Zqj@*DsHX4S2ciYK~0S6=NP(|eb>iDK75rbW@M%r_?KbCZ-1c*0` z)Er)SE4)QSvP0wPbY{_^=kAw_q$Pd-jno&fT0{BHfBkURPe*y9f;T!FPl#Pt{8%i0!DV>tvvpEA^@&hAMG?)Rz35Jf{8jnL&r3Zr{YZjRPI562 z{LdDFU5Enbq{Boo{(9t`kLN90vsKQi5L*iZYS|PgBa=RV=YOs;=;%rPF=+CeG*_2? z+~EEqId-Fq@x{TU1UNW_qoID~j;s5C8wCi*Vc?Sa3@M4 zZYT0NWADA!z?Nu&ee%&4cwwvM+5%Wgu|GfzFH~%w2r@7?o-Rlbx)c zmshu_oEf7w^oif+K=FMZWiJv{|8Zp*=;~_ha4+f76pvxz1g9;nQ{5T=f zgsZ&~SwJ2y>=_JYqT#6(biA~65X^c~uEw?q>zs?X6jLA&@#N+D>8X46IP35kK)$@3 z`Yf_Cb`nR1Bc9x1m}ru=2s=gXH=^c1V&oA9f9~J^p7u9QN3slF_v$$IHr#RNl#s0r zXNNn_^Js9B1E}-A_`1FdttiZ9U$EHi5^Jw3I+zRAc~tus{u`?7zb{*}qH$LSw><;K z@$KAOZ>##v4#%6ZIMhG)Pv_zIH9bc(;Gq<58KQ@MUO^(6Qy{G@Z%K9YG8@FW=89JR zZ?@V#dvsV$zIw-iF1G%q z5EE}Cx4PL7z^v?HbH@L5>i(wKH>SaekKpu&AKKnQgsnz{nSA>>lUcjto`kMFlvLY` zr~GtOQRmiSn;F*VmbdA(N!!&pBhLex-S)EQ&Hi&P|1J>r%)X;4Nf9 zJe3+Bqf>F0W8BMI*b}=Ty&JnA7wg#sIYkxIFj&M>;3DzcRCDs-H=(E4{ijwwTn(Qi zTQ^~Yb3GekFEt$u+?s%4RZ-wcEG^5kKpr_I8WAm3__&go5+u;=kpZRCY-q(Vw-KoV z9rQc)$cQJY1LEa*7h#0KaP!CGh+y_RW45neK*r8fGp!6Z^2j!)_6|@-)2!1M?veksKFD)VM-$i{X8-p!~Xg zinXT*+_FKJRz$Q@iMLstsN_Q<-@$1YO&+Qf|8;mH-jCfhDB}}1WHmH6yWDX*s(9Zm zsNcO3*SB(mv!+9*vLEu8-7Rl&`Kv#ADS^F!(5YYU$P1MX6N=%l`J1u+fdi(Bk$c=Z zoryTS|HPIOZn)Hh`Sz-JSFe3H4 z+J)fglHQVh5R%?r7><{X{!Tg#z_OL?nmo9lUp&NYmtYU<4)aZc$P$>kuMK;gFJ!Pb zp~`!dDWIg2Ib zP3C}@)peY7FlN7xW})M5#Q4~7ce1-OawRHqQYgO~MUtjQ9t;Vn5$yTUi*6q9C5$ly zO|35iJgx}-2P$apU)arQ4A>vK7FxP2s_>Hoq@7TS;X9szvn}XOOitF!moZ?%clME z#$Z?=7PWxea?gVhc+7`_KFCbT%C3Z5QUZBj97}4MUf`0MZ2yy4EkdBxbf(C+ltucf6FMbdGx zOLa*bjA>+(4uvE`?3a;e2!5Wuo&Cmm8}c$@lliWe}JQ26rJJ0 z^5$EB9r~^rPbm(qt4uh{(?ziJA;?~>CQ_iX`|*((z(A({0CWB5@lbm0?`J{q3M@y& zVG)Z$rztc=O~6Hw7WtuS*&6_g2)Rf;7X%XqeV~5TW~TAdxA2QOoau_kuM;BV@iC8$ zROJ2PcFxIj0vkcb5o%Vt@EOIbn6v}M>X!&tf+-A*@CIlglavNgk58Le&s%f0)$+F_ zNb;kld4Gu!P*Q@w$F4#7JvEE!SfQ*J!g2Q4+_IrCCOJ_E2gdm9`|FlTKbMUoBEE5JJNQXV>2OG`+ z4YhDGN8xv_h4E7E|0-&Cwn4k(ev!O96isn=C@;_TtyqZ+#%~v9?KZx1n0?Qg^h(r_ zih>3Pu%vf`h0-VBxzal#mTEbeJq4jNf^vNq&u#c?8;Pq8Co`q5goCrE=EPKsp%8G( z^W*Tjm95+Q`9H19$tP>ISQfJI^NPo1q5k`p&BX21rh~$(m~A2i5UVXcbz?iquakqm zFI75(f_khk+c*0(b@B>}j)%$_-$O}5z_kC^ZCZ-2ICsQmTd>xEpmetR_Xt$mZ~R)M z`5OkMTIJOdb{vdkrs<=TBH0kcT|;dVM@%&lI+UCR_#+l<%wmfwBDsEA*7>X8(TuMP z>b7|=&&{@(|K4Vo>y!tP9}CY{pE^~sd#o1DlSA;mDbO{HN+e=&8LaKSR>LwpdI>)b zmZR94-?9eJazP{voNgD%SznN3{uIT_Y>OgEOAmP6miC%ZR^F3Z>yO{X#pOt=5h3)l zh+!bPKco*B1^v*eDYW8|y(#uL_@OI)6 z(1ZPJYF6*cTK))w{opXS345G&Pfj#;8qKxW&RJZ0g32sO-jp$`uPaEyhU0$s89Et!no~H7HYY0$4Lwja zq~TcfyF*mmu)2fXAS`Een)PC6)#{C{IND8C6xK`C3ro-nL0QWL2AaboBd697(!%hd z>jSQT=dW60VbCb0E;qXl@MrgMh$CPY)c-S_jvAX!qSx0u)X~VYtyaGeu>*DpO^;Ja zGCs$InPEaUC=7=Tt{NTPGN9Ki!>M>9wd+J!O#p+QBM-DdcBoyfEgXJ(S>2g_Z+@$xQK~DMW4wv0D z%9bnO2mXoF{~5n2Y($akIe-V0(-JT4gJthyAE6vN6!e>Q^ds6cqaYTy4PX7>lEPhh zHV&@K+ZwaHuu9AGt_6+NKDQW{^(o*{rl&45dPwxp0Bc&m@W~6|RBS{QiAZg{+#^rG zYc7t7(A_JEn0p`v2JO~RQO$m~95!StB(4Sxm<9%Q8>lp$KX#$Kd>`y4>9rf>@v3fj z&qu#&QF7m==ylU!eS!Z2b}Wv|*}aFTFj1-b*X!^H$Y-I3k^;Lr%4FA4KnSEwzfVY- z<97-=qs!hN7snwEDFHlQXWb4fmU!L_hEN#^X)H#WW#{QDMNzX43GePO zs-k#u8~2*2L{kxpwl1xDBE7cAy+}+>E>>nw;;m64H;9CC4ZZDs-n3+rYAD@KUtc04 zJs$#NHDieALWt-b7_kO}9Qc6a2;egjGZ*n8-hy1_hXok!c;be4Mqv zf4t}ugo`%e%A@9e5yQaTk|gpi_AE(CN;2&Wg4BBK1jek>PJgIN&|c-YU|;4i-3~Wt zpu+6~agr9i(eGrMb|RrZXt}$f<;e_Is*N_TRiw6>b9!C%^R-|bz01ya@) zsWR5srk!0SCGRjSgh@Ol{_>A~&n%j!(24?w(`!GP{^7jEs?N%)gU_U{UqoycaY8zm z%dzlmr9o05moKA0DyTsO;XV|NcuJ*AVd0#Zu8Ur21~BWDvFK2JUhmiJPo@TD{Nkcm zTCKKFqA}^~O`n_|SX);YA-J33@wpT2);K>NMKe>WNm%JZnX)l*(mkFV;W>DaiGa-H zmd9&eP2i8$y1GotZwH-E8(%+AsKh$Yw{*d3>fwxLER487h*KzxD8fpwswS!sS}J;_ z)=+e%&AAMokZ;*AA!GuUJ)Ia_1IPpK*oWDSjg4(jyO}F}O+Z9njL%^sI##EX&JEZz zku+)n3%j0z%@NqShN>s-$~7xtcVkWVXx>%LnMeW&s-ilQN+k)&^Rj_(0>Tz0v5;|R z^1-Y>;&M(95IMxZZo){o(v{J^mBv6Um6Id@W&-i7Abh`u$o#g2JUb{F{#}El7F!bGr?xtp;C>km zyXMe_2!d2YWB^GF8EMyHSL&!`Oh#rX`Pq$7$0}pRnj!wv-ID&&`f9FE81D+^jlp=0 zW|6dL6jz2`$ZFT>m=vCw!vf|JTT*rqgV8PqQ(TmjLHQ4`mdm!O9QJQC`97ZVrTT6s z%Dxg|6j7(PIv7^9mwQGMS)6#UR2cYT6(L;&E*dDZdST0is8$N?(#5S?F-C7;t)(5 z0kGEnm?YewKobj1-5i&NNrx&|0*!#MUP5qhB_b%?ROzocF>{r{wO8@Y*k(imMDnLpt zkiRdr*vy2G`JtfL`6|lY=Xq}t&}$@G8)OdtAQ3H=N+8u@_{>S`jfP;KfN;NwgBAjF zH-bAp{dYiH0J0H8m_e4;-QN>0xfP-L{r*t6g|CiKb_z&%{l0^>T#AcT6`0ijIO(!P zNJuj45f3)NF4`o6Vg+H8Q46Wv^kUB_o`MT)*R16Azstxl^OTgfq5^Y(LSH&M1SZ-| z4`9Dq&X*_Lp0BA}HyO!|6$5O=^&py}6p*qWgcJGwF$LVdM1B7^Rej@5n9B~AlU-#4 zGI-FDft-1-kVn|#M?;VP8Zj6ec3&P|A7FH|9R1rF;CV9u?77SXD1(^OYAib?1F}M%NMU&UZt9BnCJ@|x9*7(FF(-Q`f zmoO}!v|z5-zu|G%0k=pj7s&TzX2=CbI=P~ijEOve<|sAr5(|bx`2I~Y4*zF{(>7Et zH!z^Cf79}u_wuO03QN>GdmAjQ8gIn!Re2&Qmf2_Q{mqE2>Cp10GQKg(;PFtgD!fhz zH&Ae0uQx^QvCE;SMGMNR%!d{OA{wAw52VNl&N>{9#WTGFS>##vq$V?ShV zw1Ns3;26 z8DTtMujEG5n7_On68T%eDwsi$0f!YaV#48j$~w>l3L}-FD$;oBy~-p5iAWsx;*`wfxx}BW(^bSosl95o z&I%^7I)EXSou|)rR32=A%tH4+yF!G_`w^Y8)k%gSrFFzO)1si0^8#GPej|(f(&1DW zeNdPI6z-8}c~2B0s)&$OR|+N4Dw?+%g##dsA%8FX#0OKr)FZZ9ZLEQ7!tJ{_kRLrgx|02}3Z8 zVTMxw$Aa-;uJC36&s{O9{&oA#0-5?~^yNod0CJ)^eFz)iSbZV}daBDHuymi~SVYTJ zd{p9oI<_A4Zq}Qi9+(Kr5s)KyLJu}A7h%8F8S@CHMd-old@8d+n*Ra9SSUKRIq9MG zdFYc=g^&Km;3!u*AA$KI9Dn+K8+aNsg^7u&h0HC&()=1W>XdSS*2f`rbySj)O44;R zgg;%l{S-V6snK&WGy#$Q$E(cSU7a!oE#&U}gv=krGos-#vnO-PR?oL!c_1MSMj}$V zkSK$G6f%$V+$q?68bEzXK5p5ZjS}49_p;C$@u9B_8zOvIP)BX?X+yVOQiy7{8amSg z2B}nTciqd6J1dGtVQ?7VL!AE-(SOgUsNcKVL)h)BgR=5MsGfGkBlSDfc2nu+rnSxb zz-m-w3qO%M#~6}g>@);Z{8ZJ*3PWQZgHw5z4M%F!Oy8<_`Q#ki%_7cA63A3dNSbRMd>3Nj zAMAJgf}H@t-d1NGPp;qUuy(gml?8!!B(Kf{T--E=uL_&{*XhitChKQAev@btwquD_ zGrI|>SX4{yXWwR`bZdo%IExhsV0<18X?&*nl^@?<*fC5LV6g{p7bDT0TLDWD%4!Ei zqplFMnQ^lw4??wCPN}4K)~moF;Z?!Ort&c~^kB?+1igqf7Vi|icyMqXv(b2D|M~tL zwZo&X-Jp&@<_0pEvBplLGyEG_&}xs%$yz@FAw#H$XpT;?iFCWij9W}{2n2>Zw3m}h zqgJs-ym86k$f+Z7c_^)FB55qHbUsOWZ9kyKjd~T}Xr#crPn5gIFhjP9H6lGU0OFj;^5tl*5P=LR>R>_(; zz7-xHO-8@W7sT6@j>~Q}y4mHuVRr-YD`_oTe%goxJme{~>ZvDlWwL-?-QYRQxqq!Z zifWbvO7(t0IAJ0{n`u}Xz2~NRx##NPiDYZm@Ej$AatgTX51vB8VU7ax;=x1)>+aDJ z)hEING`Gt)^Nzbeva-FLQxsfqegPC_mm6WO4zSCC%wzor<2NFY)LVWp zRj+_JQ3jA0cH&(BcTZ_KJhIREk0CxXGGSao@&uqSq6ik~b3sERCoeQ&Q2jY??@;2;c|L26YAORi;XhqD^?Ltv-}Y%T)naoKnk zKEK!ZU+Oj0M?uc@_xSSFfb--Jz=L;Ok2Bj{V?bzF0;o__!`o-|N{s|NeQP{5J%_e>v<$5dd+s2LBtnCg(%j)Q4ciRElMP6rvTN1W14V&F6x$}P2 z8Wliu0Jv1U-SzQ$dsyhw0x;NSJKXKFD9oFV@omk)WScOY+_gMTO43XK)rR9`TuV;U z4LH;89@W6Ckpv*Dr;eX66%MOejP1ss0#VnM#VYN)aAST+$wex!I3mBt0>1lY<7QJX zhDz(ktrA%*+d0dT!AH@ZFVTdgUNv!X=KkHRQ@Qd>Q1AJG_}Pj7VM4r8Yv)6c#4P=> zuT3P>*rRBAP#ZJ+V= zt{se@KCM3J>E>L1-7B@+ni0YaF{w2GTG=2UzWUTw8ZoyIN0*Bkm=*yhOzRSxm3k}9 z_TUCv!={V%HkH^^e(!q={FsiTV?_L5SMXNm$!P6LjXIapZPFnRP%oY8VN6|HEP(35 z%x-FdaBRZbNKAe5t1TsPJee(Vsn+tB1%cKfacD6KtEl^a+SL0*NlwnS(Oiqx(lCD0 zv=+WAgP&D1miV~!A!AS?(~0Sc3?Z*|>A7e~9S~3ij1|+?t<2sAs2ZXW?67d!2V1i> zfvZ8ZXPp8O$e(IenR1zIV^z+@kf#*HHfEP&ddp0H&?v`$3WD3ca(1jb0D!opfem!i zxU+ZD*699%_&0F&%)11{`d1#n_#w};=4}3?`ce_oo@-7&q~p!}4k7NP>8+K?He)0e zkk1qFHM!m&^I{a%`4SXgY48XmYN-+bC2T|vX}it&h%F3qz^jlTTAOrt``27+a zjD=aJ+4IIM$JB81%g!u&-`j0f%ce|A&k4r3jW)c0A3gjuVOaUZwxavg48bv}8#n~_ zj?o^@Ot%_1K`o4E5wgfsvwZ%Kt!`s~r&aRLG{s67!f{$}El${e!TRGAoxP|n7jrG1Q zRZ33CL*6GhbfTgWo{Epay22RzM{@}Aisb%*h3~9xa}I<~+jyfSM>H3!x|%Fib_Xr;}=ZaM^Iq5+IJy1YW>`X0JQy7 z_vC`*++dF!&ZiyED^0El*x?+3E+JB2fmX=n!vRL807N=ft6L!Vb!r*QW7=V^4xP>( z0Fv9mPUBV?_9a5`)JIw{U5fzl93&3;PoNiRq70Wva3!yJ z2k7&rLhz_)QREFsRSF*Wi!&GgCDdGoD^P4fGMT*KjXJ z?GlNCt!?f#=-m%`liOm@kj)_AN(8`Uhfbp`_B)NS2BuJ{1Qh1=3p{qd2r!1JKG!1H z=6z;qpSI#t=vt#?k*fWKvO_JZ($_IRej#QLm2XNXQ0E$um>IbMtHjICL8sFQY500l zmRAhq8(Jbrr+*hJ%5p%GT|_`10mRfw+5hITI%Gvv*j1#nuc<_qV&d@)H8CwenhQ^8 zrO7dY*H z9V1K9at#AZ02*JDFuq^(ap!YXX+k00Apt%R-6z}(%y1>V0wisaiLwUo)(OM0p3Knn z%Rz{+&mw2vS};W5a5-$K0Y@Xn>EQQR0-5A2;HfxV^;@lXxYv+VQJGuJtvmx0p0%(+ z1YM=}i^y56TpzG5VwQfSjqmxm=y{cnCC2m^A^$}kXwAVn`0t9LvMdeA4sL6v=jlFrlFC$F2r6~n~0~Fn5?;u ze6+~=_;4eQEY^#3maC0F<8Bb~IONiN0q*X7SrzIFrp|Hpnb)|2Qc<$5H9Y_M>(L({j0jc(DkTLg95Jii44RD!pcX*xlr7)yg^_k1sx4~7Az8Z~9E?AE`HZKY!~>4z7sSy?z(Fv4^NQs6R8G@p8RXs0^(F@(Q;(zx z;ZM-~z8Tx?*v=()!hn+%1aa?14Jn-U!X;*Np>3F6n{sG2==`&X{i$3MWwYL@6r8>3 z`=A?(Tm7vd2nxR~QzU8QY_*AYEvf+v79nMOglH)ohVmWIH4<}cx;f0Eb~#)m!tnxM zNj@I@pLJS|#NRd6i2?kWtlb@ZaUH-nS$xX6yzUagC5}n~aG%BWH#&yoTs_;+^o$z; zkINrd?D}*j!ywzvZs2xal^%3r)gs7Gia0S}1|W_S)c<(S^zc|WX11V5a5)0eY!EKM zBv3fw@qKRe@?h$k;Hg>FE5GvY1J7aow90cvjbi4~YTb#BAgF20=;^~O{@{7vkLGRp zGmbGcTP=j~-6ccS2^C9AFtt22E$Jm8;BlBlK#lwu0H#`1bO5tw0Gt(-f_f}EKpBI< z$u8U$ryJO8#V~MYaM)(PKA+ZnU5uc3T|Ait?KFDr!+%^Fh>no8YE>$~nWo?v5!a_O#D8wFEDm@fG{8NQeOetCw--^E zDadv+c%SWW#)D2YHi!gqwrW>ZcoP z+P;dY(!mrH2tt)r)`zU_JrioZOfDd>x#Rdr>N6aVZ5jCv4-Hv{bnz0`L4;vhbbZb} zdi8d~Z7H-ASMh@T&(nhALw&(Rz&faYt;TQaPQrAJ2!;dS=_8W5YDwzxtJPY)fqNsu zRkC%p8enLxEJ;D8Aui9$qJ^`WZv!pa?{BKAj0n)s_8fGT_BvPv!)cKN{hUAiXbgQG zLiR1mg32_+mznUV*LNOfRb-0hOuyH!QMqwlxX^28XwuWQTY2??O>khsk zko2Q7n80Q+8;99)7Ywk^_a!B$D<&t0z?Xij=$_T#4CaHy{OEQ%}niBLl6%dk=et&Pmi3u#eXoY+$b9p zNsNT-CBFT~94yv$seJV43o-R?Tx{1egERJ7yO@kmO(PJ*eNJ_<&K;@WB$Jk73m8jm z)}_v0Ef=0Cfn2fZCl?%VWDq4eV?VV~qM&!2>2E19t*(t-@Gmle6Ow)UM|fj&sl_&F zeo#!0oCq{h+~{aJZP#tDKLjYnea2{kCpw6U64C-a_NdRCH z>Hkx?6FUSfOJCT@E78BNQ-&25M@5+FfXeIm+nSH87$w%A7-rj8-s$34l}cGLdD#In ztj#-QlcIDVsIjjD$zI^`!e`7(3OCV0KU*9bLYkNosI(#@BNwBlDWYdZner*}u1U-y zyRNMlEiAhp55}7k;R=5wjDnTiMLhIntG9;XEQ@`vDsYF7Ucj#jb-g*2cetC1ZN+3+)r(}UDk6uPYyp2|eWOt9^#Povz%g$PC zjWIb|Qj_(PH0Y>e1@)qm~$4{_ep|Fc=KBZ%qL`9MnFiAlKuL}Guo)-aP@h89${ zg0gRTfFK&d_PxeV7sl_5nZ{D17}O2|MEH9+JPxUN6net-!MJQZA^+z}DlHWA|DoI< zQcr}ayBDxD2pf|jYDCl}X)0HBW{88D zRR6L2W&U^Q5N-fD94P2>3{R_6nB#qlI(fbhHw-7;%%A7G9IdAE4%k3jKx?R#{$C12 zyPyA>%@_bd1e3)foxvuX_j$p{$B9`{hHa~QgJk)9H0*#?SJFq*<5lNt?0t|yW#lv` z_pDK9#ewGx2t?I2mzjbeZn`?Wh{>91p|72F2@U| z_G5gN8bcEJb0U;614uf}R)>Pmg~UKiN(L<9sNuW)Bg*n$wB!_mBMt93kO3#fG+jBhKm%f67Q|Su^4i8T7UjQOwxdAR|gz4AJot>|#Q{RLY z;H*Tc5Nk-*kxe7+<@dZ_=FpuWHbO(B07IZ9TnNynWo1_{#XuQ*fLLrD+vu`Pl2q~A z^uFY`{F5ID`&UZzPk#&^^ZEd*`P95u6_7lfoHx&rhEE=yLCh?qjl`#wk0oVf55!*b z?QDIdX1&~7@*5+6FNuoMDxdL;V#@8(G@Dt)9OO|M$1$?jn1)dT#knLzEE)jeI*pEgpqR zDbf6IHl&8*m`$j`){EckX8$S(9Hxds?-`b&v-8uZfAPEN1tpjbD2crrbqo7xRZV9B zYawN*WElyDl*juU<79KpEF&wtu+UwfYpGioIH%kc`d6r06EXWLKf`CnlVm z>J>nH6Kh>74zI#S!3hLiDNVsT)#nF&l{$1L3gNE>rDf3qj_yzn7-+^E)%3=f`DM?{P+I?hd`h~ zJN0wXL7;1jSH&nv zMPzVtkRe2dd~Xowfy8CAZ$nPOb?$K9=&8t3#k^9Q^6yej&2*VUj*~~Wp8H10o|QN* z+n=_o^NSvRW%`5?NJu$N;ivwro_8;A*zuD&QW}~>ue~tx_xFzW*l~LO>OQ#y<6$Om zRotO3h{ zNd_x{#BX2?dqNii=}$PFqcnY95>GsL7H-W3PT?Pb*^pE~AbDd^_43~)z;+{uDIgqE za{1SGIybMwC@x{o{Ffw&X5?)G446Lav*J#yoPw~haOV%qA4t#B2zVDBRtVSkdiYF2 zBb9Jg`Dp9?Qdux?L{C3yYD0eTQPsOAj=_x40J+*D^|t`8u2BisG8k4FM7&a^rK1kl zIpVw^CZt8!;VR?9=_LzmzTNKUsLwPI59KpPSq2Ck7h2H-W+ei(pydL@j}EFx#U zrjLz9WsJcPz_l*1Q#Ao@EwE>RB9OHPR9)}cuXpf38g}PWdMxH)vV>@^M!hbdgqo$y zXlw!uK&VN^8Zj8XHvwOf0rc7whHD%&{O;9ea($G8tmc0Z zi~hJ4Nr13s&jG};bqLc}FiX&2P;d?Ta9}TK{_XPE=dLqV%Gk%Wc!8DP_qtZ5SbRfr z8^^5r0!OO_24=Su%s$9bYb4&}=iJ}{#se<(P#&K|wE!y_gwQ}pr?Xl4MfQ`}#{(kC zZ{u*5uTCnx2ImC^AcQO)wGtb{|+x{`mj3a^}%g^=%(dhLDV%$P_2U5i%sCG9@RKS>|~@4mu&qP^OUKkSSwn5;^91 zD#LB2JDI23EMpWU;k~x!?tY(lt@l~${p0<|T9(Z|+ur;7{jTf#{eBJ~%c_-rYhN7_ z`l_)B3mZLAb%`T?6nsy%?a`!Q6))mS^MrZ|xdQ@Y@Of<{#^E$PH2TlrN z21JkWODKYFv((BlfYnUV zZ9}O;%b~{EuxsKatQV50Z%tEJd0D^M`Pv(h7=CGR@~jlcAx*Ch-=Jb+-5cR;RW@qAMdv{!3~f?uE-OUli3lMN zw09Fa&b!UkAEaap-1*YLFauF@{W4O|Sb0W?s73 zx#e`xcQ-I@GZXupYXL?fgQO&B7H)1AH{hKbJVT0?o2F`4c}JB%`=#Y z6z?UxCxTgRAcK2+qyc8DrG}OHYT{gn-US;sTXlMT{&@M1=o5KUBu3YWhkZFWyDiU0 zx%F=D?reLcvbl_dx;8z(p_CxNM-&uysTgYHTIr=_V8mxtfe73xeU~&1+?ltM&~QbGWB}HG8zW?_TA~df4xnm zz^=tqXN1j%i4i|v+hi$mdU+Q|dt|nPAVUUgGvpFK(<%Bz9r(>?hJ6Lz3_%acpbGC=@ojz)OdPT;$ExJ7m& zKi+=%N@FfM0Krf+a#&QOm>OVPA`wFYowQQuxeqGL(7CE~r!!lH`5~4@K(X-gi{23Z zwjwf-CWkd>PpIZ;w4adTQmVeDNTQ9Ow9Ffw3jGLU|AD%?AZaI+TabiMqD7CThTo4R zw0zzk!sWGsl?wHOj0T(2rtDsxw6b#y_uA0gZ9$#^f<2F8U`d?u zjWApN{8{eJO>eZ(K%EU%NZjj;|54<_R7iFN{cMqS&h2y(Gb1e&RTfh}e|~m(0@4an zdT0rWCzMo3qTzTNBpO5@-J<*K5NV;tsJr`adQ_CP%OklWLEOWk(k`cZB@=!j>{T|H zL3vYB$udng$mDc7Md$o{OHzm&jN&@K;Mbxd{|Rm36n}815e3W!#I~ImCnqO4 z`*0q5t7nCq-*3|;RPmDjbgg-5O?pZU#P6GZ3c297B!?Mh7I^%!vRODeosDl6J7}5O zi4_{Y`M$6qLuy31Sn{o(;uBN)=Ohm*bCakj7}+Sl=VJfHNGvduz$1dM$hn)>wa`*2 z7j@j5bTFi=WjK`G9~>3>LsykVcwadVziX$tYO;2Yg#1 zaz}5q*O1HbN^@A*qhq!4(p`uVT_6S-HK=V`pNL-+G-B~k2u==*cP%ztO2pFVnVUS=%;{}+{NYsDr1Us_5WQhz1hKuROw3g0Pp z2pq=d<5S|K(+^jPr>i5+k&?uONk54ht|iVeUx79_WIX_Bb%ShBDm3Qm96gcqV`($9 z`$w+C1x0f3+wJ<$kPLOkbxg2+AwBNYttWYszk^#M(W)ujkr0A-M4VV}tK`NsL}iAq zx|`Zr7}3vG?Se>6@Ew+xbv4LY8}~h>HPtL>c?n=V)N4%bV!VpTnBnV{m_ssBQo1bL zC&kVX7_H?Zg$d6OYV4KbZBuw(*a}=DmP^-4^cc45PKbu~Q(w%8uc6Gv*8PkS5p2|I+y@4qXok3e zPf@P_XeL#G@<%Egql0R6589-&Oulye@AfzvpHz*|EGX`>4L(a(Al=mKwBae;*yDHa z{#G8eGuKz{ZR58}wfVRDr=r{a=`6n=W=Isk^} zn-o+06d+UtK!zEk(%RyMab^}a1PtiAJ*5j^g6-~WJKI7*+1}5jA-|>)vW#D5i>~^) zQIxBk-FO4u)J47%qI4Sj1!Oy#ozWskfgIO!w7e8QoZUpL$+H8i{7?CT1|IZ(oA>m? zyG(f&22R*6Q}gbfs0^iPCFfbY_=n#1@ji6;o0J46u*ge&prPZG(KM}gLs_5KP{1gc zM}a}Y(RkK{Vhsw~3-I}~i$~P21`&(*H0?ML0>}nPQNUz)T!MR4HiT|WDc>G;x360I zk@kGk39*+_fXNmOES3ds#9z~AR3b1X7TPa=u8w1D)$4jHQUSd0WAw5e3VkSKYe2Y) zO-d3(VRSz@ScSs#ixfcem=gUQ-k=}SoPh{D2zd?u7X;i7sR*wO=0G8r89&Svzp!J+C3zK^>>rYZV~XHo|OT zDh2{JScjUs$e_mCT$hDq=I{Bz$d4J;Wd)Te_IR<29LSZfA5iSg$@w5)UM&d2@jOM% z)BaLWsxW8ft2cOq_XoykLvg5nnUkJ28QNrZV)5HYp6 zPFKi-YlelwH^%q7H0KoaY zMahwNu)I1DbF-^V)OEj=(y~}aIS%Qb*l$AW(TyizUS8p`loX!g4{pCvDz?cb^H&kI z--V5IGj@)UN$0BWeQ`@XW&>lz(l^Ta>1*uhaJ9MVc?Z)3o9bo>`R(8!2a5dg9dd?| zsHi`ZFqHAgQtnM-kV73_-*ELK;D{E#Iigws=EJ}Cfw#nO?cyM#ZMFWN5lCFv;Q~j1 ziQt(pn~N=KzDFJzHC3w6&;;bLTDgSE1jKdVk(EwqeXf(e568`xAwrE}VP5A~=mohwK+j!!BEheG4^|5V?RHgLI~IzR zGUyPm+JOg`w+g%Byw!e^sc?~9=STZ1HlA;%nxosnjVy!^Ubq)w9ZrPgS zAbz7zEwJ@$Z46_vZ6WeviXl50$93M*!5AU^0jE&r!o!ZJ;P2pgNq_=AzYQ&pX62n# z(j2W~$*PP@pf&Q|5+VS&lvPe!Uwo~}t?08!7fM-jiwdtIPt;=6)WR!9(0@lTFk?#u* zN?Po&Me1#sl3|Eo7Q_(r0SShNgkIl<7f*g`1pCE1E2&7Y!!*y|Pxaw9;j z!2kdYYPskoomX#!Z+yy*U&xgWNNVZc3JD^P1bpX-eGCfEe=gDg&Vl<6Rs8?wkZDFT zS>JcCCVkCjL4ajHqwqM*6aMz^Hp_Dg_gB2cWD6u$OPBkd!O}{tI1l BXsG}I literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/index.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/index.svg new file mode 100755 index 0000000..1c12324 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/index.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + metadataObject + dataObject + @ID + + + metadataReference + @xlink:href + + + @ID + @repID + byteStream + + + @xlink:href + + + + + + index.dat + + + + + + index.xsd + + + + + + + + + + MANIFEST FILE + + + + + contentUnit + @repID + + + dataObjectPointer + @dataObjectID + + + + + + + contentUnit + dedicated to measurement + fileLocation + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/informationModel.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/informationModel.png new file mode 100755 index 0000000000000000000000000000000000000000..c09372dde509cde6065ea4a15b174d1afbfcf285 GIT binary patch literal 14886 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 Lno3m)7O(y + + + + + + + SAFE Product + + + Information Package Map + + + Content Unit + + + + 0..* + + + + + Metadata Objects + Data Objects + + + + + + + - Presentation + - Preservation + - Processing Logs + - Quality Information + - Images + - Scientific Measurements + - Indexes + - Browse + - Auxiliary Data + 0..* + + 2..* + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/dataobject.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/dataobject.png new file mode 100755 index 0000000000000000000000000000000000000000..e2bca0bb6c43ad92d7415480924b1c1d2b5af6cc GIT binary patch literal 27502 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 literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/dataobject.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/dataobject.svg new file mode 100755 index 0000000..ef332d2 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/dataobject.svg @@ -0,0 +1,275 @@ + + + + + + + + + + Page 1 + + + + XSD.47 + + Box.27 + .xsd + + + + + + + .xsd + + Circle.28 + + + + + + + + CU.56 + + Box.3 + contentUnit + + + + + + + contentUnit + + Feuille.3 + @repID + + + + @repID + + Feuille.4 + + Box.5 + dataObjectPointer + + + + + + + dataObjectPointer + + Feuille.6 + @dataObjectID + + + + @dataObjectID + + + Feuille.7 + @dmdID + + + + @dmdID + + + Feuille.50 + + Box.58 + .dat .xml ... + + + + + + + .dat.xml... + + Circle + + + + + + + + Feuille.8 + + Box.18 + metadataObject + + + + + + + metadataObject + + Feuille.10 + @ID + + + + @ID + + Box.14 + metadataReference + + + + + + + metadataReference + + Feuille.13 + @href + + + + @href + + + Feuille.11 + + Feuille.15 + @repID + + + + @repID + + Box.84 + dataObject + + + + + + + dataObject + + Box.85 + byteStream + + + + + + + byteStream + + Box.88 + fileLocation + + + + + + + fileLocation + + Feuille.20 + @href + + + + @href + + Feuille.21 + + Feuille.22 + @ID + + + + @ID + + Feuille.23 + @repID + + + + @repID + + + + Line-arc connector.87 + + + + + + + + + + Line-arc connector.25 + + + + + + + + + + Line-arc connector.27 + + + + + + + + + + Line-arc connector.26 + + + + + + + + + + Line-arc connector + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/included-schema.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/included-schema.png new file mode 100755 index 0000000000000000000000000000000000000000..b8599688e97b0d97b1cc053a6811a7d9a1918bf7 GIT binary patch literal 41291 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 + + + + + + + + + Page 1 + + + + XSD.47 + + Box.27 + .xsd + + + + + + + .xsd + + Circle.28 + + + + + + + + CU.56 + + Box.3 + contentUnit + + + + + + + contentUnit + + Feuille.3 + @repID + + + + @repID + + Feuille.4 + + Box.5 + dataObjectPointer + + + + + + + dataObjectPointer + + Feuille.6 + @dataObjectID + + + + @dataObjectID + + + Feuille.7 + @dmdID + + + + @dmdID + + + XSD.34 + + Box.27 + .xsd + + + + + + + .xsd + + Circle.28 + + + + + + + + Feuille.42 + Additional XML Schema + + + + AdditionalXML Schema + + Feuille.50 + + Box.58 + .dat .xml ... + + + + + + + .dat.xml... + + Circle + + + + + + + + Feuille.8 + + Box.18 + metadataObject + + + + + + + metadataObject + + Feuille.30 + @ID + + + + @ID + + Box.14 + metadataReference + + + + + + + metadataReference + + Feuille.33 + @href + + + + @href + + + Feuille.11 + + Box.9 + metadataObject + + + + + + + metadataObject + + Feuille.10 + @ID + + + + @ID + + Box.12 + metadataReference + + + + + + + metadataReference + + Feuille.13 + @href + + + + @href + + + Feuille.14 + + Feuille.15 + @repID + + + + @repID + + Box.84 + dataObject + + + + + + + dataObject + + Box.85 + byteStream + + + + + + + byteStream + + Box.88 + fileLocation + + + + + + + fileLocation + + Feuille.20 + @href + + + + @href + + Feuille.21 + + Feuille.22 + @ID + + + + @ID + + Feuille.23 + @repID + + + + @repID + + + Feuille.40 + 1 + + + + 1 + + Feuille.41 + 2 + + + + 2 + + + Line-arc connector.39 + + + + + + + + + + Line-arc connector.38 + + + + + + + + + + Line-arc connector.27 + + + + + + + + + + Line-arc connector.25 + + + + + + + + + + Line-arc connector.26 + + + + + + + + + + Line-arc connector + + + + + + + + + + Line-arc connector.87 + + + + + + + + + + Line-arc connector.37 + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/metadata-and-index.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/metadata-and-index.png new file mode 100755 index 0000000000000000000000000000000000000000..9d2c3da7c3eff46adc8576193c6cab6c9de1ca34 GIT binary patch literal 73094 zcmZ5{1yEeUwkb~zy2?nqGpCZ zr+asATWg(gB?T!Y06qW=3=HX;w73cw7=$M1Wd{cX`a}c$P8{@y)KpqU9t_Nr8Vt-o z7!2$M^pXD&7?=wy7}$vs7#LqF7#NOyMyoPE=nJSHBJv_&U^UU+ugVFa_ux({Qlem$ zlZ3~hH!vo$QsQ8r|9)~hivE2KZ!fLw1O|rO|L+B!#DGiyx*gazaS=85m9tD(J=H~= zA;l#)dfEtGH8pXi637Y!dVuX|>4Hu}v`(4&Y442RJfHnS$7!)n1qL@gJ|?UJA!dn* zesM8v&Tz=vX3Gcy3mH887j&M@sY9Qen;Q*V+l}{ir%3@Ee^R)>|Nl3PJUT4GpO%r& z<>llRo2k=6gi2(OGd%nf<8UgQLuU28NI}28P&{0Ps(3G~{orQ5E+vNK(@P*p{JJ;z z-@uGag88FOzkX7Bc=9TEWI?=%4hyErlR1a?S{JKJfSRMY0S3t@a~g)G#Qo{ALnLR@ zmfsM0b|u;X(@3o*x+ateDwGH=2lbcjJyPAKGQ%$4=Th~uWER!JUzrIB2`%aA>Doas zNQ`CbW#(g-6c~E^D{xgj%e_IF`Fo31hDC3;Q$q0D+uPwyw(Bx}uMak7ZElx&BtpJ# zJ0l4+Rn0zs&0YnQ;aNd<%0)gE``U95Lxt+{MD1nRU`4^&=9XR|)Pf6r{E)QlnPi(S zau&nBmG7oV&ygp5V#+jBE)56|r~AINEH+*~e^sN;T^bYIqv>M%GgveXLw;XhU!Q>Y z>(`W%r5aN@9GsL<4Gj%WGf_Gr=b$L-Z4oxu{jroEkwryCrKaf3R43bgp=dZP269{C zOJ24DUr0%}CWm53u4C}QffncF4iZOLlGim#why>r1Yfc`xFee>a5SXDZ^5rRr<58$ zYWh-)xUCQ=J)I%KTcELs<1X*x4vqgn{W3KO5W58^`R+7b(Q-teP#9aNZDYs0+@Gf3 zoh{dK(G=6WUT&;sVJK%az!Ujk2PrgI&i6_@*GboCdB3hSSk-{chX#vG=>7?spx4?1 zYOGG1v>w_(nIGQ8!IwHT#K7;;#T@+q( z6H?tqdp00ZkDIGUnwRQTvafGwxVK$xv{^?c;!`_cZL(XhH5*%C4%F$MnVp@DYjU?) zZ{;MTq@+Bn>iY0>e1Ez3v)kG1i0jA7)zpF}j_1<4AO`#WTj}OXL7K%7 z-ozV+-C;oRurVkOjgs4z?!1%mBNCsT{PQ#)Y(pS*=M2WKh$Sh40kluPe~W+4783F1 zD*Ih+^)#H!mksIp4U{96r;izZ9{%~GnK9jpK}h&^G*_a^ZP4lcj3d4Ni?T8-FMRo( z^?{y^6S9mwwCCyED(u}D|9f&H5Hn@ah}ad9u?kj9rLNJM#8vJ)4;CS48u%WYO0v(8r<%A_RXfdvHx@6)+rt4;`%PUYHl zg_ltT+{{EmzTSR%dTTc5n&LBk!_u7*$@KlM=lqSspSV3msmwY{;jMnHVpzF-Mhbg?U%R z<<6el>GeS?n<8zZ?L<|O>8|q8UMOEXhgy#WM(~{q|?{G_ZtYc zdbf3gItCivohIYz>UKY*%d~Me#^b0rnTubv=1xtF=fuQ{BTtTIi(+ouJ#LZDm+KBw zz9mp|QW)PKtCgyiysfo3y=DpeyiD13KAWq8&Yz0{t6VaJXqEe>9n{h=u_NvxIc0^V zJkSPvkwrM9g6J!C*Y#~WR9}cZW8#;Q^M)oHUGT4Nl>vC{$s%PML`z)OE`mS){IxR~-Y=E)VMKGzD9~~*-hRbV^ZC=7`glK$dXh(9D4)*NGc@$W610nB zDyMOe&8@8(8=XF{(-M)`Esj;Qmm3`f#pgBOTgdMKhW7CCED7bidHPDNXXDx82i!A=3C=|sx#eypO97^UBY4?X$+kH5( z)uVpXA8*$SOLb{IRmY+%1tJC_`zVBpO&C@tp{Ncft^On6; zU6p~4m!`%e@yAzZ%YLNjcs(IVq04=lu=>~t*mCA5&nNRl#wT+FTiY|=d=<7CHmx>l z&G61PIs){E`ul@3?GDE0l{&p8o;|7z1colC`1uoUNZ3qd8od^riCq>ak9n-eC8N?{ z3S?K!+YEkx+24A-Eb7kotK1@;`><~O?B*r(L zc2?X&ORCdot?dFb@hl87A#IEI^9?=7`)W)l(psu*Glje?Ds{O@2BS`=1UNEVU{CRi zwQA_S;9_uRkjTkZmOmaZ)*%cxbE}n87VBK~?*ZlV5cAhi^JQI)Ulw;fqO!;SNTh7ui?wW=hRB zH1HxO9iVJCmpPeVrpbP42o)VX5i&=%rqO+o?!NT-AHA4vFt0;hL( z9M2zRnp4~OSsrJ(zl?T+IyR69u!}neAI{5+AI><-MMPv0t3$4L{er9(Yd`GV`5&6~ zzvmBKy{Q&5&OP(DwD_vcnO3Jv^b`XaBXL-=%vYly$5O=lLN3mHYrNHRX#*te5NqgMxzC1db6xVUY0W z2-!^fQF!r+h8-m^dG(;gwxgotzY8GKG`yNld5y#q0am@eJ$ruPZI%g0GWx>N(T$A1 z#Aan7yImRtb$5%!CMVM`9pW--RZDC)M-#nv?~Mex@G06>WfQd0w{&qN1##`WzP~^( zHDA-ti!q(#k}XL16o(F!Fjwj}O}c?n43{t_JqEShm0s=lZ)3s1!A_uLViFV=XA85u zwhMF=OSFwWhb(m(QNT=Yrb#;rVBDccv8-TihDY-TitcaW{7#hizK6 zTdq1I%DU-KT$IyI9aV8$O8!}bnwolLwo6>7SfxM)FDjFPo;J7Rli4&}`@O_(`T`f`MDr>iAx4-hTpx9${ zEQOS7500VpgiA|HOM|~`3Pedf*3AF2WF{sih8fU(!=j^YrFSAoIas})C{u;}$o1N3 zeXe#`JqXV^9QV|E#3mwaq#j{Da|~*~EN-@JG3s%mj zVyCHDQkM5~c46!A5!U-rUkWH`wm&Ms`eTyEwhbkb$qHq6Xey*cHFV^0=74{6ap9p^ z&?h7?NQ_9kZ!W>6Z%r^&Q96}fdU$Wd*V>(rOPEK-YQEIx%xkZ4jnx9*)Y9|L0^<6* zX6xbtoPdjP=4ri{8DBwv?jZHQQKU4Ii;Jr&Fffq*>FH@Ys0|e!5iuB4M+)_7x`Y*{ zhV`24^gsJjNWCcJ#`U(aYu&_h1|l*pKlnYa6n;cX*exiU8i2}KF|hfGOIR`v_QiL4x>50=E#CF zOClgB$5She!)_y^rGQw-R}L!=HCSCu4YRqqd9Rt}KmQx|b2g;T-y)+DNLoyc%}h*8 zJkE)Qg996d&zTpY3XsKY^p0l+jp9?b*|K%6htKoSxXYUyFy(m2EFSAe=0SUHb?g`PDXsFFK) zP>a^vU7}I|@V=ekPF+I>)$SAh>M6|nOT%2`Kgh|+mjaDid`fw!{^z<9!2m3J);M4? zPJMUIk|-;4WND*pKzE#lmEp&IF1q!4=we&)6Q_^x~3_$Eg$E zemAy%0V3cmG3@N^L4k^(F&rHFaE55G8-~d zg{sAX7y>cOd;V5^UESEDRYEg4$P8g7P|;s74~9g+1F?xP$t>nY&;l0->(6qI{yuKG zV=APoCAkIUxgbkWM9?B$uprL-b5+o|2sT{1KN)@DIE=Un!FiE5TC{pf^*Kg8q@I{; zPick_h?kJ-X-^ToC{;0+z^(i1kD2)r7SY)MSr;n6$cUfW;#nE`(z1`IvbvhJWdH$) z(wTR(14QlAgk?#z_xs3bo+JtFg&!b1xc%!)>=X3gp?m?!49?XFzy(SQ-{5WpKJ|(dcOQN3pk%loXn{qzvW;!&|Pr zoN-@B-@hshiymZgkQHgO+I`>AVUR3QE-r|#Zl|1#Cek3~^m2!F+THQP28NcnT;K*4 zo^QcfE!7koh2R-MHtY>p3xrY*%NejdnvTvOO+#k?Q3)X>^`mipX(>27KM1x;)Z3fU zdbw7v>~@=twp{Ypkt9$S6-rq;c0Ym?5cmGtBz%7oJ>6jC$K!Os%BXjQFqJKI&_9E@ zRQCfzulWj*TJZrARJpKzALglm*6{Si$70T{n_isfl(+pEND4YtoA8bd^6HWiiBEhnb{Nfx`_}hq)e3 zC|a$~FpFXDBf(fV_lp#{4!gfLe#%Rx?2Cao7O!BBIphS%dgago6_k-#o zVbG=bSH(p8x6aN67iJ>n^M`~hrotB>ou^QPx%L{Y($@Y$i6k=w4rkJi4v#0?CeoWB zu(4I84p?q>GFcO}n)rS^6Hr$+f~s=eCgxBQzl_THXHafoZyIlP`M9G%(+Q|N{&<%f z)t?S<-^)4OK#|qrX0O*(P_E>qfs~m z@;WUz1zLhxttm+-u^6JQty$;jx7k+v`N1tMC8~QN8!NFvV`8)hRvyczM~hY&Ow_d$ zQlbB(3Dlc~5&@m^o2bX|5>)R?XkDp*`8p3KR&KV*`{xjpY^Weuuf9&7l}V7Yo&Ne!Cw$2ghd z34A^Z3W{RgMJztIkBAn;YXOns-QjyF`N&>JYX9ak{Wq0d_WVZWK56Pp|DB1SPTXnZn#F z*&=ADFGomTF%V^$R_d822Sv?=x1&r^nOOBu`Q1CPk>VZl{uMi3_Gg2pM=O6|yfy09 zXa=~^|2f_?`-ZP{NKWM@$~l;HCL zZv|)D0IUOtYz57am13`o-B7RjleJr?^}~or{u38qzyybD4#yu0zqary<)T6(1K^#* zuN|bNr4*Em&I}#GgnBQRS`DZyG**cN`wXi|-RgI8%RZnMpIh*s0i8CdPz?+#N@ipr zs|9yrxIf}~g;6k_s?YIirIHF_2~I$e+=jZ?8xhc$H_+P}!NQsnU$^CZC6Z8uGxu%A zYy>vmGq7utQIS*qyFgZ;27_QDv_7&yrFw}{7(|7iZqNnWA`Z$RPSnFsumYJ>tkYUL z%~A9auldk6#f{#|$j9Gfm_47TK{yWM>M}K25-4%wG7ND?pW~Q&f2iR&x8Ov4Ij|qX zeg=~&E9DT_Z}gl3dI3@p3P%STXTT)X#S^pb#m)(>t*@8FK4`CKZ^#?|b#8T%Pw3(z zVxYjJ1pW~G+^*r>4lA<9O$#%IW1k;4SU+k~u&n!&Hv^<1ipf_MbhDmUb6J1mKD69mS}vJe==z17B&@f(cdCQBp;rYGC)1K#W5EC2+H z3^!e_x8b}zoFi=dzA{;_Hb&W`b6R1atu!Efyj}{ivax|{YHH&0I#MFyeW5JNzdk^E zdpWJDHXTBimX`-sb-n;Jstn{ou@8{2+639tOa7?-^+`x>fmYwGF{QgLMY9<=%Gnhb zDGTf7R%PG6BZQ(JeWvlza9wcMH2c~odLs=lHlFFy!K9(g8w)_?drfaQLAg_zi7f@KhkQg3r|U230aR8t)@TW6AW@XUXq{Ybp<4w2~5OTNFR{sIZHB z{u~5hpFj}UU_YgAM_v5({=S`V*BS75x!DIoqGNZQ$TfctxacdQ#R9Z5K<5;C6nUyMCN%csfQ2+fSx1%oK8a?}eZvUk zQ;n`oM_U&NmF)%rcwknGl|Y3|zMkc}AI2N)9@F(dRi6b5WK%+7NQAzes)N9R9Mhp_ zR-EXlOkK>+9=S(IBX`LS+8yzl@IPZ86}N2!q+S$bi6%TmT9Z{E$HlZiekF*+u9* zBcWYCRZ|>`vA{BgoWNvNF|c<-7R2hm8}lzb66xI;%$ei%u*OQSTE&Fy_xzO;Qk6}l zRfZ@pFJJOBH+S8R=((_{Sn2W;vfgO_-2zJ^pVrT)O*~62fqPYVI9r(DqkS?f3G-I1Rgg) zkC|pHgFt z&cun1TtPwMjFX2)Yr7e=uXt+u6k}K-_E360bTJL0k?IMpX2nWyNqSwx!}rq-Ue1yO zkYN zsxfjQd=GWd0O4c)Ag1a8&+d0`Jp%1Cs}Cehz3KQu=2y2=QVNhS!axn`oFn*B`)xMa zaI$itEBBz%ix|&?u=8jaOQ&u>d&)Q7@88Ykdv2mqAn$Bd)$P{#27r}oJI=?v1I8KfV?VU#Koy?yIovbGrG>-{m3#Z{MgWDXY=^K;%s5{pn)e zIfyYb=Pd`pfNQ#Im*WKiJw#oa4hC(|OQdt99ki^8qa<%KsZ>AhRy&f;{ zJh;2>U;%bZ}KpgrVJ#;1zjqO_9WYVQ=Jo_`gS(LAPxcrmq&4e=k zt&+uz##_?p!9@_VE%xL6wN3&~r`CQ3N~gshlZ^SK@*5~++~KyRO>AA4#WWJ9LF^6HJZPxTii32i`7%vxm`f#Ek%8s=?>g)z#1u=ivAZUC7>h%)Y)ptkGPb*N3w=cN7qAH{pu%#`i#MHCNp8 zAW@c4YE{x^_~DNDohib|dLE#lCcj}XE25Pv@qKn`LRt$CPRK_)w7_utcik;XGs%7K z^hHr0ri0K0FeX*;@Ix};NE1XdqIx1k8{lzS<05poyT9TkR_={ArZj#5+C)nAf$+j5 z@!X@$As&cas!+dyW^naaGK*Xgb(Yf0>2Nm|M8(}Ht{LR3TK9j(JCtN|Uh^{% z_9@m;;5$eC$f|1$9l71WqC7(0GYGyA>Pqmbb|h&o|8U ze;oL}k8HrDc0MDwyQfobMlY0dnx+ePSQgyuw^}ewAdxc_y3ahUd1vn6l&_}pzJeS; zhsf{k$w7mpiz@`~f3*NoF~k*aU1h(+(Z=5^!JQ7td4|m`LzW0zM4#IyF1cXPU#8yj3OfrBx==d2kaq1`oS-ll2;V|~MV3$!s2=jWS! z!kF`!eAqhwo4$*CBrjcr)P+qvYMWT(h3>e1B+C`nZ9P)JtF(Otc}v^zMzz0u0gPE zf$P25V5JFk%30=;}u4mNLlO}L66Bu|Li)t;6=rqwiYs^X`i zdN09Y3`T2!(+e`sJG_C^y6;;@jz!^mfy!)OQ3zcP0Om(wY7yeH`xzNWiE0RZl{c0~rwL1?7B)PWJd)lKo~WWtU+_Q77(!o-VZrVP z-g4ZpIm)9;?aT^O4WnNvy`i@^`(s$qecp`iz;Cm@OVdV>p4U4P55$HJGH@9}vcn+7 z!hUv{Wqs$ziAm!+}BvxAK62sp3aH@$N}JEDu(;#QJzS(LyzMO^uE>4RzoqE z!{e(_)YC(+7SVnxSqqg&mm<9QSL=Wf%OMWJw}_Z;VCgc!s5^jym6r?rQ{Qk>Mq zsB$%IewsW4?XiYWPZ31I5N%K}G2LpiT9S&^AcW2s)u_+uM5Fvo1kdF#mH!Ht9bkI7 zFgY1LamEZqveGP2^gfLb{E1u5)@vX@J=OQf^F;~nVc22w`S!36G|9Skn!)eJCs6#b zlT%b6Yr!jA^Zar_qh7$+FjdGIK)SWter78n>0JEpy7x!YQL2xo<#}9p+5Y_bQEjt; zT{zte!)gqKki}tjMXHG6A(94R)fj7|HP&e+i@_EVuNZ?^fYancQ)k{T)&qc_9btJu zV4T$IW$dhPuamWaKlKxTsJ# zJLh-S@m)Wc9tdH>ti!j1#>Pso-Jpf3HdyKs7h#3->g>(Y&DfPme@Dd>NJF>25pZ*E zxyrG+0I3?r$%AtkUZ0Csy#QXrYrI%mosimkL4VNXV7#!=a?<&l`3-&xd za9*wksEwYnrI9|&HQ+F?N@MZ+2cbYY2!9Xmv46U8qAp(wsxbC=0Go%M=6nPdChUta z$~-x-0Du?rkQfPj02NMN0i&^zE{%P;65r;f$m$ZOyn~;&9vJ{3_f%t+tu@228D%ii zxC86J6Ev+O^rDpXR6&=T@YW0jC&LC;rXh$`Wut9cWkR$xsov3kMm+meTc^$#ps_bN z0)N$P*US|esJgQj)+CK!$m%4XzdP6f)l*Vu$EUQVd6Tn`gV?y54J?!@%;n?qzj8qk zQ|e6H&j2_Ean-Z5MhCwmg+6}|@gwXxu0qx#AE1%-!s%iaR(bNu;O6oFolBP0cO0n} zFI0?yEO?(JoZiti3=LQj2>mA;bhI~r?WN;QEe_H#EM@ENP!rMk`t5!rbwOiNW$&Kg zC_G8l&mDveLT-j1>g-Zp|M0Iwrk~0=k3lt77EF9z4~*$3D!60)LoLRZD1sN41Ccn4 zXced+M|9dMV@+0=W$Sf1tgre)yJw%sI2fOsBt7dk{m|w++R2Zb9=5>g?67mE*dl;) z(1AZ+!G&NcwLs_zCUD{%SdCB9$R-;&8@msXlQMQ$nR3E-r-(!*r-#U^PUUgv+#HVU zRK0m=kBbx8IzNxIc`e3T)b?dq$S2t=WnGsL=_wML{sDL)e!N5pl#JrPxy$J3p~(+L zye=v3aWpc{g6nIRJmpvjq^3oVT|DCV}`Q3lL9FFjJ-c^maF^xT{&I zSK=y8qf^=52xYyjAR%!@xa{+NBcK9S1H0hT`8XT5rMmY|%t7xKBi9k;1*C&P7aEwX|dJ`G;k+_^96eq&hfK)Y&NG7diuPvkarQ@49U?9;6 z=?+4b=$CbV`m`@%I+V%z2gP#Ivl3BGf8Ie%`KYx@pkQhqS9IuV=H!vOPZEE%(wpl{ z;HuF`4T7U#f4I6bs*Ht%MP_vXk|Q{&6Mc34W%G(zKM@?Y1EWe{gb$kmrNf9_*8=8n zAxfx|g^~S5hNZ|0Gm8M46nTEgamFoR-Z#D(tqAE*OasO`i-^do(9`X0JeTnO72d_D zs9bCpV84^bA+^yt7RTCZ3d#D{#FOlDWM^ir>%i@s2CYH{qq{(uOrwRUK1begP@(rm zM$9!v_Tp3)0)R;)l@}iau~MfYLOVk1vadflJOrc?swKM^OE%LEV8d|zS82alrb@@b z*6HTo!-j@wmTM^s#>=F_>(2VZQUC6D$HUZs((1Zto-zV)o61+S`lM1ZR~?_29$F$`Bp2VZuo2YKjW8E`0U zrTPu#T{SENccCPizgb|%gHe|wE;a)uZm?2-id+l6y*gevl@f!W&b=cwlHoKnG-vdO zHp*maRI4ac9EGl2){m&PZl7}Gj6dj9chRPr2E&V859P?o=F3P^2CMl5;nnBvUUQ zldhl-YACf{Ux8zE!QjK81}(ujVu^blj@VwuffBA92KO-D5}v6zfWjFZ1NoMnk5sC% zOpy^E1elMnIYFcMlr|dO+FsZ#z1)#c>8hnk5JcreN15#AuB9%ca{I!0*}2j{jN5J| z_!*FI@wbz#gjV>y)j}>s{e}+D zs4LA66L}<{RtXy)#o!V&1Qjb%`=S zER+@rD!LmE*p%^^HzD}D!xrSZlsUf{vL~Hw?WhM z`bRBHUOK=He#BbW(i5hirjVZUR-AD{ZYl6uxl!Z5$kYZoxscjutRuOm(LdB-FxmW@ zzf+MK8exc-#Jh^B5j@pTN=MnlgCwJ&5>R$dGQaM6-D7IjU@22dVJir=Z>5a>9tTC8 zsdv;8Ap@cl6Afyj;L9=Hj<)wfsN8vF_Kb zx8Ce<9L4W3RFN?hYU;iJoP&ox@lbaG6%LVl9n!b<+tgYH6y4X z6oHuk6AVoeq{+Zpb8Aapyq!%mGNCtiEX9y4jK2nV>U?VA`9P^BD!!(JBy(qV`s#{3 zT^gAglLs?-wxvV7<(PQ)-g0#aA|4U0=FW>y2|q*y_0d;JRPt1#CRVdE4)G)vzoTm+ zmWc(NagOv6eP${-9vVwmsS%rCzkUI!Er&uvt&HMzxsr8YKlt>Hc1G>u4LjlE-}t#> zlzw6L-$&42lgw_FGj5Y8X#TB`Fl%_tixtUrIGiNn@-n(`@YWbFF=tY^BZYdM-;uTZhlhJZ~rflbjIL^4SosKs8Om7Qu;g zZfeGDYxlXYOTHh5&F@c9qUL_}r6!g2uqm!KhP6fjcm{M$2q3X*c8AQkT+hiB9;@#= zwn@=D*zd*yvVt0f)J-_Zv8~hCxkkLzP$CTCZv`?(&_#CQ400}}c4dNOe<~`N(nleg zG(c$FwbIfPB0fi0%eY3lR?nI*?$Tu6kKVx%<0N)t)4!q_kf^G3aNF$0yL#4X59xd^ z^dP*sZVDtpg9izM6S;#$2cwC`4&eHyl>d|jPDw}An9@#9Q@KCin0dgQf`o!!W(M0} zfRDvdNqKIU8#n&$W~|rbt!B^Rwd%%}P)e2cSZeg912=N&^$mf4sm8lUdlSvRNoi)^ zgfZ5m|M_FqUDpJUdZ&mf-uX+@o@i%-{*2`b*ls_P*zK)gk$Y|&N{R6SBTX0o3BE0i z^ou4@=*bL{ll7Vgz*3H}I~Zk}olAhHKcofg9v6&V0g@-yzz@}A<;-KB5`0K?KJ6fw zWA%Na+K~-d;qSD^uLQa@7N}D3_`K42`8{u@0J8I`%IqRn7~yU93dZF;@e`U=#ABsV znbgbC(wdT)_>+qQe>eXHo|iTDy+EIm9jGI6*e>H9*kr)Y6V(MmO%V$qM0(@&9M^l?7F-f*tVf-{!?pdCwH&Z1%-W; z2#Tr_1_0fXI@ia^iY~slmrd*&J8^4u1cvaK3FU*$0DD#ug-fEj#XzE~- zyU$R>Ph_AJYniQCQQR_EFOe1@&a3Gn;8Mv@tJRc_HfFK;G7* zIB~`qiOj>LV+T&59{*Kjg|?X|(L9ox`X3fAVKLM5CsPz5zB-rB`6zZxCP=`ge(fqJ zDH4aKcMd9FDkiz=a0=-yWSK}zi)~}Ym7xzY`=cRr`W#|^ooyCYD<dyk^Ne{tZVpHly*g^O9nyPSOF{?m9)`l*2xub-UKz|`%F(@XvAL4=NYaJ0aV?9}`Lm5U8 zr5lD1-ITW!h&gyV$3j$%ss#Q-uT&j>g?A&lh0=H5#eH-{8YOK&uU$fSlg zwZX2OL{%)Ddof?80&~G17Y+FJE4j5WN}QvNFfORsQz(yQi81-$-lO=tz_;E0IQ#Sg z;AyP!kFn^PeivJzTxk{RM2w$)Ss$v#>542Q<`d{UM`y*eI7ot6h_bGXBe%B)A%V@3 z4%GC>TfTF!jRqyjWgPmZC^lb1wdRxVc|v!Jv=3*LEW4Gsb% zSiLUQ!=hz_LF|5cCx>%&ekg0Mwx02p=Xk_tz(j2YZ`Sb5j(nq?Io$+G&R+lbC?rfB z2e}DMDdO$d#63j>o`KVart)l?*P@4JIXTXuAF037m6;ffnBi|;TwJUEYz2OHgY?%>4ZTP@^^7|B#mQK@8cN(i7H1>rsRaG~Q%AK#T06AlS^yO{+?PA%d=&J7N zf3>f&nc8VV3|~W>n}%@-q69>0ul8+i%swg={=r*H;tKssrM8Il3q-AuVQu)ynFi@k zix&K>1}Z6WmZ-w4aM4aJfVdoKgHIh^brX+@*s{1PkP3h|l7TYUPqT4vsjt1(unZwj zNz|#HFThOwFW|4rEG86oC--N6|DS#ObmM3>4kR84{lC7*{b9-etl?BG%2L$Q*H%fx$M>3Jcha&Mi_bN?hmjBUS)eD)8QbGia9DI zDrvQ!5W7u$eg|M#_hrJ}6*Tr2*@xxV;<;FFa7N>$1gwQpM8&ESUAr~TM8&!MMk4FZ z(kC$AidULQyTKWbCU;?LEFfFUW=4Svl_w7x z(xCF5ld*zvd)aSli9shhb~_=Yuj#zYESVCM|LHlAOx0*_E{<=#>!#)UNm)Ru=g3ep zNYjnQ+*npdF3{AE#PpcDF>CGR+kU}G8)~UXb}D_gBZOCWrjvA+Fs7j9MF)^VFa7f- zZKqgTun-^xW>T5c3n4|EM^)x9abv$VD%SGUm)Z$`D!NU;0(-PxSgKHY82G0cac(#q z53*KNkk!N9(Gte#vw*JU?N{?A{6Jz7Fx(sBfFI3me)Nk2(8&L5I743dfclUi(f0k= z;&lEul(3knAIYUiQe4AAQV7#$4RzWpP~%SOVm zHT!oBRDNmZAt-Vb!1Hy-No~%LyrUrSbNMuPTI*HZCzN2p_=Rv1zUEOHCxfO*yPll^ zRiE3P){l>m+;xydT)azo`*v1QD9W(Kv0%kD9zrFI96b792dJ)20N?&{N!_H>as)}D z3TDd>9To=T{;GVnRNU}og`Y{1Dqg6;Cue0eP{otO$UOI zYnA-Pkx2wdkJZxr@@Q7B2YM0?1N3A_+}7Pc#T^$?MvkRAK9$ze)la0rzPhyrevqn3 zSgPqnsVF|Ghgx48Z9bcu=Tp`{Gi*o zu1P`TZ?rUb4&(vqzq)^*Aa}aIlHnQj`+kSCwkP-}HAF<0>*}US>o>9hP%^ns%edTj zaWh`iR5GY0QrG)@3KBhBqNpq#m<%KZ5OsI`?I~q!WZclF^R?3XI@0;ynSkCHfzaW{u&AXozw{oB1XA0&3NC z%HKPkZVyTi6>ZL7#!W&KgeayqA@zJzu{-T9MQuavWMcE|51@4;r8U4 z2QKtV=6ewSQ{p~?Zy*uO=oX>3g-HLJk_X$(RBSiTmtY(%9+$~d3^ya^AsEW)2=L1J z+Q6m!4JxI8Sdj3z4^m>Dw=&@Hxt$rh=8y&i9f%CSTX6Z|4<^BhY+q?lI8N6m3(Qq% z6lx*BV`@FUJIG*Cg5aJvJWTLSPoB7L`W>S~dO@f`JP-m^HNMi3A9UOA?E)t)Bo#Pkf)DHf7GI*bKmrOPL~5Q4vck8|3x$g+IM? zJ0OW(M8WrNwA#_kSVbx_GO`B{(LSR#3Y-Exi}wYTxjetQKUGMzx!NoxukMOrlzD(_ zRg;#@EqyYdueh9pCs`5;@O)vEkt|B7yyjYObxrGE(s_1b$WJ_~ErkD6{}SPo_(01j za24mf?q{;|Dz5*~<@b5fQ(R2rL5yo|rB~u%9pa*|C**NTw}ybyp|yTyLpfiaHx{`E zu+?kI2d}jI>dtXQ_n0wO=Hv$wnj0#?6TpC;R}tNPy6#%sjZZiIs(`IIg4zS7hXdX( zj-PbDaVKjBaD0N|9}KsVo5+on?oBF#YggkZVQuQw2#0bd&bV~yp!IotzNLv8t#Wcp zCEpn9xEs7LDlsDvl4bb%^e3AJzMNbp^xF=z5tMc9+Na7`CU4T%55j+^7C@+=^*+3~ zDTj83oOb-Jmp%o=`v_3}W)&tkf#`-w> zf7^dwMB{1sq|`%fhr>I@+xoi%?TK^&?Gy5#?3Ix}j7CnCy?}gss3eHfsY$D)im_zx z4q1QwQ>=k81})qOf(7seoHk1Yk{F}k^!Z~0Wmx|p9dEnEubqo=IA%UWbH?8|uw z>R#_7^3A$sFXyce31`66jx1t=xn^Tq)xiCyX7|5kEj^@lWudITiGD~JkZ*?7U|3!~ z;*edEFUX@TPK20kx%r|Trw{M7(AER@!Na@B9w<{`#M992Kvi?h(D_v#YZ8hO+7_3YkI=!Ge0?0Jh z*d6O2wzZz_#@e{41=m3cs9T)W;K9*JJFrVb`B$ZwOHx1CJOrUHP#KNJ(xKkcOWL~p zbw-xossX9#oe99vO6FYmm&IhEOrh;kRAZD#iy3oZX^Q!r?Aq)jfe}3P^)k-{;aez< zQdlNLT!C!p@M{B`VXqyMUat``nRmB{Iq`IS(&DHTqc<%$jm;~4Ot`yl+7BC{x}Cep zowbiVH*TCw)@X$6vAS22fFP{4kB89Mch8_zrR<%>hZ z+v5JTo0j2{t0%$utA|13?RuLJil{+|u(T4~+sD}D*8Bv*q!2F(j)Hz{WM0N(Ttc^u zVt%6#3pCVlNWIga^zXe3J9@;K)Zq-@am8Zf;Jv9tt+K@TKk=j#+^YEmB;9hJ>C=(fmvSfFI{X$S*f1GC^J#h zuY#IptwwxJbMxEyv>Me4O$i;B15ByWc_G9f{2yz7qXckn(Sp!5haQPTjWI&mQdY~^ z>Wup0khbQ!;Xia9aX74If1S@xcaZUid-pCtKEQTYmH9%0r0KZaUWC^Al}p%)8QgK& z9n(9&%E7LnPxDuRgtEdRDFE4t9hXrg@>k;e5RM0So7_O^Cc`?MxA^aA1|lcrZ)&Y? ze_PH2&?%O(lM!EO3#C4#8-fSSzp*Cjy7Xfrt-XlbuE)p}hLM7M&`6TU3)KM-GAJ08 zs4EGZ&5Eqk1J5D;4_j{;lt&k|>k{1E-Q6vCaCdityGw8g8Xnx;J-EBOy9EgD7Tm*` zyx-ZU&aS=lg9=6RP;1T1n(n*1ue%7_F<|Y?nP>tC^ICWi5AOK0}Y# zbpmy?z5po+t}O$+FZk886-Kx3(g^{%KLWD6_{=s=ca?e~WLwqYgp7YWTW{F~0eLxM zh}w`E7b^gdj;6IZW2O4!E~4GL{-_xOu%$JY+$&2oHDPK&=Kzqo=L;vq+2F$ zFpYMdit&Y+Z@8enmXW&O)7^eQ6QmnmGtMrYt1XB0B0)b6ACCZ^CWARyiIl#ItAQXVs+tvKd9V|-T@ zQs;7XufDigemmcNMyiI}=%ArrvRXmXDWRFT(H zn#}tyJ>^YAO{%M(>5haE2x9Olg^1+c#!f8#r4OqX5Cm&*maagBk&}sikr;7LrB~Vc z{yg8%vS{I^*pi1nhOuc)SHnWKU7!m5SAY& z9=;9r#Mu!95E}YWN;4@QpE70-2=1wi8kn6O7ko(k(Fx3Oq0iX;nPg9gZ5M-G;ivZ? zaz)m)M%yP7O#S^SAGf(`b$G)AriR$;_1oW{9Os*zI4{x1FbtM8lS^E#J~4TFBCLQ2 zr+w5DL(J@TYnDcOjD^ixk!;78t68~{HYoX2es(cD_V+1Vm1&1|NEy$wgCWR>2hC4Z zx6Zh7gy)(aeN1Be+f*Pf>wJZtD9#8>ay3ON5FpTxsSmPwo#mJZsU;j$wqpv?lv@4weB}7B$|huK;E;X-Wdpg3umn_ ziXUj>T8t45xGupGn(#}9P`UgbycDtQz z++C^tJKnT$syE_@)FSK5}Z(kD4zI-z(u8%v51_KzP{3#WEqY^jCyOBv9gDS z$VdF%P~?r%4f14|5{hdtG@`!0X2Y zWny}gj={m;D6&}g*7Um8`KWui08joM7UieIGm|bbtWPItbnkrB5BuU;(%x{biWFlY z=3(-*A+ABch?mjUx$bp~Oyu9pfwV#K{4a$TD zEjXR+H;7~{+T?;Iu6^?|nDd8$sTvDL;DY(<5V?hsLsEUz`=cj9ZWk0q%=KQ`FTN_F;H zYBsv%l^6xE4`u!!Vla;nYN&}tw3tx5it88Bfqzp}-U%)V3j1P$xYB#Mr^#GW+^gb( zgvG)qk5bh=Ci|-A{(uT8sHg!+Yvd}) zvbXStyuL+IV#Ji_is0&$g4od0Cb;?;wUaP*)xbdCkUxuspV4Zds<6eivU3t<6B+*= z_PRU6f?%cKuTkKcEBJg1YciR1BIU%!9(Gu-;y1+sM#x3jukVL`BH;g7m4g(P#LI-`6=Jh^<(Sf*imLo)VSeZm$f1N(xeIPo)F3ox3Bh#FMY4DN0ufv(VkIM9@?XCB~>QvFA?&&r+~i7W3)+jb4acE zguX8|dnFdpL>;w3*#=%eaU~L;CY8^6#XmPYSR}Do-8l)?P6%Q4Cn!O{Q^0jnE)T`oT$u^KN!{kmo#9@~kx3d%md=ep* z3+4ET!bgM4?uf!T5u`<=s+63SS~Y&(SZXBI`9aJxC|yB5HELuECU$G%h3lV@=reF$ z1fdN2zN-uG%F?(eC-~zV2+ANa?Rk>B}%Jplp+r3*~m&9#4^_YO3MHE zxi-FQDlzID*C~e@90pUh(~ zA`fL3G>UaImJuy3yaRSRc2P99dAnl>^rQgkZkIUj==A-YTfOe}GA%_^GF-->wT>tl&)h~R2~56n%0CF~(@0mt&kHEs z3-gh&$F@f#J_fphTTBLr!jW_YxuIL+{EX{}i2JvqXMcUDEd(Z&Q))ZS$9MIM9+e4K zY!c_>^mI5W52EjhuS)ghPEN$asl&{(woWX^9F0mjh6o(Bw_~EAYpXgUs*(=^V!UyJ zR9GHnwjmZE1xAc~(Gs)nERb`R^gJpMABv%+VXjcMX=OZ!jbsF>0fNsllmY0(x{az`Hd4%*D_vKS^gJyq}`TWU`X<}Z4maQ%5kBh%{{f9cX z7S`@cw6*gKqnROWO4j6MCU%g^c<5y&l;F0Pxym95a1Z3xvDNT21%H)hqNHk7cYt35_9pdgzo!}0_8l}yf0+Rcbxj}!y1x(l(DW1Y+6 zsQgK~6$-)GSX(U(DZb+g%EvllnU=EF;J5cq!!`rAL>r^DX)J3PmKfKpL}DIgoC`l% zeTht=#wJP$ZCzXw#Q)qHix)Lhypi3leBF;cnMSCa&JDwpL4ZUYs0Km9-Sf49d#Z@) z_%~{fxKKPv@WS37wY}}@PAi+0Dx%3J|1f?1=v=oZSM&oC3!9D_@oOw>XKJfS!1B?_;-t2a*4+c%_!k9&uPw2Sr8i zvP*hQTd%!{EiGgJQY14j4Q`B1^^B1whV-u(wC%U}#|>}Yc6lfrk6a}5@&J5CnnWBa zbZa{d-Be{-zuj}>)xC(_X*8w;=;V(HgX2(Xvqn{Lbi`))qv}oC-kDoA!Kx*vkM6rA zb!<_x!yF{XE%3KL5Lzm-5Us6F?-td2zVCd(9M<6w>|hMZqoQFh_5BcZvs#ip0%%s$7?$2fV<}ax_Ka);aw6_@aLh>eN1;c&j?$S#$E`DB?c765Bw)^xQ zcJc20f8BSYJ0aH^Xy3^5bk;3yF35IKojhDE&a8$`*_7QCYZHp)M6LA8PBlOLz_nBB zEmnGY80|$E@MG{7Lu-9>9QIp1hs-7&O_8QMLXDtFsM++nVh#tj5iyj|Jwumi6h|bS z*-7ckA;l|PHobs0{uDR{GZMIpEbmd-ai5xVoskIm=0A`ymJtjPCJDJl)q_hQ`}MC= z)7iCl!-#EZeC|8oQ8~OA{`j1*k|=~_3(u6#q|&Z04#?*6JKjlmYkwGpvImnt^)+oP z?BC|gk|xL&d79Mzmj?at!Wv-Id~H4t{w?O+uzd&QL3M%m_6*H^%LjTp+e^Xpu~!f7 zpFN+?snjcV(PG~HqM*93Iyz(hnq3}b)7m}h<*sM#g+Eta(j0rDMqLWxFF)5TocOdZ zHUzGJP>wN4hswaoQPeiF2CaT0F|zzIIbe*z{3PMm5D z$tIZ|7iZT8xj+LI<$9E?^o;_&kNd^vFpy&yx`4vJw z3)bn95Ns>1kgEa~V;V01K(D3W{jy^{W%?BNxzQQ|=kfgeOuIWo&CC~=Qr)Jz7oSx< zOTmoXLDh|9GBUJ%7g?746*eu%h>G*Z%UOKIbHPup%QMD>e_1b2M^3)5r{-iv6GRsN z`kzFqOu+xmanJZI@Y?D5+`Q~S9YOP4hwP(LcgkklZf6pFaqgfDIbV;h#j83DC64CC zJf$K^Ucz$y6(t>DBYj?|(9^;D-lmh%gcXVjPj7DV&T0GiA$dI&YyWD^zaF=gZ<|DR zjt(1DI$$OXzN$-I-=G`u&n^@Ic@xg&)5*Pc*4)Wb6!KDSzdX<&ZSlA~)%au3iYnS> ztHo$UToQ#FZ=Y+f*W4Sn*+F(Qh5<|!8-rWjPo~=ixDBzzGx;1;NoB-{C~GSaaLI~j zUneoBg|$Izy*<-ZrWfN%wb{ISXg4}jbb=y2;Z!5OQ!9Yiq%a*k=Gk?Lw(RXgA&~Cw zh&fdn5@9Q4!)H5Dmdx|wR2t1pM>vc{-yYWaE%|*W{TRLd@kPg!VzPST6ZL@;L?c!y-{-H+#6%f}0HpNu;ll?ES8^xhyQbX$l7DJ6;5}H3kaMOo2a?xY@*iWr^rI=-asAX{S?_MS+zig| z?yfaGQEmQ+u4O$Qj*$9rKg+WYhPEU5SSU4~iXn1xSYdYBzI5;C`Eo}ri0?qeTX54s z7tE$55W5wBF#dHEl0>Lpio5{X#CdpB*|F2G(3{nK2lM#kH^wrHHVO&_aec3be!oLV zU*pb#wrm)b9`>=DA%`o+Pb?@z3q6>=QFIEGhp6)q_*uT&o{vu(U75GtpB-f%o0_K| z*L7=+AsXH|Q`$&X0vY!qh(c2fR+N0*V4RuX~T;6IlL^#EsQV*+N7%F5oyY z^N6QwiEs?|b=;r9<<@$!5bbCXArzIHlD^>%ToaSkLWXg@2EvE*lYXAC2T`xxxk1NaCrR$dPcR;8 z?12<0PutF%BC~GLIn(+uN8tJSMC{ycn{2xGH`tKJHM=H*D6Dj3^`` zyW_0RZXRZ1!f?Td4E|JVMeCGPA%El3k{~TgO5oRJwRPz`dkFF2v%`^0Q?g&0Y=eCY zC2M`w*vm?dy@~B(%JuWXBc1D88q~aEQfrJV8trsw&8tRUrN~NeUa4q;&EH?vnh_S- zwuRa~&Xee7mcOI?+G=04j;JPNENWkxuQ}3>?JpuW=9@ zM*dfoX6F24n5r-Rq<VD7_ZyT~jjB@SBnU*2 z8$p6`l(mJUQy*H0eR_+yQ zpU;;2%08{ZROD5t09^}Gd1p9AWt}L560MI<*LIJ~(%ZUrJBQHUQp?|=_co-9`RiYigkgcfO3M=1{EPXU|WwHu2*OFg**_~n-mL4dHZ~4 zaH*BowfCswsuvg@3{9GCtv9c-m! zLgMNrw$WK3zr2`W2n=aKb8xs@d1D6#p>N6T{)sdV>TtASPL12$8WpRL%ApN~6mkQs z{+If&9Ray*a4J9imf9M8Nf5V3o~o$@y@l<31w30j2GIJfL=Ubcak(ub7@;5d719ZOuG8Z>9tV{b0YwiprDTc z2V~uWji6t(`y2c`?jIC-MvKJ)oMqZPYTJ+oZQwZ&&;Wr3|Cm+BH^?WfZdD}$HZ1qy zc0;^awUZ2(wxRWm!dQ3ex2f$Ux9H`g#}dsIexxWdVCBjmq0HaW;a0OllG!Hn$;<-E z17+&4-ZrSALFK%WN^usANy5F?5;=3~^dUlQzP~uJ(*m@&rx~QtAw|wTG>7kkkIxzy z(}$vUM}Hf_>K@`r6^jD(Yj`L$Glg#y`NAHeD1G8(<73JQ>iWfI5e%j-<0n@Q^58dZ z*_7m~GE}0ZoVszePJ9aJT7i}ETqoAn+e*cvs31xNYP%LD0FC4~XbWn^8l}z}5#dcL zjotpYnr*WmX?UCB55m9D8V3`H3o$~_YlNham`5hhEzH{I<#@*UlTv#(&X!GhWKl~+ zd;cJxv+9-o$_L1;Deh;>OjVbVbaZrhN7LCpg**5vt1EF`K&pz(D~!8Z`p&W`ch4)iqv6a`CV~Igc>WG11LAk>PNDrdDB8P^g-u;%b_#S5omTUL~ctu%*eRLelSTeG07`9cl|ixog`xBsjQ#uy?T8ny!1HyJ<-PT`1kTw;E2~A z;#bN(8PmWfE%gh&7Fb|M#LH*bytDS?Yh*iH^;R(oEQ8@=^q@T%X17sA#mx!;kudWN z{BZ-Iq#`ppf|=?SnpLuRo#KW7&434|4d9^a@_F6t8|CNc2fRJ3JAPmlFfj7*d4I+# zWSBdxNeR^;`4D=7N``0-OV!7Qbe+Lp+9$Z)^c}F){{(hQgF70FY zhm*+9&oBJpeC@VwI-8%M-R)!^SBn`#OKSz60-&(b!&AWlh}nmY2n-tkjV9ZbWq^)o zL|Ppv*mc2sic#Lvw(g=Ti|-er`DxpsHFdlA39*HAM9-NX`YXj_U6gT0N%;gQCgoS! z(s-R-i-Rej$2rf}yW_bkK>>k3Q8N%YeNWeW9l&Br6|?c{Jg;{tfPwnAr~XicN6tfb zeBvZntOQ!&vC)YBb72Ptuu2SPu5`5|Y2qriPe>+WJX(2UX3e@0a+o=%qG$G!PtUJP zKBwiS-d!)J6;m6Vn+8rz@G&(tSAMq3l_x&H1UE9k5k>kqZ&v% zi=OP{eXn0~nfo6k1^)P{q+uPONMWX}^n-pkWzCUt_a`Ps<(!B+mQRT4cbOt+RshTZ zZd+jQ3&_O6+{$zss24raoVNTPm%KmTA9D#Z}?@2wm`AK?F4?4O^@GwC*x7S5$znI0bL-}vNovNQpt$5B^a=Uwsg#)ztc zv4@aaRUc`};?{ZOH{VaABKihnm|9b3yE@hkMQ0}%?D zOGguFB`60NvRDT8ee*}YShxem?I)<`N(Jp||7WUzYf}K4TcT1ZIX4_lP!8a5RJDfo*3Asl{K-6M-oD!(u_Ln6-Kc5Iu|p zJ;r^>{y#3j`RX&UQMw7aGnj1$rvP(vu~-hr#nrWN=F5k`L^IIVE*pucmwmciB}c$* zSF7#ZxJ+n!pXPOYI0x{qi)&4IY|nuC=YyAXaY;#8Tl8FnT(t+&!J(l!H6=l+Sbz-t zt*!FrC^sM>HWo#rN;g?lOsv6|o2FtRj!f+M?fF*cS3ZE2ary8?2F~ghyM;^Jz96W( z?O>E~Z@c6MkIIc{jm_|6N*nIr0tLdKq%Bxryv_oAW9W`c5B?!jtKfe*qA!aIQP>^Z zIUToP!hXyPl*YxyDUC$oaX|L}+_&25et!qf`J7(>8h1rbLVqfaE!eL&DK1V}bjN&+ z+xN*yx7CTPxTt6rn3y|hS}|<+f7giHtPHSRSSEx3hLzVZ0HSShRA)6uZY^PQ&E@xU z*U_w$$sG;6hp1x7x{Kbhzpi0pVp6UU@i+xi%csR1yjALC^9b1hP$@!0OP!GsvkLsH zfYn-Km)zwa5fS+aILxyxTmEug-uLz1z#@~&wQ7j}5m&gML(hrL>`1ArCL^!u9Jtr) z@xU@k-};Frd^2J6f#)G`fhdE8+NOVYfsUE8g>#06hsV<&piWD9dU|f}Cb1$Ba91_} z@M&k@1iMh*-TemxSN-F}`p|LJooP;>=ds8Z1W>r-fN_r6_Sme`>!iKR#@bLux|2)F zimR^2908bocA2uNj^;Flxj(AA>RDxwwId;7VD`DE}e&& zWkwA!U49sg=`7wGfi?2vj0~G5MTeuGms^^_TM8h;RrP!ObK3C2;oyY7(-EoJNbAii zM%U!3ZCU?K-1dc;0KxvM`gu*FJLT%qB%SSOR7U=&8+Q^?_X1Est8aWRb zfjMq!brOK=z`T-Hkaen2t}3DHxGGrE-%sDMZDO-nW}I%xpzC2`YTD5HL`cY9RRKJ( z2Z@zQ4OUS<6-!3=mbd_Fv_Qf5J=&|aV9_be;k+DAdq2D+~oLvrb1Io^3^Y^cg zq#8zIOFtO(B&|1F6%1+vJ@BJl3}TE{Mn@-88ObWO^PJx=v-z-I+ZvYWht4tX z?%l{>h^j5E`!9vn$o56C@G!xI~lhWL7TN1`e9tY5tiB6Jv z_{z}8h@PN-v1~HqhnVrsd&LQ+r_nOxSCNP0g|=Vpn@B=gGm^g1f zJ}!f>8Pt$-2pK*>g`RlE&X}{^g6@9T67V_=VZZT(1RN_upAZo$3|V^Q>ClEqOm3%Y z(jO;iI_Y$vQ8D!*(HXViLf2>5tV?0YCQh!TlNS* zKeH|$AZOwieP003VvOL?o8j0hvsIah1(uIR+{yy4UWd@RAHXl#7wAB2Gl0JvSSDm> zac#ON&9;cMka$3s|8JGH%??yGFZac@FAuL*&*!DU9rh>wrLp1l%g+p%tbCp5ES? zGxk35deuC6*+Ym*Yo|pA6*b)n*yR(cEEB@6STPj4+X7r3^rhZ*5xbm-gxk~oQU-^H z-`Ae^6P5NKV2C}1FIo5r6Nir40zUk29v(^*G6)=;oN60$>U;ZP`6cJDz0>61hMd>HO<089NN{>^7(vE0;{Q%bdC^Hk3{CSGh)O z^0+s`JU7kME7jN}fVjY!&nhrnk@*%qp=BIGI zlb1K{7&;~!5RI04T%+vu_eU56SPn+2ST+=c*ob*WyA?72mv zQ)d&oEfz-bUkKz18xU7ZKWe%60!`Ja6B<>g5o(#W-5kvfK)h@Z>q72KX+R`TBsKgIS!=pSLld(>P z-{%Z`+NZVBPUyw$6^7HUVb=*ox(DNKT-=(vmCJT(q64pwsa=raidoV)g9=X9N4X19 zwkz{9ZIJmkYgojJ??wUHqNyw_53T_h*EV;mnLkydg68wjC@D}J3+b;oowvL_R(!>x zn6eAU%v5>W?yvVo$~7u9Tdj(F(XQ(c4-STm`ARlUjqRY6?>?6!rsidc)6!2x$E5Ps zarPbW=!^WI#PCYfCPnjtkKcE|mT~uNCAm&>!#O(}O^}XJrKCGFq%<)s#ZSeokFqwv zjMZGy9aO{S(XHDv%i+tEh{F_fzymKYXi)aSI{#Mt$AO4{9#Dj=htAhHt=>HGzHwbN zt&}-b>8dZSq&hHBHle36Fq@O6Xa5glp6Ki;WM z*i%dg6&;V|F>U7&u9KKc_(1NnYIgMq5_)G3Optx$zx@?{?wy%uV@DIH{n;PeUumg1 z=UU|_4J7vZBhq%U_no2|YVd~ZOkb&o3*5ONav-U==OQdA1&Jj?-y zs-NJYw!GQ?dgUeoTZA|F`GZ{Ks8kddy2&To8{)oo<&@@&s#j-#J3t2Uj(>lR! z5t#O!4JYxJh7Kk(8kxL$-gl2#dn_a>O5fQp%_^MGbj|z&R*IESrkEjfB8j(5jV)5Q zJM-2%CW%5-*rK29M$~3|P*lL+#;6u%Wzv!*`exfYu1VuO5Tz3GRkn=+GLfkJJ2)5! z$2Drnf~t_F22*pl+qkwV3E@#Ro6o&y)MNrd@2j>Q+uK{Ylj0vU-6KcijE4pQYz5p~johK{6VjDtz{2wT{AB zl=ZLb&2Xq%m4CgcG?ZXElS0zd_|?4q@AC) z*!>Y|sByuPn5XREL$CWSp^H4!F?#b1m~`UvTR)Q{HeCsivy)`uc0B%iz=6>cwQA+@ zdTvTER6a~{i6;+zq;BdEhD`2*|3q$x6F31(9uO5yY8_8po7BSy)W-~iG&Qw6LW=9 zCresJ$zmIS{;(ooGsf**m1~kL;U}pHS^&6N7erxfO+>v)?LXJv#H~6N4sEYg0Xb7u z0*%oRxX#YbF1d`Txt_al*2#OufoWep-qer}2LAp5#1&cdtarlOp!Kj&tScHSs^Za_ ziThSgP)EGtN_FX6kMqf0&BOwWTlSl(qw8d%WxMCZf^M4Ip|1i|Bd2pj-sH9;-VCL< zx*Lc?qL&K>j8@Wk$gA@Ag21g}14AvNPNhpQ6UQ%1a69eoBea^MerH|%aot!k|I3@( z%qma2zP-Ev>?{EXM`yKyT^k^=n!g+F2W{$$h={PG{Q^dPPJr1oAk<}+sT-&k!PXLZ zx&^==CqPP92)yeo*H!>0ChL>=VpY_-Kb|MWsYSiUbp=>Vyi2C5qC-bT2hT^jrJuKa zIVRcx)WRG<4K7yB6!PP%(yk+)@W74)6tx0CpdI@FL<1dFQuenmF?bx3hO?GAUXq}S z^P@Bp?XSfpCD=bV_Z*66w^lId9wgZfmgQ@PBUm$U8!3pFz=U~B4YOjL!(Q+7;^=yRSf3Z*^*GlC z^70P19wwviEWY#x(%0wbF@z~6`Q;Ik07i%&Koc@}IWCN4eB}%H+i9L-U;+41G#*t!7AeQ;Ms!0W0FrG!Cn@sB4Zv;Rlhs?9B*XBv_uKMG<=qs zKGm{$R8qxkzh7UN^2V=EV8s%Tq^1yRQLASIM_^Y=li7I*lYq!%%6sj`WzH;>i_KR-PU6Z3FUt2;Io&2O*z&9lwIM& zy{}ZyLpVm-yBU(P#7qWZh#g(@8b6baog*R}?#e3k+gwuo40`+xKUZOI9fk& z_Jm-8gbh0VaAK*2it<6S;H@bm@Pe31p`~fw)nh_$VO0PCbVTTSn=9m z?1~gVD=Gm)K(=^97q;D&iLTH%DDqpY#xNP1fonM;xVJ5wII;rZs>!X8jIgp1el&XD z+wjgfh%i~sP~Pr- zChJNv!cZ5W$X1OrsCV6-wtP4qIb^r6&h78y`6-C2Jgy=#tPj0*zh=Aq{DL@!lp#_ZZYSH#d?G_vsG==I?_!gozr?6`@Sm~^QYF2 z-+r?rwI7+Jr18$p=44N7;N`v$ZAM71am$f~MRl?()qTxdjhB~izJ)?$^XB<7Q*W-SUpJc3{`J!ZC;mbE zt|*r7WDW#O*;N|bjVG!$74=U-2Ff{UDhjKv7z?$ag2K9T=0;*`Y~eOcEyUQJ5t+~5 z{RWst*i?*;D7rHpd7?Ex4TTc!82=|zO(A3ucf}wht8PFxIw~0$`NoSbSLU~bp`@mi zJd23jjfDX~%pcXQ1fQ+qP|X+zbF5Zkx)I^>ZGcnId&~C*4hehxUo@VX!kC`{*ll?U z`O0H!b{YDotCEvDeFvpqibw`55b2VOt3P~Qs3FA6X!Xe@uIZ)ycMhsch}Sz#oP zBf@0(-y|hETAs9mzkf5S5u9&NN)+5qX2~-6t3_B%fZ6!ROiVEoJaq1Cm?qklbuABaunyFo++_a}S6bEKwa40^Yu z^g%abr!RGmK97gj=^Xds=}ygNy@tfE?(26<&B^2M5MyS-$@?(JxQx1z}uS;|E;akw1mp!Y$%r zeCrW$S(x)%#}U-@=_mD8rQ#dJ}*71 zSWklkSjD}v@)Nba@3_gdau>2O`;UPL?pW(2d^JK6}G+q$&>|cNkuu?W8lYS(@#9j=#f<7RzAZ z0RFgGk?b=|1VlgQ%|qR31z&QRk|H6gzepC9vA z=D0awY2kD^9pw8GX%daLy6acIUIl`A@AttRG^-uWOn6q@ih^CxenswrpKd;KID5*g zV6^Ld5xPOn{>vXRJw&P3Jn~yH^{kDRu^NBHr6gQXy!?c*N}q9A79Ef!zm@XuD|p+G z4XVpsGv4Dk8vN!9y<}HP-+3x0D)@b5_dYC#UpwqNBSq&}B?ezpjYXt9rP2E*HI3(rbQ_q5O6RZT zWbXEc#9#JwK~zGK#%Lw*Y!{XU>faJXE9y~o1&pSqzW@B;m4kiy_@(cdtg#HHI5AdH ziI}=TD%A5Qg<*5&kYAtN4_cgY9eFktP>jb9hDM|y_>1}T>8)K96X`%-TF zRI;ggze251ysrWiN+MEI<)L+dxAy!@WSrrwq6}TCVH7Rz37B3%ZI*1%Y=j`85*s!2ub5 zm<8CggoXKxud(E=GMMZqEvanzg}f3QX=&~;Pe5!jz+6E1C{azK&H7D7<4FKB$&tEy z>$~DIGh#i25bZu)RJb7e^WBDh?ppmbAJUon^DaifAWjuIp)C0{6AMMB_m@f3auU zq+zlr#juk1Mdwge4>DU@d2H63ncjh9FvT5kT7mj64QjtVoGQ%A%VRt1Px z6s_0Zp9WC1NVi%kRTvUa(HB*4^@G4xxqmXSeb%JEw85^ylC)a5dyauqxN8cO8ll_>RJg&grlp3So}bNiw%S~e zI!;~eG{1f&&8}ys)BqYL0X>q$$-HqgL_V<~p@c0TP!VvD#RPU7M7xmm^JuJr`;WaWGb$jR|K z#GCL|+{-(->iKA{XbwDp-;PT}1JI5QXANXj0{<&62C?~jIpNxTE*L3M8AR)5MJNzyR zT&|i!%@fw15FAQh(&2F)t749<0qWCZ3E6<7y3Qf5R7#V84ysmf^>wbbTfX>dHS?Lf z8)TIU%on?B?&FU|wSS+~FBY!@6<7f2AQH#GEVG!x4r3$KZCOnQUj+_aY~V#Jn&41y z#1)BKh6j8f*b4p_6vH08h6VLp1zfO3Y1t*-JgjqwLH+N9C)`8F3e-1jERx0TbJoDq z1(w7JbP~iU%G~Xo?k#dIKcnDpE<_UE@o^#!V%5sY>(tkih`>WT)i@bu^+!1byuY~r z1R6NHPpK&>XYWoHtOtMy6L42*2b#>RfinNyH2)Q*O#oO@eXYwk#R3+Y{G86Wi`amL zZDyo0SqU1>7$k@m($NDM=?gBo^;y!qMyvTEneMahn{kHvzktSPmSU-B==u6!4-XGd zzxWr7mMJI0s&X$&T2e!sZN}|SNNrFn_`_Q>rT^@wQx{qM(0mPH>pr}U+X(;-`>$3{ zEj5BT(Am(?&}der-&U{u3X#Wo%)NA+SW+5n(wy90ZQixdaE=byj1sgLsDa-^v@9cU z$j*}U*S~v5tWoxaJbQ!EiUV9D zpbZA7Nl(mF)b?fwc-3dkbbm2CB;$rg#1(ezelFQaS!atO7L*0rBMJa_rg=cnk#|2` z%m>z{7c=y_=lba!F2bVYH4RP!bkJsmc4ZYKpE@;Bth30FB0Q6 z@a3_LAY%x8NK7oi%A+8WMrqubd9}dIOYLeoy4i7y`3R`@%4~L6?pJG=HZIaxIvO_F zB)dId2iE#FEY&;jNxr<@&XfaPdUwluj&ne-hb^A?@~^+RF+DGU7{N5rMidOS0yJA4 za1&<)OK5rkEnrf0b#*R0u|RXp*q%|Rr%Db20tc820N->jlF8rPT|Y54#G**yzeM1+ z6FFN&0iG9nkRnG;9>j%6WMIK=*W+)BE<>e@UrmY23|P$;z+dF1uK3)7`8X%2=QAdW$0q#D?qcnq_YCUctc;?$JyxO>iIS zk(V|ya>mT`zjhzJgpY6vshC*++kEgb8N|lLg=GZpgd>0-hN>y&247V$IXG2Hq_9tb zZPz=B>jCYJ5Y%z}ubbs}Qs-3U9NjeLcg;@{q0OnpkLPM9YYnAtQ*{!wjEwRi3fo!< zY4;16i>t4K?cX;Y_5VACe}F?kSOYx{%UkUCFTNzfKKM6z^>*2O&buK?@7GT@Iu4C7 ztxG{!UM>l99D?yr3WZhw4`FW|)^+%83(_D+NJ|UST@n(~2uOFQbcb}8Al;30w{&-R zcXx-Bz`Xp5UC$h>^EL0CzzImdI~H z@eYWP=+8e+BU4iFlcXq$Kuc+C$WCmEaLG;F{9|9S0RAp!C9V!;jb^P!ms7%iTg7|w zIs=WP(;LUx{=IZmhI@0JCCRjst)*%pW_v2Z@w*jvS zP3L7b-i7eV8yiyOC*H3?pUnmOuQGi1ISyM!Ki+V2ajBJP0yFj;u#gY9IL%eM$svWN zM@FJa64v?yD*czX>j61{nMAGnIDsgX2d?REcPt|U3EXepKyO_S(y>)oMF?d;`U=Mw z(?q(q+5N2(z(*$%nGN=V;>3=?3YRN#Ty)t;+rW;H0q># z$;x!v(xYQyc4`4y{{8E3eHpNul>F}1$o*NDPiTT78*5{MMfulav4+~?W=2J=);5AW zTt?BnD$ z%hJ2&^cMU3B9T{l+jHa03v=60X6lLo<@=>W3{yg{75cR|gdVBMQfK}_xSJ<8FPp2a zpnGA_vA__c*gt(1<57b5w~2(cABzvfIYkgdX={}$gEw&)9eKfDbr;A$pn>E%@@2%g ze1bGHXC1c$V1iSx)^xoPMkqwY<6Kemee7W@ZqU6*dhDl74S|1*HoUf*tt<)`TiiJA zA0MXxI#@Ehg+mpJFyZi5m$q_8EvN3RfIOHsGHo@5mjxR zD7;2~Y$C`rfgO8;X%9&=*QD13OZbSjL}|n5x42J5-z)!x#ZS&s zvIrgD8Irj{K`@ERXxzw`iScUlG+}!UScC@J3U4yp?kJ1#*WB7JJ6IOQTIib()e906*$E`z zmXCTIqATO1#WG~S8j8@Md^dBFqk&8Rqsz70zF1xGbDuf^7`t`D3(cJq6hC% zHJem$=_~FooD~OxWUjWa=iSYT@zE$lSP&4ZEjpuY+}z|7x-EiNSfr>Uc_tUp+zdTo zf)i7CV3OE5MRz1zHj!9i2X*4$=}*wKU*feIz;oqosOg#KaB<6j8A~?_M$d7JoLGyc z((+zi6!_&JY#yU!N*9O(4TdrXujB0UN0i?JU*c2zv$k=M-%3QBU+qmGkW&^Jj?yU1 zrYa5FwuDo}_cSX3>|yzHQh6H+t_=9bxb~VeY#)k5V`_0oZ@@M?O${->V* z;211o#t~m_^AJGzmZ=$9lq8yf_`@UzO*W<{EC0I!)Paef1bV>h9Gs8`2dR>OOL%WB zLSP+G#{}`k1xM*8n;HV`SV^6Pdim5uNfp~T3kVr|{Ok2#ihPnbzgOYVLw!+}qQE$~ z!KE%q4WT*R#weSbDt6;%YA-^)L_WpcA+RN@?AGAQokFQWprUpP2#S%6p}2k+PI@o6 zHbgtbHiqNpKHH>1bhOgc9q~p&S`k*7rS&vb+$-2^1AVd{LQV0&(eTbHy`uuP6A=?l zwQP|2zodAM!=dk*cJcMcX)<&6SzXyYn(W9O&!(xj^sr4+xNyAgPwIvfqQtiY=rFQE zpl7u9>9t5(D1_t0YDeC26NasD%z0lZL4pj2GeppG2C}RB8bKW<7PAO;e;`4-3ISU? zL94lYrCz|VHzL2HE9l^-)5-o&BwCSju0+{m>)*3BHk)P6hmC!?!}&&bOZ6&$GsRMx zx+j+d^c&ZEqmb~QzyEY}Oy`@cG(7J!wv88`H4E)|zNDEc7K~z<0t#&CBylo2AB* zcJC1mZZb@x?(~4ue$`V0uA{n#25aF2G?Mr=Ki-a%orLpc<%^v&#U0_!z+fh|2-xFe|<>YfS9sG{v*$i|AXZx`!Y&PC- z#Y+euOJ|W=6e$cDA}BN!{Gj1dD^guxCu_2Csw>2%{uYzN1}R7gv5 zd<2g*8|_3!t0gP6UY=b%^K@=cSw^6*cK)7B8s$%x8i*}cSmLKe{K^T010{kBFV6`N zuyFD}J{0k(H+>pm@*u5Szk2lj z`aSCDc|9XWtX2yvlTKHvIJdQFveFq4f1??sAf)-cN1V*-=^p=dgNQ&9plRYT(;cuy z*%vOJ=leaBka0+eHcra#*d>!e@#6UuvR%KiR2SnFLs1X$Nwgl#?OBFji|r8+nfxX1 zTdDPD*VwmyaB+v#zE|>G4YFRg=q+EPfa3H$oFRo{78Z3`O?F9dWME)m`XRt9klY_7 zGdNbA4VFRsMM1kolp!S-#c9NQb6=jW2~r3M4L^ECQ`bX=QLG6D1$f zVoc0dxWHXo)g~B+VM!`_&IxEjHjyql`{sB3XP1HSj&4uYiTFHKanoFCmNvLCftO9T zNCq<(Xo$m&$u|}0j}7yBrL~VNeHfU!y7CZTD%%_KQ>|hmR(%$e720aBI*SB|h+`P| zF(yXYRFal))uzCLSm9B#^#;*X0NhuIu+%puS4EpFWyGetVD5eNLi&RNa?}Xay)^ER zr;t-ju=PTy^rYejQH>^%rH$wA%kNA+=f$IM8e!xHDMXgpUgce&(0f#O#O*C6mCDz7w z0tg0Up_vol(WfvQF%u+IFeVT7*?$~%r@TSer*DY@crB(*I%85Lk$UT_VxU=_da-GEKFro&SDPQbZq?_8U6-)V`BE z-by{azk((@d0vjfahM_ZRX(i;jz^fjb?DA#pij1#bT49gaiNv@AmShm8X`;Y`$tMR zb$Fk@-YL9o?t2;8d|e&^U9S>AGBh8~C3GGxowem>uIq+8JX$CJyBxayzcFiBU$Imu zN7J(B4f;$n=4U0RC4UB29G7dKEME8BzAs$;AGXbTtr~EBXdebuWwGMinE8iMLUa9I zBtHT|plCl;kF;nrixQ`=WVH6~vsKNN#HeYy6(VHMCiP>pqx1N|KgV7S<9D>$)1+8w zQd^gyeu*-JX!83b@DSZf4LPMdaD}fak*>AH>Yq@csE&T!8Vrm_vQ7Ze%4%(`-fBzc zXf`D}dtttsO3J7`j7huI7o%OCfL%OYQ<663Tw%1Dcj}fjPdQaAiDP=AZ>u!<4-h)} z7QFKG;wsi^#Rp%!R)QHXw^Z!yGn26h`@1wZ%XNMemnq}rChlvhbBmCAAVGi`@{6lY z3HnMu)_JOX|GfQ_^Z$i`JB^QzPL_zHQ66p{;Nsk_=LaBDrLC=j(yL-7P2Pb zl^8plLzHN^qe82pmCCm*l9aKJiW)x0h{Yi~91Jrb&K~Pg=cN)>srPqAJWEgY-8^8f zwN6rk5=SdgpAsDR2hwV#F%HERHh6MCY$^c$-oRT6Xq$T`lY$WrEov2+d&$K5=XmPb zG%5qH4-{-551arqxW^uGrGxMsZmFm?-p_+Y= z`+j{937cmBtv9Zj)22Od{a?ge)RoTJ^4F7xTgI7}IArlZv|PKYhmHADPwXoNPV6|v zD~U?{zvri$4pL1N9R4Qqv4Tq zk=!3MpWCPZV>_Byhw$#?vlmbcVx|22d6NA~f4J2pu+aqTkqq=cRcL{RQs2(Ex;vQK zUMts$BH(a;bh_kdT9!zeYI_p(=?a{X0bHWc?V9x;6pfnNfB;*!xPvpHyZfu{@~>jH zGXIZ#WJ3+|3#9i>5dn$6lDFu$Gq4)E<%(?eVuI##_ctfBZpet0Un6+#GMAksf|0}P zxQX9?{V(|}1jrvQe(x8wj4oe^OL>Zb1HS{xs5FH=8&#z|uYIG-=q>i`gZW}XlvHUu zgODZTm;V5Cm#f$jBGrr->E=e3wc@J)~31RS6nZCO>Iz zPvnf0FJZOk0=3glskbmv_*t;FNjA`dKm4CE1cWSuZYVM;Gn0I*Yu0tvuSAX0H=Qn0 zc%dw^3K^fdJ;)_K%Z&!Je8D8TGL50q3GU2xy~YY~lY2Yoe(HI(rygoI{I5ZBcdOdl zRSnae(6%;YGKPgtjAw;hBAaJ)FLl?;z&tjCDnqt6bJI4fnO?#fL#^ztDg(J4yDvcq4W z#|lq%KXdS95)}^-ebXT)$0lQz6c)J~=@i!PSWW)hBMhYY(_KrsES~tT1`ql{%k)nS=ik@O{c_T8#xd_`K0UzJh4u)s%RU z5RZmYR6JkEHA+&4k5uoj*~h#{2Ag*8^MzeRuND-qu0z!BQZWNqk5-2P=ApsM{y2r0 z%)7g#u_YsCma?aY5H?uLn}0PiDHl5tt4C;%pdY9C%x~^^Rox~CX{$6lp*CFk_3PK* zIw%NlJ7MWgQR~%s-qXdn3@qit>XdR{Dry%3nT(UfJf6d#&`T(zdW_Pjsr!Os7Nq{{ zEEu`KT)O-h#{5RbcJ6y9$P*)6X(Ad5kR9!H3cbBB0r@M{oXzp{TR9^1ownqgN0B6x zbT94LjNvPGDzd)?^hWiE%cTf8)VnU}L{#k!73NIBu_wy4I}Ut2x>cbrtqoK>B>V5= zo*5%v#?)8-9isx6LnMVqabkcG2@KrJ5mnFIytlMrwfO{1JM&n5@ucBt@_w`YpF-oV zVmH2PBwKp@<3foyF2?S23IiATXSsTYLc3(gO&lI1j|^)q7udwINEc%F_);=6GWLuJ z8^}i0<&a{rO)MxI*a(W1VDW1+m5vi8@t)ygJ(&I>Lx>>JsTkpV4W;_!BGH0T{yO76 z$dwXIJn}IKXL5lbyf@)nV27wy^6)&URtR$P+s%|##hdJdI@_M{kRdN`J-&VuA%lRh zg}oF^5Csf3`R{DvanhYo?>=HN@H+&^3MHh3Bh+i+q*0>ZfFHKuMOeqak5I``$ccWs ziN@PktNhL}ZZRcy@Rl3dRw@0RuLPkd2|X9qfDjUZcB8?_grbLc{q60^Hgob`5Mny_o^ z;}y%?1z)74QYz_WVDCP?lK(z>}*SC9lP8^uzXa3xW3;N-u`=lNK73Cwk^ab z$8OSntI2%JWVXom%NQDh3K>Wb75I*d{D^h1cd~g7tIU~HW5+_*31)oK7tnj5d9OHq zPQWLQLc=w@mdCt|L_!P*8e{wTTM0ZdCK~(d&lU3^k@xXqV}*Xi`9E2BBN_>eZwjf7 zLN}ijFp2mRppU(9b{ZxvcoN-)aJ4A$;g4AS;Bk&qj1z;E!PnCDJ4dt3kfl~n3_;4# zr!wDX>p13qz(NLuS-U9L$H7OV3t~TwiV{=WfW@LK>4Pd`KvhEMhSn#{c)g7;X7T58 zF+rlP3fBKI!qJ`idQ%WUb0MCZY9y*YgZJJC8(aen(e@TCsZdGT58S^0{R402K3n1Q zH@jctug8F7v$ME(c=(tbz8?1V5O5Ncf5v!P;>Pb`c_F?|1sC4ylz5#adU9;0xbigeoPb9D zuOqs>d?)-Iu&YQS2BMRm z*#7%Wx1vany#heW0Z#nNGLo@Y$B?tSxo6?`{BN&BA*aHQjZu_@_4Df;fwKf$({&uX zO_01Eb+8#sQDN;M>=V+cD~K0(**%;@?6tAJZYU_}o%MZhl(Frz-A8w5bts77V!NMc z%6!SiKbc{N-T^>k-{MSUHHJ|uj{W(?G))c z=*O%|2na4y7;I@|n%DM(k|f>oX@EwUD^VA14kuk1r-+WLS$z@XQ zo(8-Df!E_norav8914){O18ROeP2FVsw;nfJZn?Q%Fce_w%;9gl#7@`6-nZUwuKFW zAiR&_O4iEHKARxZ>5GbL&<^$tKvncw); z>*;2$oKiY9_~p#&<pAJTAL) z)g!M?%O*%J^{I?j#t^$w<>HX#5+zcaTt zH#cwIzO~rj-JR_ZukjgzM&%iok3BxZ@Neh7-2&u=r|3B#<|u)s$rbBmFcmpEAGEE} zT0zHg>@FN&jC1toKXHA#zRF)(d7R)sE6;-0P#&WxQ?DI!)_QUx1H)klx*YJdynEo! z6yQ$bfJumje5v{$8l&?U2WxXtE!)fOfi}RLyxg7Ctv%EFt0banG!^1%*|{(f|F;(4 zCz^^=$O}w%Q1m;ge&N?8DO1Ti~M zogD!6jf@XU%ZqsU9*O_I-7=_VaSm89HwUF{ZApn^4lxvU|3EE_lMNw4?BI&&=&b!7 za1b41_f~l?kxp$c->5Qu zC_jTCGm31Dq3X%S<$#Jso;qran6n~??|vH^^ti?av>>S1=WV$hG&~&tt>H6Pn7OBg zXNh#Iqliqv$@FR(F@~@)KHSv>J$Bdp7RwhDU;KDitp#q9UH@XUM+}9C=k6i^3FjA@ z$_^UFM79|ooQT*9h?D8-n*K&@4&LNHRdHm_)YXx_zYSl4Yze*5+#O9*ErQCd=zIBh z)l;L_#gfd&+fAB>Lbxc#YTPO<6x1pp6xght`GobSqAH*kwzi8Eyci$Qiux=;+qJN= zsp&Ib4%*$r!)hJ)?5zomI;R!DN#uNt@6nt|B=UA7IudX$3Om{whdlxSE^u^Dlmwkhd#8bV_g6yk58_@=pBx{BD6AhS>uk z$ncc#HLZ80T9Mv5SD#<&}K6lgu3KF;$F>n zD*CfpqJ|-;#=_yo~G-R$aTF*o@Br4!3i~;EisC}Ihys5DpnrJpPw(j?kD48v)$A*TjOi5T1nPm zs;iwk{m~QRV%K&YpUP?+SCXQ!MW@WK*aUzfRD^xvN0^9dBk@;}_*f0~-A76@Nbz+=x%8H*US z{cOF(O%sYU77YbTBfha&E|N-!*Hf=ZConw8gp^S$V9Qs3FAZov5CJba{NJ#3TUs6f z{j~W&n@p{5t*w>^rFC%fN3&@KPA9JVOHvIwp66H1gNHMr`|BMo*Arqo6VruAK&!%$ z+df}^fpIuxTv3AY&Q`QJj$iC*&x=9iSKSZ$gJ?;qX3GT??Z--|fBy*FMpNIgdH%Do z<3Jiau0VL)&rZ7D3^ky)1Y(Fc>NO_39_Jm#)AhFYKt6@`$NUxsEU|s^VoPu?e+aKu ze*CU+zt{Y*-5S#=Sw0u~uw}a5KEYLMDF+tlrrUI`tE+ea1}zeRe+Msc*mzF^d^v*_IohP;;=C=uIxSe{1`->5N1)Uxy zAq;YWDmhh5G_-M?3ng+HAX7RjQLWU^O2oS?3QeSa?A9QQAe$h_EEvaO;#ZcRBy_!= zXzJo6Ah3(z*4xQ!FCYsQp(K)hQs>J+QEgC$qu) zKz$X&m5(MeZ;|Y<#G-V^X+3xP*R$;Djc4bRP>Gn$mPmp~g+DZowoNMI8IfMIo=@`p z(_Yl1d}US>CZ+mB^h#rF#uMi5{PQy}uzImJw1{Ev?5vf`m-bPcy=XA)Az{1%l|7by zk6ZSB?NGx&LHJ_b?hT1+)Drt1Y*QFldt=rak&)*@;fzHl6px)=c@rWCv@>>C8T+El zCRnoSHrDl8O`m{+OUH%`{|f2cm@T1YgixTpxak{&{coRtc%~U?Ip38*o#iw2?eZuO z#ka`3JiDEgja@bF4Dn|Iip@}M%u1Agsm|-G49~?i@1L}C>(4;6$mBlZ4SaHP1E@@b z<@10Tg}o6tS@G9#gPk|f9??ZEuZNk%J?{f@DU?L0TsFldJaO~4AXH-nh*L{WmrENw zUe}P^@M3e3hV&H+^@$3b4MhnVnV9(Zr&u_cY@|c2F2s`Y&E^ZYjBNzD?^(5n<)bR-j%iafxsX}%gQcGw+e4pr4?cBTk>&w7%+ z7*21T3aq?m+IBALESDlh+||rAWSxMbQkuTT*K+;fK#jNV#0F^*-!zFqfY24uSH5?s z_@@;A`Sat}{_Wb>R}~y2M9WMkSy?7nxKB~wjT?89*y6!pqkl{JUO%EkhI$fBZ z(-awm47ILZ2m&@jeoq2qISB$FENyOXo)<|muQTk{TzL1YRE(v9UQB|y#)N7Ao5W!q zMhAfjYq?ZQUaKwgf7%4Z(|+#cQbVMjSs?OB_XU{&icZbb6EzDzjVkZ%sUOf_+Je|x}3iaw&iXdSko0^)k*reryHHY?m??c&fsAxRbTQ`vD z?GSj2T#2Aq`PRZ0bGYJRHWrv{g1V6tl5*ltMw$5_SMw&&`=K0! zLdde(i-Atpvcefy0GuSMVmUZDpT>U+*$sj|>r=pbC8Q?+(bkBP>R`L{VCl_kUh3`M z5&zy25mI`iop;@t7bkpbQ+_sZW`mQhR=N@^g5H_nddzpKt1Ejx0@>DxaliT+^B*G~ z$X37Tt!oErDyn){hy;lsXgI3+SFi`sf2M1+;N?sYz@Su8(#o_*GnnWn4e@)F6k-Dp zi8?}Wk4UEi9x((ioMTh}TZN4jdMJaEZl#UhM5k|n-@aP+c}+bGZU%f4yUSo_M8w#T z`rV!T^YLK~)(2qD!tZQehWDB~dh7c^Z#7ix^x+j1hi%mZ6{2yabLII4H8>l>g`ISP z;LoGt$8DDzd%9HBVOzfP<-Z2zU%(w;Q`-Jl_US$8N3U`?AE=H))(_FOHVQ1`}A)$cQuIr_0xvT>mb-i+9!5<_`I#NOz@XK*U$pnz^S{7YSV?P7jfGjQeZ7sXvlUNdsOlpk$$(` zhnMZUl#Ut>6cWU%_`n2}3a^d?&I0a>dWq;SXZhePQ#SkEzU`eE;j$k#HnC6#Db}8O z_#B%iBgv6Gw>>v%sxANQ7}@9`GR3`j279A;VKKgroCZRsK%!Z!GzK2d-Dc%yc=`bO zlLjIRN>*a(7;LNnSBIDL+vGaFOCm?<2yZm@+Up zy1hpr5I|Y76q#5ny_ReB_psbJ+Pav!AFPY@wp@Qqr@qdbt}aI~XbbPDLwp&4uFDLI z$%}OIA8-ahhA;?YGHWfLOeeAqYIHkr6eD?r>8NCR4dW(z+-O$+yJPz zuoFnA5$!Y~GZ87n%R_=Wg+SC_Tf%SGE&eU}ZV*__+#Ile)Oj>O!o9_7#<5!c`rCh7 zu@M*m{D_{~mzEe6{Z0wbt7L1RCs8)KeY*J(fTw`IOKcn@s8Ex+rp1GarH+cViWbby zR4mgB(>ExW2%U+iH!tvd*{Dib@BS$?VAA|0!>cuMw(Ln9u69qv`HtarIj?bdG4UBQ zP?|5lRyn4pF1hofrnAB#7?@dzDr#zq6eE|TX_9|Rj@xfF!zwiELA=X)MP5P_HK-NE zCe)^}=v3M%#HA(k{ks(<#3gdOW7!&$5(N(^MAR*vQ@##gefq;xht3L%;1yWxT6{b?vW zB_Ep!DCWqiXjI9`m5e>Ai{6i*RjaG4Z(Qq2b3ZK?K%Fg;`cvG9B@qb)kSg!@A~KHs zsnKFQ3264PAzEx&O;O@=RumF-*hoQlO9S#e7p~fUP>0$jYzth@&n!2lS7=H$4*j>r zqG8G6U4gKZ@$~!?z}t7>t7t^Jev)yhvg-UN)2PYaKa-sWHH7L zx3$XgR#aNDc5q*Tx=2RHxTG{Ko?G1ps9P8fF;z~j7F#jtEewAf35nlF95GZB&nQWl zxx!;Xuu4m!j))&i5_`im#-CRI`W%rtG6%#vclYB~$dCZv~doKRF*AHvg0m8F1 z^g_t7(A&xR^MF9r8pM7iPqe-_6WvgUmu+>qO8)uHnwSi9D6PA9B(;-@m{(T%+J9y% z#EVQ&Mt4svjBK%wroAoUTcl^{5hW$pT7?SLs%Jr^br74obLOv($)lU;0yzZ`d%GO4 zY#X`xER9wNHqkA>GV3&5O}q>q-Sx#ehZe`_eW<+>j-~szP>VYETN&AWzzOaZ8nobC z`C$FKXqz4VtQ5E6{W5GQdHCbc)^rkj8I>(oI{5(GrAmmR^=;iZMc)&YjZ};qj!zGT z*}JD_iRM$2JVsNMj2`gpD?T?7Hx&Fk%SdrJEkBaC(Q0-Ys!DHz*C-R4tTphGkc{u> zQ-JG*{?A~#m^`x@yoT$}6d7bpEz}7xNGS#}Ix-|v3B)3NXqS#jm!@*%W~*RMI~gxS#=~5O)u49cne}dD z_xjQZcboPs8A2PV6+~C%to7og&5{N-u+5@>nX*WZpGJ^3i{1tou3jcnMDrV=^jad1 zmbs{dK$Drbql+lFVe;ZUDe$9Z?r;2GCYq77%No@l*^N~d#WrIHq45yT;WO&ZM>y|8 zXPRz=CJ_+<&g7%E@ zizxmm8;z)@*0be19wF_=s5VRmVZzB^^`A%aQ)jfjba^N#nB1|u6s7W}CL*%vHX(4> zYWz<`LTdyqBv&T3R&1j&Jssy=Z^I_U!N`yMrkUE`7ab@d_Ri$pQnp)UrH_6V7%(-8 z=!H$url!r0VWInx^R3^?vtNyUKQ@J;dPnp{`)*6z?16HZ9HQ^z>UZ-tZ8SHYCaseW9suVZRD z?wtIw@h{zYej%yp$9IM%))%+YhCNZ(dfv=s?n@cWKY4)9TML;^vLH^_{-rt)R0V-hSs>l>*umBxp#iX{JW3iet(|4>E4RZ z{d;t7j~AcKUK8@!7gmE|ttVb4(OG;TCbpPEV++VE57^sS-Vud zDe+v_Xpp~RB<>wpliUAB7(SA*l&mAZp~)&SNR7H!@lbQtg|=<=>FXI)wzzmS}qUiz$#T4Lei_R}kYFcVruMFo_R z1P*%ENFWn(V}=uOb>f(tnIo z+fw7!-Rra)z3${#z{~H6A>8Nqhk@}&DCQ;^4;P+x`VjS6lMa~f_oRuScaHcUEBc*6Q&*259`^AY;o&juU(pMZQVp2fq6U4WYRtsgH%yW+ zgQM)1qBKw$Z;|Hz`B?6Xc(ewB!nsaRHP`Tnvf>NOU;P2=P`DCmaknq138s0k7$$>i zg?AICoF==;xcA%z;LeIwiy5?=O=MqW&{bT6-(jeP%oG33&RU;<@}_W{Z6fMhJTv#f zl0_I@sry6*O-lVGf#ed-i&6@rK8d`G&&li1cMR1jWpQ>v#=@4g-IDB&Y{$hpmKQR0 zMQrJ;^1&S>Oiq5sSfzlKwM|z}zj#Xv9Hx+o&#MWr-plh7k1pX9b$wG4t(JQRu+l(P z?wjz!HJ+)rHE_Nb|J1Lpm(*E57|2qkpzq9z@~lXa}~4mmQhz_S3UJz|CECtvev?Qwq|?kw^uLR4N*D4?2~;o*u`Mc-FKA*&qtM~xlyNx+nuyt? zx8>w~uh(*s)$|G?Lwkju$95((mNTs zh?M_33gRt1^}lxP&wp0tAD6;>X-1%)Gfj;Vvc{p1ycC3Z-Fr;l{gp?c`^!h|`g6(3 z?00h%CB<&XA&oEWI;vCo!^F5gUtbtLJgA^y#1R2N#Lm*;bYYhm3JU0S1$?I4#a@0d zp+e6wlS7A4!mN0=xZMU)E99NuVq;_TU?V}VFf-6{aV7Pc>6OvdIKKy-7OsEQeO>VJ zo>gWO@?gjsjQcaK_)~E=OLpnWd!?{8$G9EO?(v=QM2yuN=n;86;-m5FNNdEaYmBzv zB)2>wGjt79SgX~WIi#wIR**}`Mh=|nC78N@9Yx@rK7jJH?NGED!;NTslO3>Dz1OKB z1PwK#tkYZiWy@4brCvxsgfugj5X3IZI^m8?}MZOAc{APtomHO6B!P+j6k zreHqJis~ADMMZ5WsA850+?d3?gS3+t^W(_1`6U;er%KbZc{Ro#M5}U{LGgBr>+&%7 zP`ysvGPoc&mmD=3U|azYH}=Fcp4aF-^)`=bVrCxuabZpblI^&@+b7rtN<9Boos z$zbpel^)466lu<+*Ex@=$E3p{VRanB{G@F$-l_^?vRmv&FIhEKbt-+~SOP6=B|G0ZS)P=yBSW}ekz9?i*bQJjP7X&daEu5xv<1slQ@pu}${ zJ7N^HIyl+`xZgU^GY;x%2xhlS*rk0uwfK%gxeZnP$sEAIRTa(Z5i1@&Cy6;3WBzf) zu40iZeV>xWb>EDLNNf(SBb>jX`XnHq>PW_@W3(1pq|EH&y#cu+uc=4cB1M*nNG+xM zQ_*jld0&ClSBK>-6<-IMK@VKxUuRr$Ck0;(UKe?he>=&0}4(5-7`z0hyJ<#H6H) z;fd$x=RwQlvfuLL3&C1at_5hu4O+B_pLlLT?UNaOKBqBVC}d*l))GFD58jb7Hl6cwW0K~vv|tX6~0fO zus#1>h&`{rfO2^fZtmprY%GKrn5@uJ;P0+Um1)vp${-twu;NBFC@Wjv&~U-S$@x*^ zgEtc~O5-ZI~sp2qU z%Z=K%Oa9GW27*JAF#kd{ETwkO@2NzD3j4iL9yt=YsO(&FGNDiBP^@(28g=32*|NC2 zt~I^zFC!@&aYwj)({Va(rDZ<}4N067=u;wd`Uh&4+Jo0pe2o-Kwt-}Iy0 zE~RWPQiDs%vjCxDteDS2<;H0nikt?~>2!HuiJ(WtbF93Ei)bCY3kFM?D!)GscaU33 zWpGn??9vSzk>(hoDBrsy)sRvXU}v{ziB47 z&s?c&G-Ys~{n)OzE*j0(j2dhhbq1>O#;TM0k;;WXYT@3W3`o>upi@qRM&wn#R*nWHW z)_6%JT~#ovsOAet<{)y{$31#7K0a-cW?X!H^O7UL_M;IH3~T*3ypZ1q+X{w;hDI7+ zw)x8PA$1*}o;NoIOSd~$r}@+ko*gYEK|`X7$A0p3H<*2hGrbRAuF>m^q;%Phi*>eC zf*li`8b-0|5@cX3&-=B!$a1PMF}W1lAxgg0`L9>mwFoo+q|NphF5uQ9YEC*v&Z|4S zbR0@#r7>FdI)GH7xD&GDP>EDe+*4mWMQ+lYy;PIUw<1(yv{xl=rBZEk=DmY^u+s}z zKRV7_sIc1LM&KnVqT}#-a%Yf6t9dZ|zD?v>?bM;3SZjiZqa18+Z*0}DSYZfV@{8i?>V)G`_lscWeYem4sluy1l}6Hd~7S!~S;@ z0|^NP0RchmBa<`@D{BlA((vDsA!CP9jTVC5(BC`8U{>C@24;a?C;^CAu_v;aH*wep zrspk5T&PxJ)ouz?hE@YC^LMnV+0(=R8U^EX%U^_|aPvG8a@4-i_4uG`e%^73QT-Eu zRKk{!cdjQS!{nNx@GHO89Fjst`%91G=S!aTTz&?D&!{KW4Vrvz?;CH<@~TQD*BERz zu3_UW!==OT8^_nOy@F1m8}|xu>TvQ_eIu8cqZO)GeB+InkfB3pW{b53{juQkrO*+I zrDhq|hOK0gWnk*Rk?0w5>cZ^;gN4f*AolqJJUU_@$6@o)Bsq0(8;{1Z@@yVK$cG0v zOtz1$7`gQN*o42vTrW0Ze{>w!AvbE93k>d5gg86fOaxg;rv{Z)fT!O_G$5oLCK?EU z>(z02__>07(lj#KfYhX8Y0!B{{Wo;RAItOJsrty`eM@&KYoqX2)py()WhJQH=X01U zIL>3;{h{Ll=eD`KMVm#X$1NkHe&^o@>l$Vgl2en-H~DKe6O)sQR)rTHYo==iwWx@0 zS%=2#EEr2%R=U}4DcD#!hEzPpbPQiU70)LS4q>4_)OdeQl26Z<;N=rI+nXS*VfA`; zw_*lOS1>aM1#yS`F9d*S#b|QUczS@Bd9&K`rVJN@(s8wO-Z-a?*inl zlHy8fRfR-d14G(7Z+Bhl@vpMXMvBgtp4Qsub4(1diWJMUZd_NJU7_QOlm}Hj1c%}* zVGaCVdznjNrIXW#3&r<}nD0z3X>av{{e z8e&nKy78S;nEwibZmIE|GCIGm!5dSfdlv1cj~MDB(IdCzXb5~%D+m@0rKQ?DAZMa_ zYGZzxImC0Yb@a)83>Q4>Xo*`oe*zX8&9Z%#N2~F3Q}((tJD&*HIS-D$4(dMm&W4r^ z?^>qp&EsIb>$yFWP;XRxKOVlYfb8)dHR3>@QGBBkJG`^+O`f9eSj>B7$>q@rnMjgB z1}Z^r85}p(G&|+z=8L0avT)AI=@SXl415Zz@15mH7;=6K9*7uW3no;5gHK)p(q8^< zN%mJsWB#s}FyDp2-YfH_V*h4d!QE?kQ8kiw#j~Et>_;-rh<50q9H9||a>5ORpJ1hk zm^#s#eZMaNF9uIE9NtN;s}51J+#D?hZcI6xLODJ^f9;qm?#q_5&DqH)y#@6EwTUGti>c7L5A)J^B|#+ zNgQnFPerm{%QNii0q*-mLgg*(lhD^z(%CidoFA4 zQL2?3UtAPF`m;}qt72pZ7nJwXKTKTMf}4#IAs?pV>G9p48BI@unu6++&n)sEQuPaiJAHMS=QvGMRW%@MBs^5t z2%{4be(JEQ7$glUU<(FVMxCE&F^gMR7APV02Mi5VxQx-Zp056ex<2@>LbJEQKjC#* zJF|2d_j}yF(K%YNyHv@^jJKWrAbwqjOD80q@N>634vtFN;PaVRCFm7G%dXA^l((wm zH;I5lC$Zi5|w#dVHh}o?_tsZijv%N{h&hr-PE0ukLES z@yH>;P(qPX+$cHIL246Qu3>;B9xRf^gd^|?jltNe;p9|frkJ%@{l6G{%cv^5uxk|Q zmJVr6HKt$7U)Abn!(%XG(= z*sysU6kWl-5QI>^eBl|(YatwCDX&`ia)-Ev@~~8u%3(&awVMNs%?r`7H$sstPi; zFd%^c(2=b$YBq*H{k2*Jx1va81J3p|1n(z2*+!N%jCn;}Y$eTUqq#;ajZ{u69FVfZ z@*rVq)E5+E1ZkPs;07F+M*nixvVO1(z+b^8M_|+jSFs=f#r%1P({5 zY{7SpSdQ15_DEK*D4cFdWH%)#&}k$DqnxtnKH@#p>vVWfPhP&~Ccqc9x@JE7_O8(^ z$MIXE5$!4jMQE&;1US8addE14dR)>R3unTKSa-{*DO`x z4n1h%DB8Keg?FevP9c@$6)F)gbQA$s@WzJ0!E_!J^Y+#jq`iIF9pQKH(E7KzgLD)W zo)?ap^@^;Xkn^23YrI|2kjRXBG*zJ($0ZZk8Jbk0Q56h_WGp!LN7xCCGZS*+GpVto zNA8z$Ohwl5h|fjU1~+1Gx;mK8`L=F}7h^9vWVV=9e`W%2Uph{w_;^_Ud} zRoA)NTb9~|`A;KYXo%%WV-4ug*43wQjL>2%);@E-&3K2O?L8IX76xwy0>M|Lo+mGQZ&m{LrY>hN0J}3Ix#NPWuV)Z#z$A%xrK6a++02x9j62 z<@WiW_stvCEzl*Zy~q`ea<}DaVd$!*7L)5M+8H9^^eQzRT(C&&#wFi=64Vn%zo!qW z7QbIn7z<3ilyl37N43P)I-75@N18g^I#+h#mAh0m52=r3J0GxtNA-oIgR!n#q{Ty+ zO;BxC5n1?2p}s&#HF{Dv^})n>-mn^HNTP{xPu`SH+qJPT}w4fiYrD2C}as zuf8gMd3mSsgGr>rY6x0YHp7K|MS9h$RFN)awy&nDPqaI%=E{Cw>XXT&gHwHj?rKMBWm=P()tG7qKsuIgVI7BAE?#0c%*!B@02PYH#Leq2Cd% zLJ+k%O_%=sx??@27KAu>v(fTw%WM7fkBs;@=iN94>}4HXdpHM2*7WPl%uKgF1@bQj z<7&>HNCCY2fDQNzYV)qeFbHkqHzA9yHl>&AZ>4mTNSU*{d=0Zg{36Pc_6|z5epfI_*V8MeoKECF^HVCNNR09kTui}2-9oV@(xe6| z5SmMxe$~y)1A;Lc+F1_e6kKQZG!1kKYmXwz1&_Y%Th zHHN%VlRwlDLK7<`kMEN%4UM25Kb?*nz&1RYKFHWH5*5T== zdsdsS`oPCjR|F>)(n(+{TA?wig`gkxh*(9b7m$%+yH|2LKc{1Na>%3E=!zZ4fZ%t8 zTit*7<%6SPP`*?O?*)ct8h#r}ldMegw;;9eX6D`ZUubJgCLFO1=SuZpQd#Qg5a|6$ zFL$LA-$$y91}r1=<+9R@&3*TlG~8*3Tix9g>?L_exD0{vhRZjrmoHB(M7=`}Gll9* zVO7xUJsmmXUPW4efIjs^26Tpoje4o=a=xW*Y~CP}UX-WLdjA-rxY9>wEbN@QX5Z)b z1Vj|ViHNTPPEaR2u@L4=RI~x}_LF_KaO!&$kYN{tE6r(W`1rCYO3@?Zv+EUf+F>n;XUD=QZ5q&w4}PIJ6iijg>L67sEfqH_+=% zucoGYODBoFw79%e@_NlzMA4!&L4!zqaQZ1Jyn;#IrUy0}hviK6L0MW+CQ*Pj-fh_ZK2cK)RXu) zI!F404AV3#k_w#mqTQ^4w7*Ty=gsP*w0R}m>q9fRs^?N6;Uj3_17-|v1PPX~_2#eq zC*fesYw%{b=jVSW!(|i<((yB7+V(5?s|3q!ZhaanV_f~rWi!v+RsG<5Qe!(K(ADMf z^A{vheXjEWanx=B3?P|g_qqleX8lUU;MdSW+D;R8CU8N|cR<4DTzQh^8?BV?ieV@Fis*Z?R&~Os^ zBWl18Z%8jhr}4*GvT^66b$*SYSM}{7))7;iumiVr1XjwRwm%R|y<6+oc!V&i5{6rl zHfmoaZRVO~3ncSbv2Poa-W~|Hs{_cO|7LbS*`qc0Y^jc&o`aA&<&V_&3O}1XbkP3tUuG1_HWPAjawaLtqKQxR2Jqcv^Ez`^ ze2qCeq(@DFL>_jgKyML;X&Lclpm@sz1tM4+LpX{(pG!`-nQ8B;EOa3(Nnt(Ss!h8S0ZLtaU8M> zSJ86CCpv%9(YMO90}(q)s1ie<)9}AfS{^DBxA^>3zqXjVW_mYW+)gy8fex)?hK}Fs z7%PvBgyFk9OAgkcvJiP(Po7@LhTDL>05<9*)WPa1{ypj`(qG9-<{!p}u-D*n?Vwjk z7QsUCP#!3!*-o1sgRD9|Q$VhODuV{Clx*1cD=zX4m`$9$SLR^7T| zTSfzL74&;*Ci{B^=U|E$QX!A7tGBlh#pmnN#)Q1Y#+$Km5%YpJ-cE3*kP=t3Kq5&( zR;^rM{CqpgR#lMn>DG62dWT)MO%FWU9=h~K)CRh4n)X*AIWyT3UDecD%2-Cd-G}rs z@u7E3CZoB^~ErcFEbr`I^Y=Dupd)sFA4i(l2@si&pamg!)qP-OX=eLZY}vd>MZ>rHi5$G*j))34bs)~TkNfC7dCsgd6tZ{1L8*%E+A<3kUc6Bb^gB(1Nx^DSFpQu*lfRoBiPK>*HSlT+VVX>tTgz<(vHCF9=XQ44b#>zI1ctLglEH zZfR6Z@*6oVUlMbA5ACs3wm0^btjY8*?;)d)dGZ;!+X2C`L)%JO?#Q-&1 zcnqqTo!G`eoEq&Mq%hhpY8d(ek{l||EIEv=Ostk;B3ep$QaDd!Ju;x*HNAVp!wV^-w-E1F3TX2`#0l&R--CY( z?@t=;TV{QSVREi2#r>^-sSrvt4*m}c?%mK zd9xIbziSF;vv9L%?pq0=&#mcE{j_^SkWLXx3hz$?IX^lW?qB$301mcg9XgFq9#gqd zoG5ZmM1yn^CT%j=-CBuXN~y*<-gX%7*R<}WGuAiVfKmtHy{wp{%(u9qF+1e+%x9XN zJNvt@*p5Ed8q_40Ulae{T#q|VB%9Blzk%ZvEJ$qq z(oR9YRrTa2f;lrzHXeO#QdyV1#h!YtS z{kp=2#ZZS9Mq^_uR9vBX2)l{Y4rCESR@ddUUPkkR^3IEqCBftQ{I=!BB_!r(%pqm1 z!z*D}XK*btV7fo=u54jEQ<(%jbKGND=iJw_NS4~?)FH+!@_B5Y57%ri3HB~ z_dVZ7;;5l0LoXyk)GNJo^>jurw-~6-5&n8;F%6FyB^z*$JPI7W#Fm zwQ}*^@e_K05O+EYlvB>|>*Doua{HH!4sB4@c^6YBz4~jc810eKofU4ZsqJY&K+i8d zb%KBaP!B-oDX1z{rNy_f3FYtfA?`=3M54`b^wt?Qq^UBEJEa9K8RQZ|Kr5;9*g@o` zkRqIfqC-S4wJzOufn3`x_)h=#rbJjrhh}J!j7Bw(vfOaFMF`1^by}Ob^IO{TTRh zdO}iHH2pVDhcI{=gH^TQjrSjFBGtd?FaFR16f3RhRyb*>@>?p2>+sSyZ8Z<8Me;mj z9JWlJ@7-dTBc_qw4#|{bhtWgLeS7fm8==itvAj2d(x z_(U_!vwPDK@vuCa*b*;dWy%+^@nx1AHps}|T&~*p)o)3dhX(l?2H2&6sn#S`DVn{P zpDtlqy}pBq1~DTMJ$|#V{&@-V$mQ5Kcd5R&K##8rh(d2$9Syf?3|X=fD!twdhYLsI zTrQ82P9%xYN9eG?_mftK#Wc#-tZId@1-l~^oq~xgoSA7-ZE3kYW*~>Nb*yWau}Os~ zLeFIzT>o$_oPtVp>!jJTai7-dX(%lPzdGdmMMOV)y6R$X7TKyro>2sk?!R$0pC{{Z zfY~_KTCxz5&rBeIU0sX#>*UjJ_v#T6YV%?uL$O|)^X%_QJE5t6U!Ot$$r{?tlpv4= z_rXjrw>rAJ2ho2xFRLNmy~c+Qnj5b*?)?~`)9|TKW`oazqhc9IE;dV~#a-Q3-f6yh zgE+Ol-P`Kp4S#n2>Za*)Jq!dNobwTO8&NT{R$oy1wj@b!9X@+*hIYGgC(T~X&!&kC z(Sv;Pj*2ELdRqe)Pcs*m2kbYrQUJYy7wNvew}Ob=4vU(=(fIZHw`>Z;@o!Vph&Zce z+kUQ@qTVOxqukbd_RzGFhx-r`)lr7^288@C&qUF+3o)PO{J-v)XmmOQS7THf}uacQ)f=V%glUj+$&k)?I!>!nstfkW=KX-=5p; zPLo9~s1uK{1T&G}y`@t|*UcwkHT)K<14v48i_*J8YTu)U#+17wW-WYz45Rl+lmzeW zjuaeQAJAc>NHK*(=51DBkM<_E$q{O6>-_H$sQV8ia2w~#$IOZOJ)j%QG#0cav(h;? z*Qpg$n>Jgwc*vRL)6X3BYFsMkdF|H8sfe+2dXL1$us=3KHdHa@a3cMhFYRB8@4vs? z>1iEXsioy=XL4E^0xmEcL&JnR#K+e@V*Fcu2|L`M>d_QIA(q?irs|HO)vWEF68PPhl3liKA#W-LLn!>M68TStP=OMqzzb zhU0W6SNVq1EmGx*PK{&!{BkgYFqsjl(fZ2mq_hD< zj%fc583)6mR8|(-t52bE3WQM^rI!L5Ri5TCp6!;yFyLdG^#if@}rDJ0IEkVLwk&m~*jey1x}Oz1Ttnne+n zgG2?1D1XZcT>9$QQ|OWmTh8=CWB5h+ZjX;Vf=|&{2@*=gR@^u?-TL&yA7*-Y#Wv4lca+8U!UT`UIJgeENI*!~ zXr=`H%X*io>@6iJL|fejB4nDKL;SEx;m?lJ8S_~5zYn6`aBxiV_us@Z_R{)R)%zaR z5Fv{c_AN0K;WsUM&p54aIW77}zQ+|Crgqqot+qIZv?C}*q8$9x(}IP%W$h{tO2K{m zmdd|80*MeKl1jC^=|U_SJrcU~Q41)AYaQ3v4mCvacvI_sa(;M2jbqb6?AiGZa#@@l zU8?Yh?ig^^z^XFn6D0!u;Qoild#)gK#m>ROAEX5MW@Kc17@pnLb$YK*A?w%L%Jae? z_}uN{S^z_zux4q)9^dPtDtWc0JB7=fj?Y(3r1$OzTw6qZUvFcnWNwSJCLNWDLc?0O zIL+kh^UJ3CHM}A^&k!;wl`Swa48QXq~z=p zv%P-B5bAD4_H6}dM$!IXHKyJ5v6d$2wI1yPoKQb7YIzOp4}3?H== zB~@Ah%h(TGgGotAeUa#)8P$P=W@82PL*_YDaL?BtFI1B}Kc1|$=K*I6x?w3PsSW3$ zfdQf74_O8aReA<7OJ(>sCu;$qAHEm3CmDcfsg2#;!Uk2#dS1{PkQhO4$cGG+%RUdk zxqP|+t+2aKUIC>KVzCfGS4t4*$LI$SkOx>-p6H~NR=Qt3O-E0_hpY)7ar8q6razdy_8^KbIW;xxU^LffWA^QbIRZY`fLM zk@F0`tD+9VXqWWu%xKf#u^2!+=DtgUt@FBbun`x@dj~9%;1Lj%mISTl8Q_5y7|^Kp zO53NWuR;E@LTXM9NhA>;4ls{^dkL<=)kvRIc{L;n0|zHsZ?=@|z)yuJX${x#$uKML zO+387i`Mfcm4@ly$IOf)A$_x>xZMLFW#!k+{Anau(91m7RP#5!?PI787_`UCE$!KXy%|PQRi((7L(W6eyAP}#qB!cz?OLKGc z^2#pP)1Rib<`x}6K|vgxoN7)$jo;kV)HG7@1GGikQJMb6?GjObj zrDc!<^39E{t$gyw8lRwDRG5uG1WbC^NFHrwZ@Jh`T2=nBD{C?>PSS_I}IX1n+lvS&&th53o)KYL56U`F#OVE2OTj4ua^u5rv6e_%fz|xb(LA7rO^yc9k8*;C$HqyS^{MZ6${< zYRB5Vh}Xu&KgwrzhcFg&{-sJi56kT8U2&zm76 z7x%NhsSNy6Ku~f{sK%YHAPnf%=IlIAjDYWrS>`qyjoT&Ck@!c8wFN_t-%vJd9r!fB zJXjx$!)GWO~7En>rVfnO) zfs4B^GcsbSBqGw6_i%H1YSj0~LW!t+F(LF9)IoCpcelk7yn1mHQE4$0Tp4niMA#r{ z^6*-9Gg>>69VTG}p@&pT8&KWh5P{fjv6RIQU}WNavQV9q6cvTS8IEdTbODZ(^)_HS z=0nwo!(yMVoq9hi{*K>iY!jXjDDGeG?Wks@8*odt>M2s1*hD@)K8z|VD!48{B_aWzz=Sbt-`tuX+4?tRfq$!iLfb|pctD1?Uko4j3x;?X(D`^9MBOx|R zb(HG`T8G^)PlUxMr&;NH+@a2@^vb4omM+K`#54V6V`mQlU!oqtpeBwKJ`2PV-oG|C zYmdQ3VJB#}(bE8;hMq{m07U>V!VJz@*EpHHkjKyQQqb!v%AGnZ6w>Pp%q^a|Ct<**dSP)unkWQ9<0vZ&L zfa*rBQmGF38J2zoTLl&$Upv*mS~67GuN_L9MYmNLa(#HxSvEhJ7LQvkDj{Je5u_@{ z*U(Xd+{vtA7SfoSGB(;OyJdV{N${e76lBD-1gG=ad0r|v_s_Dyn1j{d?e5{BUYty$ zR|MR+fLmR#qa(cv-K*a;3@kUQVq(w(0|RGobGU_fz(O({2u0Tx3`xMTwgHy{z0= z%kjV@)f3djzNky5RG~^`ZeRM&!wa;Fb%`vbv+s1f9Ng! z42-g-05Q&xNqzP$j>1dFu*Ku5?8C0&YUCTvaD}{?E^kk?h(Q*UZ)n^u$9NnztK3sl zxT>0m4$*yWN)THdyo*e4YvA)CvRXw$NVjh7LwOuw+3M?FuBgbTE4UJur#Wk-_D;~2 zx|yS%Ngtxa5C~UmUbQ(L2t}pCWqA*Zl6pEBP_<{FM4>noEbSvnJ2PjGU*wA$crQ`|3C|PT*8BX(edI9CBfm2o+e?#psVT2_t0@M zldBQ9)9#BbJ(m7Ba%qqc3zh%)8#xzd?mk}C7I`abNz$f#U?L=7JbZESwx(hGgx+TO z#4gWY{uOm{n_gZrEk8K9v}O_Sd%?>2x!=?+W?a?R*Vhww1*@c)mw~iqcRU6O`hpaT zKM*n1DIQy|w#20jkK{;#dJgzT+udE5Cbe~Rc5Z^soIN9B&^Y78W}Y`Fd0tjY=#Nv@ zRdGXS0{pz}La!Wx81%acpYD&CnL0olU)FY;A_GXoxG;`1<BqDvaj&GXHPIT?!b@JsRqguJ!&W@^MV^iUUkGsCk*v5Lp z2B}q_b`=cGiM;5*kMsQN*XX@8SPzqHVzrAbq-141bJEjgP?SbZ# z1-n#`VFh-URm8;1Ok~iY5rTS=or`p2I5grJftL_uH2m!wJa9BDR$h4NhN)FLV3RfB zl9u05M_rivyFhb2+uZ?n*ZuwJB6$KIl=P}{(30duR4MCueLQmVyUyxw^jhTi3AdXQ zy?b>GF=^+$#lQXM1u+H&Q`vTBJJNO+moI?WnSLYUuLi4OarK_d!y5b3k6A}zeo1j@ z(oyBF#?6x`A&=8|zj3{1N%nU=*5y)$5)bU`{EOsOgjR_3^cu9Lxe7M3QU1aaJDLCo zZywl=YMhVMO?5F5nFbGd8lF^36#c3T+EK(&jI6B6l^4o2s!6%IQ`;XLBJ@Z9RZ(~6 zNK8&}h}h-4=jZ2i!Usb`OE%}AihVV4C5A>h)m0#Axcn_{HH)ivodoss zB19AchwnxfU!ExNV4BoTpn5^GW;MlqwGf*%In`F_dhtAnb#|^pwTlkEjgH1|th$1V z2?7od?h|Oxf$N^D(j&+@!stZTpfORj&~0}?;dMDKS&jDF0Wz`eBbq?01cri=UIW+1 z$p5OR82vs?YA4E15Ba<5Rp4M*9etZQi@$zj@?MXOW;|0X1{a1Dk`p54-W3jnFKQhMCZ{^{O}?c>^w_rMCtKp&9rhFrCo8y3OgccZaXOCj z1{$MPR^UAa6rHBdj9^u)+im!MJudU0=X~3Gj^>U_0C)kty#{#eR>sEt#b#tOs9239 za4fI{aD9hSEq$b?|0@JEOBe9-8=o;Cw;dE}^07@@I z&8H@%G4&~qB;w#F$Maf21l^dwzirsb=YqUCk37pvif2Q z#5|{_i}X&j4Xbduw}mD$t-dl7u?~3yFe+tYS|4#IpEHynvv{a7r>|V2t~mHc8Pz)2 zT~7!(93A4p@<4GYNl7`$%A6^_D-jkE*EA$8W5Ju-f9WTmWgCP;ed^m6o+*+a@mCYk zZF33>Vb~<))1&#`4vmNssep)put^THUB!ae0URm0E8>Rfvy8a}f(TGSmkD84{+u-Y zkX4@euaN|5{%KwK`G9a@J+IazQ7f!61!RZeMTSAo$3Dc~xbT)!khHvWRT{vm<(3Vu z&;GC#t{oa^{pg^pzS8_4TP&{lkdTwiiT%@<<6OQEWns^cL&F4GzkP&KuaP0hDnZ2v z4fdN%Q&^UWHI8#4#0t0TZ##S5F6uF2+zoHmBW~I8n$6!JG!<+0u#fgtkPLKB`M>Dh zh#ROj=@Ij0k;9I$gOp`(I?Rq}4>3Mc`E@GD(09FU#%7Gn75}|8HD_#Vg#_T=)ndI2cI;)IaBb?MAE>%XKj7Hb2LqR-892tQjr|1c}K50uCbzTZ$jT_WiN;;NQWB zG281%FseLmIQ|Bf#=hoL+2@J``L~N*-h3pH#pN~eg7m#FV2pY#;^0R(W{qlcLE&-w zpk(rfU%8D^m=@o8?KXr^>7xYvY`VZr`e}DQWfuNC%<}ABkGDg9a-;f|cmZ>AQXRGY|VG@(biQNrM}@uh`JVO1DO zyDAX47C;aFm`MpaXS}nEW=1LtifX^uTTkY=GjEG64)ogJG+)jel?r#_uz%Az#szkW z`z6xW6An_FiX=DeRQ1MZRdgn?sv1Rf7NYAnHyWHSd0?*&0loh1Co=}RIL9~qricxe z^O4LgPX~u8se`=A=t@d<+ml2GAY7+rex0ODJ-(Hib}Gq+@PE)D_SV5qU1#`-HX~4r zv|HV&22+DCZ3XIwe~r^gIAn6$V^;&kk%lw|>pox$99hklYS z1emtlNDuKsz&7H}MXu5JT-`#rFV|H(o5mZOQ4s(#@4kJ_wir}|uZ@&L5X*XoD)Ul> zi;t&_O=j}DIiw^ejqIE7`oScRmV*4P}( zaq3k>kza+<9hSz?$(J{IR244lhMb9kY9kT!dCoA#o=WhF zI5&NM^Fj@X`MIAKsoy=o z5ckMiHwa4ESh6bV1jIVblE)*8e^eIH9(^_s3X&r8KYNZoLfi!YAu4+qX-CM;$&AmO51+~vbs?%$O`e}5+#c|4SrIp6R>R{4oTzl2q8@guN zTtXp)RATjtRvF9eGPaJ`@8}U5-I~rjy+~Yh*bE=671uO|wR!pM;{p>Y4OLCRc3A<4 z5M=sypCJ`&ZHWU0`5b}o2~?YFNGuG}Wfyxfvq8tl>B9v(&RS)Z-cx(WbjnC_!$OkW zT}1I$;S84$=NU%7mvtG?(uK*wKL>pdu~*w3j$uxJhT&vX!XQLa9dZ4W`!>3?rlr(Y z5-CF}AW0UN&6L$pW;5X^W*(9ldtY?eb{N${b0V@!*ZpOiW_S8d{wY+%mqIvYpeuMR zrv3r;ZN;UIiTj9TuTcg2q=!Gn4C`5z1nwv_wsy(%-;mF0gz5rOTXdZ4*wI78g|-$v zq>Sv9;~z892j#Q4?@uwsey(~ay?UbF+Pve#Mrrg#p#OrQe*Ze!MK z97nrhG~x(N&nNZ6t4a@xiT+m*gZLRmO1h0sw$kfT;9le~InrXH`S-zUmqs;m$;$HP zaWnG}%IE7mEC2NGT^bUYhyvvAM8P119oHVX23iF7QyJVyD~=eaqbv0Zl*J|3STZw zZ{0mzn<96fII8|Rq0-xYXGF&jMn0oIfa3gxQ{MSepsHzq5(-qRY)Gyas%Mq(-B zxSS}jm{?LwBoybL5A(+&Z==uIi6S4Z-GPE1bs3 z_E*L&#lP#OMT0uo8o_c;>N^+8TIroQwsz_DM|UKJpJhYeoc_+f>Cjm^M`%Lur|D=3zk7f0`soESU}GpVI;9dF zXl&-EEkSEg_MU5jBte%#6Z`(}CZCV&PXSTzbVD4yDl=+Wdfzh--SycN?zbQnF6n;{ z7E2K)Ww4MZie~@FJ&?%*m8PXNy}E=SeDfQL0whFTY=;pN3BSQD*2OjYWCRJvW$nuZ z&~A_RRgXB-FRKcBeTXp0vA?k841^L8rwjd16kTBafeP?t&;TF!a>KH7w)cZkDe3_% zXv@Ejs3kUTa-2V(2g5`x$drl|M00A5?^tC;4GiA|{dq33qfcr(dR?kNhwQ<-bQb5E zSRYO*rHc+NT;hvUUPU3%!$4&QdwrbdEz16GuWzXHv(CZe1Q!|>4s1e4=bbKwysCIw?hsy`{y3Rcn4-t+~efJh+54Kz%5RZQ*W2)t-zAI!#{% zweJwh8=$B0UEf0YX`0QMS^(-PS|LPdYG&g)!bxi3YZ0DB(kJ}|L~U=2k$~BeE6M*zJ*PcD zYTCJNOIWNmGh6F5MIzCgjOPlI#*Ge0dPu;k)-(2)?&8lQuj{CW337Gnl^z(|$%)k4-iom!z-qj6x+a|>K%nt>Vz-`w!!7y4DiLQ z8!^cgqq^bdrWXNhkue%?c)6NRQ_tu`hT(jRz4j5_Y&kB!*L`C3DUSp6^5s$SDi@$N zpTaGPVe1{*>^R;f$KXUFqcUAy<>|bxR8C#2Uod~iQk(TY@Ur|>+|Ncs%a~6rC25T7 zl6~PcM_wRWe7eR^G=R^x4$OB$JGTbg*ALM|0pOUr4Hb-R7anlgDkaozxbqGP>Anbzu)5E6eFOiR4nXdB7OPJ2I{TADw)Q4cZi_2Kh7 z>TTBr0{CrTlqYzE0tFI&`)8YW@AwIABqc$!4j#M2zh)g)RvFoN7HVw&K6*L^Ipe>^ zFFstneY~?r6ksm{Gd{5Q$NyJtaMv})WqSc?1Gz^+RFnzVwLLSl*&b*mA;5DWfY<^* z5Q!q{;lYcH#{w~5rB`0dpk3&%wZDJ7R38g?dSFc!><0zc2b?l`hK3~Yi-WMJ%pzX) z*1%|F<37X$ud2lc1pdx{%4%5a%fn*+UC1`%paLjo%A_!Mu*)ilh(Nxy#{nX*c(n=K zh!>@&E{e32ZyhcR5FTZGXLqQe|6tK$ZdWu=r&4p#8IXrqn zh|$ChdmE6xajkn5V5tJAE&!mNmVd`Vg#7Ihz-l(fn7dVNhB;70hy{JD6+a6nzo5e4 z?MB^8b%76w05sI~rV(TOF3bq{_vz5(5CQvY>*WS%aYcl%s3;g<@>Zf=`KH6|91@hb z6Dh#I;f>hJi}nh9OQ?vkq2ViFNw-Hn_VXw4_{0Q|oshjr2xZb~iahOS1H2l);5=~r zGwk(;@%mEZW%kmi3UW7~^trw&1#%ow3**te@X%GC3LN0`TX@hg9S5z(Q_W^EC>2ah zc6Pyk(W!ii8ulR0ph^z@(LMX1@< zyWwu;D@(~PBWIE0?32Y1ha|AR|I>K=c+O)t-2JsHjv{;@W-SKI=})}Lt6^=J3>neS zCdk}nL3-q1?A7Pac{*)V#iODJt>Z_SiVOj^6mNnu)T6FIP^ zKcEE)Z|>}TbzA}*?w<>V9D!ZT-mOQoQ}Dh71-l{VB+p+Wkyyv)aY z!&*c|3g2(yw%+AP^l4$f^f&;QxyLUI+q-XlodmEmn>~I|XNSc(eHXi9c>q=z{R@&u zHuH-B%cAR+2k`(Bly3I}S#bfY7E~ykaxu8Lm^!RM3oQ!}t=2+B81Uqe{dxg_+}`y^ zN#k?1iM~Jk3zj$(0K=5EI~@3eLqgyxbX((*iWLOzpob#y3!M0j^iWYz?LbbH1z?cI za|B7~R7)TL4+RQGhoO0C(jN!!7QAs9x-^oV_#+HagI}q;jSD z{|EwT?e_Ne%u2#OIZk+lbPOrm$H=uFt7T9fSM*w{=dFPU#Tuga8wYDOMMX5PvtBqB zmt#$vIB}Lq;E~elan(Yp`R!%LHpSZ}S?}~59{d5=ST}QHAcBcaP9D1X{If%gQs74{ z>C3KB7;KkF9DR)W19(Cmm;U+4*tV@m`f?rlc=%Ivy6!8gc9dOj25&eShzmH`n^`{M zVEb{0x3~fZaL=X}3_iQ0-T|y?>tXuz=Vt!z&TTC&$?(ZCg=dYUsI+3W)HMp1==yiyv57Tr(MA?H8xQ?>(B}xT7gM%JNE+#|u1z21_7dUbit| zJ$y$D=DN1+{;O`~o&N1N-pk23EX+kRWP%>pUfq(Vg{YenZV)7-*{Re5Q2@2pHx^%` zjP?RzDgk15n^l$FY;stR^ka0{7K`dhtr)EzC0qy`~Dz+L!cOkoo40#v5I<*8N2= zCItjbp}HO#=X$sY7=c$cEo&EuzSk%MR=@#4w$Bz5;O5ndH43rRm1&`i%|$x5{cMCy zwKO*mvh z$FXg{ENo&reTZ~BJ4(L8uXQmWlN~NMln!~r838kkDEygRwPuITeCQEQWYQ^UI{G5@-KQx}|_BLVXfoGqZ z{pM#Y`x85x{_{ikGXc)tl!C=v2EV(5n4FwkL*>fZ7fm%#4D=|rbi zgE__ZFw*;suOS|7-171P;LWJCsrvjGS6 zva0&R(9Q7B&~K7M$^Mf zVLYIi3#`)KQbHGkq>;pLu*()1Fb9?)Duv}cw zH^0Y%TjWa|ruyM2H3(GZCbv|)#AhY93Oa-TJz0sv7t5X9|5MdV)E z7<5oHWCWy0C_(}PQi7p(%+Qr82uSatN|#<{B!mtjbWrIXG@(k9rWAt&2qWza{8#_E zI5%glx2^r`y`QztdiP8&Z7eqN>=rp>ME~!OLu-j%bSv1F7t3`Y+^>dHdi4F8dEDhT zTp42t4N`o+5{qpxJq_o#YPPuy!FK!ADE%Uh67OQ&lLxnK`^%-AMZ`(!?Yk3IV3l5{^d+fg)i< zKM&vVeq<6 zy|#aqV!0$>NlSsU7$8}Uf*ts>-?Yb36X>CSi7pX-&MZhx${_U4= zwRv>?H@{(;lx+s_#uh)uDD+Kd35HlWYlUluxY)@s1eSZ&Rd^rIcY&vLTZn%8Lze-L zidR)EBn|uQL;~>tIk(9%qJx4`q%Ntv9&mLJ0?5%+G2W)P$GBQ0LZE*2D5%_%K^aU5X zTi1sj|4?G|_d!9C%Z%@P2?Jy{qmh%{#9YQlE!`54vm3djSffQ4y$-4d z-V{pSVN6@Wpty4QaJU-)yXs-oXinxDjrkl$nwoyYev9mSxj8J11c%u)VHEG)-F-2~os$W^ zce+@eE?>I3(e4q{c{Y*#R|kB`={tILM^V;-zS5l$`Gm zj&+?pvpT4>+zp-lAU?moq|5-JfH6c)fBgw`Z#S3GK+-a*i*ZM%_Oq~uWkiMCo#}2B zLod^?n8HiN|?_%s8|xKG*OUqbDJo-jm3e5Fuc zn|tor0-y>xq?|szSh|CXHo628LVs_jP6pzmdQZ$e{Xz1rD~3Xg4d~dUBt2%Thf`J( z`^#@{H6|-7%h7ymhKfrV&@Nljwy+s(tT@wALyjbM|iGnU{Ya*ux zG(k)yqde1Ox!KS__SRUvxsPnc0t& z^sfpEW8(@Eca&uuza9O7|MOx^L>td5dh(rwj68*gxJN^=&{ps57zFKAyX~cqx98+N zPgOPgbxaZ;JB<6RiO;Ail@ud zHTQuG$k*VjO^Ph<)eNeoJ%-!++)T9ehW8qaHRNN2bvHyd)Qi-TD8I1bedhijNfYY3 zflWm|$8#^vVTHl`K~0yF;NL15o%SX6RA{E|ZfZl)&+NQj5ySL$>&J@6wyIsEnmeiY z$>MdbkpGR$)O(!vCV0|l9y){3@!h4hwX;um_WVP;;3lazD~*$crmqXK3cHa~2DFZo zc)j%eKZ^4eOM0=$`4U44g71xwej92*p!nP+g7XS$Tay^_U%sx01&(=dqHE^M#zr`AYayn9wL& zTi>_t6dF?|$K!Pxb@SZ!HVU-61_@=e^cjCA85R|t7#goWq*;4J?ob9Cr%|bS(!Uke zgmvwc;GSkRQaZ4h7@T9R8q}flcB!T>o7CBIp?aJP2^2?>K87DT6UDuS<*uKbw3#p) zeU6}pQ%GA@R}|JsF$Jp1hRs-aogt0v`wfGw-XiK8n&OApy6C)Tr_iT#2)o2|wF z9?i5B@tYktl{nEFOJmGWvKxjLy?Z&9!n{)o#gB}WI$mwM$NNvV;*kj7tDhAK>00x3^a=bAvAZ3M zRK<5k1Q-}BQGbk)ftdF)h=HPaae!iHEgt^z!R9=HB4vNBP+xb);mr=13DZ8s7cC=~ zo1d7BC`snviI%A}Go4pIbbO($tA4V#_V72kFroPxQ!|NF>p0Z4%=xGHdZ!9#Zu&w{ zGlGu~W3uHr=NVYWNBLNo*?L!!l(3cB3PBe9Zm%pN6041>P|pFEMoUy3Z9^oEu?HWY zctykuRVI8)aX3Bw87qb>1Fqies&k;>09;Vgyn3|H4vtAVHYS(mTtNc{gL$*pQXLbu zxDAHBW*C#%fa$9rR=&X_7kkLL+z-2O!p*v6tDWWV4D9m^OsgZQ_z>^5kyZ`fXiG(1HfhwT~nvifx#F5&S3I8JPbA?JbOR41#cJMRQxgqaU=6>9~cGR zcP_%f5RZ$M)I8kyFDx=(KK%~_r~X$30z8c(`0_cgeM?rDHm*lT8^#M(&2K*ydxy`o zgYQU3mcK1tXd7{<*`P;2GMlYmL-^A#S_aJFcL%^N4xP}A5X=)U3YV!TieGzihS9e7 z+Rx7I!#%r#OayeiLkZ2!yuhl5@S~Kxl?T#NuO_V|Jhp6$2$oApLJj=R9?0y{&S_8c=NLF!Oje?Bv08qWSfq z(_fz^2DjKvt)P@R6 zA11iH3<7z2vSPd9RzrNKeZv2B3;*wZVYNUYEC + + + + + + + + + Page 1 + + + + XSD.47 + + Box.27 + .xsd + + + + + + + .xsd + + Circle.28 + + + + + + + + CU.56 + + Box.3 + contentUnit + + + + + + + contentUnit + + Feuille.3 + @repID + + + + @repID + + Feuille.4 + + Box.5 + dataObjectPointer + + + + + + + dataObjectPointer + + Feuille.6 + @dataObjectID + + + + @dataObjectID + + + Feuille.7 + @dmdID + + + + @dmdID + + + CU.59 + + Box.3 + contentUnit + + + + + + + contentUnit + + Feuille.45 + @repID + + + + @repID + + Feuille.46 + + Box.5 + dataObjectPointer + + + + + + + dataObjectPointer + + Feuille.54 + @dataObjectID + + + + @dataObjectID + + + Feuille.55 + @dmdID + + + + @dmdID + + + MO dataID 2 + + Box.18 + metadataObject + + + + + + + metadataObject + + Feuille.58 + @ID + + + + @ID + + Feuille.59 + + Box.19 + dataObjectPointer + + + + + + + dataObjectPointer + + Feuille.61 + @dataObjectID + + + + @dataObjectID + + + + XSD.38 + + Box.27 + .xsd + + + + + + + .xsd + + Circle.28 + + + + + + + + Line-arc connector.76 + + + + + + + + + + Feuille.79 + (A) + + + + (A) + + Feuille.80 + (A) + + + + (A) + + Feuille.84 + (1) + + + + (1) + + Feuille.85 + XML Schema for Data + + + + XML Schema for Data + + Feuille.87 + XML Schema for Index or Metadata + + + + XML Schema for Index or Metadata + + Feuille.50 + + Box.58 + .dat .xml ... + + + + + + + .dat.xml... + + Circle + + + + + + + Feuille.41 + Data Binary File + + + + Data Binary File + + + Feuille.24 + + Box.58 + .dat .xml ... + + + + + + + .dat.xml... + + Circle + + + + + + + Feuille.86 + Index or Metadata Binary File + + + + Index or Metadata Binary File + + + Feuille.8 + + Box.29 + metadataObject + + + + + + + metadataObject + + Feuille.30 + @ID + + + + @ID + + Box.32 + metadataReference + + + + + + + metadataReference + + Feuille.33 + @href + + + + @href + + Feuille.81 + (B) + + + + (B) + + + Feuille.11 + + Feuille.35 + @repID + + + + @repID + + Box.84 + dataObject + + + + + + + dataObject + + Box.85 + byteStream + + + + + + + byteStream + + Box.88 + fileLocation + + + + + + + fileLocation + + Feuille.64 + @href + + + + @href + + Feuille.65 + + Feuille.66 + @ID + + + + @ID + + Feuille.67 + @repID + + + + @repID + + + Feuille.78 + (A) + + + + (A) + + + Feuille.14 + + Box.18 + metadataObject + + + + + + + metadataObject + + Feuille.10 + @ID + + + + @ID + + Box.14 + metadataReference + + + + + + + metadataReference + + Feuille.13 + @href + + + + @href + + Feuille.82 + (1) + + + + (1) + + + Feuille.18 + + Feuille.15 + @repID + + + + @repID + + Box.16 + dataObject + + + + + + + dataObject + + Box.17 + byteStream + + + + + + + byteStream + + Box.19 + fileLocation + + + + + + + fileLocation + + Feuille.20 + @href + + + + @href + + Feuille.21 + + Feuille.22 + @ID + + + + @ID + + Feuille.23 + @repID + + + + @repID + + + Feuille.83 + (1) + + + + (1) + + + Line-arc connector + + + + + + + + + + Line-arc connector.77 + + + + + + + + + + Line-arc connector.74 + + + + + + + + + + Line-arc connector.75 + + + + + + + + + + Line-arc connector.70 + + + + + + + + + + Line-arc connector.27 + + + + + + + + + + Line-arc connector.73 + + + + + + + + + + Line-arc connector.26 + + + + + + + + + + Line-arc connector.71 + + + + + + + + + + Line-arc connector.72 + + + + + + + + + + Line-arc connector.40 + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/wrapped-metadata.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/wrapped-metadata.png new file mode 100755 index 0000000000000000000000000000000000000000..e34befcb5389dc7de912ee80325ec63e59fa70c3 GIT binary patch literal 27010 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≤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 literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/wrapped-metadata.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/wrapped-metadata.svg new file mode 100755 index 0000000..e4a56ee --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/internal-links/wrapped-metadata.svg @@ -0,0 +1,205 @@ + + + + + + + + + + + MO href.50 + + MO href.4 + + + + + Page 1 + + + + Box.3 + contentUnit + + + + + + + contentUnit + + Feuille.56 + @dmdID + + + + @dmdID + + Box.5 + dataObjectPointer + + + + + + + dataObjectPointer + + Feuille.58 + @dataObjectID + + + + @dataObjectID + + MO href.4 + + + CU.56 + @pdiID + + + + @pdiID + + Box.18 + metadataObject + + + + + + + metadataObject + + Feuille.14 + @ID + + + + @ID + + Box.19 + metadataWrap + + + + + + + metadataWrap + + Box.2 + xmlData + + + + + + + xmlData + + Box.8 + + + + + + + Feuille.9 + safe:others + + + + safe:others + + Line-arc connector.85 + + + + + + + + + + Feuille.2 + metadataObject + + + + + + + metadataObject + + Feuille.3 + @ID + + + + @ID + + Feuille.5 + metadataWrap + + + + + + + metadataWrap + + Box.6 + xmlData + + + + + + + xmlData + + Feuille.8 + + + + + + + Feuille.7 + safe:processing + + + + safe:processing + + Line-arc connector.11 + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/logo.jpg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/logo.jpg new file mode 100755 index 0000000000000000000000000000000000000000..d44d3ddc04aa79d5ba0cb719a654fe15e39930bc GIT binary patch literal 17033 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 C)eKSq literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurement.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurement.png new file mode 100755 index 0000000000000000000000000000000000000000..d598bb47084e9af6a30ea42ed76a182e56680ebd GIT binary patch literal 21452 zcmcHhb95d3_Xm!KZP3QH)7Wg>q_J(=wrw=AH9=*7tYUy?@`kvXZQW z%*>g2&)zTXgv-f@eucw<0|Nv5DlR6h00suW1bi#Od;*>cEvMrKei0dpDM*8Xc~F3X z`2~T2Jp)hq9fE;5GlGE~>w$rBr-FfD+GV!M^8hbEnF>k^f`Qe>c)iH~0v>}qDu@b! zRZZa?0S`VINQw%BeSp4xcNT+QhP4w@cLW1N7yx~PC($6_0=okf7Zy}u&y3z% z`C!;L8p>q+v6IM;Pri(Bw{ks3j9+3kMiH^ARDcw(7{QJ%Axy=EYQBnG_)UC7W}sZB zICdE!&_0#PkkMq~<6V1S{UY5s%Va`-vSRb$Mm?u-;fCkL2jOPoroH;4>-+?TI0#7y z=Kp?d7bjjf^yY?qt#?ZUo{U>VKAil?VY50!BLY0!4fxvu1$sMlGVmj}2L<>;G&Rs) z%jv-an}DMQZO5Pd|Hp5kGJ=42G`)((xr#s)ib%w5w%!pTBA3;3cLW}yxLk|t3t=+- zKYRXG^Z)Gre+M^E47*GIZCR;INj#n1n!0(@r`_pfLE5J6sK~Nux!bpUBI~>A`{NGc za*ci<83hHm^~qQg4GJbEC8cb3BCbt~U270g=IcFdQ?i8#OkhR2?RnuT7Q3khgIw5QNvhX3dm1i;vDwIv{hfK zrZ!jE9UMEa>lkcTK&LJoAE|$DJY_Y=>1um$(Tc@l?wfj@QTT9^N~K2Ong7mk?0AZ< z57pU9qhsq^d36^xKDU#c{Jru0=`!iVhG%squjfM3>Gj_D^{Q?6k>yk-SDo=V##zOG z7ixEFKf^ZJw(Du=h+EB?&0;R@M<_z8_0CQ#|H8vTwx^8AL@IH;>9h+?4HXsDbss## z$U%;8Hp4+2E<6p#>NXZ}mGw$P{OB*rak}QUyanz7^o5gY{tsGG(U?T_dXv_MsvC

o9h{mBevn2YuczUFROF|oM$a@BH6x8u1|g<1oV zH=peR*pzO6PxJ*AT5VmEouTOGF0&aDbk(=vZ`v9-tY&)kr~EIcEE~e0rPZ1YoQ|XK z!ZX>`-R~Nkgzme@&D}X1w%JA|CdZugLzFol$5d|!Gz;jn#j+`3VK9wIii(Qf_bY1j zr;5cg+Vxc$jTRP9S>Ih_IFN~hAS5$2Yrw(5>s-z>iXm1z+#Q>{KX!k~-ga6pRy}WY zdb)ax+9lGIDV35`ciyMJ9`Jw6xau0;9?m>(wAdTs$A*Z&gI1juB3|GfYF}TUlE4;9 zNI8~#t=q?5ita9h?^7h5!~%8(yLE#1%YEs1gG?58+m{R1P4DJ+f|CqZ^X=Q_z)xQj zpy4q_3dDaYWuDBJryMxip?^KGvYOG}t=PGr=6k6S{`qsPM!(-^t;PNs4h}BCWHQ}6 zP9>IrmyDCMMc|#jm8&>lMOE-D7D=OKz}9RgFSyN_u6*93d2P5#0FBP=`KZ{DHZ%jP z#SvArJM_*mw<8&j$K!+HF^}CW)0mAjo8+5qwB3&iQ|2N>66q^e zI^^W!2ku!d=EQV4by~tV-FCh@+wP>=XFq+-4};BxmXrV!<3vV5G03Q@H<`q74mR*w zK)1WlX>%I2ZdZ#X`sOOI#DosBlO=Y%Me|z`Y_aqWPi>W7^yn`)1^oNdwD0vNlAu2U zH{mC@IT5m(5)u(c zcw8hYh=j=#zbMIXZp~NWPpZhsk6a$Jld^rRA;G~>)M~etBdJM*bPN0X$bJh!!-hrA zJA)@ti(k?;A2I{YhHNv;b}kIF_j9ZLDtkBT-&_9oxbaYg(Y;4E@y&Ks<{1263dF=H zTII=5DwWjWKfeS{95B0X(iQ&rp^T;cBR@}xH7g;F3j1fOGvUvu>Vm?fE~Nrg)V;q` zSqbrRL`R21UT-S3gnw7B>Y=6F!oCq8n2 zqke$3K!+E$>x>=tt@8+94A#={0pymp(I-rkr9y%v&V7?qB(W^+@x z&2u)dL$A}PDVZ$lG)kF6`%wP-R2P^qLRi{$?*_QYPGiTth(vnrwxy;E+u?u*NgJ3plDoj^95SooI2}O3E_5^<1Pvx zz258IsTdjiBA>VCI>X_ZHGUY$q=br!3NP!Alj`o|+#jK1z}ly3v|LQ4QY;d?*`Ms( zsBRuk%vtPpotT#rSMSoAqEq|5jW%DI5n*BPT1|pPy#_BIc|FbC_CPH-eH>6I-N!{c_M%3)U-E!KRTV*k{8q2EDLPb+cwl~-O(2N zS`eVcSK6EtSRIR?fWEHueA)kj3rVNnV-bD4p-qzGrJ#^Zp9D1<-m_#cJRI{XTGWG* z(A{J3^0*Ugyi}t<+jzncSP zl~$)i4ZsD(-ObIfKy#y>=6%RK-RRV$#v1>Z<+?Gm=|3r4pKJDkb6Vugc05}$yPG={ir&D*o-D}1e+TFFUH6Thh03@V_Us}&dUIX1ReD^#`7?9x+zZM zDOAHM`y#_VhVAqpX8nC+3r=GaqN3xY{*Z6)>H_|E@W(8O}ZQ^fz91FF5kWA6^o=|&iW@HZ?^{{7aMMdaBUCmS#8$TrYDhI41 z%@{i~^WT$A_jYY1r9_R)UKbm_u=4!FW5{`WNF>_hwM<)}CeB*!)~lqq5`Z%?ISi>; zh<%awIh4~*wyIc=m@U2`B+58^f7{#j14mhIWr0q9#CSsAiqG*UNru5Z*h19>-%d)* z+MdEkfWe7dm zV%h)xaDV1zSjcTTu91?$KHA9hwEN59@lrp-thdnu84b+{bwaz{<%sj!`~F4egH8bUP>H_Lr>YGekl@tzl6P>y?7dtM}vb>ay|GcuZZdnWkuTvc0n>;O^82EZVB7 zGNzQfA6B0uI#D<-Q+Dt;RpYuJKy?^;jn%_J7}BhzCvHcDh)mXk4rhJEhqL0_rd5L^ zI)t3X-Lg5^=xnz!oxa)`c0L`23$Xtp41OLUoY|=V@v`s=qjpM~RJ{FpxmISD%`8mk(@bIXcmJ1bW`Cp;9a!D}(HsQKvFB;=~?sH)Ma!6|s zfdG+Xm&wp^8Q@cWK<0^eIdcTwEcW9}R{y@p|u5@*3 zE!7B)rN)5g8IBw227=9|{k*kmygRvjNgMs8?DmH5#Iq&z;Ce_hC8~G!4;)H0#k=Mc z1W$!IS`GK*?*KIoqHjY?Fhj@GfvXF)YfPve@_Iy=gjizs}>%V)X&2z3zA4ZC5`d@yhO;EpYWpTcH+3eNk_B zsnp2Lp2F;l5ym*L`jHE7DHK5FdmFFCe1JAn`YVw`r5(McAT7=3N#wxu=iPZ0X{}J$ zkr9yx`;ZeelK4r=2c)@qf>{(C+Sir_OHAnGUBs#Yw$niQKY_9=9KU&cbtcen(9m|I zaTofhX0P>Brid0{_gnK&VHm_}`_ytqZw@5OxXw!mcnctk@VH*9^|fjv)Guh=g6EN#$jE3vHa?Xh$)%pe>1d`p3#6?xyk>dH-3< zMSTYt$nPD!`7-5ty8efsQkG)Z*ib*0KZ~M&mJ_6~Ut*-2!QgPM8c+1iu4C>s#xtSy zB^%;zw#yafeQOA6v{KJggwc7uQ=QZbF6DYp)aysZ3!D@M?I&!&VK3Jdk)xJlp~%}W zw4Dgqc2zL(+t4gZ9pxw?uZPkn1iTVMz1H5809lw(M8?p&mRe5Y81$j2RvV@-tXWHH zhNH@?)#INLE#P_;^F_y>8ZGC8HBbbQ6t6S6EGlzY@KJV&hgiuYXy}$8z=eXvbcJE3 zbNDx#@cKd$T~bG4ndqRB-TL4zYbfqW#h_-=P8O?ER&Cm)>!I8Oy}vJU#8m3{hd7)r zF_mgGmYHms|1A)&nwq^@f}v_MG8sFv-*KwA`()_9_rQwVplb7nC=1oY{zQfAco@|AsogVrvJGKB?$vr-8p zgtR~}U?p7lTjOptRm$Qi%0=Tm3o$0LNTNW%UbQzk7HctW!?;=(xvTHArj3r;47(7I zs2JlGxYMHJl#OqtBZNgON1|;63jJN z1*#fKYh_lrA6o&vun{-JRGc`hdg988y77H5-syonDau-z^a%q|0H#tVvj}7)NV!qy z^RIa?7DuIe>48L9FOF5E=O&{O^mmkc65>@&jQ_#pIOi&o%qU#{y&px>NLh&0&Evi$ z^FT+yq*f+1?!F(J2^`D+?~^x*nrZ zXtGkzvI+Jm8|iu$zrdKId*R4008tuT()x#C0s#e_>jD_z*)ZLqc+%%8sWuI*^E$1qs6?${lzAOa+%WTESmtM^n7(!0_x8arf89<9@BJ7u!rNMn*;LQ znD1n_)xLD>vutw3=*z$2VEk?LL5BubF*%MTYN&6}_T#5lhcv6Q(j+t3BC#;@h*~7~ zG*TZnCZ*uevHwI5rIJn6y#ng;v(#u&4+!opQZ>Y<2_tld^v#TH3()< zu>ze{UctB3-DgO+ENQ#u=F9JJ2H$rG9qfk@oUtjVGbq(l=#Q?F*i;Z|cVzyeh2M??dMfK)Hu~``ZFdaw9Dj zHGIn6Wn|orW9dBDV!u;hJf2Klk}n#YZ0C4xhbWuHtz5pO)>?CRGQ+)4bSG?9Z{ne~ z$iq5e|8vW@!niWJ%|5@NQn%W8Oep$yt`D`=ng~f%QGS37_yF77cmNh4^GSlaXKBP! z#*dviMFpVAIKH#b2un1b`VkeFDEV|%D9pwGg%;@lvY`vb&@j18W z8Fxdf@^G`ed(Cm0R{;=^o&agWX?a$bpKi6;wz)BIrABQ5kl=b5~Q^dH&8dovwjY5vx(j_SI@)wl87%@E-096mdsGy{nhuh7B4{J^>fs6pL8VD z^#KM$a=t82?gQjd+RbX-p!e5t^gf(4UKuGE=!NM^*2Zmstu(DvsJWQlb0!-$m;&_m zZk@X4d_*#d#xm_&cW)sz ze|Bm+3Tx~BR~LLqKAlA~OyH|kIT40{e@%{qo5klQA*ZSgIRF&i=cB=U#>PC+Sb`>N zWOO(h%;XAEq(gvFjnL6kOm%ynrb=;nDDl7i#iG5k%@vuPcQPELn9M9i9uaHt?F>Ja zpKfe8y3Dl(>Y`6naVh#e#CPizR%de3W4Ft#US^+Hx79X)g^z@M#WniZ7fk=KH}CXC z2oBpwv5eEb?$eJf#*fd7JM0Tg@4qMuNgTdl?(mEPTIe;ntRl^6vAjT3tchlB3@5x* zYxWUV5E?rc!(fN{L_V(#cS`L=N4{cZ2Xy>c>X>tXh5DBWQZ%&$enlD~At5(n@o=y{ zEXyE;%4I(9g1(V>9r6${^)@B?*Vp=i$qZ4@0!&aesy4NNPEd^N8|2fA+9d>x1(SLc z{myLm1=<89Gq6N>q9K^%wtqXZl5<*SK(QOR81zGvDuzzW*~XxsYpobr*=ukNALIN* zX=$9f*76IMidy0Z1xbOG2&IFwIcJmT&rwJk%ieYFk7wR-`fL2{2oxU;mzdEPSUNSK zud{*kytL7@l0+ec%wgltQI42J2`wbohFm1ayUs7+#J(`K7>BVgeW_(ob8K+DTP z%*UdHA|#D}JjE(`9pFdM01bB=vFG?d)d6eYz{F(ibh+Mn1%00-hts}~f)gOzNq|yg zW`JyTA%tEC_yo%pKgV&_+nmdJ9@ZS|JRfXI<#Gc$456UAA;ZJN)AMl*I1GoP@P_{# zySAEdA{*i2@_DsP%{N^-5v0~fzqPDPabv)6OzC?+UE4HQUS0T(M~M=|oAAGpX(}r0 zhCI5tGivI^Uws)>jKSkdASG;WzlWiM(#w^@wWI1yuJvz+@S>|5D|X zl5wBKD8Nl?{PFCZa@R)5)GJs*c;ZWUD5)>`%9ylTx{?CHA7?PO8&7R&!$ zBCf`RPYUvGBCrA9qNu1_nD2;AvuPxb_(#KYyf-wd5^q2WSQtGVA1CA>K?U9{*0hw2 zOjD(1mse{tr|@bC{^{9;Lp^?lQaQgPwQ{=)vNknT4i(ixE!=SJqb2!4y-i8PObnq;4j`z!qbg$ z?Rt~uL>qv!cPCbDC5459&OCOVH-peVIU%De`2BXNR#rixA0Kidf0YaCMFEj)@lXW( zxz1ODgvC|xX6k?vzx>Fh^@|ScP2{M>Y#w(7?b?mZ(B^{^n^lJWiTFx7&9at|_7Z!% zx6^uuqgZ|;vtJa{?{=Pxb>&09GQ3fR;FIGFrf_XLa#eN!MXAvt;jM*Y2-eWRfc0%J zfn0K~kH_US6(hLjv!IL_dfUwLNq{z4 zUCQRwjwlb{s@oZsTs+808J=_w<9C+W$Ccz@c%dj@{I+Kv2vlj4J=JthDFTMWM91J- zM1{I{gzT842c=$Z$Ha{9HbHD`e6x4QQ?w7Pm?h;9pV38 zjGRNKx$XQrk=BZ#3a{325(BVO~dBAuSoitZDdf1*j8XKD~vKb&e8GU zx(x+j2?Mc>cemzT8_m@|G0tH@Q#8o<-z8RL`OSZ$fo_1XO@EE5Vb8mS%VC0F4uPMJ zoHD%J-9&`N0BttmdJwZ?1gPCG_J|5NB#|fzBqWrK7HxpdHMVzuuk6TU{cG{ANyiGr3^O0t@`9;Ix6C_0y>gQ_QcQ_Wcqm(|Q}vJD=W!$PCKCYi4AZyd40Sf-?) zAI~62v@)M2fCa!W;M-x)67Omdl~s3KN37Wo<0~{;DASEE0OqNBgIPSqmaQdiPxQ|g zJua8irI|wVNT;wG+A~G`09pPwB^{q9aRI+Gy2A`=_Pu%GJ4CchGyxsuL{sj*+fGy}X0iw@4R$ys%oQ6@I0i(Q z+Fh$-+HF=E#Dg)2FfZTVUgiTTwA-6hdIhuBC6cIHt%}8eQK(jqo&q~`_mJP8L+5G{iN#b?TXk<$a+^-&2JYOAu>YIKR4$ ziHZH01~6tM%;nMN zxRD~m(GL1&p(XrUsMH+KS6_~gCr+VJNz^3tQ5$Qrrit}=%*9)+?We5LKJ0vu7^^b| zRzGk9X~B<;G+Hey1ls||D+&QY)%kL%V)2+FAln!gV5kV!?x>Y?>T%QmXs9Ny+Iauz z%VEDgA5+?YMbPdvYFec&mc{L`Px!GVEesUdILlH)VFTcr;_Ti6s-c93N1IZ$j<(0c zc_oRYRv^<7;1fBJQ;7q*^i2RL%&@BwKj=m|+TTx0F9VqsKvgrK%I(tu<$eJ806Z$H zFFR*~aA{kbwn?`iZ@M}#0OxS-5GM>}b!i3v^$57&<%&$l^X0|JSsUjp)kmk9_%thZ zI%4#GhW1J4^wq;NCes8P!Ub}$W$KE|F@y)fM0|j_yx0r4ADtU6!!h{W(h$Gi00X&f zd!^A*HLC-0=5FAwsLzo{<>h{VI;VQL$@|5nI;KD4+ctk)aR!ot8Df14XBN9KfNh7x zq@)r7%Xt*A;Eji(u$%TYn{ARnhQG_j1|2%J(jRjaZNPMmPoF}eQC$rPN2MGKf<;x* z0^cVgu|ONgq}MWACCvL7AB)kg3#1XOtMcD`rm}g<&kU-_P*C*RezrR7Ir)$=U*T~% z2p4C&67zc8%GLVWal$2+TZ7Xo?*=q}7GJNNbHw;XDXSuhVi3IxLFn`Nk8POSU;sw? zJ?4}TiESdy>tWrM&6Un!3@}|gubaEyCMjyBV&)+X>sd^v61!jb7@CZi7%D8a;MJPV zFkc*p08v*NYq3hZd^=`D^}j=fr`>F}&5_+C%zQa{Nkl+QnNTc_klB)^L<{E(u$bQ_ z?Dw-oj$3Cc?s?`KPhm(gpDhwU`dbJx(^G(?hHT13Ev}^1W>=?^9ZUTBdei9WDEEdr zVp*Y9ha1x{b3sEt6UdraX)xbW(o3P!q#*RV^!EuV$?d>~f;a526C@>#qqO`}#~lBR zV19i%NO-2H!ov*?QjsP7y>BKt?%ecSSBjT!_TA3DKh~&kklX}JM8rZldSqC z9?9hg$dS+LlarWEvar@^asauCW0yvP>yklp|L4q_%dPu6*8O9f)sm8LjpqSp*9}5i z_#({#+OZ65Z1YDxGHE((-Zk<9E)m>DkNzzlf$dD%FP8p0(vB?IIHw{T>Z-$*o{Y&R z75G%|!cM2(QYJp$(qK^=YP|FhjPBX&C&wld#X`$u0X7QVmmD9T3t`M)HIfRcN~6_@ z^+V*DTeW2sW8qs_pZ*m8K74(N9t_tIv8~JH9!K4P1wcPiv7M4O_l^3aj7KlT9 zwFp$#f3jH^Wg-o=yL~z-0!0%U1Ulu^X6%$nIY-w)2NfG;5k;DhQChxZH~cm;(*(Nn zge0g-JQRTCi!8(=u~gcW62cBelr)=pp!IT` z!C~gL+9;bdH<>f9XuJpV;9#c$ZOPzEK;9{2J`8bH>$Y*GpuE3(?!Tdx{u97x(^~3K z7ol;#w?g0iGZan!c)v=1ID|`nSd>AAq@qs@hc$2uqLM;@~sb#jiWuj{^o>1lcUa02|>r zWY86cjie~PQzG~~wS+`)FxRHMNs&<|kNN6wQUfcxD~yMUL7ql|TC8_&V8EMzT%b*> z$k>K&Hx#a*aSsY;cf$gVa;Qx$0b4|B;ck01W6@Y9cwBiZChG|P%x zm%QWZnIX08koCiVpI7sHr@xrx|SgwER}`=aE2C`ImYma#R)1K^Pu`dbY-6B{8E zvW;QKNF%G&(x38W=_e&sET_U6>n^V4m zR!!}Pm<@~5q1@=i#2nXUiNxKCWp$~DiE?pWkJmMTaE|6W0r}HX9|>ORuLlqlYA`@w z*mRne=FY*t*#t)!)+-}qZkVsq*4*&@@Xp#fAEU0<4Vl(#vYKg%%R&ei?PvCOYUy5*uE3?yUod{4~IEI+@qoS=ofRIHGcu$^^iq(}4a55IE{Y6=!NcyaT{wo_BV;%=h~wp$*cj+X%$< z0R!$R-!?7ey^Bj9emBHC95ml?pNZi#_KQY7y$r zSqUHsGI*S-Z%pFKNpSmZ!GC4s@mwwI7|0DI0PbArUC1304Q>5WtzoE%WWPtp^TS2; zG$s6;?#~x6DrHAaPi&!3mz_H8%j_6Rj)Q$^&l*2smmcjsdQrQMZ=`Uw!p|DJKBDYg zwpHT+(C|iptmGk8GH$I49))2A9tg+sEh>hm)6VkuEuM$TqhVeH?!X_-HrINIJ8Iz6JY!}%mSO%-k2%bR}Qz}G&2&@1^5y0-iz z@H}N&z1W)l0Ky;6ng7Bmv;S~6Bp1REJ8B^=e(7;Z{!N0--&BvOMwb5wgvttELW3o9dqX5QQws?Puc#0ls*-(gdBJ{f@ao+92L+Fu zU1{HT-^U}q>l$&=S%tfrDVC_Tl++xPSX4BLtGgh+tbFqUOjU5b*v^_(N=M>+K_qAF zZ)&MX3_7Q+x0`8x)rZeeFp#?{|D0cIy8z;Wt_vSVQlWcW^e5y_wAqG!_zuJFVQJAU zm~$o2ThB`W&u>Alxj%P_}+WjY>AwQ9xIioif~PgQC(I;1zhW_zB`OmRR#P1C3X zArjq(tKEkuZA7ft5cz(bq+`xez>^j*yCBX zwwru(lOY6!&{~}M-(BX6@9FVmPncBvbO`*MPt<5IR(G5a|K#G0+w-_?xEFVAg@9M5 z;R0fDd9?=l*QjqPEF?U*JE}t{-Cmc!_r{zms$ zz;&a*h1eCz=2T6Cbs%*ZiVSH?e^x553;Lb^Bi9io6`d>6LRZiQ-^{DYfaXuFsMhEm zfvitX&Uc|7KiJx^rbR@NjG!5aLeBp@^|1BTuV$PC*jvHS$9%@1=VodRrr+iX@OM*7 z2cuX0Qy`AoSqp@7N;hpg?^Kq7ASl8j#6rLGm+|?or8ebn>+>E_cLsk5cVO*^Nnv^j zV0dkyf(}*#YdqAJoKF@S>B`mXiwH0yCJYI&mNxZhw`(Y~YtSvLEn=Qt6Ugfxx<54O zZ8qsmCntURXr*+RNuoV!FzcwJ+!Am7p@iZz+%3;i6>ye4zt7MzVHX~;VqC_ zT#YDhX{U$5>7UC4IO)+JELyE{)Ezon)f7=AyPym(4AOzGorGvu!_om)@_stR5z&TU zFbuOE14-jx1SL}ILpG3;1ygOuGAlpZ<>=9(Tlb+yGhyCpRA#^$b^^-w+)5=U z{mG{vhg=@Ec1-;uAdy;=5#v5o(5J!F_scy;3A%I?#PLJ=n>2f$j?alodHhHwC8=C{S~s0k zwO_^XWj?f3`fDBTAcaK310G#qOk=R%iHJ1Vy7PRUCcHmH9Nm%sxsN3b3BE1t1|~tW zTC-UuFjL3-4zPa#!e&_$-+sgr4BmGK-{wPmou`7uB=jpXha(`H)w|6|yNxV?`Yo(D!^dJTa&I%S;J<9eO2XNHr8oYC(l9V@5l=*1HgpCHvDa*@glPVrU_gBCW?gOxVWAIZ8m_ zk)TzP9&K5!CqLO1;Q~@11+=>79V+C+i-5PZJM~>1Df5xc3HevRNvDXYq*J#K%KKq{ zf>Fha5oyZ|!12GQ#d#qweZ?hf5Jv?_Dtz*zIYX5OTR1kq4z+X^HD;vZ^c8N1;(Ckv&XOE?Kcz>&QYOk@ng zyT_uoImKT#S(CTf>i)$0r4`@g)0yb}ZAChaK@gLPikXDlC2?##SzN`WXrEVx1p}6N zBhLM~VanI|mJuY4Llme7WpKJ|3x5p~`k755F5ba7Ku1+%7!pJgML+>40X%*aa`y0; z5`c+rFssB?Qqfc5Vhi36PCs|E4<*L~Uk+1}lEkixYHTXf!|At+uq zYdCCyzv95qb@hY;v1R2l^!UuOqK%!5RpnjczxcD`eK!Hs@kjw1%h!_ z$+zb_$NBw5U0*t&L?r1sz8$B@j6H1nUfl6@a%H~)N&}G~Y#oQa1p*MC7V|+x`n^E2 z7L+=L>T%JD^0wyaV?KEf*byhzuBS`Hol*16K#1PlVgU9()c_<}MO0DN)z!hBsjb@s z;F*d;59|XGkjCNy@+Q_@PZF~Wuvu79m4avT*^G7U$(fiyv0<`|=wSB#%wN3!$p%uC z1`p@!3b{hi?gv?}N_ceRe^K~NSDl#_KS^bB%2NQQ<2GD6hb{g85{{G34NJga1rIP) z@%%zAnJi{yb;|YvN>nzzth;WC1AWd2m~~L7(&Ex~z1$LXznu}?19F7Src-$4i&a^Z z&yBXEvI{4`L_iFX0f>MHmbU?Hg^F4|Q*}3e@#M*==Y_fd!}iGkcUsYTn&&1;DxFpQ z@9eDc^X<{!YF+*exn=m|`ZHR+QkTO&#G>uKA1|B6fGfb2ES=4x-ekL3wf)^;SFHFy zwIGenGWq=A36Pm<4To1200l!T^zgzdOyF6+YNu}Yfh6V?Z z4n|@+(t7ShbKGL#aM;j}C(}8$5zj*cHxVQHQW`W_7_4P zT$U7kMQsZczoH}(0G#xcKc46D!iM_9;9i2$8I!VGE{%Csq@<*d72my|8zxv6aJ9P6 zhnUx`F^#ziYd8bXhRTSmV)Eb@YoII4O*6TjsYU-N`mM9ch>OSf^t^f(Xfau5v*4HD zM$LmP($9J(1pG}Vn6z>Av&APJ>PG%Tx3$%f`r{)ba`p~rO+e0GZJ3$qJluW`hs}Z$ z^a+9Ryu9R1X>oQP5StPua3>SRMLGah)L{coSRG3Z&!|Y%Auyh?>b{FE@rm2FE%vIU(cWw6!JclwDLmG3c0#^jK41bS5K4gt`URhRu8HT{ zH?cuZ9-g%`7d?QbU-v*F9=1_Pr;ij#XY9_a>LvkGIMl-~3|)_T6+nGo)C5x7=!#)gIEo{|B{$AsWJ&h|Mz)Z#f_ zc?+};*5`cYD zrdnNf#s#_4z`1aDvN&$tyiOsRLf=^F35d{h2_fw`1{cR_o#3!<(=r(pO#A6*n5z85 zi%yTc)^;WO{S~iuaR1s0gT>)+Y2cLv3MCZuml$D7)Z!lsF?-hAfe{vTo2Y*n7>}NM zQtPQ*DApCvuQnOJmI`W&5vhr86|{1_L)$_H_CO4>7AX^~Vs5Mx`_N-VJB>NbfkAmk)s+8Mqv0Ew{V;nd^F zr7u{8mkE5&Vk|K6ec<5IB{vaIRqr|nDM0>+%75R=PuS(G%sslEUMnvDY<0X98lH8A zhl-Oi7_RX1KXJV#3P4OQAp7_sENrF_0kqP_l6Gqi#9;Q#QNZB}OgEsE(vw4_inmKg zAf9?>DpQ`-8Ukq*b;z1(_42$PhpdEcOgExhvOrX2F;&?Cv@qZ*7qX&HflS#-^J2#^ zneDd6U$v_At~x9c?TvN{u&U4Y78WRWkRc3w}gOpjEk*R#%a zktQ$YVR0v%W17h5i!v5Pm&zTM{BZzGd7&^xq^pP$!w&khCE`+DZ*o{(4>3KhOpV5G z?=e7+_WS>giRFFypPQ2iFsw3_%CfyPl?t`oBzqvSc&MaDr`M_jl)sTGOo{1SFTK-& zaQbR^kdY;ZAap!Gi%ET_#VF)pejtO6s#b<1J5l|$?dqqus7Q_iV71?!*5hzGA3bc6 z_k=kZ4acCYG?Z$VW8A3{*C1j`J^`#Kj1AW?=I6R~iqf9IgL9fw1=%1-c0#d?d% z{p#cgF_xmrAgMPPp zq|xb8twR3KudQcIt44`WybxKL`XVSlv{ccA_K2XovH*-UOGt7@Jgn)6$b)x$$H)K` z@{g|-kC36TzhC*%Zdw2;(56d0a8HRb8pa?k!bB-i)7Br(!KFrXzf|!VyYH)fh?(y5 zohp|tEEmMJ(2r^a$J7_P5)*0It~-@?Z7LwUN8$EcKa>5qw3w_-m%o}W$bP8L8pwyk z9Uso*ldtjE{UgZcb}n16&f@p&qO(wYFnnlb*^ko>secd!{n$r}F> zPX`FAiLEa-u%+4=$@IW|yICW*7Twqe;i$7%sYwZ%?VAc7Ow0h`epV*orV_uxUK4W7+pKt3m#eZdl{ z)7|tS0zy(O-mkW@10r4os+IvvUwUe48E?5VV+yheeTN`QdMCY?dSLD7I`9*^q$|yk zb>*SElycyf&RU!D2~7@L7H^omUunxVW9n&A2GH2iGJc^-EP;MC%aUjib{P276-ynWt0#POJfhONi%PACN%EkJr$ zm!u9e*Iuw?9lv(VZwP<$pQXSwCOivXDT!v&t*1V(0XLyontGM5Z_46!=FykJ_Y>W8 z&t<~DKl*s_Y`DGL3aiwJhhOfKzRe;B7D|HLZL(};u153OpCGvSa)0&-N1T^6=b*lPp3WHRNuL@e$B&hgw z=+cx>hIgsiKj8r(*3oTj*9kzb(mdcbr&FiY{4uZ;0RFAI2t_1xX(NQ8($Q-~zBz#% zqYm#u>E~oEnkV|93Is|?RIAJ=s%|%ZRhyae29PJvSX^jNKAS268S2V{f^bpbrbfzn zHoc1*E&VSe79Rwm0*HFf)xdm)_aICk9YN77n#(<YB(l?|ExtunuMUlWVHHisy?uL=9yP#+fT>m2 z1H7iBi2|~(Ce#w(fsLU7;BKRF#5m6Ikw^>$n!*u+VYqOG{cT@axABlLi#L(eq8`8; zUz6vtkkI!Q0)(kWGrN7*7g+dy2v-*rhynHl{W#-h?UxH+dUC!_wYK}oM0&g0ung_L z$onpmsv%Q0tI#L?0L`Vv{Su*5WHe*lEj%KYxjj-*B_bAJ7W0<>W6rVH)d{VxuHMU- zf^wDbdt>&byXFBN5->NTFJG>f!oWamcPBI-Xu4spWC*xL3s_^r=#(^4 zm8uw;-&ASC*>Oj4jMqR^|{mnHL2U;BBcMZmxZs_~O{8J|MK9}y`Ss(8KUaCADY-Y{A^ zRZt3H7i@6GyOu78f<=*T@vpwVg8r`9f1y5wzqJu*2O)rl@7a0wuRnATn5#(y;x=ZT zOF-a5(!#RtI0ZcOP{R<^b)*~gTQMp>*1|)@fh*Q9{S-3-50x$umHT=az$4$)Kn2g;; z)jEI_%I+ea?d|RB?EdxPsXPINlBBk_R-wzwUA@*I7-X0$RBEuTzXNlg^bMAg18*h! z3ZqWnQth%qxqlW4*=$-MubX1OGc+m|g^0uLbVvje{H8(12OQqW*x1+=!p|ryVgRot z+}=95zds!q1DK@A85p5XlF$D+3e4o~0W$ua@xfG<mp8$x_kNnG5ioSp zX7fK1-)&iO8WaSj-sV&a(i@trS1GQpuC4(N0~(jq;M}(0MxoO6%AL1}U~XmvA=Buv^BzM2w6;I=GEYcVR4Y2}~ zrt8LV>7X*M}YVI|3Zn{PH6PHU0Pduavt0QNPN(XqU|B9g^SF!-3>AmjrYrs`cJM5! z3?P~{EKs1QZ7?PU3=~>(4eiN02URMcA0n$Y4vbCz$=gGpgufGqy&?x9Oa*c7$gOr?f%u6+Z{6eS z<~s$DaBUyr#Y00&G%Wi{s~|NDZnx7nZ#4r1wXykqI%3*|dYA}+?1Ey7_3}>D`hNp_ zOj=zR*p@Sx0?~7*MUeh$egCgo&O9FKeU0N}8zPh?8cL{0LMd62Wh_mLHS1WjWWB~R z93)w@973UpV<|fc*-47*gt0WqmUS>ETSWKyIrrYzIp_X)U-zH+XXZ7(@67z>`+c6z z^ZtAUhLtQ4HLN)%S<*VxxCCzfL{Nx^9;+A@YMA*-@bexzB*=Z%tbh6N+YpIj^9D1Q z8gd1C>9%3w+fbHxAaC*`4?8QD;mU1dYP{T1N-Sdd{KWD}xQkB-EqYHeXnYR1({g~*;4AlucPt34$S)G1 zOh(Z5Z{`8l_qH>QB_+}=4)vB=oo)HX&m6YhSju{>m3dB`#Cqh^j);+LOu+G>|)<*X=mRNh62zC=8s}D3R z!$sxJ7?<@J7w0^gJivihcNqt5%wF6oOQ9@p6D{wp^-78lK%mH%DpS-Ed5XZYJ+WaL z%{VN#?r5G)qR5cQ45M{B>!ZesT$riCUxQD!b84AtYTkn{HUecw*ONM4#8!P;t937a z;|K@UmAh8^{nX?XcQ-Sc`Q?WyKIvO&Q^k z*XgM|9lW%3@utFB!d*3O&-@a(EA`_rd&a^JtN%kxo>RY@e3y#prLV3xuEn&|mAyw* zLo*QhVbO$;9vt=SQhnVEGBSpJeSJ;~IyyQjT&f#-dJ3<%Uq1FZ?$d=v$U7H_Te37y zkoI54{*TKg8PiZyhGkVnO;lA?XQk91c4A?n+Z6f^_qr0BNIk1E36VfJRl;K?_dXz+ zPxl_x{fsa5<@TiNaxv3NEnE{=f=bU24D?9)zj+b1-LSULZSAWoouBHRU*<4C?k=5K z{Mixx_~zi^2aCUvH5H4I@y zKM)oL-Esb2`X~}^)y>JN05q|#xoU9JBj$adPCNlKfa7!^ygq6dLOgp^HY=_Dy!|m4 zA4s|>B5iN$8s2hJ?UJ*YS>rE7%}0@~Evr#;YgUlYJ-U<25TYsIHJ-6Pzh@a29=59+ z|9DgQm|XiIWG6;_5S$?vJ<7WCQ7FUR?!n^F!^uKqNdiO_HRb#DjvR#_SIw4_Ah%*`;Si#b_A&1_4j zqIe50wRR)~c#uV(`ffZPqD)S=`EO``S{&|Z1%M73#eErDZKsPhhD&X-9R~7@$+iFm zl!CU-BlC}RCII7|J&y=2sPh@9WBc<4wm^Su1(`Id+0g+E_biZI50Z1bS6ZjQmRK4R5HS z$%KRJn%B9Bxk`mn8ECdKxCUvkBLsZLNBZ@o2mbK=j%Um@H+T6tf7+)JwQ#Z}2EHyB zErc(Z5|+*Q2&A$*@l0pz2l5^*jx~(k+F#*C9x)!L{~iwUM^mMRplr<6`0waXoeP~_ zi1J;knt4JlypRzsjOz_AEI*+6)7NXZQStEJA^btn$|Ak+v1q|{?3Aq6Vh-178Q@S; zWZaa;!kBsD^4BdnH|7Vhq`F($p00s8lN+acZlEaqu*XrTwUiG`<{`03h!QV0(8BL~ zjV84*T`8#l-F^efigp%_HdZ19WCZ8-+UR4?E;v7tU+q!hm6QkQZ}%mNaxmtnC4wte zyNy=(4IBAos>PW*v&WfN)|^!!z54EX6H;MJj4PaSj}O5K#>mQQu(1Nx{b{gfT!O;o z30I6ATN;I%r zMKA;od=SEWk_C zl`n12I(=Rw%%oLYg`gMuFbM0@#>zWIn7Ii%h%!?w9A()s@4@z!-HDTTe5|@QFZ|or z8d}%)gr36!ogjh2oLGaGrC|Ra1^2jaLLUki)q>w$J26U=J8L zmIJ^fVrv`_#R#ayviX~$X{GEQXWaB z?yIa-aUhDn6nBOGfQ~jZSW}6{v3OC1bq*WK+?!)!7!0z8u`rO&T5c*NoZ;(0wG^6( ziB-Ad@f3aw+M!Zjnv9H3#<9sSZsybFrA4nrb+h%J77>X{PRePQ>L7@{^_}a{il(}S zbVAX;4od1XAy}Al#G#T~>>MG93ZNpl|GD?kTi_l$7k$dkCQ+{A+Kmc-F9(GqN)=zH z>6@Ep?F{=x2dCSyDAPJNcfkpi&IH;FX=@S|!=wv{RuY#N_NU8o;(fV2w^JBk|IAYD zEwOxS`t$whR%_LrG-ON7Qgxf_6Hc>FgJTUvVYk3^K2tCWg_1BiIa$j3Ju^by4l>qz zQ!@O%PbY#WlXavb047jKtsMtAW_b`~o;jK9&Ex>qnt~C@$F++jkN9gz5=#93tJ=5* zNC7}bbf#5!j03Ug4D4g|=N$(-ywFBQMnv?}a^|$xPQw|_13B6%5X3M~@y7eQERDPx zX>#pV17XOy;kB6d0*N9|)#Zb5*+dj%S{CR9oj-10Crs| zy;~HT}FS>OF*n+@5HD0Pt4v>=wAU+QBG-42Nt@!MG=R*b2vqcQb9!5sFU7nd{qJuqh~qvr=P4BqX%xB!q=ApYLuv?;H@Qg^&{Gni!Z=fLZhT z;E_R$$;Fr_#v?DKi%zi!0IaP1u8XY-iv|4^|D&eVam z@Tic;{)i;HaPjweloo(i(x};|uJu(#lOLA9xifT?LqOdYkM6yD{!?f7B}quX(8<2a zi>7NQ9n^CzN`1ASIxgw?4#`&h-7$(OPzb$zJeY&ikN#m(F!FCjBI)1(QG))Rq=+;O ze+gUszrI96fZcFNE(*f53{sKHUQk35wanaLX?LliP5J9mkb>>6tA*q1e}9Qi9BS1z ob5kwa8@N2={r>)dY5K`9KC0R2T+a)!oK#erm>a4^$`<$k2}kW%VgLXD literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurement.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurement.svg new file mode 100755 index 0000000..7ddc25a --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurement.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + dataObjectPointer + + @dataObjectID + contentUnit + @repID + + + + + metadataObject + dataObject + @ID + + + metadataReference + @xlink:href + + + @ID + @repID + byteStream + + + @xlink:href + + + + + + measurement.dat + + + + + + measurement.xsd + + + + + + + + + + + + + + + + MANIFEST FILE + fileLocation + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurementWithInclusion.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurementWithInclusion.png new file mode 100755 index 0000000000000000000000000000000000000000..294c005b28f21797035a4f85fd1ce09c92020304 GIT binary patch literal 30799 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

bi+L{aBQ@(ROIBZ`>x^w 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 literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurementWithInclusion.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurementWithInclusion.svg new file mode 100755 index 0000000..a9df9cb --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/measurementWithInclusion.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + dataObjectPointer + + @dataObjectID + contentUnit + @repID + + + + + metadataObject + dataObject + @ID + + + @xlink:href + + + @ID + @repID + byteStream + + + fileLocation + @xlink:href + + + + + + measurement.dat + + + + + + measurement.xsd + + + + + + + + + + MANIFEST FILE + + + + + + includedMeasurement.xsd + + + metadataObject + @ID + + + metadataReference + @xlink:href + @dmdID + + + + + + + + + + + + + + + + metadataReference + 1 + 2 + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataBinary.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataBinary.png new file mode 100755 index 0000000000000000000000000000000000000000..fb930aabcfeb7e21c587efe91cdd7e3352247dd5 GIT binary patch literal 24567 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 + + + + + + + + + + + + contentUnit + + + + + metadataObject + dataObject + @ID + + + metadataReference + @xlink:href + + + @ID + @repID + byteStream + + + fileLocation + @xlink:href + + + + + + metadata.dat + + + + + + metadata.xsd + + + + + + + MANIFEST FILE + + + metadataObject + @ID + @dmdID + + + + + + dataObjectPointer + @dataObjectID + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataBinaryWithInclusion.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataBinaryWithInclusion.png new file mode 100755 index 0000000000000000000000000000000000000000..21702603c977b53aa49fd48ca1cc2c04f642fdca GIT binary patch literal 35890 zcma(3byQT}`v;B!l9JM0f^{_b7t@7dDSyvpAIL#Ix3dKDFp|BrrV|ttT0i7JbP@v^5qLQ$83|Dp z_obsO9c*IR@+VeOBtx%H0 zCFU!W%*5Qjp?>6jOZcAIcrdl%u4bZd$$TQa^QKa;!Q4z==ycv{Vy)puYu#nhs%GNG zqYM0(K%@x5*m9wFuRohqtGe*`g-G!%()aST{#pRJPyp%5Ik>|2*55n|V{4lD`wnh4 z>=qG>+(;q@=9jZBDeu96CZn`^b!o(NyuUVYcaZ+oQ!2iK9MFfhHV8uu5iS{g$?L%s zL!`jg0AGSW86bg&Uo(O)nASlT*sy4vR&$BXHp{=R=Ji=#A)qB%Rks!YX8(pp5u$YoK>3;Dg5b|zSDN`cYoOd~2wwvd=U)aU}e%*zSJI%{KHwZfhPT%U6oo0(3dv7h&xo=40v9 zoR%}cUlQWub*f+8&{vvkw0DhiuX`6vjHIxrJIs=a4um^ij&UzDKHRMP<>0-c2!fG& z?R2y1cKBXmGFwsjNhRm>`>9aNA&X|c#KpyhGcn$u1a#rY+GlizIUJ|m(Ky*8`m*5E z?Cg_Qdy~Xsq5*V*}UAH#fmzn3Gd|NUmo{_?~f`zrm~9WXt&r_{h6%&vPt*NWwd zN)Dq5Ic1ZXb?NOouad)^B5;|)n_j9Z4Rxa!+9NVuboT0oNE2FHc?jN{MRwdDRNNyX zBPX~XFImLS<%$MU2?%tkbm1w+RB$w_YAwGF`W=8uxYS}-W2-xD$(bX6Q^$ZIi42c| z|7pXgHO!x%yRJ>B(tP^hN|Mxl1DeGY&G*4(f37OSl^EmqY`H2!i}4uPOUTJE z44;cXPUaSL`8+HI#GG|8u(PvociyZ`&%c$5{Qd3iNHWv(`P|Q+(j_(=c56D>KG&K} zMsJFcE9O4Sz7Jo>*0ybvBwNsL4b%77!Ev!O&T+_G3sLF^r$`MAg{dGRA+b<=XuZ;^ zq??DI;{vzxT~kxjc6neAF~AWah~%?B>snYLS{Do-oPE~Pgn!c$2EE!0o90=K-%|u0 z21O7qqr;>VJ8Xf|-uT7j2eM)Q(~h@gWn~AXuE|lu{U}D@Ue!2%oO)y8+lx)cc+-!i z*lLYn-1GA&=!yVuOezwKX0&6Vxt`04pR-85E=oWbLr7?i(H$t8fvp z@LOuMV0SrC!BMvd#b>yprmOsvMZ3AO=NgTKkE+x2YU)b8T8D17LY<|SM12T3nwXbz zwcRD*&rr-rzGOrpSXj+Z*09|zrYKtMEc%tBJjE%rG_&E z!A25sE9_3>uq-YvUd((}9Nr#IK-TcSPA2QWt7=)BGTj?Zd)pU+I(l6S^cUBIdBC zkQJBhbwvZ$s@f1sVBOe%_ky^JxKYVAtcVA8PYCOre1cy5CbPzC?W9gw|IPN>K81gRyFzF z-rm=UyK9|ZE{xdByJ_#um)5>{;ft#DOiCVEk|-{b@w-+=$M}LycrTo-@3~Ly;=#{u z)Q`B#j$x@7-SW9afsg}E-K9V(>h;kc+;}iGWEW?DWs^gk1e>Q&CgB|+hG_uXub?2< zWeu8qM?=GG9tW|&(2p3~L0o4jBh#di^A}=N{x~W68>@ffk?hitL=^kIklpWG|K`2n z^RDwjB1_3W)hBTMI13ZPzPEWM=Z+MjA!x3 zuek>uo^~EKuSC2zvn7zhUBn!9^0^qMak0dt=zkAEZz<%gzl36clB16AG?NSRvX~*UQZ=4Ow9sz)3W zG9JH7(Rx5rCO z)BPC#VOd|){)?@fb-8AW(6+F!c&EqKaPu!&e3)~!c|j@_@A8@~_g~ymt#Htrbc~H{ zYFMmSX!lYW-giYO6(|k6jmyU1RD-6!&E=}lYzx5v z#k=3`C$G0g{q;%GsP1blfyS^RRThBjM*iZa>_QuR^I;;5ok z*B2w09wSUAenBCK#>BV=M>vfZ(^8%{C&!KNDg^NZC3CSL7*4tk+RbjTWnFeKnTfs< z<9BE>6ZQ4;Ls2?~Nw(B8->Q^rb9Cn*z;P;4Kb*LC4nM|H`Az0avU}g!GZ{qF^ZdMg zsHYf5bao6OkU?=6aA*4Opo`(<6z+IjHt`YqeoUGVH*zyoEwVEtZqiK-f2^5x?Hu=4 zcvFn4szr>RL1`_`RR9?7@OQ7EfYlu1SiZ@-aqhR@#>^q_eJncyu4OxgbFIc(yDm*5 zC6B>cGzN(eDF?3NmNRGWB%>ay9UcuI(>Y}JdX0XemM@a0<5S8(0Q?r#oaIuvs`4bp zRBE+u(XUdaBBL@-qEJT4(EpaCcgRWt&DC8?_oHO~a`WuDio^*ZD&Q53zS3?q&Q`cs zqLwyTYu4raB2g4_7}Wc1`Qcg_6{Zw)mnFrCQhx^M8{LJ2_g4QP#6~V#hmuj$-`QMc}&rc>**R( zAOiZF(E(_(st(8N-Q5syDcSPVNwrs?Kl;I9oz#)kcpYG8Qw!nB$a!tS|BgLSkKHjF z!cg&}oYRnbPfjh^qDhUFQFYXu$<9GuL1C`{VRCY^-u-+FCg*sePJDudabl^-YJ|P- zSF>=+}BB|9==J2`TP*#eW;!QVBu!XtH!njT+e;? zaNOGu98X3&zmjZbU5Rg|-(cg`vYbU9=il-#4f$pY`7G`GZd_&9bH1}Ue}DjPXf_}Xb-pBk|j=@T3X*b=mHfm1IvTyS+1xybQZ(wq2#45WLBpescb2`S^6|mm>Up z9@BhNtE(~pDbh^O~#FEC@iryHBM1{MsA- z5Dk~+f2e@Zrf=2JJ?dP+%Yez;%naB4G)Y}=(&x)+dlP^YOZ%>8LJ~+KGi!b?KFj8} zYf4cFw&sXA-wy|f19j_+f;&JvhFkikYUK)}bBy5rbT#kd=U}t9z3tx7y~~A*BY89@3tsD>tF7_;HXf26SyN{9I&J-t zn-a73p#O5O9O6Lw_ieC{Fx@_JN)l+HoFT42M0JI z@gYk9Lh9|-gpI#O03A&x=XtO+|nP=0H z*Q$A)+W$!FyrIeQuK(JjWzk2!W<8>vi^03{!(-5?3Jy73mAi@YYwgbN?g8fpt@W8m z?(}SpzA(uL8z2}=bFDDV7s=r@t$ZB8*m!whB^gEwecwT6zbclP<$p6lus2PRM6X&; z^1(s$!AyjB$?*slyF^g^K~9>ym$`tX+Ve^BYFlu>GXwph2dBa&C^%TtQ@A750#*)L z0wIT(Lz>dIUB+@eeWzi|(lr;C5SPo|`OWF-cl9B~NryCEC$qfM9&8i0kth;=H9_)q zpPQ`b7;|h*vZ#(6+M(XrwH^Xj@NCg0Uo72q~ZEsE*YrX8uhdtq) zt$BSpm%jMRZ-iBdjsdxw1al>V4C>V?Bmertun4_P&^s`ZkdO{eTv~`LmEC19Zeh>g zzu0ZYmc1s$@&+{hmCXbJe#tig<4g;&-EaYT`4uH8)pb-=CQfb#_aU=K3Cmc z`cR53yjCq&snfJE*y!+g+>g#&b|@%Rb=d;<$!sJdQn4fWJN`Sw`L<0X@IeW~r8 zEifn659C~4)m=bCx!cP@?zHR9k&Nn7uhG-xvRgZHBpdUnjXqv@v9m=VXF zv&{}2R}h?h9!BLt4Wwdmc5g7j`&x)yIX5jmMM_BDv^#dWU-+g7DL(4o!K_?~HAS89 z1(Nt<>|Zj?E{rH!9I7c6Sp$9FJJT%f2s#N2=h5jbPOIdR9l@;YEnBkDX4Zj0wySp# zC?s21=@B0y&>P}za4&z9Brx{lwZs)rIucV;@w1qN`|oKn{0rZtW}x^Fyu5-(i3Qbq zy?O0yv(NNL032V+4NxhEPm;`FSOj2eAm<=3U70qM>-M;#mBppt*cV<}Sn{d~MuIx1&{}p#$ z&cY)8d{#Z3n|GLJw?CR>XNCV1TMKRYKMD=>wJDR=(@{GVBB>SDb1FWY!FbyZ6GETQ zIsIvS?K2SkVdOb9c%iPC& zAfZxLck9usRqK4Y13;quH-$QD5blc4&8imdD&ug-QgQU1>*iMQZ0JV?4-b#vC6_DS zL2byX;6kw?w~`5ZHugL$rhkc%zk=WRrNEAlb z?HG5u3w=Mv&O1Xs(!Gn|p{hltE{!v}}!ixIWf4@FV|+u>n!Cdmc)+Um+8@7|O>=y?F?p z3BINijVSL5WYbWGqk(WLBY!NPd+AVz%c}F;3_ds-4AJJY_v-O?G#}Hp94KHUE_$c> zHE1m##D2!YVEvFrbcXrK9d)k$z@`zIW8{6kXr9y5>Gp8kVx{*bw7g*gIvn1B5obA& zfl#UYTEu%ECam4{({Wz6RgMt0roC~{S(@wu#|nM0ip8~NO-Lz$7EGN;k8$Yqe+72)LMc@B zbQ*_sYIIqCZ%jj-YK6f#1N|8JPb4Qp3Nu=!Zw7DOrpyj5p={$xE%~|UKFcY7mpB{s z??AP9!nJ!xc$T>J@$rL%{r`y00etlFq`2j1Y90*H-_&44k=luMYVfx{+4-2LBL9dJ zP*Rg==fp|WXVRYbOL92Upyq<94;Xp<8CK*UC%Bt)+MG&EPS;ro^!=)Eb^c|!$yQD> z2Y3b)Ey?fRtdA_Fy)ObXpW~K4g8L?NngM&Vx zry*BHxRCc=9nQ~x@&LEj5OuT zKbkT=%fujV8$xI5?cYD7(^y3<$20J-llef+A;Q2;`qHBr4~^v%FI=fOn#H02%I(nK z{BUOSFUMDbo{{QKwfGQp^>dUeRXIxSrugy+L7L66bT}7zwbtOc_icmAcAs@19I2bn zL6V9vmCHsekLs10eR5_`c6T-ph26__MizjZ@!-?bF{s-9_IC&sktV>@vlcGj%|g0 zbt{P}=8dT^jdYEi>+2&g=AT=#gp7ATq_DSRVemO=v(JTbG05q^^|1AsybtTwV%Aj> zEP-TfmqP*2H`K_rvG!WQAyC^x!vZ1|pEurhIiF+}5+=JQDHYrny#edLUsxm`{wrTY zm+ZmTK>B^0lOAMsZE>gKxQ+IscEJacy_qW%K32E;y{v6>1`aU~O4=%p@%3=F6 zGRR|)HzE0!M0F@K&dF)_R;9}*vXjyZt4jU9-!n}&RkaK+LlRW=z;Qi*#7HsI0Wue?cz55VU%=s3U?*DvESTyMm?ykF|jto{QUA~kc3M6GMSY z?oaKj*dN7h*=1Bn!-zhmR+B7?F3`gg0C@!Z%Rn@Kp3|q1rSQ&Hn+z!q@eLs8!^pv) znYfF2_FgimCGNXY95_7PpCgllJ0Y_Xz*`!+%T%$AwFnyE016%_MbK@LL+@vi%C8sp zaop>SWg)7XcVRTLK3@19h37qqX;YC0l3M){FV8Jf zte5a7FSV~E0&u|lb+xAPbkAp6+&E-3Jy)HSiblf2`3-WaKg4(P#HpVOVmN#ZEgTH{ z;1$Lo%S^`J-{gUoKwV3XF(89J=$n%z8b$vpkoM2E(*7^`KUc)Wa3jYEAf;98@I4Nz zmfDJog&JeNo(HcB1@?7z8p@yhkfhLcwEoxr-d(%N!H9pLDVlt4 zLS{2M{klz#mudEP$3Dvuq>$9zXkD$iBu3XeLRc*upUGfl7KHfjHmBSaU7K~4!ns% z%h~c^#%=%!e*VrAH_dS&&fdTr3w1@UR0>rF>q6W;)Ly$~>@_Gj5X&oaGE&%9$E{xx70{RBEtA#jl$A8#Er z8^6RkpRVbq*a0u+5Qkx5{UvD89Tyy@HH_Mv=J(o^DWF4r_E_a>gEsV zIeg9Y`hL1%;^I3e-%pc|ms>`FSj71WA=yenA=;)5cxV+1P>831?wmGuK0Vwl4+?tW z52dH4TRvEirE}7Ie)0R2NS8cUwwB%fMu&3EUQ}*%rS(Uz+Sjh^ARID zS6Vs$&41bR+rFU?XI5XMYy<=}tm{(21uJhpS|n=gtDgNeOLr;UphZRHDRE;Yl$ zPO#N50CrV6g+TSV61j%Wq}1NdW4S6{HsNwbO26R0PyW`%<|yZq_Me#g+R+CYP3l&^ zA3l)}{3Y*Y(wqGot89QoM{yp46QO4nkhQaev`^;e&8yM-ZKaQtq?^KEZ#;{^vCZqW zQ+>7Ae)<25FSsBkZfC$yF78elBb~q}Fz?C@&fK#^XgU=EVx8kun)hjdY*sGbZYhipM zd~YTlZ#Z0BrTI3=^BU#A>#c5oVShh9w`*h`rC2?W4u`G5bEeJ~MPIzk$B&IjcqHrxkU51ZY|5Vweh!LN%r`F5eCnpJ$IU`+eELt|)c*5{RD4H8wJ^x{CJ7n&5~3*$SfK}G{)W#s^hs~k9m1dJP zU#K;t_uYMA(rTo2W(+kL+(RYg_oVBy^MbuNw-DOVEQVxiAm+5^@mdGyS)5NXa@Fn2Q#AF<{r7WEoO>MtCN;aUnUw5wskce*NvVgl9QO znvxLrlK;=9Ld*APijEiH`;-$>9*!P|9nW%A-fRt0z!KV*qFHBONRnea1>YoqpG7AMO-#-7=+c* zwniIgRvW4kn2P0VHi#lm`=+rBHVO@XTvXD`P5H|Y%o=|aEWTpTjju&JEWVdxI}QxH zoYXr-2qg;p3znRJHf43Hlzk3nMvkM1_L_U;$=y^i@Zm8REQ)(DPXiO}Q)#})7_`{U z?;z2k$Ffpd+}f83n1q^9)6*e(mJ9i`?-B^{+UF|hjuHtD-4E94|khveoLV44$i z7nIQfg`x+4HaLoi>1xC9hg1^l042o$wdt0`SRT=IS%RD2t4=SuN-1I?F2j%x zI5le#h0XV$OWJWXun|MskGZlLm3Mob0z4}@;}G)_hhE}B^DnRz|GwIC29S-{LZc-w zWI?LQqM&-;o@(c8k_Yyq?v%CKch`L(7h>m|_%Zq=-$}1}a{;>6=6gCvQ z8I&V$>S-xdjnu!-#9f>2A0-^UeaiLG)yfD30PfDQZ)KYaO>IN7?D609j+ZUUCdU9S zxgN#d0vise#@s%ck2CM7!(N!OD(+gN z#qSS=Eo~#(4Xm()s^3Daqn_yEn-~!W@wA2NOU*Q zz7-5nsbSufPnZ7kaE+-}lN~fyGl2|f!6V$5B8a#h$}?5lt;6K#O88$VGX*{qi>l~* zpG$^?g~fRe%A+-@00p|jBj7_c@xHQw{Og$_&dQ{Q2Eg`XV}oGfV|bzR#Ke3P<1b6r zF_c-@pD2ODDMr4qKXbO3@|N>>FyYfP^6*q3iAuhI&zjSO;KdIFGU@-R6mgJXo3d|( z0pHIurGgnIMjZOTGYO*%$!IGv9D_zaQSYuUagyLG+w@4)rh0ccLS#a36&W`=7{c&#V` zF}z8?z3{ZCO3Q_JYntcA9zm^^fjFj4h@?Q!M=Ma{f<-Se)NG6c8IO^gw6b!2|}*Qx&o>Arm%jYkmHVR7_{ z{87BUH=+uJt)=c~YKxH+IR&G9SECKi+IVW@k$g-{Sc3J>zqW@lT^^1xm#efz67~D8 zLX0a0mI@(+4RxiGjS0r~qeeq&HkOQ>n5h4SWCZRoM7FJ`utp`~nz=7$>3*z-=WFYY zq>{pB8?>I(ESsrF5!%2F;s5vVutpnGqxGZV>Y@Njh>I8SdZU`*q!Tf~{rC0obzuC7 ztm8CJ{7#G;D}vah4@vBd%eO{B2IO-6`XL*tGSnYSB4 zeiv7P9Mn67e;Fu3h_;UE-ANFU;Uxm)heC)cEW=#NbZ=71Ps)IW6r}fE4G_Q(GD#q! z;{Gv(IVB?gf%Y#3lvH`bMaZnPblRsfMKYO(zi*?|sGpJIzvaq)yq*xQ_)Uqqh*zZs zYq>ub_1O`Sf7pSsHXH3>eh=kdLXM5$Gh+t(IaoHk>GISVwSFOspz-{}<~Y_`W=#U(G~D*b#XMSuVr zW^m4mMW^&iR7s^nVEFccq3!m#MXM|XTpAKR>!R>h2vK2x;jqz#Fj6d0s3BYaKke%- zAIJNqc@7#!%>;-uuU{{L8F`H01&y?2ob@RiM)@80j~u_`pW3!@ATL1e(+96@6j;BN zT4%H6Q+>aQfWzs6r;s zs>JTIVH#)$>y&D$g`4^7PE<@Kot1XgDG(`ho{-Z@SHLM}x7JAW0%{1HoHu-A+#=2G z5J&j?_hzsXjpiUzYU;)|m>8$nTH5$6yU}i!hAS*QJYE|G87p|XrsAqV% zQol!sG(j)dx`}V?5$5BG>%jUKTPvdQ{mB-2{RbW`v9#Id?$ukc*!p3-Zfk*bY573L zt-C_C$t9Ic?q>#Ud7-&4KvJ2(arH#X+#ER9TK%1c2KZ1;rb-34 zVb`5u?ZHaMt@^^djqgCXsNVHB9zd4Y9p4`NK~JDkjm)t3fUdCn|0bK3y*?`SGP1Ju zNaKqQ=0!OU;vZyqXKWx2G)RFDm~p1h{f#E!H~ITJ4`Kk9sa2(S-0fzxlS(TnBn$c6 zmoAKD@wfE&wrWizT$6}qE!G(iStgMtUauojA4z+F*&JlEF4LObsmI46xxboc zU&OeDez+N78GK$qzWx7Tm{qhhPvP8stIcC<^X?GYX(mjVaqH3^B{{LHhm^;j7oo1R zXU#2VT$eG%f+QMuOXkmDr{yet8kbG_Bf#>GfHva1LWIKSw#{tUGQ<(On)%E%$<8Eo zNznT^r){_I=!7x?Y+}Ra7KGVf;<1`{A@FRBr%MViCyy-)MAQa$Ni{?T5@hQRkyGGb+pGAZs572{SHdvzvzRTnT8R%@y5!h5PRN8GjDcz?KqcsmJB6LZgiGyN|!`nu(pLpJBmH zP#I>c6jjG@Hi{zp8;nZyYnIYquC)i9vhhrjlA5|m1Vbq_f;YQFF((-ur3`uA;Rw50 z@pB?1dswqK>{tvJ{ z?d=`TCUA&5TM=#%Di^@}eFBXlRA%>NmHAa#zHPT|gi!%KGNYD0wUCe=5IWSi9U(E4 zXlf%A2ar~o`aNzrlxksXTOIy-rC)8H;lvSN+!rMBOc(1-Ny)y=?g(h&8lNPfBCixG z7s)nXZdM9LwiqecEU2o>%+?vF<%Qi+JHJU#rhe#w?v&ws#VxN4$CP!km zn3mQNNC1o@GPG6T#P;{_?Ha|iy%%@=;n%#*7e-xr8U&PBeN4=4U*i|LYDf}FK_vbK zsGb`aPKb1TzC$k- z^9l!cE2S($NY?-W# zdM1}*CcHX>=6j=YXI3>yT9qL&} zNW?C?c)Y}1E<#pBL0UnhR)nVG^cQsf7*VNBQEa6?yigxZ!}Pl~zU;8ku&7rq&g-#t z&Q@|ZOQft65~)q>?CF*C9^*_-9=K)L?K2|rLx`(O4Ga&${8<_l&O?T$)HNn_YOgec zedDA~&L(MMQh2n|Hf^;BRfZa;vvr&FFLV=3^SA)*yWDv2Z>=aW$jT+XCdDXV#2$g_ zEVEC*A|r!&AbOp(0Q4UnD1&~)Zo%EiNR<8Aij;9L$+ZoTCzjWV@hJOQ7g0ucQmfoM zzMPumY|AVfOTZ_Uw(iH0_T5!xZmknjt-DL&d0$c4>Icl-7>1^KwV(F{#wIQIr8N@h zXQ8iXKYaU&t5~dUpul)Bp6mwwH6BXI2TU65gb>-rdR`q^C_j|s_-ZAy=vVI}ivlFQ z1EO9^BXuo-XA9c((zMVcQ$m`s?m#!$0phKjWgDev*Aw4urQLeh6qwC`WZXF??0m!@ zYke-Awh^VMNf_4Y7^fo!+ku3#?x&ndA z(f3o;y8L5Wu(2l4MTfDEhJOa5n3p~8c2ahL8$4@*Rm%Lz09CwF_~p^5M2+R3+sNa= zMX&u@t1Ld7nFdAad3T(jT3AT0nedp4Gg&5$L&ogsGKYN%!SHPsEn5>+)qM1wKuaKVnIXj02ro4YTAU>6uF9}k@8j?f$x`oot2##~v`W*{) zaM!tpn}#b_AX`4|Sqzny2-2M<6`0dA7*yMDq;?C^Ij!2QE95h{QYMOYaR^NmWE-$V zKiGahZWcRS;qj<{ZK^GfUqSSMXQWXTXJ~lQgQK)8?A07JSN8dLJXbWdQ8=QVfEbFB zYvzQv@4#!2f6SNI8yWo&m6(oSLJbP8v=WThc4!c{?a>`-i;GoLVdZ$NU1)J{kjos1@iZdJWE5IONfWA)(Byb05N5VQh*E ze;!opj_i1g{*3EHO3TF1{3uQSgH1!3p1j7|fnl3`fzD<}wp+lKs!kth#wcV$IuXGc z$p=q^Y!ttdBEclln)ju=3yv|b;#d4W7XicGpqKE(fxnxJAw{p}IS0QeEv%^bEb!-t zZHBy~iamSK>F?(j-H@yDxC~FaNBhA+bN_GBf<%p-|4y0NXvXsRcV1xl#@iTy{40%3 z(rgepnG52?T1J2w7?wN=2f~2tmrhU2`EI|o6K&0$2!nvOP`f;!?vTO$+Sc#T_@XmG zA1V~xai!K|`Ktln%i+shWt#O`hb9ods8~Ax#lsVFe)%nu4I=wEnp>H&Qr`{|4Ht*5 zjmfXjtvHnLM05GCL@aitWctOXVaFy{{v zDS`JE#3QQPufFS@9JFw<%DFG`oD_sa)ng}BTJC&UMPCn)JCXxT`CoTqG=}24+!fuy z-7$f(A4UWDU#tcQ?!~5Q>Ir&~_K(0$}8R z`hgg1FN1L{R9aT7Ec(E5U-fo36Iy1$Uo!HB&mX^`@o{Wa!k|+?a76#%9K&u8E_X!2 zdya*$$s$p4NS65>zXYVk2lf<~q`0G1zD>e7YIJxTm=yp^MKHY7-7R8D1}=u`FL3YA z)4dj8cP3f6+%^*w-2(z)Tf+!eq#jA4f!d{Aiy>hbD7IEoqL8%kaN=Z1^8PDbZK&te$K7S2i6O1}d_aG7B;&s`k?M|RM|JOJK1-g@111o%|B{mv`YY)B9dkcu z+pO@AbltAjnkiYbElBHsS5x?RSVB@zULbW20|dO98v{9yQ4|+(mtSaDy$AxkI+iH> zx5%{kIcG~&e2IowOC23wpQ6wB`-!ix22a_I57o*5yYocTn7(00aimpljF6jxZn6OktYjEApZ?6r{=~_ zX>2@sl!Ra96Pr{t3@Q>94Sau{l0g_*DrwQO*8q0(C4;)MLEzUjvoUAlxg6Lz*tk=S zrH;=f99M4xa#xD zlan2vfSlJTdZuI{iGhcq@yE=|b)0xu$o^~RE)>F?(p0^vvS~l!%dy>DX`bz8feqz> zR(3vAkT2&t>B+-1bf&Z?`NnNoIA`afU?*x$zV~->B*u7X=Jn7i;RBw9^Xn}H^kmRQ z_Q6e!XMb^cM=dk3u)tmy`v*)t%?v~ofiQr;xxaTHJEOp;-`u{w-l(0fUeA)aDQy)R zr)MKtSr29ZE8{d;OK69_x~&CqR0p&&UG0|-)~~YJV2!n+LKoc3MYlTAK7TV1{KF}M zU5Dv0JbbTLeJ;G#=QL1C8wI6SXSZ_e=-fzgkFD~WkrB6c`a$0P^*`k~((VWuXgx%1H;uAy_4y>!sfsDp+Stp2pM zCyZ|T#5t=ib~zmHyJAFEv*-CgJ>Fr~Xx7rvDO1pwk2VA1h)8NUn*`Nj0ODfI&kySY zZ-hiZE>w1nxB64w$CkY&g-(PAd0^|&y!3+D7d?XkQ(w8^Rv35&5$9B$Or(1J1vLW$ zLvG8S4HzO?YcPl+GSK)lXxcv3>iY!onW(Dm^cC0@HuIcGJvFz+_zW#Ch6c+X6^^qY!dPqmc<&TXa{6;jx_)hMF

^9v-HvJ%Ws?LT1l_ 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 literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataBinaryWithInclusion.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataBinaryWithInclusion.svg new file mode 100755 index 0000000..913b58c --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataBinaryWithInclusion.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + + contentUnit + + + + + metadataObject + dataObject + @ID + + + metadataReference + @xlink:href + + + @ID + @repID + byteStream + + + fileLocation + @xlink:href + + + + + + metadata.dat + + + + + + metadata.xsd + + + + + + + MANIFEST FILE + + + metadataObject + @ID + @dmdID + + + + + + dataObjectPointer + @dataObjectID + + + + + + + + + metadataObject + @ID + + + @xlink:href + + + + + + includedMetadata.xsd + + + + + + + + + + metadataReference + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataWrapped.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/metadataWrapped.png new file mode 100755 index 0000000000000000000000000000000000000000..3a46b72e5458f0f950fafbc579387ed72b3b884b GIT binary patch literal 12696 zcmZ{L1z1(l)-7GqAR%2MNTYOzq#)f$2na~0bV}EuB}EWWIu9+~ARUM9R*(kat>gXg zz3;yF-;eL~-fOSD_MUT&ImRI3m5Lk=)*~zg1Oyxfc^P#C1Vkn9(8NFk-<0xG{{Szv z=JM(<5fHo{BOnBXARt_WuL5=u5Zt&B5cW(E5QNeY5J(*}8`VU>4=7fWFC`HWDr0?a z)DppGL>F~ADTJ~S%3bgQ%}hy72H_t5m)lYZ{~6O!Ue5&q0k;eOKums$O92jtpdcfu z={bLxh3TkiG5rCLQ3B&lUkok7S|?dBukLKTl=~|82X!8*^fC6yZ=g%*I<~;HwvHJdSu@ zQGW1*E`<0?`wRZee~b#@NBK>BDVF?HC*|?Wk9~hGmO1Zlx5W!y#5~eV5p>=NXVa^a z@w?h2oon@NVq{`!u-o4n&LE_sV&5LgN)$eVN~>fEF?B~-wG@&(J@*flv>N`%gp7vm z2urCPDmADV@w2>JAnFlvPjRcqp&Z=kPuvv0zlzHgaFPlN4ld9x)jt{H9qs!bh+JUU z;M`!dymxt6w>o?^&|h~@BmE@B4=2R#aK2VW&9K$yeTv1B*FL*mrI~DsHk^PV-}mO6wL&&M$Nx_65x+efDTkq>pZj_b&Rm;+n-~eFF`M`K z!59S|SYPpNPXDVYpR3JO`?lcc4~d8vdSj`6&-MhNJ~(Y~SZ?L98llvyd7B_t+3dOt zX};e3R%JQ-QA7~UfsMu?rCUtui9xLmlarH^dbQ=t+B~|X3f8upBVqFAHc3M{;>+WE z!^K+K@za#-y|=;KO5%C4Q6#Jw-WNy1r&mXdOYlSy(hko@#L0YRh%?XS!A zxP4xfks;F8KA%SI=4+0jcjE<0ObiUt>)GMkZu`?OmpdD4%+3$y2uVo3q!{Sy>nDiv zzeuAM6cilvnEI-v5p}TE9n~C;(arOUZ7?^NcCPt-wL#^(>5}x`Gq8L`qee~cQ`=z5 z`@BLQN{aMrzeZCDYv0{0-|xAoS)A^ST`v@=F~lr)jE7LDgd34npE5{EOKV}TxOY;? z{p84QyT9|k0$U#)9J=+E88vNOEc@%!p9Z2+{}}ysyAq7IcYS%c8b;&ZbhOeQy!km! z4C1lus}ovh+~OrDhW5?a$fHs~RrGt=;KkmQQb%W}#cYM?$vMnn|FcX4;dqU;#$oQ> zTy$tb?xneBnMn`c2P)HsRAaCHDylAJ?$78gM~-$;<2W1p z=Fk9gjM-(K&RUsH1km^IE?1yrEY)vzJIV#A{n z${)>MOMcP&vd!<0NL_>;M+FIYr`13b3w3H1xA})ie6)^j=DFc8zBLbg>7fxxJOQ(> zo>28d6{_@S*6Im=ULKwo!92sr2W^Dw##18)|B5&7R?BID`L4z?*zd zoP-WMSDbYD6@8^>V^#lmn*HB1>_5|S{B20Yv+z;J1+!S;V=ABb1H9dkU!yNPt3Oky z{3|oBecSL5b$(s!apd4O$C47V!F{$rGdkuqXCXMMaMPz7H;_>j5$kniP;Y-`)8u}^ z!Z|9f7D^=oHblpxW+ObL5pa~aKHX)2Cjk<>;8*U4^IA{+q$CdGGkA!ve5t`~i0Lcx zUs=5caREt4`1Cw-Acg&@sMl$HwbiH%mAmGsjNT%LQRCYw`AGr&R-cBXr#d6n5vz0f zA6vXHZ2shRhT+-nMp{pN*=-v8l#~+x++0}AqknTVgw^Zgeh+%L-0J(q{k7*RYJD>Q`r6t? zFO9z@x2zMtPDw23N>9+}tM#22{-p{LJWxLi`2 z*Wy*HS*ow~T3SM<%+Pv{dH|>MD>A4%6Z%Ic;Dy!rt@rKaaouz!jPLt?e0;p};ODxV zsc$;fHNiplvvHtW?p8Le?RpZB%8I^+o`Y=S=WX-@hq((Cx|n{)*sgc~xWB(YT}V7A zD2NRv?0?rhlqIZVWZ^=ISH_Nl6%rN()9DRefUTxunImxuGTkg8$|d0>ESE# zrF!d$$4bKZFm!59iLjfM*=E6|iVCi6r%PUNMfwr5ggsJ-m{kN&F^;|=+CVb8fByI+ z{YW^3LfpIudwbileJl{gaM2OI))zGkAVoaShT6_>_{MD$FuZuH+ny{Lj3$`MEfju0 z?GQ!6Uek#|7q~a|%^(|HKP3c(HvCvpv+ms-eXY&Z_y{d>*D0%J(MmK*1}B_7PDD=Az#`zJ>JpvuBa`?mv?1NN8@}gf=etKUy4Gb z;=fl}46=;|mz&#m?N-jt8Z^8#iH9L=hx~fPDzKvMu+*#6y37 z2kPIGQrJg)Ra683eu+s6SyrN;D>=H>=%L!rs;K}_GUIp44RiCmIplwt{6Xd+{>uQL^uAa28xf4M6m3y@ z*IslNdGfR)y{!rHv@^I=km%prObjdvWx`z?41#*>{n+`egMB|X?H8L_tc?Bij&4W& z8H?1J_QgL+8xqu`glh$b(fH|R``=x?TXgJV8|w#1?bhY@md1_*cDdhui&&X(NR_8< zT2hIghT?*Ed6Ij$K6w}_=7sPRR>hI?!>2QT*9yz2zUO+FKPMGZFHpwQK8Xzj5LnBI ze4;|{J!;_4QjjHLZ*&I}UBe$x75|e&%Fqpom-=o>ZtR4yzB!z+xrZmdBljszjMWr( z^?~&d3G>9G01M1dArdc6cN0tHAJO{i|K1wbqLhoHE}ffQ4I0f9)Yvv*s7-G$juD?K z1K4^k>gcS}9CAKq1*tO)MiE}v`oWwXKfu}Y#`_8W!pYYh|D&@XbkW7PTNw^D!RY4f z+}Icm3~EhiK??AkE5y%f1QF-AQ%?x7(B0~1X7U=N$1Kwxz7da3rQc;u+reZ8IVX}h zTw02jQ zb4V;HQ0MFeBQ{2|AUyu9#CSMb2{K_Zo=?=2!ucIvc_C`Ri>X6rrfd7iw)Wsgck9Cx z`Nyr7d4|z(Iyy}!3k`(x&4QtjA62IoxYQ!LjPqPvcxwHF?!U95u@zu73LG4IdFC|F zspoPLIk}_;t11M%PK(aXUc7i=`G_ntDTz^4pxwc+x z?COVBbz2;U&|Gq>3d$|4^_F_O*-Glg+RZXihk153E)K#JMj?j*Jc=(VjG>TMY!Ara zgze6h=N!ydN-ue?<7{uIQHgcw0L_MjSQvpS~1emN&d#CZ%LVp!H)h+0y$@+4gHUuJX#uaNYEjS(h%#|mMv=~FwCPTxWDK*gP?lC#r zn;O~k=u->7u!I-;ET*}FnGUZP^r+!vRTG}D4^$^rr9oSkijkTA+f=?(*R$s8Ok&0Z zHShY<7+GGCRS$gtNWq#AMQ4SBLbTV>E`|{kjfwrsU;`vGGqe8;hX*rYk*@^8mL^^g z(^f-5?$ZE8PMnIrq{991w7SX;c9O?PJeVi1tDBZzSZGBs6dsPT{ffeehL8~Q`Fu*52n|=~v@3#0efSvz>Q9PmM?!3DMpdI4c}0FZ)-k1&9fAG_yq2DZVdRBar2eWV z(v?GKZ=xbRpuYIoe0K8!M#txeutCr>)cRrBeEt5g-WK&sL4h?r>W>B&tHK}csQy1& zF5Z9=Zd}W4JwO-J0pjx5soKR3ge-p2wY6vKss-u1 zwS^h}vw5nt3q?;-<`CK?9iDqNC6M_sUfQrqDilk<0!ulK zOR~{*m)@Z6-B^;*H|^4sMx1vvH>4C4PYYFZrmIk$aN8wYWgHys>S-nK`W{qUMRh9A zP#>xL|M~XXQ2a{t$MOs_;U!^RPXuLDOiMCMnD0mg)oF&a=nw_c9iOvJl*R8@&n?S6 zZc4RZl0kW-q;`9_KlP0n9hdUgU7YpT(=^!m&(<4zLD!vlP(=5=u>-w9JXzsn$zC?N% zd%FB}IUSP-1spq5zuzD*PIK*4P(yN3h)!l(EJ~2+?IoRKB&|3iVbjeuf6L3m^CqDa z>4gYs`tWGB=zhs&OacK$L9QXn-ahRIqcXz=W#m7mOrU$xxdwSJ438$IsOU-7lYldX z$AYva!JcQCf-XFVVN+i2Fgby(nb-bq)6Bh&&_h_gQsU#6nJ|eMT9;WgyS$=D=crCz zsyDF~+fzk!<-#L4W;Ym2S|z$;Kg$gCQ}Vw{7@jPwv^jVBepv$DJyFt zrir|-I>H^~TYRK7%gXm<8@j_=mG8u9-E=Ra@B>X11qso9BD{T-w9^x!fi`A*Neu zRqq>}a=Gfx=Xu}{;7`E^=>;xc9C{1@$UYCIw_h%U=0FtYi~hPWzpp!r)GY`twwvaY zF2o1jN#WFySx}~+MB3!X;Nep$0kWYuQ}d!O3`ue!*S9I{f3hEwq)GO}KqtLx>x%v5 z%NL>B#kt;a}!N<$( z!4YymP!!l1q7cu@4v#=}42?m5%mPK0{y{4deg=ANmI;q=& z>VrMM(hU?LPl5no~)G6NP8wSq3k9@fIDW76P0gWSkMW8CbF6-Vu9K$Xm0bFWI>8PJ6phqiwso z5R-bI2dfa&1X?M3a;;m7HXWL;A%#2)vO@dmEolFCE8EG#(}rR}>uZwARcM-&&mRI@ zMdk*f9G$j%V~*zg))eROxhJ;=(Bp2&-9Uu3THKglHI7u8 zoiqi)v?OQU%q z?UR(QkFZWjE))#z{$CtM`OmywvOq%26vCw$MssF1nn)cAv&=VT02|hYvX+qAcCC2l zieZtyH9R%-L2H*&s$Y4pf#HYTqgQO!vWoMCIRl%Au&KirbQP?)QB_6E&=s0&{zs8a z{T|~)M4JO1%l(_|1~ocOr@?rNlSOLkgvkBmaiSkzMP>Sb!abIx*WEyn$(ClMtB5L8N9ytDdlYPKFR#Di zF4()>NA-U37~1GvZ+La*&7xhEAHru%zslKKBs$;iQ}N86)~uEKR}+KiJadi@q|{`~ zYkRQe z&X9m+p8`OY%Lq|@hMQ>9IbG5gML`qx7GQ{mo!Q?HxT-u!K}F*kmS6)FfyH*ZB!M~G zQ_9%)OzWj_Kz=box;1TdAERCPX4~Bv=hev|=kw{;ir}1z4@_&?_r+ z9CZR29Ezl9cBh{$>OFKr1vWEZxJZzSP_Dr~gMdTQBo@CpsAij{t}6SygySqPbsF#H z3uZOzs*CD7qsK&;Uf{MGBO1sN)$5_;k6t8#Fm%#8* z^K57A^9b9-*4}&hx#hkn!Knn?sE2s?!Q#P6SBUD+Nq{Q`pRZVk2bsJ$cSUxYc3XJm zakP-mwBJ}y#&3>5y7>HCeElGx;_k9#dTGA*;o@98$i1BSJu1%m`9;illRyZuXwq}r zY1cA9YF!B4b1enTYDK`(ixtMqR=x*b!U%HIih%*tp9RZqbNzu^%UX_hW{}@A8va z#=5e0xxyGuug}e4{mG)ovckJ}CGIuQ#JvGk4G5t$*l z(R5g!T@GAttR79j-^2Vo?gzS5whvdbNG zru~!khSM>qXyz%5E2h_#LtHUbpsB+`ai9e4EFDM`e>oQ)nxQh#e;@B3N0s%5Bjfb2 zVfG_)3HQJb&RSpOsx}npZV|W-D$Xh#*}Ca?u=6Lt)QP(06+H`Dy!(QQKJirn-7%fg(_JPRBrB* zyxq0{!2lNofpWaal}>wD5XJAh@X$4@|61jYDXXWSs`|kjg)^AT;z8)rPIhph&|et zh5e}f=4_uihJruED#v%4B_;d3bJ5A3<@M5ui_S=<;OA}B!5SyS^$)sc6n$SpeK5;g z&Oa_2l1A%oA->Ry01fL~JxoJrxY4H)6b?s54GcUy4@+7egD72+2-5h*Qk`<+M;AfA z5Wk%*BxImeG4iHO#4IDwBiIh%D+Vw&zM!|tUr>7a(hY_NDI_Bgb0m`H^L-jWi?lld zhR&afCSM4M@hN;e0VVm>ASn6ZoHW89K47-F4NP-SK$NPDoROCgLRy$%k1+ck3`zOB%sHjRuq1KNS^0TI+S-77W+N`(iSEX_oIcF%(PWVBEN1Um} zJPPt<$AmK()`dGaK_O>qsv^uDkRz+)(hcpauxm!ko|YEPHm|HadEI->bku5~DA09Y z%c@ngz`hqy-E21^Nr_*^VdjpHOPncfh)bJ~#Q)IgyF%h)>pUwD85tRQMa9U{!*R(mvr;)J^nT{GP$XewKDK3^#e1%D;{f_uDF@6IJMHh}YTvmx+Rl zPuSPEF5w@=fhxG+ge79GC1kV_9D6h0&rXwYsHnJKv@m&6XWOuUV!+S+-K{~u{f_j; zg6)CM!ht%2lCVfRV0mEkc;D7fU2okb1lq%!=*ivVbBISjTcpczb9h)V#S2nVAwgI0 zfAOU@*9NP(cT9Lm;wGT%;K)T+pB#?l@3-C3``a(EvHWb~q{De6Pu`o;Sw(?y- z$yqoJ10_;B7xS;$3>lA(5KLAdcz&Pwqmu}<}JK|O#FQC zo6JQhsU&yQNoAD1M6b(}Add6EmZct6XpxToMn^mEl@nCLLceaZ7c}>qYY-;Z%+2eI z!U8>%Cje0`QxSP}jL}8hBlg5Lp8uM_DKybfNq)kbWIriS<2ZJoCZx5Vu^EP!x&mvd z%wIX~g)oHceC&<9esHjYDWSOJ-?mWsHX)?$EuEFu>5ptT=ssK!bV4>u9XmdT078`! zbpHz#WIoD3IYbkYR8v!5&GKM${*EB{d*CUg(UV&h3os96sAlO}I^`+0;(r*o(QuQZ zUA8^dF}MK(c5?4A(kEX`OjUemn%(Hn2HJ3 zXSOVXR^7-y+(*udRSpgNb)$@awOk` zuyHkHwvsD>=C_$ov!P*Y=HGc9zcKA#x_9YB!+H!@BS=;#W@=`ZSQpKzfD+^)h@7-g zkUJ`wwIFmHi_rZDaD>O?id|juoBsC(`!@@X?xo*_d}kZvc0Ld-H$9M(Q`(%XX0kXk zY^ZW!R)tHvX4an2(A(9s(q1t5OKLJzNwreMyw1c28m2Z#mn>3pSeDX z%7xRH*>IxpkR?n>rJb=A3B4duiVpOP?3Lbr3j)Ple$Dc);!Dp2q{CjZDSTHu&hmKX zcO_?-ndAZ8oNFf+3b7Z!RHmGMQ$Wt^ddp;a4QEli_K>h2Bt~i!4&+eq59DO<{bPP9 zXj_Mq_Qg>oPWp^+t_|}I>sJA52xA-#Ctw`cFyWVp4Yk_KtvJ9sAsAiB%Z&aXt0B7! z+TICzhcEfR{&Av7c8mH0V!xv^50`WPGH;&r%^J)sTIJcehN;om*?%Vyc>>0$gfKC^ zUl90vnamVk#cO8ry)<%qs0?2lD0&JLPpM9F9y$U7{yN+XP?#ga!cuMZ`|nXwNQ=1# zw+A^l$G>Wc(B;1}p~qRHpcb^eQqJKh6n0M%r|eMhA$qOy0i3ZIGFs`k0&?==EO8L) z8w$sCKB6tui;in9nvqc&`zL!B%fH|Jz2}pz_g@!uK%Iop5;xs2L2Tfe=rdN8er`UB zG4G9BxLa&~KT!z7tND|!OW5|f=DkbAqvwi+vP<&vPtfUaKO=x4IRI2o&hfkMKd%EwQ0vX8w4~WL#YtPOuhB6+y9I`JPu%W&`t2w} zpiQxgcblAqKD|`VejO-oqud<4{NEv8wM#$VuG8GdgWA>ad$GvOteTw!c<6x&)6RU; z&JXIJU*I%2t_IaOEE{{B?$9;4A3}iWqp&+(kd-nEby|M|IKV28pT_U6cMCVCbY3Up ziCs$Mef~T(jtsP?Ya^iNY>o*3Oah#*<_x0t{`-kLAX0JwoiPz8j{7%o3UVNolXEbI zeZrSt!T^5^uJLM@8?&p5o+Tx*X!N`ntDyR}jtY3+~pF=R-v8z#Nf>f{s48 z9w*N6KSGt_@mlvLT;&BM)ecX^cW@cLmeb`v)hTm@O#=f28_)zMW&nImoSf9$_OP8P z(>j)dt*a5vZh5(39Dnq|f<9}BWDaR(`H#(-!q%BLej#krQpDOkd%TZ1Xf z=9j7C_)6&b>A;dZKV4cfm9}<8C)2Q+u*IO|-Dec5Ki?PuY}&iUs4DXHySsg#F6>c8 zDdr=fg#9lW%Xsw2nSg-6=3g=vEi3E5)g!o&<-I%3RKFc=rXWv1I<$scDSUG>_%Q@| zo#!_)hFWCIMpyWKtsP7o5Q=%+Kho0Dl#!CNv&*E`Szl#OS2t0vMOGj*x$SS=V*iBI zSSJ=xg&!j0iR5nB= zEkq+=rS(zL6SWQ&zc5^?aVVYPB{{F<8yjSfOJL79t^G!E1gAvsXv7THBX;5uJzp?m zcVLxaKYG^JfE_ZEv2Hh(7uwa^Yb&37eP~@=cB3!|iKkbT4@Og;Tg}d<5O~EyS!R=_ zBqwJt8I6|*#43`*KSmY<;UQ_pp;!+mH;pRILiPRN+~^1q@6L)Oh35yYw>=Yp{0l3% zJnp5jEyN2M@{Bu9DFc+aTwB|ISyRnRhgc8L*4wPoGX`Y4d)(~q&pxvAV&gm4wyzE~ zA#CBaqNI}z&NP(UIS4fAn2&yTMx6L=B%`x*2^cxBxYx2nk6{nbYo+-!QHXaoB8;nK z_7ghU+uW{rR3mXxIA3$XRb1RudO&jqykdK%$vT|L($65LXf~Stk%G5SbTbg?uWS~G z%dSKy5TsX?Z)u2UH!d>*!du7xGLShGUdxf32C>$AZ6oWG-v9Re>sop$MeXw{kCYwq z6jp!#+Tp6fMT7-j&4h!#X(jFyC>3lV(G!u`j|^QEE8-hyWJa; zIGDk&bhX+!cLlVi5a{PO!yj!dzHk_`S$SQg{8GtcEHM&3l)XSfYx=z22di-;YmP~O zMwT6n2qVLeB^P}m9`f?Y14;vdN%Xg_UrR}iB4rQ9qd&Z zcbcKd{wT>ca5nNs&v;oCx04HV1n5Y0O5(c!Z*?k-r?5k$xn(vL|r zLYiL%P>8Z5NY~dlYdXifzPm&Bb=;38jZgcI77L)#&n8B*r&i?^I>Wws+oM8W(J}~D zg_Y}7zxbk(^_4zc`5>+BBX(lv8e3dxMC7xfYim>-ias922xWq%o*1bzgmVF4-Nw~ z78?DGI7*G4TIkn8Fv5h5JLo0L$v6BA4;IKDAE<}ux#sX!3rtR3K2X8 zTTsne+pe}K4p-WBm9UYeI*d*urMcjB*o;v5G=zwzk^6)gc=W&*|BJ;A&L;$7^y(3| zt$KET5Wx%`TD&<|W5Zm{Nd^LLB*@rTUBemtzEySr6XZ)2zi#u3o#vfc=(mFbs;Azt z*>miQnmp=9tDuXTzWzr|mqd?55GgG9a5Zknj^BPk7j&enKA_Bd0q;eO*uNx)JCnKZ zfb+0tYeIcM(g!LlBd~Lku5Ub%aYVc?v!WXOvTq29uv|*Wkvm z#sGs^a;xvnz-nh06DzACs6}7)1M~A4cV{aVDP`a%4^JP2h>_EJ;Qhj;3ZTOuaKm>qOCC4v64;Uii6Vq-JdMG zXmZ{cUKdBDN5Ag=-0&WTHJus4&L{nVy=?<%%RgoWKFrtJD#bi{{%oHh1RtEUTq>`G zb<|(s;SV317W8Vd$s-l2Q3!A~;alZQ0kuK#Tt3{cH#d_@4@g$Xf3^oAqq_xfCk$xrp_`6EsY-e_k^I1D!^ga=h%~uix9Fg9{BVQ(0~? z{2j^sT`VFZ3+G<$Dbh{&F1jBa+m8{bgj|1kKCY@=_cp%)X2^OPIOp)>yLHCg#7@3^z!V?f9_`3@Y)o^p=>rPaM$)bec!o;M!U2tE=c&o3s+q%_I zT0$`nv}H#IsmvZa<+W8;ZF~PIj2Z$~XV=}ZzR7i0{m&AX>fy%=QYr&GDl=u^I)z$* zCfp{g9mjV&%VPtCwX0tknI))ar)QB5pXS@a>aOpWynhZ)q6v9&9T9NYWeK_Q_*&Iw zHyj?!JIvP!>aT$d^&7McSWMgEM@$Pjo5OVA1N0!~J6*q^6ec>qsP~r9wh@@hs?V5dMsSmI zB(V74P0UYjRTi1Z=Nrkl8;Pp#FfIL3>T-em))^ZGJAymj7o*@Y@YWU1P2)Trvu^n9@%;LD3-oz;p-_FY*SIX&!*QV;)KogBqXRJzlL*Mlam{%*wW&_0P&n z>j(eH6u>1o4VBdA)l_??s6sZ&uCt2Mz%D8Y?qu~R*pvdVzA-&IswZ#SWNoIaFJQ)C zSCYaCy}a~fN7&-1_B0Mqp+1eI*pS`D{5zT?&XGggA8i2VzvjJXjT`K=2PP1sw{Nuh ze`#K~+k;~Q0}2vqXgjUU6W+ijOV_-#PAfSorsHk7HJNlHpy)nzV19%j!!F|Fq9UuGK7nNg~ehO_78|z91@+LbYuA zCKqV{eh~o4BAx^~QfouJJQEH)(|Vas;B%e4UZ}E&n*6FYXxH6)t2;s@XuTfMCvWv0 zYtV()G8!yP9TIUbu)lA*AF*v^I^VJPvuBrmzP*gyp1Bhouutz08*Nw=1A^v%F~MKb zP+BR3S7agqPyu15G*|fNO(q52K(@I!;E3T3@;U@i7XQsHAO4h5NahwRwg67LR0W!| zVE*sN17Y_6q#0Slkrg^I^ulL^;1-|z&Jy$g9|g{D{Cn~91A{2E^fMi z?*JgdzqE^g?*Px`|2i(5OZaz=`;USDZucJ>!^g{)KWV$e;N$CHiF^b89|A!^Rz;>v I$|UIj07#A + + + + + + + + + MANIFEST FILE + + + contentUnit + @dmdID + metadataObject + @ID + + + metadataObject + @ID + + + @pdiID + + + xmlData + + + safe elements + + + + + + + metadataWrap + xmlData + safe:processing + + + + + + + metadataWrap + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Information-Model.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Information-Model.png new file mode 100755 index 0000000000000000000000000000000000000000..a77c49f5e53a2be7a0d1a4e6aee5966cd859fd90 GIT binary patch literal 21177 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 Kv>N+>)c*m~B*JR| literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Information-Model.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Information-Model.svg new file mode 100755 index 0000000..88b8dde --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Information-Model.svg @@ -0,0 +1,1043 @@ + + + + + + + + + + + + + + + + + + Page-1 + + + + + + + + + + + + + + + Package + + Sheet.2 + + + + + Name + Sentinel-SAFE Product + + + + Sentinel-SAFE Product + + + + + + + + + + + + + + + + + Object + + Attributes + + + + Name + Product History + + + + + + + Product History + + + + + + + + + + + + + + + + + Object.8 + + Attributes + + + + Name + Acquisition Period + + + + + + + Acquisition Period + + + + + + + + + + + + + + + + + Object.11 + + Attributes + + + + Name + Platform/Instrument Identification + + + + + + + Platform/Instrument Identification + + + + + + + + + + + + + + + + + Object.19 + + Attributes + + + + Name + EO Data + + + + + + + EO Data + + + + + + + + + + + + + + + + + + + + Composition.22 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1..* + + + 1..* + + + + + + + + + + + + + + + + + + + + + + + Link + + end1_name + + + end1_mp + + + + end2_name + * + + + * + + end2_mp + + + + + + + + + + + + + + + + + + + + + + + + Link.14 + + end1_name + 1 + + + 1 + + end1_mp + + + + end2_name + 1 + + + 1 + + end2_mp + + + + + + + + + + + + + + + + + + + + + Object.52 + + Attributes + + + + Name + Metadata + + + + + + + Metadata + + + + + + + + + + + + + + + + + Object.55 + + Attributes + + + + Name + Orbital Information + + + + + + + Orbital Information + + + + + + + + + + + + + + + + + Object.58 + + Attributes + + + + Name + Frame Set + + + + + + + Frame Set + + + + + + + + + + + + + + + + + Object.61 + + Attributes + + + + Name + Grid Reference + + + + + + + Grid Reference + + + + + + + + + + + + + + + + + Object.64 + + Attributes + + + + Name + Quality Information + + + + + + + Quality Information + + + + + + + + + + + + + + + + + Object.67 + + Attributes + + + + Name + Fixity Information + + + + + + + Fixity Information + + + + + + + + + + + + + + + + + Object.70 + + Attributes + + + + Name + Representation Information + + + + + + + Representation Information + + + + + + + + + + + + + + + + + Object.73 + + Attributes + + + + Name + Index + + + + + + + Index + + + + + + + + + + + + + + + + + + + + Binary Association + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + * + + + * + + + + + + + + + + + + + + + + + + + + + + + Binary Association.81 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 0..1 + + + 0..1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.86 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + * + + + * + + + + + + + + + + + + + + + + + + + + + + + Binary Association.91 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 0..1 + + + 0..1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.96 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.101 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 0..1 + + + 0..1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.106 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 0..1 + + + 0..1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.111 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 0..1 + + + 0..1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.37 + + end1_name + + + end1_mp + * + + + * + + end2_name + + + end2_mp + 0..1 + + + 0..1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.42 + + end1_name + + + end1_mp + * + + + * + + end2_name + + + end2_mp + 0..1 + + + 0..1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.116 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Link.121 + + end1_name + + + end1_mp + + + + end2_name + * + + + * + + end2_mp + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Logical-Model.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Logical-Model.png new file mode 100755 index 0000000000000000000000000000000000000000..785e3725c4d85994075c950ec46772a134df0d9f GIT binary patch literal 29721 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 KQZ84t2>xHOw;gT( literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Logical-Model.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Logical-Model.svg new file mode 100755 index 0000000..63bca61 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Logical-Model.svg @@ -0,0 +1,708 @@ + + + + + + + + + + + + + + + + + + Page-1 + + + + + + + + + + + + + + + Package + + Sheet.2 + + + + + Name + Sentinel-SAFE Product + + + + Sentinel-SAFE Product + + + + + + + + + + + + + + + + + Object.52 + + Attributes + + + + Name + Sentinel-SAFE Product Content Unit + + + + + + + Sentinel-SAFE Product Content Unit + + + + + + + + + + + + + + + + + Object.19 + + Attributes + + + + Name + Sentinel-SAFE Content Unit + + + + + + + Sentinel-SAFE Content Unit + + + + + + + + + + + + + + + + + Object.5 + + Attributes + + + + Name + Metadata Object + + + + + + + Metadata Object + + + + + + + + + + + + + + + + + Object.8 + + Attributes + + + + Name + Data Object + + + + + + + Data Object + + + + + + + + + + + + + + + + + Object.11 + + Attributes + + + + Name + XFDU Content Unit + + + + + + + XFDU Content Unit + + + + + + + + + + + + + + + Generalization + + Discriminator + + + + + + + + + + + + + + + + + + + Generalization.29 + + Discriminator + + + + + + + + + + + + + + + + + + + + + + + + Binary Association + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 2..* + + + 2..* + + + + + + + + + + + + + + + + + + + + + + + Binary Association.14 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.22 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1..* + + + 1..* + + + + + + + + + + + + + + + + + + + + + + + Binary Association.31 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 0..1 + + + 0..1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.41 + + end1_name + + + end1_mp + 1..* + + + 1..* + + end2_name + + + end2_mp + 0..* + + + 0..* + + + + + + + + + + + + + + + Note + + Sheet.47 + + + Name + Product History Platform/Instrument Identification Acquisitio... + + + + Product HistoryPlatform/Instrument IdentificationAcquisition Period (optional)Any other metadata + + + + + + + + + + + + Note.49 + + Sheet.50 + + + Name + Acquisition Period (optional) Platform/Instrument Identificat... + + + + Acquisition Period (optional)Platform/Instrument Identification (optional)Orbit Information (optional)Frame Set (optional)Grid Reference (optional)Quality Information (optional)Representation Information (optional)Index (optional) + + + + + + + + + + + + Note.55 + + Sheet.56 + + + Name + Fixity Information + + + + Fixity Information + + + + + + + + + + + + + + + + + + + + Link + + end1_name + + + end1_mp + + + + end2_name + + + end2_mp + + + + + + + + + + + + + + + + + + + + + + + + Link.63 + + end1_name + + + end1_mp + + + + end2_name + + + end2_mp + + + + + + + + + + + + + + + + + + + + + + + + Link.68 + + end1_name + + + end1_mp + + + + end2_name + + + end2_mp + + + + + + + + + + + + + + + + + + + + + + + + Link.73 + + end1_name + + + end1_mp + + + + end2_name + + + end2_mp + + + + + + + Sheet.78 + + + + + Sheet.79 + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Manifest-File-Physical-Model.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Manifest-File-Physical-Model.png new file mode 100755 index 0000000000000000000000000000000000000000..2cc2281df42838ce728a8822580984d87d2f610c GIT binary patch literal 13638 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 + + + + + + + + + + + + + + + + + + + + + + + Page-1 + + + + + + + + + + + + + + + Package + + Sheet.3 + + + + + Name + Sentinel-SAFE Product + + + + Sentinel-SAFE Product + + + + + + + + + + + + + + + + + + Class + + Sheet.9 + + + Sheet.10 + + + Sheet.11 + + + Sheet.12 + + + Operations + + + + Attributes + + + Name + Information Package Map + + + + Information Package Map + + Parameters + + + + + + + + + + + + + + + + + + + Class.5 + + Sheet.6 + + + Sheet.7 + + + Sheet.17 + + + Sheet.18 + + + Operations + + + + Attributes + + + Name + Content Unit + + + + Content Unit + + Parameters + + + + + + + + + + + + + + + + + + + Class.23 + + Sheet.24 + + + Sheet.25 + + + Sheet.26 + + + Sheet.27 + + + Operations + + + + Attributes + + + Name + Content Unit + + + + Content Unit + + Parameters + + + + + + + + + + + + + + + + + + + + + Binary Association + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.37 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.42 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 0..* + + + 0..* + + + + + + + + + + + + + + + + + + + + + Class.47 + + Sheet.48 + + + Sheet.49 + + + Sheet.50 + + + Sheet.51 + + + Operations + + + + Attributes + + + Name + Metadata Section + + + + Metadata Section + + Parameters + + + + + + + + + + + + + + + + + + + Class.56 + + Sheet.57 + + + Sheet.58 + + + Sheet.59 + + + Sheet.60 + + + Operations + + + + Attributes + + + Name + metadataObject + + + + metadataObject + + Parameters + + + + + + + + + + + + + + + + + + + Class.65 + + Sheet.66 + + + Sheet.67 + + + Sheet.68 + + + Sheet.69 + + + Operations + + + + Attributes + + + Name + Data Section + + + + Data Section + + Parameters + + + + + + + + + + + + + + + + + + + Class.74 + + Sheet.75 + + + Sheet.76 + + + Sheet.77 + + + Sheet.78 + + + Operations + + + + Attributes + + + Name + dataObject + + + + dataObject + + Parameters + + + + + + + + + + + + + + + + + + + + + Binary Association.83 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.88 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 2..* + + + 2..* + + + + + + + + + + + + + + + + + + + + + + + Binary Association.93 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 2..* + + + 2..* + + + + + + + + + + + + + + + + + + + + + + + Binary Association.98 + + end1_name + + + end1_mp + 1..* + + + 1..* + + end2_name + + + end2_mp + 0..* + + + 0..* + + + + + + + + + + + + + + + + + + + + + + + Binary Association.103 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Binary Association.108 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + * + + + * + + + + + + + + + + + + + + + + + + + + + + + Binary Association.113 + + end1_name + + + end1_mp + 0..* + + + 0..* + + end2_name + + + end2_mp + 0..* + + + 0..* + + + + + + + + + + + + + + + + + + + + + + + Binary Association.118 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 0..1 + + + 0..1 + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Objects-Physical-Model.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Objects-Physical-Model.png new file mode 100755 index 0000000000000000000000000000000000000000..9c06dcf93a5a7b4bd88df3bc62cd5cacb5541ece GIT binary patch literal 29588 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 literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Objects-Physical-Model.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Objects-Physical-Model.svg new file mode 100755 index 0000000..d2482a5 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Objects-Physical-Model.svg @@ -0,0 +1,1105 @@ + + + + + + + + + + + + + + + + + + Page-1 + + + + + + + + + + + + + + + Package.123 + + Sheet.124 + + + + + Name + Sentinel-SAFE Product + + + + Sentinel-SAFE Product + + + + + + + + + + + + + + + Package.126 + + Sheet.127 + + + + + Name + Sentinel-SAFE Object + + + + Sentinel-SAFE Object + + + + + + + + + + + + + + + Package.130 + + Sheet.131 + + + + + Name + Metadata Object + + + + Metadata Object + + + + + + + + + + + + + + + Package.133 + + Sheet.134 + + + + + Name + Data Object + + + + Data Object + + + + + + + + + + + + + + + Package.136 + + Sheet.137 + + + + + Name + Wrapped Metadata Object + + + + Wrapped Metadata Object + + + + + + + + + + + + + + + Package.140 + + Sheet.141 + + + + + Name + Referenced Metadata Object + + + + Referenced Metadata Object + + + + + + + + + + + + + + + Package.143 + + Sheet.144 + + + + + Name + Metadata Object + + + + Metadata Object + + + + + + + + + + + + + + + Package.146 + + Sheet.147 + + + + + Name + XML Schema Object + + + + XML Schema Object + + + + + + + + + + + + + + + Package.129 + + Sheet.139 + + + + + Name + Metadata Component + + + + Metadata Component + + + + + + + + + + + + + + + Package.150 + + Sheet.151 + + + + + Name + XML Schema Component + + + + XML Schema Component + + + + + + + + + + + + + + + Package.154 + + Sheet.155 + + + + + Name + Data Component + + + + Data Component + + + + + + + + + + + + + + + Package.157 + + Sheet.158 + + + + + Name + Metadata Component + + + + Metadata Component + + + + + + + + + + + + + + + Package.160 + + Sheet.161 + + + + + Name + Component + + + + Component + + + + + + + + + + + + + + + + + + + + Composition + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + * + + + * + + + + + + + + + + + + + + + + + + Generalization + + Discriminator + + + + + + + + + + + + + + + + + + + Generalization.170 + + Discriminator + + + + + + + + + + + + + + + + + + + Generalization.174 + + Discriminator + + + + + + + + + + + + + + + + + + + Generalization.172 + + Discriminator + + + + + + + + + + + + + + + + + + + Generalization.176 + + Discriminator + + + + + + + + + + + + + + + + + + + Generalization.178 + + Discriminator + + + + + + + + + + + + + + + + + + + Generalization.180 + + Discriminator + + + + + + + + + + + + + + + + + + + Generalization.184 + + Discriminator + + + + + + + + + + + + + + + + + + + Generalization.186 + + Discriminator + + + + + + + + + + + + + + + + + + + Generalization.188 + + Discriminator + + + + + + + + + + + + + + + + + + + Generalization.190 + + Discriminator + + + + + + + + + + + + + + + + + + + Package.192 + + Sheet.193 + + + + + Name + metadataObject + + + + metadataObject + + + Sheet.199 + or + + + + or + + + + + + + + + + + + + + Generalization.3 + + Discriminator + + + + + + + + + + + + + + + + + + + Package.5 + + Sheet.6 + + + + + Name + dataObject + + + + dataObject + + + + + + + + + + + + + + + + + + + + Composition.8 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.13 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.18 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.2 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.27 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.32 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.37 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Composition.42 + + end1_name + + + end1_mp + 1 + + + 1 + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Objects.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Objects.png new file mode 100755 index 0000000000000000000000000000000000000000..2801d74709d403c031df3b338402332794ba62c8 GIT binary patch literal 36168 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 + + + + + + + + + + + + + + + + + + + + Page 1 + + + + + + + + + + + + + + + Package.168 + + Feuille.169 + + + + Name + SAFE Product + + + + + SAFE Product + + + + + + + + + + + + + + + + + + Class.1 + + Attributes + + + + Name + SAFE Object + + + + + SAFEObject + + + + + + + + + + + + + + + + + + Class.235 + + Attributes + + + + Name + Data Component + + + + + DataComponent + + + + + + + + + + + + + + + + + + Dynamic Connector.295 + + end2_mp + 1..* + + + + 1..* + + + + + + + + + + + + + + + + + + Generalization.280 + + + + + + + + + + + + + + + + + + Generalization.282 + + + + + + + + + + + + + + + + + + Generalization.284 + + + + + + + + + + + + + + + + + + Generalization.303 + + + + + + + + + + + + + + + + + + + + + Dynamic Connector.321 + + end2_mp + 1 + + + + 1 + + + + + + + + + + + + + + + + + + + + + Class.104 + + Attributes + + + + Name + Metadata Object + + + + + MetadataObject + + + + + + + + + + + + + + + + + + Class.341 + + Attributes + + + + Name + Data Object + + + + + DataObject + + + + + + + + + + + + + + + + + + Class.189 + + Attributes + + + + Name + Wrapped Metadata Object + + + + + WrappedMetadata Object + + + + + + + + + + + + + + + + + + Class.203 + + Attributes + + + + Name + Referenced Metadata Object + + + + + ReferencedMetadata Object + + + + + + + + + + + + + + + + + + Class.217 + + Attributes + + + + Name + XML Schema Object + + + + + XML SchemaObject + + + + + + + + + + + + + + + + + + Class.350 + + Attributes + + + + Name + Metadata Object + + + + + MetadataObject + + + + + + + + + + + + + + + + + + Class.368 + + Attributes + + + + Name + metadataObject + + + + + metadataObject + + + + + + + + + + + + + + + + + + Class.377 + + Attributes + + + + Name + dataObject + + + + + dataObject + + + + + + + + + + + + + + + + + + Class.395 + + Attributes + + + + Name + Metadata Component + + + + + MetadataComponent + + + + + + + + + + + + + + + + + + Class.404 + + Attributes + + + + Name + XML Schema Component + + + + + XML SchemaComponent + + + + + + + + + + + + + + + Generalization.123 + + + + + + + + + + + + + + + + + + Generalization.125 + + + + + + + + + + + + + + + + + + + + + Dynamic Connector.127 + + end2_mp + 1 + + + + 1 + + + + + + + + + + + + + + + + + + + + + Dynamic Connector.134 + + end2_mp + 1 + + + + 1 + + + + + + + + + + + + + + + + + + + + + Dynamic Connector.139 + + end2_mp + 1 + + + + 1 + + + + + + + + + + + + + + + + + + + + + Dynamic Connector.144 + + end2_mp + 1 + + + + 1 + + + + + + + + + + + + + + + + + + + + + Dynamic Connector.149 + + end2_mp + 1 + + + + 1 + + + + + + + + + + + + + + + + + + + + + Dynamic Connector.175 + + end2_mp + 1 + + + + 1 + + + + + + + + + + + + + + + + + + Generalization.4 + + + + + + + + + + + + + + + + + + + + + Class.6 + + Attributes + + + + Name + Metadata Component + + + + + MetadataComponent + + + + + + + + + + + + + + + + + + Class.15 + + Attributes + + + + Name + Component + + + + + Component + + + + + + + + + + + + + + + Generalization.24 + + + + + + + + + + + + + + + + + + Generalization.26 + + + + + + + + + + + + + + + + + + Generalization.28 + + + + + + + + + + + + + + + + + + Generalization.30 + + + + + + Sheet.192 + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Physical-Model.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/model/Sentinel-SAFE-Physical-Model.png new file mode 100755 index 0000000000000000000000000000000000000000..01f574535cac89a4c205a08759c6c5dad82599de GIT binary patch literal 32943 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 + + + + + + + + + + + + + + + + + Page-1 + + + + + + + + + + + + + + + Package + + Sheet.12 + + + + + Name + Sentinel-SAFE Product + + + + Sentinel-SAFE Product + + + + + + + + + + + + + Component + + Sheet.2 + + + + Sheet.3 + + + + + Sheet.4 + + + + + Name + Manifest XML file . + + + + Manifest XML file . + + + + + + + + + + + + + Component.6 + + Sheet.7 + + + + Sheet.8 + + + + + Sheet.9 + + + + + Name + Data/Metadata Components - (binary, TIFF, JPEG 2000 etc.) + + + + Data/Metadata Components - (binary, TIFF, JPEG 2000 etc.) + + + + + + + + + + + + + Component.15 + + Sheet.16 + + + + Sheet.17 + + + + + Sheet.18 + + + + + Name + XML Schema Components . + + + + XML Schema Components . + + + + + + + + + + + + + + + + + + + + Communicates + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + 1 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + Communicates.25 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + * + + + * + + + + + + + + + + + + + + + + + + + + + + + Communicates.30 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + * + + + * + + + + + + + + + + + + + + + Note + + Sheet.38 + + + Name + - Information Package Map (Content Units) - Metadata Objects ... + + + + - Information Package Map (Content Units)- Metadata Objects - Acquisition Period - Platform/Instrument Indentification - Product History - Orbit Information - Frame Set - Grid Reference - Quality Information - Reference to Representation Information - Reference to Index - Any other Metadata- Data Object(s) - Fixity Information - Reference to component(s) + + + + + + + + + + + + + + + + + + Dynamic Connector + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + + + + + + + + + + + + + + + + + + + + + + Dynamic Connector.35 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + + + + + + + + + + + + + + + + + + + + + + Dynamic Connector.48 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + + + + + + + Sheet.53 + URL + + + + URL + + + + + + + + + + + Note.54 + + Sheet.55 + + + Name + Referenced/external Metadata or Data Components + + + + Referenced/external Metadata or Data Components + + + + + + + + + + + + + + + + + + Dynamic Connector.57 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + + + + + + + + + + + + + + + + Note.62 + + Sheet.63 + + + Name + Optional Representation information is provided as external X... + + + + Optional Representation information isprovided as external XML Schema Components + + + + + + + + + + + + + + + + + + Dynamic Connector.65 + + end1_name + + + end1_mp + + + end2_name + + + end2_mp + + + + + + + Sheet.70 + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/notation.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/notation.xsd new file mode 100755 index 0000000..fa2b607 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/notation.xsd @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/physicalModel.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/physicalModel.png new file mode 100755 index 0000000000000000000000000000000000000000..03f0da1f00ecb720a7d0a529988a756a52514d49 GIT binary patch literal 20732 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 literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/physicalModel.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/physicalModel.svg new file mode 100755 index 0000000..7d53e52 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/physicalModel.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + Manifest (XML) + + + + SAFE + (XML Schema) + + + + + + + + + + + + Data Object + (Binary or XML) + + + + Data Object + description + (XML Schema) + references + describes + describes + 0..* + 1..* + 1 + + + + references + 0..* + + + + + + + + + + + 1 + XFDU and SAFE + (XML Schemas) + imports + + + + * + SAFE Product + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/save.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/save.png new file mode 100755 index 0000000000000000000000000000000000000000..5b5b0a4ce471cc0705b82e2546d8e9d9c7d4b297 GIT binary patch literal 49005 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 literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/save.svg b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/save.svg new file mode 100755 index 0000000..944bb16 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/save.svg @@ -0,0 +1,379 @@ + + + + + + + + + + Page-1 + + + Sheet.1 + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/sdf-block-complex-content.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/sdf-block-complex-content.png new file mode 100755 index 0000000000000000000000000000000000000000..d29c3df4c8ed9fdc63af71fcd0d41056e5ff5355 GIT binary patch literal 11301 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 literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/sdf-block-content.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/media/sdf-block-content.png new file mode 100755 index 0000000000000000000000000000000000000000..edeb9e859ca9584f12cbd40495c4c8e2f6ae34e8 GIT binary patch literal 13550 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 literal 0 HcmV?d00001 diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/appendix/fdl-1.3.xml b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/appendix/fdl-1.3.xml new file mode 100755 index 0000000..a594309 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/appendix/fdl-1.3.xml @@ -0,0 +1,559 @@ + + GNU Free Documentation License + Version 1.3, 3 November 2008 + + Copyright © 2000, 2001, 2002, 2007, 2008 + Free Software Foundation, Inc. + + + Everyone is permitted to copy and distribute verbatim copies of this + license document, but changing it is not allowed. + + + 0. PREAMBLE + + + The purpose of this License is to make a manual, textbook, or other + functional and useful document “free” in the sense of freedom: + to assure everyone the effective freedom to copy and redistribute it, with + or without modifying it, either commercially or + noncommercially. Secondarily, this License preserves for the author and + publisher a way to get credit for their work, while not being considered + responsible for modifications made by others. + + + This License is a kind of “copyleft”, which means that + derivative works of the document must themselves be free in the same + sense. It complements the GNU General Public License, which is a copyleft + license designed for free software. + + + We have designed this License in order to use it for manuals for free + software, because free software needs free documentation: a free program + should come with manuals providing the same freedoms that the software + does. But this License is not limited to software manuals; it can be used + for any textual work, regardless of subject matter or whether it is + published as a printed book. We recommend this License principally for + works whose purpose is instruction or reference. + + + 1. APPLICABILITY AND DEFINITIONS + + + This License applies to any manual or other work, in any medium, that + contains a notice placed by the copyright holder saying it can be + distributed under the terms of this License. Such a notice grants a + world-wide, royalty-free license, unlimited in duration, to use that work + under the conditions stated herein. The “Document”, below, + refers to any such manual or work. Any member of the public is a licensee, + and is addressed as “you”. You accept the license if you copy, + modify or distribute the work in a way requiring permission under + copyright law. + + + A “Modified Version” of the Document means any work containing + the Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + + A “Secondary Section” is a named appendix or a front-matter + section of the Document that deals exclusively with the relationship of + the publishers or authors of the Document to the Document’s overall + subject (or to related matters) and contains nothing that could fall + directly within that overall subject. (Thus, if the Document is in part a + textbook of mathematics, a Secondary Section may not explain any + mathematics.) The relationship could be a matter of historical connection + with the subject or with related matters, or of legal, commercial, + philosophical, ethical or political position regarding them. + + + The “Invariant Sections” are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in the notice + that says that the Document is released under this License. If a section + does not fit the above definition of Secondary then it is not allowed to + be designated as Invariant. The Document may contain zero Invariant + Sections. If the Document does not identify any Invariant Sections then + there are none. + + + The “Cover Texts” are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says + that the Document is released under this License. A Front-Cover Text may + be at most 5 words, and a Back-Cover Text may be at most 25 words. + + + A “Transparent” copy of the Document means a machine-readable + copy, represented in a format whose specification is available to the + general public, that is suitable for revising the document + straightforwardly with generic text editors or (for images composed of + pixels) generic paint programs or (for drawings) some widely available + drawing editor, and that is suitable for input to text formatters or for + automatic translation to a variety of formats suitable for input to text + formatters. A copy made in an otherwise Transparent file format whose + markup, or absence of markup, has been arranged to thwart or discourage + subsequent modification by readers is not Transparent. An image format is + not Transparent if used for any substantial amount of text. A copy that is + not “Transparent” is called “Opaque”. + + + Examples of suitable formats for Transparent copies include plain ASCII + without markup, Texinfo input format, LaTeX input format, SGML or XML + using a publicly available DTD, and standard-conforming simple HTML, + PostScript or PDF designed for human modification. Examples of transparent + image formats include PNG, XCF and JPG. Opaque formats include proprietary + formats that can be read and edited only by proprietary word processors, + SGML or XML for which the DTD and/or processing tools are not generally + available, and the machine-generated HTML, PostScript or PDF produced by + some word processors for output purposes only. + + + The “Title Page” means, for a printed book, the title page + itself, plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For works in + formats which do not have any title page as such, “Title Page” + means the text near the most prominent appearance of the work’s + title, preceding the beginning of the body of the text. + + + The “publisher” means any person or entity that distributes + copies of the Document to the public. + + + A section “Entitled XYZ” means a named subunit of the Document + whose title either is precisely XYZ or contains XYZ in parentheses + following text that translates XYZ in another language. (Here XYZ stands + for a specific section name mentioned below, such as + “Acknowledgements”, “Dedications”, + “Endorsements”, or “History”.) To “Preserve + the Title” of such a section when you modify the Document means that + it remains a section “Entitled XYZ” according to this + definition. + + + The Document may include Warranty Disclaimers next to the notice which + states that this License applies to the Document. These Warranty + Disclaimers are considered to be included by reference in this License, + but only as regards disclaiming warranties: any other implication that + these Warranty Disclaimers may have is void and has no effect on the + meaning of this License. + + + 2. VERBATIM COPYING + + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the copyright + notices, and the license notice saying this License applies to the + Document are reproduced in all copies, and that you add no other + conditions whatsoever to those of this License. You may not use technical + measures to obstruct or control the reading or further copying of the + copies you make or distribute. However, you may accept compensation in + exchange for copies. If you distribute a large enough number of copies you + must also follow the conditions in section 3. + + + You may also lend copies, under the same conditions stated above, and you + may publicly display copies. + + + 3. COPYING IN QUANTITY + + + If you publish printed copies (or copies in media that commonly have + printed covers) of the Document, numbering more than 100, and the + Document’s license notice requires Cover Texts, you must enclose + the copies in covers that carry, clearly and legibly, all these Cover + Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the + back cover. Both covers must also clearly and legibly identify you as the + publisher of these copies. The front cover must present the full title + with all words of the title equally prominent and visible. You may add + other material on the covers in addition. Copying with changes limited to + the covers, as long as they preserve the title of the Document and satisfy + these conditions, can be treated as verbatim copying in other respects. + + + If the required texts for either cover are too voluminous to fit legibly, + you should put the first ones listed (as many as fit reasonably) on the + actual cover, and continue the rest onto adjacent pages. + + + If you publish or distribute Opaque copies of the Document numbering more + than 100, you must either include a machine-readable Transparent copy + along with each Opaque copy, or state in or with each Opaque copy a + computer-network location from which the general network-using public has + access to download using public-standard network protocols a complete + Transparent copy of the Document, free of added material. If you use the + latter option, you must take reasonably prudent steps, when you begin + distribution of Opaque copies in quantity, to ensure that this Transparent + copy will remain thus accessible at the stated location until at least one + year after the last time you distribute an Opaque copy (directly or + through your agents or retailers) of that edition to the public. + + + It is requested, but not required, that you contact the authors of the + Document well before redistributing any large number of copies, to give + them a chance to provide you with an updated version of the Document. + + + 4. MODIFICATIONS + + + You may copy and distribute a Modified Version of the Document under the + conditions of sections 2 and 3 above, provided that you release the + Modified Version under precisely this License, with the Modified Version + filling the role of the Document, thus licensing distribution and + modification of the Modified Version to whoever possesses a copy of it. In + addition, you must do these things in the Modified Version: + + + + + Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions (which + should, if there were any, be listed in the History section of the + Document). You may use the same title as a previous version if the + original publisher of that version gives permission. + + + + + List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. + + + + + State on the Title page the name of the publisher of the Modified + Version, as the publisher. + + + + + Preserve all the copyright notices of the Document. + + + + + Add an appropriate copyright notice for your modifications adjacent to + the other copyright notices. + + + + + Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. + + + + + Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document’s license + notice. + + + + + Include an unaltered copy of this License. + + + + + Preserve the section Entitled “History”, Preserve its + Title, and add to it an item stating at least the title, year, new + authors, and publisher of the Modified Version as given on the Title + Page. If there is no section Entitled “History” in the + Document, create one stating the title, year, authors, and publisher + of the Document as given on its Title Page, then add an item + describing the Modified Version as stated in the previous sentence. + + + + + Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise the + network locations given in the Document for previous versions it was + based on. These may be placed in the “History” + section. You may omit a network location for a work that was published + at least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. + + + + + For any section Entitled “Acknowledgements” or + “Dedications”, Preserve the Title of the section, and + preserve in the section all the substance and tone of each of the + contributor acknowledgements and/or dedications given therein. + + + + + Preserve all the Invariant Sections of the Document, unaltered in + their text and in their titles. Section numbers or the equivalent are + not considered part of the section titles. + + + + + Delete any section Entitled “Endorsements”. Such a section + may not be included in the Modified Version. + + + + + Do not retitle any existing section to be Entitled + “Endorsements” or to conflict in title with any Invariant + Section. + + + + + Preserve any Warranty Disclaimers. + + + + + If the Modified Version includes new front-matter sections or appendices + that qualify as Secondary Sections and contain no material copied from the + Document, you may at your option designate some or all of these sections + as invariant. To do this, add their titles to the list of Invariant + Sections in the Modified Version’s license notice. These titles + must be distinct from any other section titles. + + + You may add a section Entitled “Endorsements”, provided it + contains nothing but endorsements of your Modified Version by various + parties — for example, statements of peer review or that the text + has been approved by an organization as the authoritative definition of a + standard. + + + You may add a passage of up to five words as a Front-Cover Text, and a + passage of up to 25 words as a Back-Cover Text, to the end of the list of + Cover Texts in the Modified Version. Only one passage of Front-Cover Text + and one of Back-Cover Text may be added by (or through arrangements made + by) any one entity. If the Document already includes a cover text for the + same cover, previously added by you or by arrangement made by the same + entity you are acting on behalf of, you may not add another; but you may + replace the old one, on explicit permission from the previous publisher + that added the old one. + + + The author(s) and publisher(s) of the Document do not by this License give + permission to use their names for publicity for or to assert or imply + endorsement of any Modified Version. + + + 5. COMBINING DOCUMENTS + + + You may combine the Document with other documents released under this + License, under the terms defined in section 4 above for modified versions, + provided that you include in the combination all of the Invariant Sections + of all of the original documents, unmodified, and list them all as + Invariant Sections of your combined work in its license notice, and that + you preserve all their Warranty Disclaimers. + + + The combined work need only contain one copy of this License, and multiple + identical Invariant Sections may be replaced with a single copy. If there + are multiple Invariant Sections with the same name but different contents, + make the title of each such section unique by adding at the end of it, in + parentheses, the name of the original author or publisher of that section + if known, or else a unique number. Make the same adjustment to the section + titles in the list of Invariant Sections in the license notice of the + combined work. + + + In the combination, you must combine any sections Entitled + “History” in the various original documents, forming one + section Entitled “History”; likewise combine any sections + Entitled “Acknowledgements”, and any sections Entitled + “Dedications”. You must delete all sections Entitled + “Endorsements”. + + + 6. COLLECTIONS OF DOCUMENTS + + + You may make a collection consisting of the Document and other documents + released under this License, and replace the individual copies of this + License in the various documents with a single copy that is included in + the collection, provided that you follow the rules of this License for + verbatim copying of each of the documents in all other respects. + + + You may extract a single document from such a collection, and distribute + it individually under this License, provided you insert a copy of this + License into the extracted document, and follow this License in all other + respects regarding verbatim copying of that document. + + + 7. AGGREGATION WITH INDEPENDENT WORKS + + + A compilation of the Document or its derivatives with other separate and + independent documents or works, in or on a volume of a storage or + distribution medium, is called an “aggregate” if the copyright + resulting from the compilation is not used to limit the legal rights of + the compilation’s users beyond what the individual works + permit. When the Document is included in an aggregate, this License does + not apply to the other works in the aggregate which are not themselves + derivative works of the Document. + + + If the Cover Text requirement of section 3 is applicable to these copies + of the Document, then if the Document is less than one half of the entire + aggregate, the Document’s Cover Texts may be placed on covers that + bracket the Document within the aggregate, or the electronic equivalent of + covers if the Document is in electronic form. Otherwise they must appear + on printed covers that bracket the whole aggregate. + + + 8. TRANSLATION + + + Translation is considered a kind of modification, so you may distribute + translations of the Document under the terms of section 4. Replacing + Invariant Sections with translations requires special permission from + their copyright holders, but you may include translations of some or all + Invariant Sections in addition to the original versions of these Invariant + Sections. You may include a translation of this License, and all the + license notices in the Document, and any Warranty Disclaimers, provided + that you also include the original English version of this License and the + original versions of those notices and disclaimers. In case of a + disagreement between the translation and the original version of this + License or a notice or disclaimer, the original version will prevail. + + + If a section in the Document is Entitled “Acknowledgements”, + “Dedications”, or “History”, the requirement + (section 4) to Preserve its Title (section 1) will typically require + changing the actual title. + + + 9. TERMINATION + + + You may not copy, modify, sublicense, or distribute the Document except as + expressly provided under this License. Any attempt otherwise to copy, + modify, sublicense, or distribute it is void, and will automatically + terminate your rights under this License. + + + However, if you cease all violation of this License, then your license + from a particular copyright holder is reinstated (a) provisionally, unless + and until the copyright holder explicitly and finally terminates your + license, and (b) permanently, if the copyright holder fails to notify you + of the violation by some reasonable means prior to 60 days after the + cessation. + + + Moreover, your license from a particular copyright holder is reinstated + permanently if the copyright holder notifies you of the violation by some + reasonable means, this is the first time you have received notice of + violation of this License (for any work) from that copyright holder, and + you cure the violation prior to 30 days after your receipt of the notice. + + + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under this + License. If your rights have been terminated and not permanently + reinstated, receipt of a copy of some or all of the same material does not + give you any rights to use it. + + + 10. FUTURE REVISIONS OF THIS LICENSE + + + The Free Software Foundation may publish new, revised versions of the GNU + Free Documentation License from time to time. Such new versions will be + similar in spirit to the present version, but may differ in detail to + address new problems or concerns. See + Copyleft. + + + Each version of the License is given a distinguishing version number. If + the Document specifies that a particular numbered version of this License + “or any later version” applies to it, you have the option of + following the terms and conditions either of that specified version or of + any later version that has been published (not as a draft) by the Free + Software Foundation. If the Document does not specify a version number of + this License, you may choose any version ever published (not as a draft) + by the Free Software Foundation. If the Document specifies that a proxy + can decide which future versions of this License can be used, that + proxy’s public statement of acceptance of a version permanently + authorizes you to choose that version for the Document. + + + 11. RELICENSING + + + “Massive Multiauthor Collaboration Site” (or “MMC + Site”) means any World Wide Web server that publishes copyrightable + works and also provides prominent facilities for anybody to edit those + works. A public wiki that anybody can edit is an example of such a + server. A “Massive Multiauthor Collaboration” (or + “MMC”) contained in the site means any set of copyrightable + works thus published on the MMC site. + + + “CC-BY-SA” means the Creative Commons Attribution-Share Alike + 3.0 license published by Creative Commons Corporation, a not-for-profit + corporation with a principal place of business in San Francisco, + California, as well as future copyleft versions of that license published + by that same organization. + + + “Incorporate” means to publish or republish a Document, in + whole or in part, as part of another Document. + + + An MMC is “eligible for relicensing” if it is licensed under + this License, and if all works that were first published under this + License somewhere other than this MMC, and subsequently incorporated in + whole or in part into the MMC, (1) had no cover texts or invariant + sections, and (2) were thus incorporated prior to November 1, 2008. + + + The operator of an MMC Site may republish an MMC contained in the site + under CC-BY-SA on the same site at any time before August 1, 2009, + provided the MMC is eligible for relicensing. + + + ADDENDUM: How to use this License for your documents + + + To use this License in a document you have written, include a copy of the + License in the document and put the following copyright and license + notices just after the title page: + + Copyright © YEAR YOUR NAME + +Permission is granted to copy, distribute and/or modify this document under the +terms of the GNU Free Documentation License, Version 1.3 or any later version +published by the Free Software Foundation; with no Invariant Sections, no +Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in +the section entitled “GNU Free Documentation License”. + + If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, + replace the “with… Texts.” line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts +being LIST, and with the Back-Cover Texts being LIST. + + If you have Invariant Sections without Cover Texts, or some other + combination of the three, merge those two alternatives to suit the + situation. + + + If your document contains nontrivial examples of program code, we + recommend releasing these examples in parallel under your choice of free + software license, such as the GNU General Public License, to permit their + use in free software. + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/gml.xml b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/gml.xml new file mode 100755 index 0000000..1094f7e --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/gml.xml @@ -0,0 +1,22 @@ + + + + + + + + http://www.opengis.net/gml: needed for + validating some (i.e. in particular + those requiring Geographical Informations) + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/prefixes.xml b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/prefixes.xml new file mode 100755 index 0000000..9884f78 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/prefixes.xml @@ -0,0 +1,50 @@ + + + + + + + +Recommended Prefixes (informative) + + + + + + PREFIX + NAMESPACE + + + + + + + xfdu + + + urn:ccsds:schema:xfdu:1 + + + + + sentinel-safe + + + http://www.esa.int/safe/sentinel-1.0 + + + + + +
+
diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/sentinel-safe.xml b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/sentinel-safe.xml new file mode 100755 index 0000000..c1f5322 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/sentinel-safe.xml @@ -0,0 +1,21 @@ + + + + + + + + http://www.esa.int/safe/sentinel-1.0: the Sentinel-SAFE + target namespace for all + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/xfdu.xml b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/xfdu.xml new file mode 100755 index 0000000..74e1b9a --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/namespace/xfdu.xml @@ -0,0 +1,21 @@ + + + + + + + + urn:ccsds:schema:xfdu:1: for types + originating from + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/example.png b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/example.png new file mode 100755 index 0000000000000000000000000000000000000000..f52559e2ccbd9894f9515bbfac822d50e2836280 GIT binary patch literal 7517 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 iANHJ}^IwzNmkW}@b + + + + +_anonymous_0 +houseType + + : ns1:houseType + +color : ns1:colorType + + +houseTypeModelGroup + +S + +houseType->houseTypeModelGroup + + + +houseTypeModelGrouplivingRoom +livingRoom : ns1:livingRoomType + +TV : ns1:TVType[0..1] + + +houseTypeModelGroup->houseTypeModelGrouplivingRoom + + + +houseTypeModelGroupchimney +chimney : ns1:chimneyType + + + +houseTypeModelGroup->houseTypeModelGroupchimney + + +0..1 + +houseTypeModelGrouproom +room : ns1:roomType + + + +houseTypeModelGroup->houseTypeModelGrouproom + + +1..* + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/example.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/example.xsd new file mode 100755 index 0000000..a403c9b --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/example.xsd @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/glossary.xml b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/glossary.xml new file mode 100755 index 0000000..01baec8 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/glossary.xml @@ -0,0 +1,457 @@ + + + + + + + + Additional abstract XML Schema + + + An additional abstract XML Schema is not the XML Schema which + describes a or a , but is included by the XML Schema + which describes a or a . + + + An additional abstract XML Schema is a of + a . + + + + + Association + + + Refers to a relationship between s + in a , or other related to a + or the . + + + + + Collection + + + Refers to s that are gathered + together along with a . This is + analogous to files on a file system . + + + + + Component + + + Refers to a file that can be grouped together to be part of a + , or , or . + + + A Component may be a , a , an , etc. + + + + + Content Unit + + + XML Structure that contains pointers to s and associated s, and possibly other Content Units + . + + + + + Data + + + A reinterpretable representation of in a + formalized manner suitable for communication, interpretation, or + processing. Examples of data include a sequence of bits, a table of + numbers, the characters on a page, the recording of sounds made by a + person speaking, or a moon rock specimen . + + + + + Data Component + + + A holding data. + + + + + Data Object + + + An object composed of a set of bit sequences. This + definition has been inherited from the + discarding the case of Physical Object (e.g. Books, Pen, etc.) that is + out of the scope of the present specifications. + + + + + dataObject + + + A dataObject element of a . + + + + + Datatype + + + In specification, a datatype + is a 3-tuple, consisting of: + + + a set of distinct values, called its , + + + a set of lexical representations, called its , + + + a set of s that characterize + properties of the , + individual values or lexical items. + + + + + + + Facet + + + A facet is a single defining aspect of a . Generally speaking, each facet characterizes + a along independent axes or dimensions. + + + The of a serves + to distinguish those aspects of one which + differ from other s. Rather than being + defined solely in terms of a prose description the s in this specification are defined in terms of + the synthesis of facet values which together determine the and properties of the . + + + + + Fixity Information + + + The which documents the authentication + mechanisms and provides authentication keys to ensure that the [...] + object has not been altered in an undocumented manner. An example is a + Cyclical Redundancy Check (CRC) code for a file . + + + + + Information + + + Any type of knowledge that can be exchanged. In an exchange, it is + represented by data. An example is a string of bits (the data) + accompanied by a description of how to interpret a string of bits as + numbers representing temperature observations measured in degrees + Celsius (the ) . + + + + + Lexical Space + + + A lexical space is the set of valid + literals for a datatype . + + + + + Manifest + + + A document containing about s, and the s between them. This is stored as a + , using an + language designed just for this purpose . + + + + + Manifest Type + + + Any type provided by and + contained in a . + + + + + Metadata + + + about other + . + + + + + Metadata Component + + + A holding about + other . + + + + + Metadata Object + + + A that is a for another within the same . + + + + + metadataObject + + + A metadataObject element of a . + + + + + Package + + + A collection that is bundled together, or packaged, into one file + using a defined packaging scheme. All Packages are Collections, but + not all Collections have been packaged, so they are not all Packages + . + + + + + Representation Information + + + The information that maps a into more + meaningful concepts. An example is the ASCII definition that describes + how a sequence of bits (i.e. a ) is + mapped into a symbol . + + + + + Package Interchange File + + + A collection of files that have been bundled together into a single + container that also contains a manifest describing the contained files + and the relationships among those files . + + + + + + Referenced Metadata Object + + + A stored inside + and outside the . + + + + + + + + + SAFE + + + The Standard Archive Format for Europe. + + + + + SAFE Specialisation + + + A SAFE Specialisation is a restriction of the Core specifications for a more specific type + of data. + + + + + Sentinel + + + A series of platform launched or to be launched by European Space + Agency. + + + + + Sentinel SAFE + + + The format conforming the present specifications. + + + + + Sentinel SAFE Manifest + + + A conforming the present + specifications. + + + + + Sentinel SAFE Object + + + Either a or a defined by . + + + + + Sentinel SAFE Product + + + An specialised for the specific use of + Sentinel data. The term of Product has been + selected for historical reason but matches exactly the definition of + an introduced above. + + + + + Sentinel SAFE Specialisation + + + A Sentinel SAFE Specialisation is a restriction of the Core specifications for a more specific type + of data. + + + + + Sentinel SAFE Types + + + Types defined in the + http://www.esa.int/safe/sentinel-1.0 namespace and part + of . + + + + + Value Space + + + A value space is the set of values for a given . Each value in the value space of a is denoted by one or more literals in its . + + + + + + Wrapped Metadata Object + + + A wrapped inside the . + + + + + + + + + XFDU Package + + + A Package Interchange File that contains an XFDU Manifest and is + conformant to the semantics specified in the XFDU Specifications. An + XFDU Package is a specialization of Package Interchange File . + + + + + XFDU Type + + + Type defined in the + urn:ccsds:schema:xfdu:1 namespace and + part of . + + + + + XML Schema Component + + + A holding part or the entire of another . + + + + + XML Schema Object + + + A holding part or the entire of another . + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/type-reference-conventions.xml b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/type-reference-conventions.xml new file mode 100755 index 0000000..dde06fe --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/preface/type-reference-conventions.xml @@ -0,0 +1,217 @@ + + + + +

Conventions Used in the Type Reference Parts + +
General + + All types defined or altered by the present specifications are described in + this book. All other unaltered types such as those from + may not be repeated in the present book and should be considered implicitly + inherited and, therefore, unchanged. + +
+ +
Synopsis + + The Synopsis provides an overview of the described type as a summary table + for simple types or as a like class diagram for + complex ones. Simple type synopsis table reports the base type from witch + the current type could derive, the lexical enumerations and patterns that + may restrict the value content of the type and the facets i.e. type + dependent constrains, including enumerations, fraction-digits, length + extents, inclusive or exclusive bounds and whitespace policy. + + + Complex type like class diagrams provides a + graphical drawing of the elements and attributes that compose it, the + interconnections between all of them including the cardinality i.e. number + of allowed elements, controlling the Complex type structure. + + + + + + + + + + + houseType Content Model Example + + + + + The name of the entity (type, element or attribute) is always: + + element-name[0..1] : namespace-name:element-type-name + + + + Entity Naming in the Synopsis + + + : namespaceN:houseType + room : namespaceN:roomType + + + + +
Referenced Type + + The referenced type is colored (: + namespaceN:houseType in the example). + + + A type can hold attributes (color : + namespaceN:colorType in the example). + + + An attribute can hold a cardinality according to the . + +
+ +
Connector + + If the referenced type is a complex type (i.e. have sub-elements), the + nature of the connector is specified in the yellow circle: + + Connector List + + + + + + Used Abbreviation + Name + + + + + S + xs:sequence + + + C + xs:choice + + + A + xs:all + + + * + xs:any + + + +
+ The connector may hold a cardinality according to the . +
+
+ +
Sub-elements + + Sub-elements are colorless (livingRoom : + namespaceN:livingRoomType, chimney : + namespaceN:chimneyType and room : + namespaceN:roomType in the example). + + + A sub-element can hold attributes (TV : + namespace:TVType in the example). + + + A sub-element can hold a cardinality according to the . + + + An attribute of a sub-element can hold a cardinality according to the + . + +
+ +
Cardinality Notations + + Notation of the cardinality differs for connectors, elements and + attributes: + + Cardinality Notations for Element and Connector + + + + + + Used Notation + Description + + + + + none + one occurrence + + + n + n occurrences + + + * + from 0 to unbounded occurrences + + + 1..* + from 1 to unbounded occurrences + + + n..* + from n to unbounded occurrences + + + +
+ + Cardinality Notations for Attribute + + + + + + Used Notation + Description + + + + + none + use="required" + + + [0..1] + use="optional" + + + +
+
+
+
+ +
diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/qualification/contentUnit.xml b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/qualification/contentUnit.xml new file mode 100755 index 0000000..69a84d6 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/qualification/contentUnit.xml @@ -0,0 +1,21 @@ + + + + + + + All contentUnit elements (children of + informationPackageMap element) are bound to + urn:ccsds:schema:xfdu:1 namespace. + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/qualification/xfdu.xml b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/qualification/xfdu.xml new file mode 100755 index 0000000..4763fa0 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/docbook/int/esa/safe/shared/qualification/xfdu.xml @@ -0,0 +1,21 @@ + + + + + + + The XFDU Root node of the Manifest + file is bound to + urn:ccsds:schema:xfdu:1 namespace. + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xql/int/esa/safe/sentinel-1.0/product-id.xql b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xql/int/esa/safe/sentinel-1.0/product-id.xql new file mode 100755 index 0000000..f26417a --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xql/int/esa/safe/sentinel-1.0/product-id.xql @@ -0,0 +1,30 @@ +(: + SAFE - Standard Archive Format for Europe + Copyright (C) 2004,2005,2006,2007,2008,2009,2010 European Space Agency (ESA) + Copyright (C) 2004,2005,2006,2007,2008,2009,2010 GAEL Consultant + GNU Lesser General Public License (LGPL) + + This file is part of SAFE + + SAFE is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SAFE is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +:) + +import module namespace util = "http://www.esa.int/safe/xql/util" + at "util-module.xql"; + +declare variable $manifest_node as node()? external; +declare variable $manifest_crc16 as xs:string? external; +declare variable $originating_facility as xs:string? external; + +util:getSafeProductId ($manifest_node,$manifest_crc16,$originating_facility) diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xql/int/esa/safe/sentinel-1.0/util-module.xql b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xql/int/esa/safe/sentinel-1.0/util-module.xql new file mode 100755 index 0000000..6170f0f --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xql/int/esa/safe/sentinel-1.0/util-module.xql @@ -0,0 +1,450 @@ +(: + SAFE - Standard Archive Format for Europe + Copyright (C) 2004,2005,2006,2007,2008,2009,2010 European Space Agency (ESA) + Copyright (C) 2004,2005,2006,2007,2008,2009,2010 GAEL Consultant + GNU Lesser General Public License (LGPL) + + This file is part of SAFE + + SAFE is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + SAFE is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +:) + +module namespace util = "http://www.esa.int/safe/xql/util"; + +declare variable $util:implementationTitle as xs:string? external; +declare variable $util:implementationVersion as xs:string? external; +declare variable $util:javaImplementationTitle as xs:string? external; +declare variable $util:javaImplementationVersion as xs:string? external; + +declare variable $util:pi := 3.141592653589793; + +(: The location of the product definition pre-suppose that base URI has been + : set to $SAFE_TRANSFORM_HOME/resources/xsd/int/esa/safe/ + : A better solution may be to make the path relative to an external variable + : to be provided by the caller or the importing module. + :) +declare variable $util:product-definition := + ../../../../../../product-definition.xml; + +(: Returns the product (whenever Aux, Level 0, 1 or 2) version matching the + : input product name. + :) +declare function util:getProductVersion ($product_name as xs:string) as xs:string +{ + let $product := $util:product-definition/ + resources/*/product[matches($product_name, data(@regex))] + return + + if ($product) + then + data($product/@ver) + else + error(concat("Unknown product: ", $product_name, " (util:getProductVersion)")) +}; + +declare function util:getProductTypeVersion ($product_name as xs:string, + $product_id as xs:string) + as xs:string +{ + let $product := + if ($product_id = "") (: no product_id :) + then + $util:product-definition/ + resources/*/product[matches($product_name, data(@regex))] + else (: there is a product_id :) + $util:product-definition/ + resources/*/product[$product_id = data(@ID)] + return + + if ($product) + then + data($product/@ver) + else + error(concat("Unknown product: ", $product_name, " (util:getProductTypeVersion)")) +}; + +declare function util:getProductId ($xfdu_node as node()) as xs:string +{ + let $ver := data($xfdu_node/@*[name(.) = "version"]) + let $product := $util:product-definition/resources/*/product + [$ver = data(@ver)] + return + if($product) + then data($product/@ID) + else error(concat("Unknown product version: ",$ver," (util:getProductId)")) +}; + +declare function util:buildFamilyName ($abbreviation as xs:string, + $content as xs:string) as node() +{ + {$content} +}; + +declare function util:formatDateTime ($datetime as xs:string) as xs:string +{ + let $splited := fn:tokenize($datetime,"-") + let $day := $splited[1] + let $month := util:formatMonth($splited[2]) + let $year := fn:tokenize($splited[3]," ")[1] + let $time := fn:tokenize($splited[3]," ")[2] + + return concat($year,"-",$month,"-",$day,"T",$time,"Z") +}; + +declare function util:formatMonth ($month as xs:string) as xs:string +{ + if($month = "JAN") then "01" + else if($month = "FEB") then "02" + else if($month = "MAR") then "03" + else if($month = "APR") then "04" + else if($month = "MAY") then "05" + else if($month = "JUN") then "06" + else if($month = "JUL") then "07" + else if($month = "AUG") then "08" + else if($month = "SEP") then "09" + else if($month = "OCT") then "10" + else if($month = "NOV") then "11" + else if($month = "DEC") then "12" + else error(concat("Cannot convert: ", $month)) +}; + +declare function util:stringToDateTime($datetime as xs:string) as xs:dateTime +{ + let $splited1 := fn:tokenize($datetime,"T") + let $splited2 := fn:tokenize($splited1[1],"-") + let $month := + if($splited2[2] = "01") then "JAN" + else if($splited2[2] = "02") then "FEB" + else if($splited2[2] = "03") then "MAR" + else if($splited2[2] = "04") then "APR" + else if($splited2[2] = "05") then "MAY" + else if($splited2[2] = "06") then "JUN" + else if($splited2[2] = "07") then "JUL" + else if($splited2[2] = "08") then "AUG" + else if($splited2[2] = "09") then "SEP" + else if($splited2[2] = "10") then "OCT" + else if($splited2[2] = "11") then "NOV" + else if($splited2[2] = "12") then "DEC" + else error("Unknown month number") + let $datetime_string := concat($splited2[3],"-",$month,"-",$splited2[1]," ",replace($splited1[2],"Z","")) + return xs:dateTime($datetime_string) +}; + +declare function util:getSafeProductId ($xfdu_node as node(), + $manifest_crc16 as xs:string, + $originating_facility as xs:string) as xs:string +{ + + let $nssdcid := data($xfdu_node/metadataSection/metadataObject[data(@ID) = "platform"]/metadataWrap/xmlData/platform/nssdcIdentifier) + + let $mission_id := + + if ($nssdcid) then + if ($nssdcid = "2002-009A") then "EN01" + else if ($nssdcid = "1995-021A") then "ER02" + else if ($nssdcid = "1991-050A") then "ER01" + else error(concat("Unknown NSSDCID platform identifier: ", $nssdcid)) + else error(concat("Null NSSDCID platform identifier.")) + + let $product_id := util:getProductId($xfdu_node) + + let $acquisition_period := $xfdu_node/metadataSection/metadataObject[data(@ID) = "acquisitionPeriod"]/metadataWrap/xmlData/acquisitionPeriod + + let $validity_start := + if(data($acquisition_period/startTime)) then fn:substring(fn:replace(data($acquisition_period/startTime),"(:|-)",""),1,15) + else trace("_______________","Cannot find validity start time") + + let $validity_stop := + if(data($acquisition_period/stopTime)) then fn:substring(fn:replace(data($acquisition_period/stopTime),"(:|-)",""),1,15) + else trace("_______________","Cannot find validity stop time") + + let $orbit_reference := ($xfdu_node/metadataSection/metadataObject[matches(data(@ID),".*OrbitReference")]/metadataWrap/xmlData/orbitReference)[1] + + let $absolute_orbit := + if($orbit_reference) then + xs:string(xs:int(data($orbit_reference/orbitNumber[data(@type) = "start"]))) + else trace("","Cannot find absolute orbit number (no orbit reference)") + + let $separator := "_" + + return concat($mission_id,$separator, + $product_id,$separator, + $validity_start,$separator, + $validity_stop,$separator, + $originating_facility,$separator, + $absolute_orbit,$separator, + $manifest_crc16,".", + "SAFE") +}; + +declare function util:getVersion($dummy) as xs:string +{ + fn:replace(fn:substring-after("$Name: $", "safe-transform-"), + " \$", "") +}; + +declare function util:buildFacilityNode ($name as xs:string, + $organisation as xs:string?, + $site as xs:string?, + $country as xs:string?, + $soft as node()?) as node() +{ + + {$soft} + +}; + +declare function util:degreeToRadian10E-6To1($value as xs:integer) as xs:string +{ + xs:string((xs:double($value) * $util:pi * 0.000001) div 180) +}; + +declare function util:degreeToRadian($value as xs:integer) as xs:string +{ + xs:string(($value * $util:pi) div 180) +}; + +declare function util:trim($var as xs:string) as xs:string +{ + replace($var, "^ +| +$", "") +}; + +declare function util:treeToList ($sequence) +{ + for $item in $sequence + return + ( + $item, + util:treeToList ($item/*) + ) +}; + +declare function util:killStringClone ($sequence) +{ + for $item at $index in $sequence + where fn:count( + util:searchStringClone($item, $index, $sequence)) = 0 + return $item +}; + +declare function util:searchStringClone ($item, + $index as xs:int, + $sequence) +{ + for $suspect in $sequence + where position() > $index + and data($suspect) = data($item) + return "detected_clone" +}; + +declare function util:addTableRows($wild_card, + $level) as node()* +{ + for $item at $index in $wild_card + return + let $prefix := + if ($item/@ns) then concat(data($item/@ns), ":") + else + if ($item/@type = "attribute") then "@" + else () + return ( + + {concat($level, + $prefix, + fn:name($item))} + { + if ($item/@*[name() = "value"]) + then + {data($item/@*[name() = "value"])} + else + + } + {data($item/@occurs)} + , + util:addTableRows($item/*, concat($level, ". ")) + ) +}; + +declare function util:upperCase($name as xs:string) as xs:string +{ + let $seq_a := replace($name, "a", "A") + let $seq_b := replace($seq_a, "b", "B") + let $seq_c := replace($seq_b, "c", "C") + let $seq_d := replace($seq_c, "d", "D") + let $seq_e := replace($seq_d, "e", "E") + let $seq_f := replace($seq_e, "f", "F") + let $seq_g := replace($seq_f, "g", "G") + let $seq_h := replace($seq_g, "h", "H") + let $seq_i := replace($seq_h, "i", "I") + let $seq_j := replace($seq_i, "j", "J") + let $seq_k := replace($seq_j, "k", "K") + let $seq_l := replace($seq_k, "l", "L") + let $seq_m := replace($seq_l, "m", "M") + let $seq_n := replace($seq_m, "n", "N") + let $seq_o := replace($seq_n, "o", "O") + let $seq_p := replace($seq_o, "p", "P") + let $seq_q := replace($seq_p, "q", "Q") + let $seq_r := replace($seq_q, "r", "R") + let $seq_s := replace($seq_r, "s", "S") + let $seq_t := replace($seq_s, "t", "T") + let $seq_u := replace($seq_t, "u", "U") + let $seq_v := replace($seq_u, "v", "V") + let $seq_w := replace($seq_v, "w", "W") + let $seq_x := replace($seq_w, "x", "X") + let $seq_y := replace($seq_x, "y", "Y") + let $seq_z := replace($seq_y, "z", "Z") + return $seq_z +}; + +declare function util:lowerCase($name as xs:string) as xs:string +{ + let $seq_a := replace($name, "A", "a") + let $seq_b := replace($seq_a, "B", "b") + let $seq_c := replace($seq_b, "C", "c") + let $seq_d := replace($seq_c, "D", "d") + let $seq_e := replace($seq_d, "E", "e") + let $seq_f := replace($seq_e, "F", "f") + let $seq_g := replace($seq_f, "G", "g") + let $seq_h := replace($seq_g, "H", "h") + let $seq_i := replace($seq_h, "I", "i") + let $seq_j := replace($seq_i, "J", "j") + let $seq_k := replace($seq_j, "K", "k") + let $seq_l := replace($seq_k, "L", "l") + let $seq_m := replace($seq_l, "M", "m") + let $seq_n := replace($seq_m, "N", "n") + let $seq_o := replace($seq_n, "O", "o") + let $seq_p := replace($seq_o, "P", "p") + let $seq_q := replace($seq_p, "Q", "q") + let $seq_r := replace($seq_q, "R", "r") + let $seq_s := replace($seq_r, "S", "s") + let $seq_t := replace($seq_s, "T", "t") + let $seq_u := replace($seq_t, "U", "u") + let $seq_v := replace($seq_u, "V", "v") + let $seq_w := replace($seq_v, "W", "w") + let $seq_x := replace($seq_w, "X", "x") + let $seq_y := replace($seq_x, "Y", "y") + let $seq_z := replace($seq_y, "Z", "z") + return $seq_z +}; + +declare function util:concatSequence($sequence as item()*) as xs:string +{ + if (count($sequence) = 0) then "" + else + if (count($sequence) = 1) then $sequence + else + concat($sequence[1], + util:concatSequence(for $i in $sequence + where position() > 1 + return $i)) +}; + +declare function util:concatSequenceSpaceSeparator ($sequence) + as xs:string +{ + if (count($sequence) = 0) then "" + else + if (count($sequence) = 1) then $sequence + else + concat($sequence[1], " ", + util:concatSequenceSpaceSeparator(for $i in $sequence + where position() > 1 + return $i)) +}; + +declare function util:concatSequenceDashSeparator ($sequence) + as xs:string +{ + if (count($sequence) = 0) then "" + else + if (count($sequence) = 1) then $sequence + else + concat($sequence[1], "-", + util:concatSequenceDashSeparator(for $i in $sequence + where position() > 1 + return $i)) +}; + +declare function util:foo-bar_to_fooBar($input_name as xs:string) as xs:string +{ + let $sequenced_name := fn:tokenize($input_name, "-") + return + + if (count($sequenced_name) = 1) + then $sequenced_name + else + + let $first_item := $sequenced_name[1] + + let $inter_sequence := + for $item at $index in $sequenced_name + where $index != 1 + return + concat(util:upperCase(substring($item, 1, 1)), + substring($item, 2)) + + return concat($first_item, + util:concatSequence($inter_sequence)) +}; + +declare function util:foo-bar_to_FooSpaceBar($input_name as xs:string) + as xs:string +{ + let $sequenced_name := fn:tokenize($input_name, "-") + return + + if (count($sequenced_name) = 1) + then concat(util:upperCase(substring($sequenced_name, 1, 1)), + substring($sequenced_name, 2)) + else + + let $inter_sequence := + for $item in $sequenced_name + return + concat(util:upperCase(substring($item, 1, 1)), + substring($item, 2)) + + return concat(util:concatSequenceSpaceSeparator($inter_sequence)) +}; + +declare function util:FOOSpaceBarSpace1_to_foo-bar-1 ($input_name as xs:string) + as xs:string +{ + let $sequenced_name := fn:tokenize($input_name, " ") + return + + if (count($sequenced_name) = 1) + then util:lowerCase($sequenced_name) + else + + let $inter_sequence := + for $item in $sequenced_name + return util:lowerCase($item) + + return concat(util:concatSequenceDashSeparator($inter_sequence)) +}; + +declare function util:createErrorSection ($message as xs:string) +{ +
+ERROR + + {concat("ERROR : ", $message)} + +
+}; diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd-component/int/esa/safe/sentinel-1.0/sentinel-2/hktm/level-0/s2-level-0-annot.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd-component/int/esa/safe/sentinel-1.0/sentinel-2/hktm/level-0/s2-level-0-annot.xsd new file mode 100755 index 0000000..0f14636 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd-component/int/esa/safe/sentinel-1.0/sentinel-2/hktm/level-0/s2-level-0-annot.xsd @@ -0,0 +1,248 @@ + + + + + SAFE HKTM L0 Annotation Reference Types. + + + + + + + + + Data Annotation + + + + + + + + Annotation record. It describes completely one record + of Annotation file. + + + + unbounded + 18 + + + + + + + + + + + + Downlink time of current TF (UTC time, expressed as MJD2000, as + number of days elapsed since first January 2000) + + + + BINARY + 2 + + + + + + + + + + Downlink time of current TF (UTC time, expressed as MJD2000, as + number of integer milliseconds elapsed since the beginning of day) + + + + BINARY + 4 + + + + + + + + + + Downlink time of current TF (UTC time, expressed as MJD2000, as + number of microseconds elapsed since the last millisecond) + + + + BINARY + 2 + + + + + + + + + + Length of the current TF + + + + BINARY + 2 + + + + + + + + + + number of sync errors found in sync mark + + + + BINARY + 5 + + + + + + + + + + Boundary bytes between frames + + + + BINARY + 2 + + + + + + + + + + 1 bit bitmask + + + + BINARY + 1 + + + + + + + + + + 2 bits bitmask + + + + BINARY + 2 + + + + + + + + + + 2 bits bitmask + + + + BINARY + 3 + + + + + + + + + + 6 bits bitmask + + + + BINARY + 6 + + + + + + + + + + Spare field + + + + BINARY + 1 + + + + + + + + + + Annotation record. It describes completely one record of Annotation file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd-component/int/esa/safe/sentinel-1.0/sentinel-2/hktm/level-0/s2-level-0.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd-component/int/esa/safe/sentinel-1.0/sentinel-2/hktm/level-0/s2-level-0.xsd new file mode 100755 index 0000000..df5dfcc --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd-component/int/esa/safe/sentinel-1.0/sentinel-2/hktm/level-0/s2-level-0.xsd @@ -0,0 +1,251 @@ + + + + + + + + + + + + + The Data Unit (Transfer Frames TM) has a fixed length = 1912 + + + BINARY + unbounded + + + + + + + + + + + + + + + + Source Data : An array of constant occurrence of + unsigned bytes. + + + + + 1902 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + constant value = 01 (2 bits). + + + + BINARY + 2 + + + + + + + + + + Identifier of the Virtual Channel assigned to the specific Packet Store + + + + BINARY + 6 + + + + + + + + + + binary count of every Transfer Frame transmited within each Virtual Channel + + + + BINARY + 3 + + + + + + + + + + constant value = 0 (1 bit) + + + + BINARY + 1 + + + + + + + + + + reserved spares(all set to 0) + + + + BINARY + 7 + + + + + + + + + + Signed short (2 bytes). + + + + BINARY + 2 + + + + + + + + + + Unsigned short (2 bytes). + + + + BINARY + 2 + + + + + + + + + + + + + Signed int (4 bytes). + + + + BINARY + 4 + + + + + + + + + + Unsigned int (4 bytes). + + + + BINARY + 4 + + + + + + + + + + Float (4 bytes). + + + + BINARY + 4 + + + + + + + + + + Signed long (8 bytes). + + + + BINARY + 8 + + + + + + + + + + Unsigned long (8 bytes). + + + + BINARY + 8 + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/fr/gael/drb/impl/sdf/sdf-20020222.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/fr/gael/drb/impl/sdf/sdf-20020222.xsd new file mode 100755 index 0000000..592156e --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/fr/gael/drb/impl/sdf/sdf-20020222.xsd @@ -0,0 +1,191 @@ + + + + + + SDF Reference Types. + + + + + + A data file is usually defined as a set of adjacent blocks with + various lengths. A Structured Data File is a file containing ASCII + or BINARY data which can be described as a hierarchy of data blocks. + These blocks are organised in a "tree model" as a file system does + with directories, sub-directories and files. + + + + + + + Purpose of this node is to set the occurrence count of the + element in the Structured Data File. This descriptor is not + mandatory and the default value is set to 1 if omitted. The + Occurrence count of an element can be fixed for all datafile + using this schema or can depend on the data file instance. + Therefore you can use this descriptor in two different ways : + By setting a fixed value or setting a query to process with + the file instance. + + + + + + + This node is used to set the length of an element. It is + mandatory for the "leaves" elements because it sets the number + of bytes to be read to access the data in the file. For + complex elements and types, it is not recommended to set the + length (unless you want to force the value) because it will + result from the sum of all child lengths, paddings, etc. + Length value can be defined in bytes or in bits. A "unit" + attribute can be added to set "byte" or "bit" unit. If the + "unit" attribute is ommited, the "byte" unit is set by + default. In case of "bit" unit the length cannot be longer + than 32 in this version. As the occurrence count the length + can be set to a fixed value or using query. + + + + + + + In a logical representation the encoding is not needed but in + a physical representation you need to know how to extract the + data from the file. Therefore this node is used to set the + encoding method of the element. The possible values are ASCII + or BINARY. If the "sdf:encoding" node is omitted the encoding + is set to BINARY by default. + + + + + + + Purpose of this node is to set the offset of an element. In + this version the offset value is considered as a relative + offset from the previous sibling element. This means a shift + between the last byte of the last occurrence of the previous + element and the first byte of the current one. In most cases, + an element is following its previous sibling without any gap + therefore no relative offset is needed. If the "sdf:offset" + node is omitted, the value is set to 0 by default. + + + + + + + This node is used to define a gap (offset) inside an element. + Two types are available : the "header" padding and the + "footer" padding. They are respectively the offset to skip + before and after the element value to be extracted. They can + be set together or only one of them. If the "sdf:padding" node + is omitted the value is set to 0 by default. + + + + + + + + + + A value can be defined by a number or an XQuery expression. + + + + + + + + + + + + + A length can be defined with a specific unit (byte or bit). + + + + + + + + + + + + + The unit available for length definition are byte and bit. + + + + + + + + + + + + A value can be encoded in ASCII or in BINARY mode. + + + + + + + + + + + + A padding can be inserted within the data stream. + + + + + + + + + + + + + The location available for padding insertion are header and footer. + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/fr/gael/drb/impl/sdf/sdf-2_3.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/fr/gael/drb/impl/sdf/sdf-2_3.xsd new file mode 100755 index 0000000..926690d --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/fr/gael/drb/impl/sdf/sdf-2_3.xsd @@ -0,0 +1,1083 @@ + + + + + + + SDF Simple and Complex Types. + A data file is usually defined as a set of adjacent blocks with + various lengths. A Structured Data File is a file containing ASCII + or BINARY data which can be described as a hierarchy of data blocks. + These blocks are organised in a "tree model" as a file system does + with directories, sub-directories and files. + + + SDF has been designed to use XML-Schema and create additional + namespaces in order to describe the data from both the logical and + the physical parts. + + + + + + + + For all elements and types a block description node can be added to + the appinfo node. This is the mandatory information for the physical + description. + + + + + + + + Defines virtual element that is computed either from an XQuery script + or a fixed string value. + + + + + + + + + + + For all elements and types a block description node can be added to + the appinfo node. This is the mandatory information for the physical + description. + + + + + + + Purpose of this node is to set the occurrence count of the + element in the Structured Data File. This descriptor is not + mandatory and the default value is set to 1 if omitted. The + Occurrence count of an element can be fixed for all datafile + using this schema or can depend on the data file instance. + Therefore you can use this descriptor in two different ways : By + setting a fixed value or setting a query to process with the file + instance. + + + + + + + This node is used to set the length of an element. It is + mandatory for the "leaves" elements because it sets the number of + bytes to be read to access the data in the file. For complex + elements and types, it is not recommended to set the length + (unless you want to force the value) because it will result from + the sum of all child lengths, paddings, etc. Length value can be + defined in bytes or in bits. A "unit" attribute can be added to + set "byte" or "bit" unit. If the "unit" attribute is ommited, the + "byte" unit is set by default. In case of "bit" unit the length + cannot be longer than 32 in this version. As the occurrence count + the length can be set to a fixed value or using query. + + + + + + + Purpose of this node is to set the offset of an element. + This means a shift between the last + byte of the last occurrence of the previous element or the parent + element and the first + byte of the current one (case of relative offset). + In most cases, an element is following + its previous sibling without any gap therefore no relative offset + is needed. If the "sdf:offset" node is omitted, the value is set to + 0 by default. + Note: In order to read the data at the right offset in the file, + the absolute offset is computed from previous element structures + such as occurrence counts, lengths and relative offsets. + Note: Offset value can be defined in bytes or in bits. A "unit" + attribute can be added to set "byte" or "bit" unit. If the "unit" + attribute is ommited, the "byte" unit is set by default. + + + + + + + This node defines a gap (offset) before or after an element. + The length of this gap is express as a xsd:nonNegativeInteger (in + number of bytes). + Two types are available: the "header" padding and the "footer" + padding. They can be set together or only + one of them. + The padding has ASCII or Binary encoding: + # "content" - fills the padding with a string value + # "code" - fills the padding with a single byte value + These two attributes can not be present at the same time. + If the "sdf:padding" node is omitted the value is set + to 0 by default. + + + + + + + In a logical representation the encoding is not needed but in a + physical representation you need to know how to extract the data + from the file. Therefore this node is used to set the encoding + method of the element. If the "sdf:encoding" node is omitted the + encoding is inherited from the parent. The root element has a + BINARY encoding by default. + Possible values are: "ASCII", "BINARY", "EBCDIC". + Warning: the "EBCDIC" is only supported in reading mode! + Note: Encoding method is also important to get values from numeric + elements. In case of float a BINARY encoding means the IEEE-754 + representation is used to extract the value. + + + + + + + Purpose of the sdf:numericFormat node is to set the lexical + representation of a numeric value. It controls the following + features: + # integer digits + # fraction digits + # exponent digits + # prefix + # suffix + The pattern uses special characters: + # 0 matches all digits + # # matches all digits except the leading zeros + # . matches a decimal separator + # E separates mantissa and exponent in scientific notation. + + + + + + + This nodes allow to specify a pattern for date and time. + Warning: this node is only supported in writing mode! + + + + + + + SDF handles two binary encoding for integers. + # Most Significant Byte first (MSB) + # Less Significant Byte first (LSB) + + Most Significant Byte (MSB) ordering: + The Most Significant Byte encoding (MSB) also known as big-endian + writes the bytes from left to right. + For example, the hexadecimal number 0x1ED8 (e.g. 7896) encoded as a + short (2-bytes integer) is written 1E D8. + + Less Significant Byte (LSB) ordering: + The Less Significant Byte encoding (LSB) also known as little-endian + writes the bytes from right to left. + For example, the hexadecimal number 0x03E03F38 (e.g. 65027896) + encoded as an int (4-bytes integer) is written in reverse order + 38 3F E0 03. + + Note: Binary integer have a MSB representation by default. + + + + + + + This node define the separator character between two or more + elements. The default delimiter is a space character for ASCII + encoding and empty for BINARY encoding. + + + + + + + This node allows to select an element depending on its content. + This node is necessary to handle elements with a variable + content (choice group, type derivation, substitution group). + In that case, the SDF engine will select the first substitution + with a valid signature. + + + + + + + + When the datatype of an element is xs:list, it is possible to set + the attributes relying to array item by using an sdf:array node. + The supported children are the following: + # occurrence: define the size of the array. + # length: define the length of each item in the array. + # delimiter: define the separator between each item in the array. + + + + + + + + + + This is an XQuery script that specifies the file containing + the block data. It corresponds to the base node by default. + + + + + + + + + + + + The context node available for query evaluation. + + + + + + + + + + + + + + + + Purpose of this node is to set the occurrence count of the element in the + Structured Data File. This descriptor is not mandatory and the default + value is set to 1 if omitted. The Occurrence count of an element can be + fixed for all datafile using this schema or can depend on the data file + instance. Therefore you can use this descriptor in two different ways : + By setting a fixed value or setting a query to process with the file instance. + + + + + + + + An XQuery script that compute the occurrence value. This is + usually an XPath but complex expressions are allowed. The result + shall be an item castable as a long integer (64 bits). In case of + empty result, the occurrence is set to zero. + + + + + + + The context node available for query evaluation. + + + + + + + When a query is present, this attribute indicates wether the + occurrence shall be considered constant. This assumption is true + by default. + + + + + + + + + + + + + + This node is used to set the length of an element. It is mandatory for + the "leaves" elements because it sets the number of bytes to be read to + access the data in the file. For complex elements and types, it is not + recommended to set the length (unless you want to force the value) + because it will result from the sum of all child lengths, paddings, etc. + Length value can be defined in bytes or in bits. A "unit" attribute can + be added to set "byte" or "bit" unit. If the "unit" attribute is ommited, + the "byte" unit is set by default. In case of "bit" unit the length + cannot be longer than 32 in this version. As the occurrence count the + length can be set to a fixed value or using query. + + + + + + + + An XQuery script that computes the length value. This is usually + an XPath but complex expressions are allowed. The result shall be + an item castable as a unsigned long integer (64 bits). In case of + empty result, the length is set to zero. + + + + + + + The context node available for query evaluation. + + + + + + + When a query is present, this attribute indicates wether the block + length shall be considered constant. This assumption is true by + default. + + + + + + + The unit of the length value. + + + + + + + + + + + + The unit available for length definition are byte and bit. + + + + + + + + + + + + + + + Purpose of this node is to set the offset of an element. This means a + shift between the last byte of the last occurrence of the previous + element or the parent element and the first byte of the current one (case + of relative offset). In most cases, an element is following its previous + sibling without any gap therefore no relative offset is needed. If the + "sdf:offset" node is omitted, the value is set to 0 by default. + Note: In order to read the data at the right offset in the file, the + absolute offset is computed from previous element structures such as + occurrence counts, lengths and relative offsets. + Note: Offset value can be defined in bytes or in bits. A "unit" attribute + can be added to set "byte" or "bit" unit. If the "unit" attribute is + ommited, the "byte" unit is set by default. + + + + + + + + An XQuery script that computes the offset value. This is usually an + XPath but complex expressions are allowed. The result shall be a + single item castable as a unsigned long integer (64 bits). In case + of empty result, the offset is set to zero. + + + + + + + The context node available for query evaluation. + + + + + + + A boolean indicating if the query is evaluated for each occurrence. + + + + + + + The unit of the offset value. + + + + + + + The origin is the start position used to compute the offset. + It is located at the end position of the previous block, by default. + SDF can compute the absolute position in the file from a + user-defined origin: + # previous - the offset is relative to the previous-sibling node. + # parent - the offset is relative to the parent node. + # root - the offset is absolute (e.g. from the beginning of the + file) + + + + + + + + + + + The origin is the start position used to compute the offset. It is + located at the end position of the previous block, by default. SDF can + compute the absolute position in the file from a user-defined origin: + # previous - the offset is relative to the previous-sibling node. + # parent - the offset is relative to the parent node. + # root - the offset is absolute (e.g. from the beginning of the file) + + + + + + + + + + + + + + + + In a logical representation the encoding is not needed but in a physical + representation you need to know how to extract the data from the file. + Therefore this node is used to set the encoding method of the element. If + the "sdf:encoding" node is omitted the encoding is inherited from the + parent. The root element has a BINARY encoding by default. + Possible values are: "ASCII", "BINARY", "EBCDIC". + Warning: the "EBCDIC" is only supported in reading mode! + Note: Encoding method is also important to get values from numeric + elements. In case of float a BINARY encoding means the IEEE-754 + representation is used to extract the value. + + + + + + + + + + + + + + + + This node defines a gap (offset) before or after an element. The length + of this gap is express as a xsd:nonNegativeInteger (in number of bytes). + Two types are available: the "header" padding and the "footer" padding. + They can be set together or only one of them. + The padding has ASCII or Binary encoding: + # "content" - fills the padding with a string value + # "code" - fills the padding with a single byte value + These two attributes can not be present at the same time. If the + "sdf:padding" node is omitted the value is set to 0 by default. + + + + + + + + Can be one of: "header", "footer", "leading", "trailing". + Warning: "leading", "trailing" are not implemented yet! + # "header" - the padding is before the element + # "footer" - the padding is after the element + + + + + + + The textual content of the padding. + + + + + + + A single char code. + + + + + + + + + + + + The location available for padding insertion are header and footer. + + + + + + + + + + + + + + + + + Purpose of the sdf:numericFormat node is to set the lexical + representation of a numeric value. It controls the following features: + # integer digits + # fraction digits + # exponent digits + # prefix + # suffix + The pattern uses special characters: + # 0 matches all digits + # # matches all digits except the leading zeros + # . matches a decimal separator + # E separates mantissa and exponent in scientific notation. + + + + + + + + + + patterns have the following syntax: + + Pattern: + PositivePattern + PositivePattern ; NegativePattern + PositivePattern: + Prefixopt Number Suffixopt + NegativePattern: + Prefixopt Number Suffixopt + Prefix: + any Unicode characters except \uFFFE, \uFFFF, and special + characters + Suffix: + any Unicode characters except \uFFFE, \uFFFF, and special + characters + Number: + Integer Exponentopt + Integer . Fraction Exponentopt + Integer: + MinimumInteger + # + # Integer + # , Integer + MinimumInteger: + 0 + 0 MinimumInteger + 0 , MinimumInteger + Fraction: + MinimumFractionopt OptionalFractionopt + MinimumFraction: + 0 MinimumFractionopt + OptionalFraction: + # OptionalFractionopt + Exponent: + E MinimumExponent + MinimumExponent: + 0 MinimumExponentopt + + + Special Pattern Characters + + Many characters in a pattern are taken literally; they are matched + during parsing and output unchanged during formatting. Special + characters, on the other hand, stand for other characters, strings, + or classes of characters. They must be quoted, unless noted + otherwise, if they are to appear in the prefix or suffix as literals. + + Symbol Location Localized? Meaning + 0 Number Yes Digit + # Number Yes Digit, zero shows as absent + . Number Yes Decimal separator or monetary decimal separator + - Number Yes Minus sign + , Number Yes Grouping separator + E Number Yes Separates mantissa and exponent in scientific + notation. Need not be quoted in prefix or suffix. + ; Subpattern boundary Yes Separates positive and negative + subpatterns + % Prefix or suffix Yes Multiply by 100 and show as percentage + \u2030 Prefix or suffix Yes Multiply by 1000 and show as per + mille value + (\u00A4) Prefix or suffix No Currency sign, replaced by + currency symbol. If doubled, + replaced by international + currency symbol. If present in a + pattern, the monetary decimal + separator is used instead of the + decimal separator. + ' Prefix or suffix No Used to quote special characters in a + prefix or suffix, for example, "'#'#" + formats 123 to "#123". To create a single + quote itself, use two in a row: + "# o''clock". + + + + + + + + + + + + + + This nodes allow to specify a pattern for date and time. + Warning: this node is only supported in writing mode! + + + + + + Date and Time Patterns + + Date and time formats are specified by date and time pattern + strings. Within date and time pattern strings, unquoted letters + from 'A' to 'Z' and from 'a' to 'z' are interpreted as pattern + letters representing the components of a date or time string. Text + can be quoted using single quotes (') to avoid interpretation. + "''" represents a single quote. All other characters are not + interpreted; they're simply copied into the output string during + formatting or matched against the input string during parsing. + The following pattern letters are defined (all other characters from + 'A' to 'Z' and from 'a' to 'z' are reserved): + + Letter Date or Time Component Presentation Examples + G Era designator Text AD + y Year Year 1996; 96 + M Month in year Month July; Jul; 07 + w Week in year Number 27 + W Week in month Number 2 + D Day in year Number 189 + d Day in month Number 10 + F Day of week in month Number 2 + E Day in week Text Tuesday; Tue + a Am/pm marker Text PM + H Hour in day (0-23) Number 0 + k Hour in day (1-24) Number 24 + K Hour in am/pm (0-11) Number 0 + h Hour in am/pm (1-12) Number 12 + m Minute in hour Number 30 + s Second in minute Number 55 + S Millisecond Number 978 + z Time zone General time zone Pacific Standard Time; + PST; GMT-08:00 + Z Time zone RFC 822 time zone -0800 + + Pattern letters are usually repeated, as their number determines the + exact presentation: + * Text: For formatting, if the number of pattern letters is 4 + or more, the full form is used; otherwise a short or + abbreviated form is used if available. For parsing, both + forms are accepted, independent of the number of pattern + letters. + * Number: For formatting, the number of pattern letters is the + minimum number of digits, and shorter numbers are + zero-padded to this amount. For parsing, the number of + pattern letters is ignored unless it's needed to separate + two adjacent fields. + * Year: For formatting, if the number of pattern letters is 2, + the year is truncated to 2 digits; otherwise it is + interpreted as a number. + + For parsing, if the number of pattern letters is more than + 2, the year is interpreted literally, regardless of the + number of digits. So using the pattern "MM/dd/yyyy", + "01/11/12" parses to Jan 11, 12 A.D. + For parsing with the abbreviated year pattern ("y" or "yy"), + SimpleDateFormat must interpret the abbreviated year + relative to some century. + It does this by adjusting dates to be within 80 years before + and 20 years after the time the SimpleDateFormat instance is + created. For example, using a pattern of "MM/dd/yy" and a + SimpleDateFormat instance created on Jan 1, 1997, the + string "01/11/12" would be interpreted as Jan 11, 2012 + while the string "05/04/64" would be interpreted as May 4, + 1964. During parsing, only strings consisting of exactly two + digits, as defined by Character.isDigit(char), will be + parsed into the default century. Any other numeric string, + such as a one digit string, a three or more digit string, or + a two digit string that isn't all digits + (for example, "-1"), is interpreted literally. So "01/02/3" + or "01/02/003" are parsed, using the same pattern, + as Jan 2, 3 AD. Likewise, "01/02/-3" is parsed as + Jan 2, 4 BC. + * Month: If the number of pattern letters is 3 or more, the + month is interpreted as text; otherwise, it is interpreted + as a number. + * General time zone: Time zones are interpreted as text if they + have names. For time zones representing a GMT offset value, + the following syntax is used: + + GMTOffsetTimeZone: + GMT Sign Hours : Minutes + Sign: one of + + - + Hours: + Digit + Digit Digit + Minutes: + Digit Digit + Digit: one of + 0 1 2 3 4 5 6 7 8 9 + + Hours must be between 0 and 23, and Minutes must be between + 00 and 59. The format is locale independent and digits must + be taken from the Basic Latin block of the Unicode standard. + + For parsing, RFC 822 time zones are also accepted. + * RFC 822 time zone: For formatting, the RFC 822 4-digit time + zone format is used: + + RFC822TimeZone: + Sign TwoDigitHours Minutes + TwoDigitHours: + Digit Digit + + TwoDigitHours must be between 00 and 23. Other definitions + are as for general time zones. + + For parsing, general time zones are also accepted. + + + + + + + + + + + + SDF handles two binary encoding for integers: + # Most Significant Byte first (MSB); + # Less Significant Byte first (LSB). + Most Significant Byte (MSB) ordering: + The Most Significant Byte encoding (MSB) also known as big-endian writes + the bytes from left to right. For example, the hexadecimal number 0x1ED8 + (e.g. 7896) encoded as a short (2-bytes integer) is written 1E D8. Less + Significant Byte (LSB) ordering: The Less Significant Byte encoding (LSB) + also known as little-endian writes the bytes from right to left. For + example, the hexadecimal number 0x03E03F38 (e.g. 65027896) encoded as an + int (4-bytes integer) is written in reverse order 38 3F E0 03. + Note: Binary integer have a MSB representation by default. + + + + + + + + + + + + + + + This node define the separator character between two or more elements (or + between each item in an array). The default delimiter is a space + character for ASCII encoding and empty for BINARY encoding. + + + + + + + + Specifies the delimiter as a character value. + + + + + + + Specifies the delimiter as a byte value. + + + + + + + + + + + The separator character between two or more elements (or between each + item in an array). The default delimiter is a space character for ASCII + encoding and empty for BINARY encoding. + + + + + + + + + + + + + + This node allows to select an element depending on its content. + This node is necessary to handle elements with a variable + content (choice group, type derivation, substitution group). + In that case, the SDF engine will select the first substitution + with a valid signature. + + + + + + + + An XQuery script that computes the boolean value of the + sdf:signature. + + + + + + + Specifies the expected string value of the element. The sdf:signature + is true if the element value matches this value attribute. + + + + + + + + + + + + + + + + + + + When the datatype of an element is xs:list, it is possible to set the + attributes relying to array item by using an sdf:array node. The + supported children are the following: + # occurrence: define the size of the array. + # length: define the length of each item in the array. + # delimiter: define the separator between each item in the array. + + + + + + + Define the size of the array. + + + + + + + Define the length of each item in the array. + + + + + + + Define the separator between each item in the array. + + + + + + + + + + + + + + + + Defines virtual element that is computed either from an XQuery script + or a fixed string value. + + + + + + + The XQuery script that transform the context node defined with + the sdf:base attribute. + + + + + + + A string value that specifies the content of the element. + + + + + + + + + The sdf schema definition of the context node read from the sdf source. + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/active-sensor-types.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/active-sensor-types.xsd new file mode 100755 index 0000000..85f9bf9 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/active-sensor-types.xsd @@ -0,0 +1,111 @@ + + + + + + + + + Sentinel-SAFE Active Sensor Reference Types. + + + + + + + + Also known as Pulse Recurrency Frequency. It is the average number of + pulses/interrogations per second transmitted by the RADAR. The Pulse + Repetition Frequency is to be expressed in Hertz (Hz). + + + + + + + + + + + + Specifies the frequency of the carrier used for conveying a message + from a transmitter to a receiver. A typical example of message may be + a telemetry or a telecommand channel. The Transmission Frequency is + to be expressed in Hertz (Hz). + + + + + + + + + + + + For radars designed to transmit either vertically polarised or + horizontally polarised radiation. This means that the electric field + of the wave is in a vertical plane or a horizontal plane. Likewise, + the radar can receive either vertically or horizontally polarised + radiation, and sometimes both. The planes of transmitted and received + polarisation are designated by the letters H for Horizontal and V for + Vertical. Thus the polarisation of a radar image can be H/H, for + horizontal transmit, horizontal receive, V/V for vertical transmit, + vertical receive, H/V for horizontal transmit vertical receive, and + vice versa (V/H). Also, for alternate transmit and receive + polarization, the value can be HV/HV; for horizontal transmit and + alternate receive, the value can be H/HV; for vertical transmit and + alternate receive, the values can be V/VH or V/HV. + + + + + + + + + + + + + + + + + + + Measurement of pulse transmission time in seconds, that is, the time + the radar's transmitter is energized during each cycle. + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/gml-wrapper.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/gml-wrapper.xsd new file mode 100755 index 0000000..e70963b --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/gml-wrapper.xsd @@ -0,0 +1,44 @@ + + + + + + + + + A wrapper for GML schemas. + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/safe.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/safe.xsd new file mode 100755 index 0000000..1b28097 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/safe.xsd @@ -0,0 +1,3227 @@ + + + + + + + + + + + + Sentinel-SAFE Reference Types. This file contains all Sentinel-SAFE + complex and simple types. Elements are declared and will be referenced + in xfdu.xsd schema. + + + + + + + + + + + + + + + + + + + The acquisition period metadata provides the time extents of the + data included in the present Sentinel-SAFE product. + + + + + + + + + + + + + + + + Time of the oldest data within the current Sentinel-SAFE product. + + + + + + + + + Time of the most recent data within the current Sentinel-SAFE + product. + + + + + + + + + An extensionType type similar to the XFDU extensionType. It is + dedicated to be use as common mechanism to allow versioning and + extension of Sentinel-SAFE types. This extension element is + necessary to face XML Schema notation that does not support + multiple particules during derivation. Where extensibility is made + available, the Sentinel-SAFE type defines an "extension" optional + element of this "extensionType" type with maximum occurrence of one + (1). + + + + + + + + + + + + + + The platform identifies the system (satellite/aircraft) that + acquired the data included in the Sentinel-SAFE product. This + element contains sub-elements that unequivocally identify the + platform as well as those identifying the sensor that acquired the + data. + + + + + + + + + + + + + + + + + + + + Univocally identifies the platform. The exact syntax and lexical + space of this identifier is defined by the World Data Center for + Satellite Information (WDC-SI), which depends on the NASA's National + Space Science Data Center. For each platform, the exact identifier + is available from the mission name at the address: + http://nssdc.gsfc.nasa.gov/nmc/sc-query.html. + + + + + + + + + + + The mission name of the platform. This name is not a perfect + identifier because it is usually not the expanded name of the + mission. Therefore this element is only for printout purposes. + + + + + + + + + + The number is the sequence number of the platform among the + mission. This number may follow different rules. It may start + from 0 or 1, be Roman or alphabetical numbers (e.g. 1, 2, A, IX, + etc.). + + + Should the occasion arise, the default numbering is a + non-left-zeroed number starting from 1 with a step of 1 and + should be wrapped around for each platform. + + + + + + + + + + Leap second information. + + + + + + + + + UTC Time of the occurrence of the leap second. + + + + + + + + + + + + An extensionType type similar to the XFDU extensionType. It is + dedicated to be use as common mechanism to allow versioning and + extension of Sentinel-SAFE types. This extension element is + necessary to face XML Schema notation that does not support + multiple particules during derivation. Where extensibility is made + available, the Sentinel-SAFE type defines an "extension" optional + element of this "extensionType" type with maximum occurrence of one + (1). + + + + + + + + + + + + + + Reference to an instrument belonging to an acquiring platform. + Conversely to the platform element, there is no absolute standard + identifying or referencing the instrument. Therefore, only the usual + instrument family name is used to identify the instrument related to + the product data. Both instrument sub-elements (i.e. familyName and + number) are to be considered as the key to perfectly identify the + sensor. + + + + + + + + + + + + + + + + + + + The instrument name used for acquiring the product data. + + + + + + + + + + + + + The complete name of the instrument. + + + + + + + + + The abbreviation of the instrument name. + + + + + + + + + + The number is the sequence number of the instrument among the + instrument family. This number is defined by the instrument owner + and may follow different rules. It may start from 0 or 1, be + Roman or alphabetical numbers (e.g. 1, 2, A, IX, etc.). + + + Should the occasion arise, the default numbering is a + non-left-zeroed number starting from 1 with a step of 1 and + should be wrapped around for each platform. + + + + + + + + + + The mode of the instrument. + + + + + + + + + + + + + The description of the instrument mode. + + + + + + + + + Identifier of the instrument mode. + + + + + + + + + Angle of the instrument line of sight with respect to the nadir. + This angle is expressed in radians with positive values on the right + side considering the platform flying direction. This element applies + for active and passive sensors but should not be used in case of + ambiguity regarding the current definition. Ambiguity may actually + occur if the instrument has several simultaneous but independant + views. + + + + + + + + + Instantaneous Angle between the most opposite viewing direction of + the instrument. This angle is to be expressed in radians and should + be considered orthogonal to the flight direction of the owning + platform. This element applies for active and passive sensors but + should not be used in case of ambiguity regarding the current + definition. Ambiguity may actually occur if the instrument has a + field of view mainly oriented along the flight path of the owning + platform. + + + + + + + + + An extensionType type similar to the XFDU extensionType. It is + dedicated to be use as common mechanism to allow versioning and + extension of Sentinel-SAFE types. This extension element is + necessary to face XML Schema notation that does not support + multiple particules during derivation. Where extensibility is made + available, the Sentinel-SAFE type defines an "extension" optional + element of this "extensionType" type with maximum occurrence of one + (1). + + + + + + + + + + + + + On-board Time informations. + + + + + + + UTC time corresponding to the clock (following element). + (currently defined to be given at the time of the ascending + node state vector). + + + + + + + + Satellite reference binary time. + + + + + + + + Step length of clock (in picoseconds). + + + + + + + + Leap second information + + + + + + + + + + + + + + An extensionType type similar to the XFDU extensionType. It is + dedicated to be use as common mechanism to allow versioning and + extension of Sentinel-SAFE types. This extension element is + necessary to face XML Schema notation that does not support + multiple particules during derivation. Where extensibility is made + available, the Sentinel-SAFE type defines an "extension" optional + element of this "extensionType" type with maximum occurrence of one + (1). + + + + + + + + + + + + + + + + + All the informations about data quality of a component. Every + detected missing and corrupted unit should be listed. Correct + and present units checked may also be listed. + + + The extension wild card allows any other + information about the product quality. + + + + + + + + + Indicates whether element(s) is (are) missing in a + component. + + + + + + + Indicates whether element(s) is (are) corrupted or + suspicious in a component. + + + + + + + + + + + + + An extensionType type similar to the XFDU extensionType. It is + dedicated to be use as common mechanism to allow versioning and + extension of Sentinel-SAFE types. This extension element is + necessary to face XML Schema notation that does not support + multiple particules during derivation. Where extensibility is made + available, the Sentinel-SAFE type defines an "extension" optional + element of this "extensionType" type with maximum occurrence of one + (1). + + + + + + + + + + + + + + + + + Indicates whether element(s) is (are) missing in a component. + The location sub-element provides the + type of element that is missing as well as one or two occurrence + number(s) (using following and/or + preceding attributes) which should locate + the missing unit(s), or one or two occurrence number(s) (using + after and/or + before attributes) which should roughly + locate the missing unit(s). + + + The mandatory count element provides the + number of missing element(s) (possibly zero). + + + The cause element may provide a cause for + the missing. + + + + + + + + The location of the missing element(s). + + + + + + + Information about missing element(s) count. + + + + + + + If known, the cause for the element missing. + + + + + + + + + + + + + + + Indicates whether element(s) is (are) corrupted or suspicious in + a component. The location sub-element + provides the type of element that is corrupted and its (their) + location. The location may also be indicated using + following and/or + preceding attributes. The location may + also be roughly indicated using after + and/or before attributes. + + + The count element may provide information + about corrupted element(s) number. + + + The evidence element may provide a cause + for the corruption. + + + + + + + + The location of the corrupted element(s). + + + + + + + Information about corrupted element(s) count. + + + + + + + If known, the cause and the severity of the corruption. + + + + + + + + + + + + + + The location of the missing or corrupted element(s). The location + may be indicated using time information, or using representation + information (XML schema) of the component. + + + + + + + Provides the time extents of the corrupted or missing data + within the corrupted or missing element block. + + + + + + + The location of the missing or corrupted element(s) using + representatation information (XML schema) of the component. + + + + + + + + + + Provides the time extents of the corrupted or missing data within + the corrupted or missing element block. + + + + + + + Time of the oldest corrupted or missing data within the + corrupted or missing element block. + + + + + + + Time of the most recent corrupted or missing data within the + corrupted or missing element block. + + + + + + + + + + Time of the oldest corrupted or missing data within the corrupted + or missing element block. + + + + + + + + + Time of the most recent corrupted or missing data within the + corrupted or missing element block. + + + + + + + + + + The location of the missing or corrupted element(s) using + representation information (XML schema) of the component. The + location should be a relative XPath 2.0 expression that is to be + evaluated with the referenced component as context item. The + expression should result to a sequence or a singleton (i.e. a + sequence of one item). + + + Attributes following and + preceding, after + and before may indicate occurrences + permitting a more accurate location in the sequence returned by + the XPath. following and + preceding may be associated; + after and before + may be associated; any other attributes association is not + allowed. + + + User should be aware that use of CDATA sections may be mandatory + for the value of this element (Definition: CDATA sections may + occur anywhere character data may occur; they are used to escape + blocks of text containing characters which would otherwise be + recognized as markup. CDATA sections begin with the string " + <![CDATA[ " and end with the string " ]]> + ":] - source http://www.w3.org/TR/REC-xml/). + + + + + + + Indicates the first non-missing or non-corrupted occurrence + after a single or a list of missing or corrupted element. + + + + + + + Indicates the occurrence immediatly preceding a single or a + list of missing or corrupted element (missing or corrupted + element(s) just follow this occurrence). + + + + + + + Indicates the missing or corrupted element(s) is (are) located + in a sequence before the attribute value + occurrence. + + + + + + + Indicates the missing or corrupted element(s) is (are) located + in a sequence after the attribute value + occurrence. + + + + + + + + + + Indicates the first non-missing or non-corrupted occurrence + after a single or a list of missing or corrupted element. This + attribute may be used with the + count + element of a + missingElements + element or + corruptedElements + element. + + Example: + + <sentinel-safe:corruptedElements> + <sentinel-safe:location preceding="4"> + <sentinel-safe:path>measurements/record</sentinel-safe:path> + </sentinel-safe:location> + <sentinel-safe:count value="3"/> + </sentinel-safe:corruptedElements> + + + indicates that there are 3 missing records + just before the record #4. + + + The value is always exclusive. + + + + + + + + + + + Indicates the occurrence immediately preceding a single or a + list of missing or corrupted element (missing or corrupted + element(s) just follow this occurrence). + This attribute may be used with the count + element of a missingElements element or + corruptedElements element. + + Example: + + <sentinel-safe:corruptedElements> + <sentinel-safe:location following="4"> + <sentinel-safe:path>measurements/record</sentinel-safe:path> + </sentinel-safe:location> + <sentinel-safe:count value="3"/> + </sentinel-safe:corruptedElements> + + + indicates that records #5, #6, #7 are corrupted. + + + The value is always exclusive. + + + + + + + + + + + Indicates the missing or corrupted element(s) is (are) located + in a sequence before the attribute value + occurrence. This attribute may be used with the + count element of a + missingElements element or + corruptedElements element. + + Example: + + <sentinel-safe:corruptedElements> + <sentinel-safe:location before="100"> + <sentinel-safe:path>measurements/record</sentinel-safe:path> + </sentinel-safe:location> + <sentinel-safe:count value="10"/> + </sentinel-safe:corruptedElements> + + + indicates that 10 of the records #1 to #99 are corrupted. + + + The value is always exclusive. + + + + + + + + + + + Indicates the missing or corrupted element(s) is (are) located + in a sequence after the attribute value + occurrence. This attribute may be used with the + count element of a + missingElements element or + corruptedElements element. + + + <sentinel-safe:corruptedElements> + <sentinel-safe:location after="100"> + <sentinel-safe:path>measurements/record</sentinel-safe:path> + </sentinel-safe:location> + <sentinel-safe:count value="10"/> + </sentinel-safe:corruptedElements> + + + indicates that 10 of the records #101 to the end of the record + sequence are corrupted. + + + The value is always exclusive. + + + + + + + + + + + + + + Information about corrupted or missing element(s) count. + The value attribute indicates the number of + corrupted or missing element(s) (possibly zero). The + over attribute specifies the total number of + elements over which the corrupted or missing element(s) are counted + (the element sequence count). + + + + + + + The value attribute indicates the number + of corrupted or missing element(s) (possibly zero). + + + + + + + The over attribute specifies the total + number of elements over which the corrupted or missing + element(s) are counted (the element sequence count). + + + + + + + + + The value attribute indicates the number + of corrupted or missing element(s) (possibly zero). + + + + + + + + + The over attribute specifies the total + number of elements over which the corrupted or missing + element(s) are counted (the element sequence count). + + + + + + + + + + + + + If known, the cause for the element missing. + + + + + + + + + The missingCauseTypeType attribute intends + to be restricted by the specialisations of Sentinel-SAFE. + + + + + + + + + + + + + If known, the cause and the severity of the corruption. + + + + + + + + + + + + If known, the cause of the corruption. + + + + + + + + + + + + + + + + If known, the cause of the corruption. + + + + + + + + + If known, the severity classification of failure. + + + + + + + + + + + + + Locates a data object according to a specific orbit. + + + + + + + + + + + + + + + + + + + + + + + + Absolute orbit number to which the oldest, most recent or an + unknown data unit of the data object refers. If the oldest and + the most recent data unit share the same absolute orbit + number, the occurrence of the orbitNumber element shall be 1. + + + + + + + The value start indicates the absolute orbit number refers + to the oldest data object. The value stop indicates the + absolute orbit number refers to the most recent data unit. + The value unknown indicates the absolute orbit number + refers to a data unit of the product (we don't know + precisely which one). + + + + + + + + + + + + + + + + The ground track (also called ground trace) of an orbiting + platform is the trace of its path across the surface of + the Earth. The path on the surface of the Earth is the + trace of the platfom's nadir. + + + The value ascending indicates that the + platform is going from south to north (or southeast to + northwest, or southwest to northeast) at the time + specified by the @type attribute. + + + The value descending indicates that the + platform is going from north to south (or northwest to + southeast, or northeast to southwest) at the time + specified by the @type attribute. + + + The value paralleling indicates that the + platform is going from east to west or from west to east + at the time specified by the @type + attribute. + + + The value unknown indicates that the ground + track direction is not known for the time specified by the + @type attribute. + + + + + + + + + + + + + + + Relative orbit number to which the oldest, most recent or an + unknown data unit of the data object refers. If the oldest and + the most recent data unit share the same relative orbit + number, the occurrence of the orbitNumber element shall be 1. + + + + + + + The value start indicates the relative orbit number refers + to the oldest data object. The value stop indicates the + relative orbit number refers to the most recent data unit. + + + + + + + + + + + + + + + The ground track (also called ground trace) of an orbiting + platform is the trace of its path across the surface of + the Earth. The path on the surface of the Earth is the + trace of the platfom's nadir. + + + The value ascending indicates that the + platform is going from south to north (or southeast to + northwest, or southwest to northeast) at the time + specified by the @type attribute. + + + The value descending indicates that the + platform is going from north to south (or northwest to + southeast, or northeast to southwest) at the time + specified by the @type attribute. + + + The value paralleling indicates that the + platform is going from east to west or from west to east + at the time specified by the @type + attribute. + + + The value unknown indicates that the ground + track direction is not known for the time specified by the + @type attribute. + + + + + + + + + + + + + + + + Absolute pass number from pole to pole to which the oldest, + most recent or an unknown data unit of the data object + refers. If the oldest and the most recent data unit share the + same absolute pass number, the occurrence of the passNumber + element shall be 1. + + + + + + + The value start indicates the absolute pass number refers + to the oldest data object. The value stop indicates the + absolute pass number refers to the most recent data unit. + The value unknown indicates the absolute pass number + refers to a data unit of the product (we don't know + precisely which one). + + + + + + + + + + + + + + + + The ground track (also called ground trace) of an orbiting + platform is the trace of its path across the surface of + the Earth. The path on the surface of the Earth is the + trace of the platfom's nadir. + + + The value ascending indicates that the + platform is going from south to north (or southeast to + northwest, or southwest to northeast) at the time + specified by the @type attribute. + + + The value descending indicates that the + platform is going from north to south (or northwest to + southeast, or northeast to southwest) at the time + specified by the @type attribute. + + + The value paralleling indicates that the + platform is going from east to west or from west to east + at the time specified by the @type + attribute. + + + The value unknown indicates that the ground + track direction is not known for the time specified by the + @type attribute. + + + + + + + + + + + + + + + Relative pass number from pole to pole to which the oldest, + most recent or an unknown data unit of the data object + refers. If the oldest and the most recent data unit share the + same relative relative pass number, the occurrence of the + relativePassNumber element shall be 1. + + + + + + + The value start indicates the relative pass number refers + to the oldest data object. The value stop indicates the + relative pass number refers to the most recent data unit. + The value unknown indicates the relative pass number + refers to a data unit of the product (we don't know + precisely which one). + + + + + + + + + + + + + + + + The ground track (also called ground trace) of an orbiting + platform is the trace of its path across the surface of + the Earth. The path on the surface of the Earth is the + trace of the platfom's nadir. + + + The value ascending indicates that the + platform is going from south to north (or southeast to + northwest, or southwest to northeast) at the time + specified by the @type attribute. + + + The value descending indicates that the + platform is going from north to south (or northwest to + southeast, or northeast to southwest) at the time + specified by the @type attribute. + + + The value paralleling indicates that the + platform is going from east to west or from west to east + at the time specified by the @type + attribute. + + + The value unknown indicates that the ground + track direction is not known for the time specified by the + @type attribute. + + + + + + + + + + + + + + The ground track (also called ground trace) of an orbiting + platform is the trace of its path across the surface of + the Earth. The path on the surface of the Earth is the + trace of the platfom's nadir. + + + The value ascending indicates that the + platform is going from south to north (or southeast to + northwest, or southwest to northeast) at the time + specified by the @type attribute. + + + The value descending indicates that the + platform is going from north to south (or northwest to + southeast, or northeast to southwest) at the time + specified by the @type attribute. + + + The value paralleling indicates that the + platform is going from east to west or from west to east + at the time specified by the @type + attribute. + + + The value unknown indicates that the ground + track direction is not known for the time specified by the + @type attribute. + + + + + + + + + + + + + + + Cycle number to which the oldest data unit of the data object + refers. + + + + + + + + + Orbit phase identifier to which the oldest data unit of the data + object refers. + + + + + + + + + Track number to which the oldest data unit of the data object + refers. The track number specifications depends on the World + Reference System defined by the platform owner or the main + organization responsible of its operation. + + + + + + + + + Track number to which the most recent data unit of the data object + refers. The track number specifications depends on the World + Reference System defined by the platform owner or the main + organization responsible of its operation. + + + + + + + + + + + An extensionType type similar to the XFDU extensionType. It is + dedicated to be use as common mechanism to allow versioning and + extension of Sentinel-SAFE types. This extension element is + necessary to face XML Schema notation that does not support + multiple particules during derivation. Where extensibility is made + available, the Sentinel-SAFE type defines an "extension" optional + element of this "extensionType" type with maximum occurrence of one + (1). + + + + + + + + + + + + + An element of attitudeSetType is a receptacle for the attitude + angles describing the platform position or movements around its + center of gravity. Attitudes may have been produced or filtered in + several ways (onboard, at ground station, at mission center, etc.). + Therefore the attitude_set provides a mechanism to identify the + origin of the attitudes + + + + + + + + The producer identifies the system (including the platform + itself) or organism that provided the attitudes. Identifying + the precise facility that has generated these attitudes + provides an assessment of the quality of the measurements. A + precise definition of the facility type is provided in the + following sections. In particular, this type enables + identification of the involved systems (i.e. an organisation, + a location, as well as the software, hardware or firmware). + + + + + + + The attitude element provides information about the rotation + of the platform around its centre of gravity at a precise time + instant or time interval. Two types of attitudes can be + provided: attitudes with absolute angles or attitudes with + differential angles (i.e. angular velocity). + + + + + + + + + Determines the type of the attitude measurements provided. All + attitudes shall be of a homogeneous type in the overall attitude + set. + + + + + + + + + + + + + + + The attitude element provides information about the rotation of the + platform around its centre of gravity at a precise time instant or + time interval. Two types of attitudes can be provided: attitudes + with absolute angles or attitudes with differential angles (i.e. + angular velocity). A precise definition of attitude type is provided + below. + + + + + + + + The epoch defines the precise instant related to the attitude + provided by the current ephemeris. The time reference system + is of the dateTime simple type (i.e. UTC). The time accuracy + to be expected depends on the ephemeris producer. + + + + + + + Absolute rotation or angular velocity around Yaw axis. Yaw + axis is the one specific to the attitude reference system of + the platform. + + + + + + + Absolute rotation or angular velocity around Roll axis. Roll + axis is the one specific to the attitude reference system of + the platform. + + + + + + + Absolute rotation or angular velocity around Pitch axis. Pitch + axis is the one specific to the attitude reference system of + the platform. + + + + + + + + + + + Absolute rotation or angular velocity around Yaw axis. Yaw axis is + the one specific to the attitude reference system of the platform. + + + + + + + + + Absolute rotation or angular velocity around Roll axis. Roll axis is + the one specific to the attitude reference system of the platform. + + + + + + + + + Absolute rotation or angular velocity around Pitch axis. Pitch axis + is the one specific to the attitude reference system of the + platform. + + + + + + + + + Provides dynamic information (i.e. position and velocity) regarding + the center of gravity of the described platform. The set is composed + of a series of instantaneous ephemeris that provide dynamic figures + of the platform at a specific epoch. + + + + + + + This facility or system that generated the set of ephemeris. + + + + + + The set of ephemeris. + + + + + + + + + Provides dynamic information (i.e. position and velocity) regarding + the center of gravity of the described platform at a precise time + instant. + + + + + + + + + + + + + + + + + The epoch defines the precise instant related to the attitude + provided by the current ephemeris. The time reference system + is provided by the type attribute (i.e. UTC, UT1...). The + time accuracy to be expected depends on the ephemeris + producer. + + + + + + + Type of the time reference system. + + + + + + + + + + + + + + + + + + + + + + + + X, Y and Z components of the satellite position. + + + + + + + + + + + + + X component of the satellite position. + + + + + + + + + Y component of the satellite position. + + + + + + + + + Z component of the satellite position. + + + + + + + + + Vx, Vy and Vz components of the satellite velocity. + + + + + + + + + + + + + Vx component of the satellite velocity. + + + + + + + + + Vy component of the satellite velocity. + + + + + + + + + Vz component of the satellite velocity. + + + + + + + + + + + An extensionType type similar to the XFDU extensionType. It is + dedicated to be use as common mechanism to allow versioning and + extension of Sentinel-SAFE types. This extension element is + necessary to face XML Schema notation that does not support + multiple particules during derivation. Where extensibility is made + available, the Sentinel-SAFE type defines an "extension" optional + element of this "extensionType" type with maximum occurrence of one + (1). + + + + + + + + + + + + + + + + Describes the set of frames that may be relative to a data object. + Each frame described in this section is a logical collection of data + units identified by a node in the platform World Reference + System(WRS). The collection as well as the frame WRS coordinates + differs from a platform to another: they are defined by the platform + owner or the main organization responsible of its operation. This + concept of frame has no relationship with telemetry frames. + If the frameSet cointains only one frame, then the footPrint of the + frameSet shall be used instead of the footPrint of the frame (if no + other data is available - orbit, track, etc.) the frame shall be + removed. + + + + + + + + Boundaries of the frameSet. + + + + + + + + + + + + + + + + + Provides the floor and ceiling notation figures of the notation + system. If not provided, the floor is defaulted to 0.0 and the + ceiling value to 10.0. + + + + + + + + + + A frame of platform World Reference System (WRS). + + + + + + + + + + Frame ground location with regard to the platform World + Reference System (WRS). + + + + + + + Boundaries of the frame. In addition to the constraints + imposed by the GML type for linear rings, the coordinates of + the "footPrint" element should be declared in a + counter-clockwise order. + + + + + + + + + + + + + + Orbit number to which the frame belongs. + + + + + + + + + Track number to which the frame belongs. + + + + + + + + + Frame number with regard to the platform World Reference System + (WRS). + + + + + + + + + Approximative time at which the platform flown the frame center of + more accurately, the time at which the instrument measured the frame + center. + + + + + + + + + Tile composing the frame. Frames may be broken down in sub-regions + called tiles that are organized in rows and columns. The tiles are + "frame oriented" and therefore, the rows or columns of tiles may not + fit the map projection map coordinate axis. The rows and columns are + numbered in the same order as the platform World Reference System + (WRS). Both values start from 1. The objective of the tiles is to + assign information to a specific part of the frame. + + + + + + + + + + + The row index of the tile. This index is numbered in the same + order as the platform World Reference System (WRS), starting from + 1. + + + + + + + + + + + + The column index of the tile. This index is numbered in the same + order as the platform World Reference System (WRS), starting from + 1. + + + + + + + + + + + + + + + + Numeric notation qualifying the cloud coverage. The cloud vote is a + real number laying from the cloudVoteNotation/@floor to the + cloudVoteNotation/@ceil values included. The + cloudVoteNotation/@floor indicates a cloud free tile, whether a + cloudVoteNotation/@ceil indicates a full and opaque cloud coverage. + + + + + + + + + + + + An extensionType type similar to the XFDU extensionType. It is + dedicated to be use as common mechanism to allow versioning and + extension of Sentinel-SAFE types. This extension element is + necessary to face XML Schema notation that does not support + multiple particules during derivation. Where extensibility is made + available, the Sentinel-SAFE type defines an "extension" optional + element of this "extensionType" type with maximum occurrence of one + (1). + + + + + + + + + + + + + + + Gridded tie points for annotating data. The + grid reference is typically used for conveying geographical + information attached to data objects. It may, however, be useful + in various other cases including the provision of wind vector + fields, of temperatures or sun elevation. + + + Generally the amount of information conveyed by the grid + reference is smaller than the referenced data so the grid points + form a subsample of the entire data. This property implies that + grid reference information is applicable only for + gridded data i.e. requiring the data to be organised + in lines and columns of at least one sample. The grid reference + information is, therefore, suitable for raster images and + matrices. The line/column organisation is supposed to be at the + top level of the data structure but does not constrain the + atomic or structure type of the cells, whether changing from one + to another. + + + If the data has two dimensions, the first is considered as the + line dimension and the second as the + column dimension. + + + If the data has only one dimension, the first sample is supposed + to initiate an alternate series of sequences of lines and + columns. Sizes of the sequences may vary but the first sample of + each shall have a line or column index of 1. The exact size of + each sequence is to be provided by metadata objects or supposed + well known by the reader. + + + The axis of the grid reference system is supposed to be collinear + to those of the data and have the same orientations. They may be + shifted or rescaled c.f. origin and + scale sub-elements. + + + + + + + + + The origin of the grid. The origin consists in + the couple of coordinates i.e. line/column indexes, defining + the origin which sights the point (1,1) of the grid. + + + + + + + + The subsampling factors of the grid regarding the data. The + scale specifies how many data samples to skip between two + points of the grid i.e. in lines and columns. If the scale is + not provided, the default couple (1, 1) is considered meaning + that one grid point is to be expected for one data sample. + + + + + + + + + + + The lines of the grid. The lines are holding a series of + points corresponding to each columns of the grid but also + metadata information e.g. time or convenient data applicable + to the entire line. + + + + + + + + + + + A point of origin. This consists in the couple of coordinates i.e. + line/column indexes, defining the origin where sights the point + (1,1) of a system with respect to a referenced system. Coordinates + in both systems are supposed to start from 1. + + + + + + + + The coordinate of the first line of the system in the + referenced system. Coordinates in both systems are supposed to + start from 1. + + + + + + + + The coordinate of the first column of the system in the + referenced system. Coordinates in both systems are supposed to + start from 1. + + + + + + + + + + + Sampling factor between two system. The scale corresponds to the + factor to be applied to the coordinates of a referential to be + converted to another referenced system. + + + + + + + + The scale factor among lines. The scale factor is an integer + value to prevent non discrete samplings that may require + interpolation or approximation. + + + + + + + + The scale factor among columns. The scale factor is an integer + value to prevent non discrete samplings that may require + interpolation or approximation. + + + + + + + + + + + A line of a grid reference. Each line may be shifted from the grid + origin thanks to the offset sub-element that may vary + among lines of the grid. In the same manner, the points belonging + to the current line may be separated by a number of columns + specific to the current line c.f. columnSpacing. + Finally, the line may be annotated with information applicable to + the overall points it contains c.f. time or wildcard + for convenient metadata. + + + + + + + + Offset from the previous line or from the first line of the + grid, should the occasion arise. This offset is, actually, + related to the grid system and not to the referenced data. + From the coordinates of a data sample, it is, therefore, + necessary to apply first the shift to the origin + of the grid before using the present offset. + This element is suitable when lines are not equally spaced + within the grid. If not provided, an offset of 1 is + considered when current line is not the first among the grid + and 0 otherwise. Typical grids define no offset + at all. + + + + + + + + Number of grid columns separating two points of the line. + This element is required when at least one of the grid lines + has a column spacing different from the others. Regular grids + define no columnSpacing at all for any line. + This element cannot be used if this line contains at least + one point with an offset. + + + + + + + + Epoch of the line. If the points contained in the present line + have several corresponding epochs, the mean + epoch is considered. The exact semantic between + the present element and the referenced data is undefined but + should be attached to the information conveyed by the points + more than to the referenced data. + + + + + + + + + + + Points of the current line. + + + + + + + + + + + + An extensionType type similar to the XFDU extensionType. It is + dedicated to be use as common mechanism to allow versioning and + extension of Sentinel-SAFE types. This extension element is + necessary to face XML Schema notation that does not support + multiple particules during derivation. Where extensibility is made + available, the Sentinel-SAFE type defines an "extension" optional + element of this "extensionType" type with maximum occurrence of one + (1). + + + + + + + + + + + + A point of a grid reference. The point holds the information sighted + by the grid reference. It may regard the location + of the referenced data sample, the corresponding Sun + elevation/azimuth or any other convenient or specialized + information. + + + + + + + + Offset from the previous point of the line or from first + column of the grid, should the occasion arise. This offset + is, actually, related to the grid system and not to the + referenced data. From the coordinates of a data sample, it + is, therefore, necessary to apply first the shift to the + origin of the grid before using the present + offset. This element is suitable when columns + are not equally spaced within the grid. If not provided, an + offset of 1 is considered when current point is not the first + among the line and 0 otherwise. Typical grids define no + offset at all. + + + + + + + + Epoch of the point. If the point content have several + corresponding epochs e.g. point with complex structure + embedding various engineering data, the + mean epoch + is considered. The exact semantic between the present element + and the referenced data is undefined but should be attached to + the information conveyed by the point more than to the + referenced data. + + + + + + + + + Geographical location of the current point. The coordinates + may be expressed according to a Geodetic coordinates or any + other map projection system. + + + + + + + + Sun's position in the sky at the point location + and at the given time. + + + + + + + + Observation or measurement incidence angle. The considered + beam can be formed by any wave (optical, acoustical, + microwave, X-ray etc.) depending on the acquiring + technologies, but, should originate from the instrument that + sampled the data and should intercept the Earth surface at the + point location and at the given + time. The Earth surface defines the collector's + surface of the angle of incidence. + + + + + + + Platform informations (TBD). + + + + + + + + + + + + + + Geographical location of the current point. The coordinates + may be expressed according to a Geodetic coordinates or any + other map projectin system. + + + + + + + + + + + + + + + + + + Sun's position in the sky. The position is defined by two angles: + the Solar Elevation angle and the Azimuth angle from. The Solar + Elevation angle is the vertical angle up from the horizon. The + Azimuth is the horizontal rotation angle from Due South (in the + Northern Hemisphere) or from Due North (in the Southern + Hemisphere). + + + The Elevation is zero when the Sun is on the horizon. It is 90 + degrees when the Sun is directly overhead. In most places the Sun + will never be directly overhead. That only happens in the + tropics. When the Sun's elevation is lower, its path through the + atmosphere is longer, causing some reflection and dispersal + (weakening of the solar beam energy that arrives to earth). + + + + + + + + + + Sun's Azimuth. The azimuth angle is the angle within the + horizontal plane measured from true South or North. The + azimuth, when in reference to the South is usually called the + bearing. If the sun is East of South, the Bearing is positive, + else the bearing is negative. This element is expressed in + radians and positive clockwise. + + + + + + + + Sun's Elevation. The solar elevation is the vertical angle + between the horizontal and the line connecting to the sun. At + sunset/sunrise elevation is 0 and is PI/2 when the sun is at + the zenith. Negative values means that Sun is not visible from + the present location. The elevation relates to the latitude of + the site, the declination angle and the hour angle. This + element is expressed in radians. + + + + + + + + + + + + + + + + + + + + + + + + An extensionType type similar to the XFDU extensionType. It is + dedicated to be use as common mechanism to allow versioning and + extension of Sentinel-SAFE types. This extension element is + necessary to face XML Schema notation that does not support + multiple particules during derivation. Where extensibility is made + available, the Sentinel-SAFE type defines an "extension" optional + element of this "extensionType" type with maximum occurrence of one + (1). + + + + + + + + + + + + Atomic type of a grid reference origin line cooordinate. This type + is dedicated to be further restricted or extended for specific + purposes. + + + + + + + + + Atomic type of a grid reference origin column cooordinate. This type + is dedicated to be further restricted or extended for specific + purposes. + + + + + + + + + Atomic type of a grid reference line spacing. This type is dedicated + to be further restricted or extended for specific purposes. + + + + + + + + + Atomic type of a grid reference column spacing. This type is + dedicated to be further restricted or extended for specific + purposes. + + + + + + + + + Atomic type of a grid reference line offset. This type is dedicated + to be further restricted or extended for specific purposes. + + + + + + + + + Atomic type of a grid reference line or column spacing. This type is + dedicated to be further restricted or extended for specific + purposes. + + + + + + + + + Atomic type of a grid reference time among lines. This type is + dedicated to be further restricted or extended for specific + purposes. + + + + + + + + + Atomic type of a grid reference time among lines. This type is + dedicated to be further restricted or extended for specific + purposes. + + + + + + + + + Atomic type of a time attached to a grid reference point. This type + is dedicated to be further restricted or extended for specific + purposes. + + + + + + + + + Atomic type of a latitude attached to a grid reference point. This + type is dedicated to be further restricted or extended for specific + purposes. + + + + + + + + + Atomic type of a longitude attached to a grid reference point. This + type is dedicated to be further restricted or extended for specific + purposes. + + + + + + + + + Atomic type of an elevation attached to a grid reference point. This + type is dedicated to be further restricted or extended for specific + purposes. + + + + + + + + + Atomic type of a Sun's azimuth attached to a grid reference point. + This type is dedicated to be further restricted or extended for + specific purposes. + + + + + + + + + + + + Atomic type of a Sun's elevation attached to a grid reference point. + This type is dedicated to be further restricted or extended for + specific purposes. + + + + + + + + + + + + Atomic type of a Platform's azimuth attached to a grid reference + point. This type is dedicated to be further restricted or extended + for specific purposes. + + + + + + + + + + + + Atomic type of a Platform's elevation attached to a grid reference + point. This type is dedicated to be further restricted or extended + for specific purposes. + + + + + + + + + + + + An Angle of Incidence in radians. The angle of incidence is the + angle between a beam incident on a surface and the line + perpendicular to a collector's surface at the point of incidence. An + angle of incidence of 0 means the beam is perpendicular to the + collector surface, and an angle of incidence PI/2 means the beam is + parallel to the collector surface. + + + + + + + + + + + + + + + An extensionType type similar to the XFDU extensionType. It is + dedicated to be use as common mechanism to allow versioning and + extension of Sentinel-SAFE types. This extension element is + necessary to face XML Schema notation that does not support + multiple particules during derivation. Where extensibility is made + available, the Sentinel-SAFE type defines an "extension" optional + element of this "extensionType" type with maximum occurrence of one + (1). + + + + + + + + + + + + + + + The processing log is a type for collecting historical information + dedicated to maintenance and traceability of the described product + data. The standard processing log provides a single thread of + process logs of any different kind. + + + + + + + + Reference to any facility that may have been involved in the + processing. + + + + + + + + Reference to any software that may have been involved in the + processing. + + + + + + + + + An ordered list of processing log entries. Each processing log + entry shall have affected the current package before its + previous sibling occurrence and after its next sibling + occurrence. + + + + + + + + + Reference to any resource that may have been involved in the + processing. This element is an effective way to record the + several threads of processing when relevant. As example, a + merging algorithm may be the history of each input file thanks + to this mechanism. + + + + + + + + + + + The name of the processing. This attribute is mandatory and + should never be bound to the empty string. However, because the + processing log is provided for information, the name may not be a + strict identifier. + + + + + + + + + The level of the output processing. This attribute is not + mandatory. + + + + + + + + + + + + + + + + + Beginning date of the referenced processing. The date shall be + provided in UTC time system. This date is also be used as + reference for ordering the various processing with regard to + their siblings. + + + + + + + + + Ending date of the referenced processing. The date shall be + provided in UTC time system. Basically the stop date should be + further to the start date of the processing. + + + + + + + + + + A resource of a processing represents any component during the + processing and that is relevant to record in the product log. The + resource is identified by a name and annotated with its role in the + processing. The resource may be located through an optional URL + reference. Finally, the major goal of the resource element is to + branch the processing log in several sub-logs. Actually, it is + possible to record the resource processing log as children entries + of the element. + + + + + + + + Processing log entries of a resource. + + + + + + + + + + + The name of the logged resource. This attribute is mandatory. + + + + + + + + + Role of the resource with regard to the holding processing. + + + + + + + + + Version of the resource. + + + + + + + + Location of the resource. + + + + + + + + + + + Identifies an organisation authority of a specific processing. The + facility may also hold its location coordinate as well as the + involved systems (i.e. hardware or software). + + + + + + + + + Describes a facility sub-component of the facility + environment. + + + + + + + + Describes a software sub-component of the facility + environment. + + + + + + + + Describes an hardware sub-component of the facility + environment. + + + + + + + + + + + Name of the organisation authority responsible of the facility. + + + + + + + + + Explicit name of the organization responsible of the facility. + This name may be an agency or company name. The semantic of this + name is under responsibility of the user. + + + + + + + + + Geographical location of the facility. This element does not + intends to describe the precise location as a postal address. + However many facilities can be identified or geographically + located with a name such as Kiruna or Sioux-Falls. + + + + + + + + + Name of the country where the facility is located. + + + + + + + + + + + Reference to a software component. The software component is named + and may be composed of several sub-components. + + + + + + + + + + Describes a sub-component of the facility environment. It may + be another, sub-facility (e.g. the Payload Data Control Center + zith the Payload Data Segment of ENVISAT). It may also be a + software or whatever system. + + + + + + + + + + Name of the component. + + + + + + + + The version or release identifier of the software. No specific + pattern has to be followed. + + + + + + + + + + + Reference to an hardware component. The hardware component is named + and may be composed of several sub-components. + + + + + + + + + Describes a software sub-component of the facility + environment. + + + + + + + + Describes an hardware sub-component of the facility + environment. + + + + + + + + + + + Name of the hardware component. + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/level-0/hktm-level-0-types.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/level-0/hktm-level-0-types.xsd new file mode 100755 index 0000000..f913a16 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/level-0/hktm-level-0-types.xsd @@ -0,0 +1,43 @@ + + + + + + + + Types for Sentinel-2 HKTM Level 0 products. + + + + + + + + Information on the stand-alone product. + + + + + + + + Information related to the data segment included in the HKTM L0 product + + + + + + + + + + + \ No newline at end of file diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/level-0/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/level-0/xfdu.xsd new file mode 100755 index 0000000..3563e8a --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/level-0/xfdu.xsd @@ -0,0 +1,134 @@ + + + + + + Sentinel-2 HKTM Level 0 XFDU restricted types. This schema describes the manifest.safe file for Sentinel-2 HKTM Level 0 products. + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the manifest file and its version (major and minor). + + + + + + + + + + + The metadataSection for Sentinel-2 HKTM L0 products contains the following 9 metaDataObjects: + Wrapped Metadata: + acquisitionPeriod + platform + s2hktm:standAloneProductInformation + orbitReference + processing + measurementQualityInformation + Product Annotation Data Sets: + measurementAnnotation + Representation Data Sets: + measurementSchema + measurementAnnotationSchema + + + + + + + + + + + + + + The xmlDataType is a container for any valid XML data. This data type is restricted to allow inclusion of only the valid SAFE manifest XML data types. + + + + + + + + + + + + + + + + + + + + The dataObjectSection for Sentinel-2 HKTM L0 products contains the following 2 dataObjects: + Measurement Data Sets: + measurementData + Annotation Data Sets: + measurementAnnotData + + + + + + + + + + + + + The dataObject ID attribute is restricted to allow only the valid ID patterns for the product type. + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/safe.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/safe.xsd new file mode 100755 index 0000000..1230529 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/hktm/safe.xsd @@ -0,0 +1,113 @@ + + + + + + Sentinel-2 HKTM: SAFE restricted types. + + + + + + + + + + + + + + + + Sentinel-2 product quality additional info. + + + + + + + + + + + + + + + + + Imposes stopTime as mandatory. + + + + + + + + + + + + + + + + + + Imposes number as mandatory. + + + + + + + + + + + + + + + + + The acquisition period metadata is dedicated to provide + the time extents of the data wrapped by the present SAFE + archive. + Imposes an extension point. + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/level-0/s2-level-0-types.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/level-0/s2-level-0-types.xsd new file mode 100755 index 0000000..efa3b79 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/level-0/s2-level-0-types.xsd @@ -0,0 +1,147 @@ + + + + + + + + + SENTINEL-2 types for Level 0 + + + + + + + + Delta time of start and stop orbit w.r.t. ascending node time + + + + + + + + + + + + + The information about time of occurrence of leap second (if leap second occurred in the + product time window of interest) + + + + + + + + + + + sign of leap second + + + + + + + + + + + + + + Additional information about the orbit for Sentinel-2 + + + + + + + + + + direction of the orbit for the oldest ISP in the product + + + + + + + + + + + + + + + Additional information about the product quality for Sentinel-2 + + + + + + + + + + + + + + + + byte ordering used to represent the data in a Data Component + + + + + + + + + + + + byte ordering used to represent the data in a Data Component + + + + + + + + + + + + + byte ordering used to represent the data in a Data Component + + + + + + + + + + + + + used instead of XSD type xs:boolean (that accepts only 0,1 or false,true) + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_datastrip/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_datastrip/xfdu.xsd new file mode 100755 index 0000000..4dc0364 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_datastrip/xfdu.xsd @@ -0,0 +1,170 @@ + + + + + + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-0 Datastrip products. + + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + + + A container for 4 to 9 metadatametadataObjects. + + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + + + + A container for 3 data objectsdataObjects. + + + + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + It may be dedicated to: + + + S2_Level-L0_Datastrip_Metadata + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_granule/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_granule/xfdu.xsd new file mode 100755 index 0000000..632e8ac --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_granule/xfdu.xsd @@ -0,0 +1,185 @@ + + + + + + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-0 Granule products. + + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + + + A container for 4 to 10 metadatametadataObjects. + + + + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + + + + + A container for 3 to unbounded dataObjects. + + + + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + It may be dedicated to: + + + IMG_DATA folder Band_10m_1_detector_1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_user_product/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_user_product/xfdu.xsd new file mode 100755 index 0000000..82817eb --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l0_user_product/xfdu.xsd @@ -0,0 +1,145 @@ + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-0 User products. + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + A container for 7 to unbounded metadatametadataObjects. + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + A container for 5 to unbounded Data ObjectsdataObjects. + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_datastrip/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_datastrip/xfdu.xsd new file mode 100755 index 0000000..b97e5c1 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_datastrip/xfdu.xsd @@ -0,0 +1,169 @@ + + + + + + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-1A Datastrip products. + + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + + + A container for 4 to 9 metadatametadataObjects. + + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + + + + A container for 3 data objectsdataObjects. + + + + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + It may be dedicated to: + + + S2_Level-L1A_Datastrip_Metadata + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_granule/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_granule/xfdu.xsd new file mode 100755 index 0000000..91243e9 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_granule/xfdu.xsd @@ -0,0 +1,185 @@ + + + + + + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-1A Granule products. + + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + + + A container for 4 to 10 metadatametadataObjects. + + + + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + + + + + A container for 3 to unbounded dataObjects. + + + + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + It may be dedicated to: + + + IMG_DATA folder Band_10m_1_detector_1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_user_product/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_user_product/xfdu.xsd new file mode 100755 index 0000000..715b30f --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1a_user_product/xfdu.xsd @@ -0,0 +1,184 @@ + + + + + + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-1A User products. + + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + + + A container for 7 to unbounded metadatametadataObjects. + + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + + + + + A container for 5 to unbounded Data ObjectsdataObjects. + + + + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_datastrip/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_datastrip/xfdu.xsd new file mode 100755 index 0000000..42bad17 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_datastrip/xfdu.xsd @@ -0,0 +1,169 @@ + + + + + + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-1B Datastrip products. + + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + + + A container for 4 to 9 metadatametadataObjects. + + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + + + + A container for 3 data objectsdataObjects. + + + + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + It may be dedicated to: + + + S2_Level-L1B_Datastrip_Metadata + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_granule/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_granule/xfdu.xsd new file mode 100755 index 0000000..1a316a6 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_granule/xfdu.xsd @@ -0,0 +1,185 @@ + + + + + + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-1B granule products. + + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + + + A container for 4 to 10 metadatametadataObjects. + + + + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + + + + + A container for 3 to unbounded dataObjects. + + + + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + It may be dedicated to: + + + IMG_DATA folder Band_10m_1_detector_1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_user_product/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_user_product/xfdu.xsd new file mode 100755 index 0000000..251b4b6 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1b_user_product/xfdu.xsd @@ -0,0 +1,184 @@ + + + + + + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-1B User products. + + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + + + A container for 7 to unbounded metadatametadataObjects. + + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + + + + + A container for 5 to unbounded Data ObjectsdataObjects. + + + + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_datastrip/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_datastrip/xfdu.xsd new file mode 100755 index 0000000..f4197fe --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_datastrip/xfdu.xsd @@ -0,0 +1,169 @@ + + + + + + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-1C products. + + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + + + A container for 4 to 9 metadatametadataObjects. + + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + + + + A container for 3 data objectsdataObjects. + + + + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + It may be dedicated to: + + + S2_Level-L1C_Datastrip_Metadata + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_tile/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_tile/xfdu.xsd new file mode 100755 index 0000000..0a0f315 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_tile/xfdu.xsd @@ -0,0 +1,189 @@ + + + + + + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-1C Tile products. + + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + + + A container for 4 to 10 metadatametadataObjects. + + + + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + + + + + A container for 3 to unbounded dataObjects. + + + + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + It may be dedicated to: + + + IMG_DATA folder Band_10m_1_detector_1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_user_product/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_user_product/xfdu.xsd new file mode 100755 index 0000000..b9ec283 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l1c_user_product/xfdu.xsd @@ -0,0 +1,193 @@ + + + + + + + + + + + + The container XFDU receives SAFE elements. This schema describes Manifest + file for all SENTINEL-2 MSI Level-1C User products. + + + + + + + + + + + + + Indicates the location of the XFDU XML schema validating the Manifest + file and its version (major and minor). + + + + + + + + + + + + + + + + A container for 7 to unbounded metadatametadataObjects. + + + + + + + + + + + + + + + + A wrapper to contain XML content. + + + + + + + + + + + + + + + + + + + + + + + + + + A container for 5 to unbounded Data ObjectsdataObjects. + + + + + + + + + + + + + + + + + + + The dataObject is part of a SAFE Object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l2a_user_product/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l2a_user_product/xfdu.xsd new file mode 100644 index 0000000..80be7d2 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/msi/archive_l2a_user_product/xfdu.xsd @@ -0,0 +1,721 @@ + + + + + + + + + + + + XFDU Redefined Types. + Some complex and simple types are restricted for Sentinel-SAFE. + The xfdu:XFDU element is only a container. + + + + + + + + + XFDU root type is a restriction of XFDU in order to assure that no + departure from the CCSDS standard is possible. This option makes + Sentinel-SAFE systematically compatible with any existing environment + using XFDU packages for transferring or archiving data. The XFDU root + type makes mandatory one Information Package Map, one Metadata Section + and one Data Object Section. XFDU root has a "version" + attribute used for the identification of the product specialision (or + product type). + + + + + + + + + + + + + Any Sentinel-SAFE product contains one Information Package + Map (one informationPackageMap element of + informationPackageMapType). + + + + + + + + Any Sentinel-SAFE product contains one Metadata Section + (one metadataSection element of metadataSectionType). + + + + + + + + Any Sentinel-SAFE product contains one Data Object Section + (one dataObjectSection element of dataObjectSectionType). + + + + + + + + + + The version attribute identifies the type of the + Sentinel-SAFE product (also called the product-type or the + specialisation type/version). + + + + + + + + + + + + + + + + + An element of informationPackageMapType describes hierarchic + structure of the product. Nested contentUnit and + dataObjectPointer elements (by their pdiID, dmdID, repID and + dataObjectID attributes) reference metadataObjects and + dataObjects. + + + TODO modify? + Each Content Unit represents one entity of the product (in most + cases a Data Object). The main Content Unit (the first + contentUnit sub-element of the Information Package Map) + represents the product itself. + + + + + + + + + The "root" Content Unit is the only sub-element + of the Information Package Map. + + + + + + + + + + + + + + + + + + An element of contentUnitType represents one entity in the + product. The first (or "root" or "main") + Content Unit (the only sub-element of informationPackageMap + element) represents the product itself. + + + The "root" Content Unit relates the general metadata + (platform identification, processing history, acquisition + period...) to the product via pdiID and dmdID attributes. The + pdiID (Preservation Description Information Identifier) + attribute relates the Content Unit to the Processing Metadata + Object; the dmdID (Description MetaData Identifier) attribute + relates the Content Unit to the Platform Metadata Object and, if + available, to the Acquisition Period Metadata Object (and to any + additional Metadata Object). + + + The "root" Content Unit may contain any number of + contentUnit sub-elements. Each Content Unit (other than the + "root" Content Unit) is a view of the product. + + + Each Content Unit, except "root" Content Unit: + + + + + may nest one or more content units, or may point to a + dataObject or a metadataObject of the product; + + + may relate one or more Metadata Objects to a group of nested + content units or to a Data Object via dmdID (Description + MetaData Identifier) attribute (e.g. a + measurementQualityInformation Metadata Object, a + measurementOrbitReference Metadata Object to a measurement + Data Object...); + + + may relate one or more XML Schema Components to a Metadata or + Data Object via repID (Representation Information Identifier) + attribute; + + + may have a dataObjectPointer sub-element + (dataObject element is pointed from the InformationPackage + Map only via the dataObjectPointer/@dataObject ID attribute)." + + + + + + + + + + + + An element of dataObjectPointerType is a contentUnit + sub-element. It relates a Data Object to the + dataObjectPointer's Content Unit. + + + + + + + + Each Content Unit may contain any number of contentUnit + sub-elements. + + + + + + + + + + + + + + + + + + The Metadata Section (a metadataSection element of + metadataSectionType) contains two or more Metadata Objects + (metadataObject elements of metadataObjectType) that record all + of the static metadata for all entities in the Sentinel-SAFE + product. + + + One of the two mandatory Metadata Objects must be dedicated to + the product processing history. The other must be dedicated to + the identification of the platform that has acquired the product + data. + + + + + + + + + + The two mandatory Metadata Objects must be dedicated to + the product processing history and to the platform + identification. + + + + + + + + + + + + + + + + + A Metadata Object (a metadataObject element of + metadataObjectType) is used to either encapsulate metadata in + XML, to point to an XML Schema Components within the + Sentinel-SAFE Package, or to point to a dataObject element in + the dataObjectSection element. + + + A metadataObject element of metadataObjectType is identified by + the value of its ID attribute (e.g. + <metadataObject ID="processing">). + + + A metadataObject element may: + + + encapsulate metadata (the Metadata Object contains a + metadataWrap sub-element which is a wrapper to contain XML + content); + + + point to an XML Schema Component within the Sentinel-SAFE + Package (the Metadata Object contains a metadataReference + sub-element which allows to point outside of the + Sentinel-SAFE manifest); + + + point to a Metadata Component within the Sentinel-SAFE + Package (the Metadata Object contains a dataObjectPointer + sub-element which relates a dataObject element to the + dataObjectPointer's Metadata Object) (this mechanism is fully + explained in Sentinel-SAFE Control book - Volume 1: Core + Specifications). + + + + + + + + + + + + The metadataReference element is used to point to an XML + Schema Component via its href attribute. No other + Component but XML Schema Component may be pointed to by + metadataReference element. + + + + + + + + A metadataWrap element is used to encapsulate authorized + Sentinel-SAFE-types. + + + + + + + + An element of dataObjectPointerType is a Metadata Object + sub-element. It relates a dataObject element to the + dataObjectPointer's Metadata Object. + + + + + + + + + + + An XML ID for this element. ID attribute is required and has + restricted patterns. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An element of metadataReferenceType is used to point to an XML + Schema Component via its href attribute. No other Component but + XML Schema Component may be pointed to by metadataReference + element. + + + + + + + + + The href attribute is required and its value is the URL of + the pointed Component. + + + + + + + + + + + + + + An element of metadataWrapType element is used to encapsulate + authorized Sentinel-SAFE-types, via its xmlData sub-element. + + + + + + + + An xmlData element contains an xs:any wild card + sub-element. The wild card permits some well-formed XML + belonging to any namespace to appear inside the xmlData + element + + + + + + + + + + + + + + + + + + + + + + + A dataObject element of dataObjectType relates a Component (a + Data or a Metadata Component, but not an XML Schema Component) + to the manifest via its single byteStream sub-element. + + + The dataObject's ID attribute, which is required is pointed to + by: + + + a dataObjectPointer's dataObjectID attribute, sub-element of + a Content Unit if the Component is a Data Component; + + + a dataObjectPointer's dataObjectID attribute, sub-element of + a Content Unit and a a dataObjectPointer's dataObjectID + attribute, sub-element of a Metadata Object if the Component + is a Metadata Component (this mechanism is fully explained in + Sentinel-SAFE Control book - Volume 1: Core Specifications). + + + + + The dataObject's repID attribute is optional and may point to one + or more metadataObject elements each referencing an XML Schema + Component within the Sentinel-SAFE Package. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An element of byteStreamType contains a fileLocation element, + which provides a pointer to a Component (a Data or a Metadata + Component, but not an XML Schema Component). + + + + + + + + A fileLocation element references a Component (a Data or a + Metadata Component, but not an XML Schema Component) via + its href attribute. + + + + + + + + A checksum for a Component (Data or Metadata Component - + except XML Schema Component). + + + + + + + + + + + The MIME type for the referenced Component (Data or + Metadata Component - except XML Schema Component). + + + + + + + + + + + + The size of the data component in bytes. + + + + + + + + + + + + + + + The MIME type for the referenced Component (Data or Metadata + Component - except XML Schema Component). + + + + + + + + + + Name of the checksum algorithm used to compute checksum. + + + + + + + + + + + + An element of referenceType points to a Component via its + required href attribute. + + + + + + + + + The href attribute is required and its value is the URL of + the pointed Component. + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/safe-abstract.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/safe-abstract.xsd new file mode 100755 index 0000000..cbab609 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/sentinel-2/safe-abstract.xsd @@ -0,0 +1,66 @@ + + + + + + + SENTINEL-2 mission (all instrument products): SAFE restricted types. + + + + + + + + + + Identifier for the platform provided by the NSSDC (NASA's + National Space Science Data Center). + + + + + + + + + + + Platform family name: SENTINEL. + + + + + + + + + + Platform number. + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/xfdu.xsd new file mode 100755 index 0000000..4b05047 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/int/esa/safe/sentinel/1.1/xfdu.xsd @@ -0,0 +1,721 @@ + + + + + + + + + + + + XFDU Redefined Types. + Some complex and simple types are restricted for Sentinel-SAFE. + The xfdu:XFDU element is only a container. + + + + + + + + + XFDU root type is a restriction of XFDU in order to assure that no + departure from the CCSDS standard is possible. This option makes + Sentinel-SAFE systematically compatible with any existing environment + using XFDU packages for transferring or archiving data. The XFDU root + type makes mandatory one Information Package Map, one Metadata Section + and one Data Object Section. XFDU root has a "version" + attribute used for the identification of the product specialision (or + product type). + + + + + + + + + + + + + Any Sentinel-SAFE product contains one Information Package + Map (one informationPackageMap element of + informationPackageMapType). + + + + + + + + Any Sentinel-SAFE product contains one Metadata Section + (one metadataSection element of metadataSectionType). + + + + + + + + Any Sentinel-SAFE product contains one Data Object Section + (one dataObjectSection element of dataObjectSectionType). + + + + + + + + + + The version attribute identifies the type of the + Sentinel-SAFE product (also called the product-type or the + specialisation type/version). + + + + + + + + + + + + + + + + + An element of informationPackageMapType describes hierarchic + structure of the product. Nested contentUnit and + dataObjectPointer elements (by their pdiID, dmdID, repID and + dataObjectID attributes) reference metadataObjects and + dataObjects. + + + TODO modify? + Each Content Unit represents one entity of the product (in most + cases a Data Object). The main Content Unit (the first + contentUnit sub-element of the Information Package Map) + represents the product itself. + + + + + + + + + The "root" Content Unit is the only sub-element + of the Information Package Map. + + + + + + + + + + + + + + + + + + An element of contentUnitType represents one entity in the + product. The first (or "root" or "main") + Content Unit (the only sub-element of informationPackageMap + element) represents the product itself. + + + The "root" Content Unit relates the general metadata + (platform identification, processing history, acquisition + period...) to the product via pdiID and dmdID attributes. The + pdiID (Preservation Description Information Identifier) + attribute relates the Content Unit to the Processing Metadata + Object; the dmdID (Description MetaData Identifier) attribute + relates the Content Unit to the Platform Metadata Object and, if + available, to the Acquisition Period Metadata Object (and to any + additional Metadata Object). + + + The "root" Content Unit may contain any number of + contentUnit sub-elements. Each Content Unit (other than the + "root" Content Unit) is a view of the product. + + + Each Content Unit, except "root" Content Unit: + + + + + may nest one or more content units, or may point to a + dataObject or a metadataObject of the product; + + + may relate one or more Metadata Objects to a group of nested + content units or to a Data Object via dmdID (Description + MetaData Identifier) attribute (e.g. a + measurementQualityInformation Metadata Object, a + measurementOrbitReference Metadata Object to a measurement + Data Object...); + + + may relate one or more XML Schema Components to a Metadata or + Data Object via repID (Representation Information Identifier) + attribute; + + + may have a dataObjectPointer sub-element + (dataObject element is pointed from the InformationPackage + Map only via the dataObjectPointer/@dataObject ID attribute)." + + + + + + + + + + + + An element of dataObjectPointerType is a contentUnit + sub-element. It relates a Data Object to the + dataObjectPointer's Content Unit. + + + + + + + + Each Content Unit may contain any number of contentUnit + sub-elements. + + + + + + + + + + + + + + + + + + The Metadata Section (a metadataSection element of + metadataSectionType) contains two or more Metadata Objects + (metadataObject elements of metadataObjectType) that record all + of the static metadata for all entities in the Sentinel-SAFE + product. + + + One of the two mandatory Metadata Objects must be dedicated to + the product processing history. The other must be dedicated to + the identification of the platform that has acquired the product + data. + + + + + + + + + + The two mandatory Metadata Objects must be dedicated to + the product processing history and to the platform + identification. + + + + + + + + + + + + + + + + + A Metadata Object (a metadataObject element of + metadataObjectType) is used to either encapsulate metadata in + XML, to point to an XML Schema Components within the + Sentinel-SAFE Package, or to point to a dataObject element in + the dataObjectSection element. + + + A metadataObject element of metadataObjectType is identified by + the value of its ID attribute (e.g. + <metadataObject ID="processing">). + + + A metadataObject element may: + + + encapsulate metadata (the Metadata Object contains a + metadataWrap sub-element which is a wrapper to contain XML + content); + + + point to an XML Schema Component within the Sentinel-SAFE + Package (the Metadata Object contains a metadataReference + sub-element which allows to point outside of the + Sentinel-SAFE manifest); + + + point to a Metadata Component within the Sentinel-SAFE + Package (the Metadata Object contains a dataObjectPointer + sub-element which relates a dataObject element to the + dataObjectPointer's Metadata Object) (this mechanism is fully + explained in Sentinel-SAFE Control book - Volume 1: Core + Specifications). + + + + + + + + + + + + The metadataReference element is used to point to an XML + Schema Component via its href attribute. No other + Component but XML Schema Component may be pointed to by + metadataReference element. + + + + + + + + A metadataWrap element is used to encapsulate authorized + Sentinel-SAFE-types. + + + + + + + + An element of dataObjectPointerType is a Metadata Object + sub-element. It relates a dataObject element to the + dataObjectPointer's Metadata Object. + + + + + + + + + + + An XML ID for this element. ID attribute is required and has + restricted patterns. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An element of metadataReferenceType is used to point to an XML + Schema Component via its href attribute. No other Component but + XML Schema Component may be pointed to by metadataReference + element. + + + + + + + + + The href attribute is required and its value is the URL of + the pointed Component. + + + + + + + + + + + + + + An element of metadataWrapType element is used to encapsulate + authorized Sentinel-SAFE-types, via its xmlData sub-element. + + + + + + + + An xmlData element contains an xs:any wild card + sub-element. The wild card permits some well-formed XML + belonging to any namespace to appear inside the xmlData + element + + + + + + + + + + + + + + + + + + + + + + + A dataObject element of dataObjectType relates a Component (a + Data or a Metadata Component, but not an XML Schema Component) + to the manifest via its single byteStream sub-element. + + + The dataObject's ID attribute, which is required is pointed to + by: + + + a dataObjectPointer's dataObjectID attribute, sub-element of + a Content Unit if the Component is a Data Component; + + + a dataObjectPointer's dataObjectID attribute, sub-element of + a Content Unit and a a dataObjectPointer's dataObjectID + attribute, sub-element of a Metadata Object if the Component + is a Metadata Component (this mechanism is fully explained in + Sentinel-SAFE Control book - Volume 1: Core Specifications). + + + + + The dataObject's repID attribute is optional and may point to one + or more metadataObject elements each referencing an XML Schema + Component within the Sentinel-SAFE Package. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An element of byteStreamType contains a fileLocation element, + which provides a pointer to a Component (a Data or a Metadata + Component, but not an XML Schema Component). + + + + + + + + A fileLocation element references a Component (a Data or a + Metadata Component, but not an XML Schema Component) via + its href attribute. + + + + + + + + A checksum for a Component (Data or Metadata Component - + except XML Schema Component). + + + + + + + + + + + The MIME type for the referenced Component (Data or + Metadata Component - except XML Schema Component). + + + + + + + + + + + + The size of the data component in bytes. + + + + + + + + + + + + + + + The MIME type for the referenced Component (Data or Metadata + Component - except XML Schema Component). + + + + + + + + + + Name of the checksum algorithm used to compute checksum. + + + + + + + + + + + + An element of referenceType points to a Component via its + required href attribute. + + + + + + + + + The href attribute is required and its value is the URL of + the pointed Component. + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/basicTypes.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/basicTypes.xsd new file mode 100755 index 0000000..cf196fb --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/basicTypes.xsd @@ -0,0 +1,249 @@ + + + + basicTypes.xsd + + Generic simpleContent components for use in GML + + + + + + Some common reasons for a null value: + + innapplicable - the object does not have a value + missing - The correct value is not readily available to the sender of this data. + Furthermore, a correct value may not exist. + template - the value will be available later + unknown - The correct value is not known to, and not computable by, the sender of this data. + However, a correct value probably exists. + withheld - the value is not divulged + + Specific communities may agree to assign more strict semantics when these terms are used in a particular context. + + + + + + + + + + + + + + Utility type for null elements. The value may be selected from one of the enumerated tokens, or may be a URI in which case this should identify a resource which describes the reason for the null. + + + + + + + + + Union of the XML Schema boolean type and the GML Nulltype. An element which uses this type may have content which is either a boolean {0,1,true,false} or a value from Nulltype + + + + + + + XML List based on the union type defined above. An element declared with this type contains a space-separated list of boolean values {0,1,true,false} with null values interspersed as needed + + + + + + + XML List based on XML Schema boolean type. An element of this type contains a space-separated list of boolean values {0,1,true,false} + + + + + + + Union of the XML Schema string type and the GML Nulltype. An element which uses this type may have content which is either a string or a value from Nulltype. Note that a "string" may contain whitespace. + + + + + + + Union of the XML Schema Name type and the GML Nulltype. An element which uses this type may have content which is either a Name or a value from Nulltype. Note that a "Name" may not contain whitespace. + + + + + + + XML List based on the union type defined above. An element declared with this type contains a space-separated list of Name values with null values interspersed as needed + + + + + + + XML List based on XML Schema Name type. An element of this type contains a space-separated list of Name values + + + + + + + Union of the XML Schema double type and the GML Nulltype. An element which uses this type may have content which is either a double or a value from Nulltype + + + + + + + XML List based on the union type defined above. An element declared with this type contains a space-separated list of double values with null values interspersed as needed + + + + + + + XML List based on XML Schema double type. An element of this type contains a space-separated list of double values + + + + + + + Union of the XML Schema integer type and the GML Nulltype. An element which uses this type may have content which is either an integer or a value from Nulltype + + + + + + + XML List based on the union type defined above. An element declared with this type contains a space-separated list of integer values with null values interspersed as needed + + + + + + + XML List based on XML Schema integer type. An element of this type contains a space-separated list of integer values + + + + + + + Name or code with an (optional) authority. Text token. + If the codeSpace attribute is present, then its value should identify a dictionary, thesaurus + or authority for the term, such as the organisation who assigned the value, + or the dictionary from which it is taken. + A text string with an optional codeSpace attribute. + + + + + + + + + + + List of values on a uniform nominal scale. List of text tokens. + In a list context a token should not include any spaces, so xsd:Name is used instead of xsd:string. + If a codeSpace attribute is present, then its value is a reference to + a Reference System for the value, a dictionary or code list. + + + + + + + + + + + List of values on a uniform nominal scale. List of text tokens. + In a list context a token should not include any spaces, so xsd:Name is used instead of xsd:string. + A member of the list may be a typed null. + If a codeSpace attribute is present, then its value is a reference to + a Reference System for the value, a dictionary or code list. + + + + + + + + + + + Number with a scale. + The value of uom (Units Of Measure) attribute is a reference to a Reference System for the amount, either a ratio or position scale. + + + + + + + + + + + List of numbers with a uniform scale. + The value of uom (Units Of Measure) attribute is a reference to + a Reference System for the amount, either a ratio or position scale. + + + + + + + + + + + List of numbers with a uniform scale. + A member of the list may be a typed null. + The value of uom (Units Of Measure) attribute is a reference to + a Reference System for the amount, either a ratio or position scale. + + + + + + + + + + + Tables or arrays of tuples. + May be used for text-encoding of values from a table. + Actually just a string, but allows the user to indicate which characters are used as separators. + The value of the 'cs' attribute is the separator for coordinate values, + and the value of the 'ts' attribute gives the tuple separator (a single space by default); + the default values may be changed to reflect local usage. + Defaults to CSV within a tuple, space between tuples. + However, any string content will be schema-valid. + + + + + + + + + + + + + Utility type used in various places + - e.g. to indicate the direction of topological objects; + "+" for forwards, or "-" for backwards. + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateOperations.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateOperations.xsd new file mode 100755 index 0000000..509e3b2 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateOperations.xsd @@ -0,0 +1,543 @@ + + + + + + coordinateOperations.xsd + 3.0 + How to encode coordinate operation definitions. + Builds on referenceSystems.xsd to encode the data needed to define coordinate operations, including Transformations, Conversions, and other specific subtypes of operations. GML 3.0 candidate schema, primary editor: Arliss Whiteside. Last updated 2002/12/13. + Copyright (c) 2001-2002 OpenGIS, All Rights Reserved. + This schema encodes the Coordinate Operation (CC_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111 - Spatial referencing by coordinates, as described in Annex B of Topic 2. + + May-November 2002: See Section 3.5 of document 02-095. + December 3, 2002. Corrected extension base in OperationMethodType. + December 13, 2002. Corrected "source" attribute in appinfo. + + + + + + + + + + + + A mathematical operation on coordinates that transforms or converts coordinates to another coordinate reference system. + + + + + + + Identification of this Coordinate Operation. + + + + + Version of the coordinate transformation (i.e., instantiation due to the stochastic nature of the parameters). Mandatory when describing a transformation, and should not be supplied for a conversion. + + + + + Required number of dimensions in the source CRS. + + + + + Required number of dimensions in the target CRS. + + + + + Estimate of the impact of this coordinate operation on point position accuracy. Gives position error estimates for target coordinates of this coordinate operation, assuming no errors in source coordinates. + + + + + Association to the source CRS (coordinate reference system) of this coordinate operation. + + + + + Association to the target CRS (coordinate reference system) of this coordinate operation. For constraints on multiplicity of "sourceCRS" and "targetCRS", see UML model of Coordinate Operation package in OGC Abstract Specification topic 2. + + + + + + + + + + + + Association to a Coordinate Operation, either referencing or containing the definition of that Coordinate Operation. + + + + + + + + + + + + An ordered sequence of two or more single coordinate operations. The sequence of operations is constrained by the requirement that the source coordinate reference system of step (n+1) must be the same as the target coordinate reference system of step (n). The source coordinate reference system of the first step and the target coordinate reference system of the last step are the source and target coordinate reference system associated with the concatenated operation. + + + + + + + Ordered sequence of associations to the two or more single operations used by this concatenated operation. + + + + + + + + + + + + Association to a Concatenated Operation, either referencing or containing the definition of that Concatenated Operation. + + + + + + + + + + + + + + + + A single (not concatenated) coordinate operation. + + + + + + + + + + + Association to a Single Operation, either referencing or containing the definition of that Single Operation. + + + + + + + + + + + + + + + + A pass-through operation specifies that a subset of a coordinate tuple is subject to a specific coordinate operation. + + + + + + + Ordered sequence of positive integers defining the positions in a coordinate tuple of the coordinates affected by this pass-through operation. + + + + + Association to the operation applied to the specified ordinates. + + + + + + + + + + + + Association to a Pass Through Operation, either referencing or containing the definition of that Pass Through Operation. + + + + + + + + + + + + + + + + A parameterized mathematical operation on coordinates that transforms or converts coordinates to another coordinate reference system. This coordinate operation uses an operation method, usually with associated parameter values. All concrete types derived from this type shall thus extend this type to include a "usesMethod" element that references one element substitutable for the "_GeneralOperationMethod" element. Similarly, all concrete types derived from this type shall extend this type to include zero or more elements each named "uses...Value" that each use the type of an element substitutable for the "_generalParameterValue" element. + + + + + + + + + + + Association to an abstract Operation, either referencing or containing the definition of that Operation. + + + + + + + + + + + + + + + + An abstract operation on coordinates that does not include any change of Datum. The best-known example of a coordinate conversion is a map projection. The parameters describing coordinate conversions are defined rather than empirically derived. Note that some conversions have no parameters. + + + + + + + + + + + + + + + + + + + + Association to a General Conversion, either referencing or containing the definition of that Conversion. + + + + + + + + + + + + + + + + A concrete general-purpose operation on coordinates that does not include any change of Datum. The best-known example of a coordinate conversion is a map projection. The parameters describing coordinate conversions are defined rather than empirically derived. Note that some conversions have no parameters. + + + + + + + Association to the operation method used by this conversion operation. + + + + + Unordered list of composition associations to the set of parameter values used by this conversion operation. + + + + + + + + + + + + Association to a concrete general-purpose Conversion, either referencing or containing the definition of that Conversion. + + + + + + + + + + + + + + + + An abstract operation on coordinates that usually includes a change of Datum. The parameters of a coordinate transformation are empirically derived from data containing the coordinates of a series of points in both coordinate reference systems. This computational process is usually "over-determined", allowing derivation of error (or accuracy) estimates for the transformation. Also, the stochastic nature of the parameters may result in multiple (different) versions of the same coordinate transformation. + + + + + + + + + + + + + + + + + + + + + + + Association to a General Transformation, either referencing or containing the definition of that Transformation. + + + + + + + + + + + + + + + + A concrete general-purpose operation on coordinates that usually includes a change of Datum. The parameters of a coordinate transformation are empirically derived from data containing the coordinates of a series of points in both coordinate reference systems. This computational process is usually "over-determined", allowing derivation of error (or accuracy) estimates for the transformation. Also, the stochastic nature of the parameters may result in multiple (different) versions of the same coordinate transformation. + + + + + + + Association to the operation method used by this transformation operation. + + + + + Unordered list of composition associations to the set of parameter values used by this transformation operation. + + + + + + + + + + + + Association to a Transformation, either referencing or containing the definition of that Transformation. + + + + + + + + + + + + + + + + An abstract parameter value. All concrete types derived from this type shall extend this type to include one "...value" element with an appropriate type. In addition, all derived concrete types shall extend this type to include a "valueOfParameter" element that references one element substitutable for the "OperationParameter" element. + + + + + + + + + A parameter value or reference to a file of parameter values. + + + + + + + + Numeric value of an operation parameter, with its associated unit of measure. + + + + + Value of an angle operation parameter, in either degree-minute-second format or single value format. + + + + + String value of an operation parameter. A string value does not have an associated unit of measure. + + + + + Positive integer value of an operation parameter, usually used for a count. An integer value does not have an associated unit of measure. + + + + + Boolean value of an operation parameter A Boolean value does not have an associated unit of measure. + + + + + List of two or more numeric values of an operation parameter list, where each value has the same associated unit of measure. An element of this type contains a space-separated list of double values. + + + + + List of two or more integer values of an operation parameter list, usually used for counts. These integer values do not have an associated unit of measure. An element of this type contains a space-separated list of integer values. + + + + + Reference to a file containing multiple parameter values, each numeric value with its associated unit of measure. + + + + + + Association to the operation parameter that this is a value of. + + + + + + + + + + + + Abstract definition of an algorithm used to perform a coordinate operation. Most operation methods use a number of operation parameters (although some coordinate conversions use none). All concrete types derived from this type shall thus extend this type to include zero or more elements each named "uses..." that each reference one element substitutable for the "OperationParameter" element. + + + + + + + Identification of this operation method. + + + + + Formula(s) used by this operation method. The value may be a reference to a publication. Note that the operation method may not be analytic, in which case this element references or contains the procedure, not an analytic formula. + + + + + + + + + + + + Association to an abstract Operation Method, either referencing or containing the definition of that Operation Method. + + + + + + + + + + + + Definition of a concrete general-purpose algorithm used to perform a coordinate operation. Most operation methods use a number of operation parameters (although some coordinate conversions use none). Each coordinate operation using the method assigns values to all these parameters. Most parameter values are numeric, but other types of parameter values are possible. + + + + + + + Unordered list of associations to the set of operation parameters used by this operation method. + + + + + + + + + + + + Association to a concrete general-purpose Operation Method, either referencing or containing the definition of that Operation Method. + + + + + + + + + + + + + + + + The definition of a parameter used by an operation method. + + + + + + + Identification of this Operation Parameter. + + + + + + + + + + + + Association to an Operation Parameter, either referencing or containing the definition of that Operation Parameter. + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateReferenceSystems.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateReferenceSystems.xsd new file mode 100755 index 0000000..473ea8a --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateReferenceSystems.xsd @@ -0,0 +1,492 @@ + + + + + + coordinateReferenceSystems.xsd + 3.0 + How to encode coordinate reference system definitions. + Builds on referenceSystems.xsd to encode the data needed to define coordinate reference systems, including the specific subtypes of coordinate reference systems. GML 3.0 candidate schema, primary editor: Arliss Whiteside. Last updated 2002/11/21. + Copyright (c) 2001-2002 OpenGIS, All Rights Reserved. + This schema encodes the Coordinate Reference System (SC_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates, with the exception of the abstract "SC_CRS" class. The "SC_CRS" class is encoded in referenceSystems.xsd, to eliminate the (circular) references from coordinateOperations.xsd to coordinateReferenceSystems.xsd. That UML model is adapted from ISO 19111 - Spatial referencing by coordinates, as described in Annex B of Topic 2. + + + + + + + + + + + + A coordinate reference system consists of a set of coordinate system axes that is related to the earth through a datum. A coordinate reference system is realised by a set of coordinates. A coordinate reference system is defined by one datum and by one coordinate system. + +For the purposes of this specification, a coordinate reference system shall not change with time with the exception of engineering coordinate reference systems defined on moving platforms such as cars, ships, aircraft, and spacecraft. The intention is to exclude the option to describe the time variability of geodetic coordinate reference systems as a result of e.g. tectonic motion. This variability is part of the subject matter of geophysical and geodetic science. The model for spatial referencing by coordinates described in this Abstract Specification is in principle not suitable for such zero-order geodetic problems. Such time-variability of coordinate reference systems shall be covered in the spatial referencing model described in this document by creating different coordinate reference systems each with a different datum for (consecutive) epochs. The date of realisation of the datum shall be included in its definition. It is further recommended to include the date of realisation also in the names of the datums and the coordinate reference systems. + +Coordinate reference systems are commonly divided into sub-types. The common classification criterion for sub-typing of coordinate reference systems is the way in which they deal with earth curvature. This has a direct effect on the portion of the earth's surface that can be covered by that type of CRS with an acceptable degree of error. The exception to the rule is the subtype "Temporal" which has been added by analogy. + + + + + + + + + + + Association to a Coordinate Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + + + + + + A coordinate reference system describing the position of points through two or more independent coordinate reference systems. + + + + + + + Ordered sequence of associations to the component coordinate reference systems included in this compound coordinate reference system. + + + + + + + + + + + + Association to a Compound Coordinate Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + + + + + + A coordinate reference system based on an ellipsoidal approximation of the geoid; this provides an accurate representation of the geometry of geographic features for a large portion of the earth's surface. + + + + + + + Association to the ellipsoidal coordinate system used by this geographic CRS. + + + + + Association to the geodetic datum used by this geographic CRS. + + + + + + + + + + + + Association to a Geographic Coordinate Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + + + + + + A coordinate reference system used for recording heights or depths. Vertical CRSs make use of the direction of gravity to define the concept of height or depth, but the relationship with gravity may not be straightforward. By implication, ellipsoidal heights (h) cannot be captured in a vertical coordinate reference system. Ellipsoidal heights cannot exist independently, but only as inseparable part of a 3D coordinate tuple defined in a geographic 3D coordinate reference system. + + + + + + + Association to the gravity related coordinate system used by this vertical CRS. + + + + + Association to the vertical datum used by this vertical CRS. + + + + + + + + + + + + Association to a Vertical Coordinate Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + + + + + + A coordinate reference system that deals with the earth's curvature by taking the 3D spatial view which obviates the need to model the earth's curvature. The origin of a geocentric CRS is at the approximate centre of mass of the earth. + + + + + + + + Association to the Cartesian coordinate system used by this geocentric CRS. + + + + + Association to the spherical coordinate system used by this geocentric CRS. + + + + + + Association to the geodetic datum used by this geocentric CRS. + + + + + + + + + + + + Association to a Geocentric Coordinate Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + + + + + + A coordinate reference system that is defined by its coordinate conversion from another coordinate reference system (not by a datum). + + + + + + + Association to the coordinate system used by this derived CRS. + + + + + Association to the coordinate conversion used to define this derived CRS. + + + + + + + + + + + + Association to a General Derived Coordinate Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + + + + + + A coordinate reference system used to approximate the shape of the earth on a planar surface, but in such a way that the distortion that is inherent to the approximation is carefully controlled and known. Distortion correction is commonly applied to calculated bearings and distances to produce values that are a close match to actual field values. + + + + + + + Association to the Cartesian coordinate system used by this projected CRS. + + + + + + + + + + + + Association to a Projected Coordinate Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + + + + + + A coordinate reference system that is defined by its coordinate conversion from another coordinate reference system but is not a projected coordinate reference system. This category includes coordinate reference systems derived from a projected coordinate reference system. + + + + + + + Association to the coordinate system used by this derived CRS. + + + + + + Type of this derived coordinate reference system. + + + + + + + + + + + Association to a non-projected derived Coordinate Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + + + + + + Type of a derived coordinate reference system. + + + + + A contextually local coordinate reference system; which can be divided into two broad categories: +- earth-fixed systems applied to engineering activities on or near the surface of the earth; +- CRSs on moving platforms such as road vehicles, vessels, aircraft, or spacecraft. + + + + + An engineering coordinate reference system applied to locations in images. + + + + + A coordinate reference system used for recording of heights or depths. Vertical CRSs make use of the direction of gravity to define the concept of height or depth, but the relationship with gravity may not be straightforward. + + + + + A coordinate reference system used for the recording of time. + + + + + + + + + + A contextually local coordinate reference system; which can be divided into two broad categories: +- earth-fixed systems applied to engineering activities on or near the surface of the earth; +- CRSs on moving platforms such as road vehicles, vessels, aircraft, or spacecraft. +For further information, see OGC Abstract Specification Topic 2. + + + + + + + Association to the coordinate system used by this engineering CRS. + + + + + Association to the engineering datum used by this engineering CRS. + + + + + + + + + + + + Association to an Engineering Coordinate Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + + + + + + An engineering coordinate reference system applied to locations in images. Image coordinate reference systems are treated as a separate sub-type because a separate user community exists for images with its own terms of reference. + + + + + + + + Association to the Cartesian coordinate system used by this image CRS. + + + + + Association to the oblique Cartesian coordinate system used by this image CRS. + + + + + + Association to the image datum used by this image CRS. + + + + + + + + + + + + Association to an Image Coordinate Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + + + + + + A coordinate reference system used for the recording of time. + + + + + + + Association to the temporal coordinate system used by this temporal CRS. + + + + + Association to the temporal datum used by this temporal CRS. + + + + + + + + + + + + Association to a Temporal Coordinate Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateSystems.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateSystems.xsd new file mode 100755 index 0000000..5c37008 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coordinateSystems.xsd @@ -0,0 +1,373 @@ + + + + + + coordinateSystems.xsd + 3.0 + How to encode coordinate system definitions. + Builds on referenceSystems.xsd to encode the data needed to define coordinate systems, including the specific subtypes of coordinate systems. GML 3.0 candidate schema, primary editor: Arliss Whiteside. Last updated 2002/11/21. + Copyright (c) 2001-2002 OpenGIS, All Rights Reserved. + This schema encodes the Coordinate System (CS_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111 - Spatial referencing by coordinates, as described in Annex B of Topic 2. + + + + + + + + + + Definition of a coordinate system axis. + + + + + + + Identification of this coordinate system axis. + + + + + The abbreviation used for this coordinate system axis. This abbreviation can be used to identify the ordinates in a coordinate tuple. Examples are X and Y. + + + + + Direction of this coordinate system axis (or in the case of Cartesian projected coordinates, the direction of this coordinate system axis at the origin). Examples: north or south, east or west, up or down. Within any set of coordinate system axis, only one of each pair of terms can be used. + + + + + + Identifier of the unit of measure used for this coordinate system axis. + + + + + + + + + + + Association to a Coordinate System Axis, either referencing or containing the definition of that Coordinate System Axis. + + + + + + + + + + + + + A coordinate system (CS) is the set of coordinate system axes that spans a given coordinate space. A CS is derived from a set of (mathematical) rules for specifying how coordinates in a given space are to be assigned to points. + + + + + + + Identification of this coordinate system. + + + + + Associations to ordered list of Coordinate System Axes. + + + + + + + + + + + + Association to a Coordinate System, either referencing or containing the definition of that Coordinate System. + + + + + + + + + + + + A two- or three-dimensional coordinate system in which position is specified by geodetic latitude, geodetic longitude, and (in the three-dimensional case) ellipsoidal height. + + + + + + + + + + + Association to an Ellipsoidal Coordinate System, either referencing or containing the definition of that Coordinate System. + + + + + + + + + + + + + + + + A 1-, 2-, or 3-dimensional coordinate system. Gives the position of points relative to orthogonal straight axes in the 2- and 3-dimensional cases. In the 1-dimensional case, it contains a single straight coordinate axis. In the multi-dimensional case, all axes shall have the same length unit of measure. + + + + + + + + + + + Association to a Cartesian Coordinate System, either referencing or containing the definition of that Coordinate System. + + + + + + + + + + + + + + + + A one-dimensional coordinate system used to record the heights (or depths) of points dependent on the Earth's gravity field. An exact definition is deliberately not provided as the complexities of the subject fall outside the scope of this specification. + + + + + + + + + + + Association to a Gravity Related Coordinate System, either referencing or containing the definition of that Coordinate System. + + + + + + + + + + + + + + + + A 1-dimensional coordinate system containing a single time axis, used to describe the temporal position of a point in the specified time units from a specified time origin. + + + + + + + + + + + Association to a Temporal Coordinate System, either referencing or containing the definition of that Coordinate System. + + + + + + + + + + + + + + + + A coordinate system that is one-dimensional and consists of the points that lie on the single axis described. The associated ordinate is the distance from the specified origin to the point along the axis. Example: usage of the line feature representing a road to describe points on or along that road. + + + + + + + + + + + Association to a Linear Coordinate System, either referencing or containing the definition of that Coordinate System. + + + + + + + + + + + + + + + + A two- or three-dimensional coordinate system that consists of any combination of coordinate axes not covered by any other Coordinate System type. An example is a multilinear coordinate system which contains one coordinate axis that may have any 1-D shape which has no intersections with itself. This non-straight axis is supplemented by one or two straight axes to complete a 2 or 3 dimensional coordinate system. The non-straight axis is typically incrementally straight or curved. + + + + + + + + + + + Association to a User Defined Coordinate System, either referencing or containing the definition of that Coordinate System. + + + + + + + + + + + + + + + + A three-dimensional coordinate system with one distance measured from the origin and two angular coordinates. Not to be confused with an ellipsoidal coordinate system based on an ellipsoid "degenerated" into a sphere. + + + + + + + + + + + Association to a Spherical Coordinate System, either referencing or containing the definition of that Coordinate System. + + + + + + + + + + + + + + + + A two-dimensional coordinate system in which position is specified by the distance to the origin and the angle between the line from the origin to a point and a reference direction. + + + + + + + + + + + Association to a Polar Coordinate System, either referencing or containing the definition of that Coordinate System. + + + + + + + + + + + + + + + + A three-dimensional coordinate system consisting of a polar coordinate system extended by a straight coordinate axis perpendicular to the plane spanned by the polar coordinate system. + + + + + + + + + + + Association to a Cylindrical Coordinate System, either referencing or containing the definition of that Coordinate System. + + + + + + + + + + + + + + + + A coordinate system with straight lines that are not necessarily orthogonal. + + + + + + + + + + + Association to an Oblique Cartesian Coordinate System, either referencing or containing the definition of that Coordinate System. + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coverage.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coverage.xsd new file mode 100755 index 0000000..95035be --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/coverage.xsd @@ -0,0 +1,352 @@ + + + + coverage.xsd + GML Coverage schema. + Copyright (c) 2002 OGC, All Rights Reserved. + + + + + + + + + + + + + + + + A coverage is a set of attribute values (its range) associated to position within a bounded space (its domain). This coverage uses a single coverage function to associate an element from the domain with an element from its range. This definition conforms to ISO 19123. Note that coverage is a GML feature. + + + + + + + + + + + + + + + + + + The spatiotemporal domain of a coverage. + Typically + * a geometry collection, + * an implicit geometry (e.g. a grid), + * an explicit or implicit collection of time instances or periods, or + * the geometries associated with a feature collection. + +N.B. Temporal domains still to be implemented. + + + + + + + + + + + + + + + + each member _Value holds a tuple or "row" from the equivalent table + + + + + each list holds the complete set of one scalar component from the values - i.e. a "column" from the equivalent table + + + + + + Its tuple list holds the values as space-separated tuples each of which contains comma-separated components, and the tuple structure is specified using the rangeParameters property. + + + + + + a reference to an external source for the data, together with a description of how that external source is structured + + + + + + + + + + + + The function or rule which defines the map from members of the domainSet to the range. + More functions will be added to this list + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of codes that identifies the file structure model for records stored in files. + + + + + + + + + + + + Metadata about the rangeSet. Definition of record structure. + This is required if the rangeSet is encoded in a DataBlock. + We use a gml:_Value with empty values as a map of the composite value structure. + + + + + + + + + + + + Description of a rule for associating members from the domainSet with members of the rangeSet. + + + + + + + + Defines how values in the domain are mapped to the range set. The start point and the sequencing rule are specified here. + + + + + If absent, the implied value is "Linear". + + + + + Index position of the first grid post. If absent the startPoint is equal to the value of gridEnvelope::low from the grid definition. + + + + + + + + + + Exends GridFunctionType with a lookUpTable. This contains a list of indexes of members within the rangeSet corresponding with the members of the domainSet. The domainSet is traversed in list order if it is enumerated explicitly, or in the order specified by a SequenceRule if the domain is an implicit set. The length of the lookUpTable corresponds with the length of the subset of the domainSet for which the coverage is defined. + + + + + + + + + + + + + + + + + + + + + List of codes (adopted from ISO 19123 Annex C) that identifies the rule for traversing a grid to correspond with the sequence of members of the rangeSet. + + + + + + + + + + + + + + The enumeration value here indicates the incrementation order to be used on the first 2 axes, i.e. "+x-y" means that the points on the first axis are to be traversed from lowest to highest and the points on the second axis are to be traversed from highest to lowest. The points on all other axes (if any) beyond the first 2 are assumed to increment from lowest to highest. + + + + + + + + + + + + + + + + A discrete coverage type whose domain is defined by a collection of point + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A discrete coverage type whose domain is defined by a collection of surface patches (includes polygons, triangles, rectangles, etc). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dataQuality.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dataQuality.xsd new file mode 100755 index 0000000..5c463f6 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dataQuality.xsd @@ -0,0 +1,120 @@ + + + + + + dataQuality.xsd + 3.0 + How to encode positional data quality information. + Builds on measures.xsd to encode the data needed to describe the positional accuracy of coordinate operations. GML 3.0 candidate schema, primary editor: Arliss Whiteside. Last updated 2002/11/21. + Copyright (c) 2001-2002 OpenGIS, All Rights Reserved. + This schema encodes the Data Quality (DQ) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111 - Spatial referencing by coordinates, as described in Annex B of Topic 2. + + + + + + + + + + Position error estimate (or accuracy) data. + + + + + A description of the position accuracy parameter(s) provided. + + + + + + + + + + Closeness of reported coordinate values to values accepted as or being true. + + + + + + + Quantitative result determined by evaluation procedure used. + + + + + + + + + + + + Closeness of the relative positions of two or more positions to their respective relative positions accepted as or being true. + + + + + + + Quantitative result determined by evaluation procedure used. + + + + + + + + + + + + Error estimate covariance matrix. + + + + + + + Ordered sequence of units of measure, corresponding to the row and column index numbers of the covariance matrix, starting with row and column 1 and ending with row/column N. Each unit of measure is for the ordinate reflected in the relevant row and column of the covariance matrix. + + + + + Unordered sequence of elements in this covariance matrix. Because the covariance matrix is symmetrical, only the elements in upper or lower diagonal part (including the main diagonal) of the matrix need to be specified. Any zero valued covariance elements can be omitted. + + + + + + + + + + An element of a covariance matrix. + + + + + Row number of this covariance element value. + + + + + Column number of this covariance element value. + + + + + Value of covariance element. + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/datums.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/datums.xsd new file mode 100755 index 0000000..dca7416 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/datums.xsd @@ -0,0 +1,397 @@ + + + + + + datums.xsd + 3.0 + How to encode datum definitions. + Builds on referenceSystems.xsd to encode the data needed to define datums, including the specific subtypes of datums. GML 3.0 candidate schema, primary editor: Arliss Whiteside. Last updated 2002/11/21. + Copyright (c) 2001-2002 OpenGIS, All Rights Reserved. + This schema encodes the Datum (CD_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111 - Spatial referencing by coordinates, as described in Annex B of Topic 2. + + + + + + + + + + A datum specifies the relationship of a coordinate system to the earth, thus creating a coordinate reference system. A datum uses a parameter or set of parameters that determine the location of the origin, the orientation, and the scale of a coordinate reference system. + + + + + + + Identification of this datum. + + + + + Description, possibly including coordinates, of the point or points used to anchor the datum to the Earth. Also known as the "origin", especially for Engineering and Image Datums. +- For a geodetic datum, this point is also known as the fundamental point, which is traditionally the point where the relationship between geoid and ellipsoid is defined. In some cases, the "fundamental point" may consist of a number of points; and the parameters defining the geoid/ellipsoid relationship have then been averaged for a number of points and adopted as the datum definition. +- For an engineering datum, the anchor point may be a physical point, or it may be a point with defined coordinates in another CRS. +- For an image datum, the anchor point is usually either the centre of the image or the corner of the image. +- For a temporal datum, this attribute is not defined. Instead of the anchor point, a temporal datum carries a separate time origin of type DateTime. + + + + + The time for which this datum definition is valid. This time may be precise (e.g. 1997.0 for IRTF97) or merely a year (e.g. 1983 for NAD83). In the latter case, the epoch usually refers to the year in which a major recalculation of the geodetic control network, underlying the datum, was executed or initiated. + + + + + + + + + + + + Association to a Datum, either referencing or containing the definition of that Datum. + + + + + + + + + + + + Defines the origin and axes directions of an engineering coordinate reference system. Used in a local context only: + + + + + + + + + + + Association to an Engineering Datum, either referencing or containing the definition of that Datum. + + + + + + + + + + + + + + + + Defines the origin of an image coordinate reference system. Used in a local context only: For more information, see OGC Abstract Specification Topic 2. + + + + + + + + + + + + + + + Association to an Image Datum, either referencing or containing the definition of that Datum. + + + + + + + + + + + + + + + + Specification of the way the image grid is associated with the image data attributes. + + + + + The origin of the image coordinate system is the center of a grid cell or image pixel. + + + + + The origin of the image coordinate system is the corner of a grid cell, or half-way between adjacent image pixel centres. + + + + + + + + + + A textual description and/or a set of parameters identifying a particular reference level surface used as a zero-height surface, including its position and orientation with respect to the Earth for any of the height types recognized by this standard. + + + + + + + + + + + + + + + Association to a Vertical Datum, either referencing or containing the definition of that Datum. + + + + + + + + + + + + + + + + Type of a vertical datum. + + + + + The zero value of the associated vertical coordinate system axis is defined to approximate a constant potential surface, usually the geoid. Such a reference surface is usually determined by a national or scientific authority, and is then a well-known, named datum. + + + + + The zero point of the vertical axis is defined by a surface that has meaning for the purpose which the associated vertical measurements are used for. For hydrographic charts, this is often a predicted nominal sea surface (i.e. without waves or other wind and current effects) that occurs at low tide. For some examples, see OGC Abstract Specification Topic 2. + + + + + Atmospheric pressure is the basis for the definition of the origin of the associated vertical coordinate system axis. For more information, see OGC Abstract Specification Topic 2. + + + + + In some cases, e.g. oil exploration and production, a geological feature, such as the top or bottom of a geologically identifiable and meaningful subsurface layer, is used as a vertical datum. Other variations to the above three vertical datum types may exist and are all included in this type. + + + + + + + + Partially defines the origin of a temporal coordinate reference system. This type restricts the AbstractDatumType to remove the "anchorPoint" and "realizationEpoch" elements. + + + + + + + + + + + + + + + + + Defines the origin of a temporal coordinate reference system. This type extends the TemporalDatumRestrictionType to add the "origin" element with the dateTime type. + + + + + + + The date and time origin of this temporal datum. + + + + + + + + + + + + Association to a Temporal Datum, either referencing or containing the definition of that Datum. + + + + + + + + + + + + + + + + The Geodetic Datum is an ellipsoid with its position and orientation with respect to the Earth. + + + + + + + Association to the prime meridian used by this geodetic datum. + + + + + Association to the ellipsoid used by this geodetic datum. + + + + + + + + + + + + Association to a Geodetic Datum, either referencing or containing the definition of that Datum. + + + + + + + + + + + + + + + + A prime meridian defines the origin from which longitude values are determined. + + + + + + + Identification of this prime meridian. + + + + + Longitude of the prime meridian measured from the Greenwich meridian, positive eastward. If the datum type is geodetic and the prime meridian name is not supplied, then the prime meridian name is taken to be "Greenwich" and the Greenwich longitude value is taken to be zero. + + + + + + + + + + + + Association to a Prime Meridian, either referencing or containing the definition of that Prime Meridian. + + + + + + + + + + + + An ellipsoid is a geometric figure that can be used to describe the approximate shape of the earth. In mathematical terms, it is a surface formed by the rotation of an ellipse about an axis. + + + + + + + Identification of this ellipsoid. + + + + + Length of the semi-major axis of the ellipsoid. + + + + + + + + + + + + + Association to an Ellipsoid, either referencing or containing the definition of that Ellipsoid. + + + + + + + + + + + + Definition of the second parameter which defines the shape of an ellipsoid. An ellipsoid requires two defining parameters: semi-major axis and inverse flattening or semi-major axis and semi-minor axis. When the reference body is a sphere rather than an ellipsoid, only a single defining parameter is required, namely the radius of the sphere; in that case, the semi-major axis "degenerates" into the radius of the sphere. + + + + + Inverse flattening value of the ellipsoid. + + + + + Length of the semi-minor axis of the ellipsoid. + + + + + The ellipsoid is degenerate and is actually a sphere. The sphere is completely defined by the semi-major axis, which is the radius of the sphere. + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/defaultStyle.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/defaultStyle.xsd new file mode 100755 index 0000000..d637a6e --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/defaultStyle.xsd @@ -0,0 +1,318 @@ + + + + defaultStyle.xsd + + defaultStyle.xsd + 3.0 + + Default Style schema for GML 3.0 + Copyright (c) 2001-2002 OGC, All Rights Reserved. + reference to ISO Specifications + + + + + + + + + Top-level property. Used in application schemas to "attach" the styling information to GML data. The link between the data and the style should be established through this property only. + + + + + + [complexType of] Top-level property. Used in application schemas to "attach" the styling information to GML data. The link between the data and the style should be established through this property only. + + + + + + + + + + + The value of the top-level property. It is an abstract element. Used as the head element of the substitution group for extensibility purposes. + + + + + + [complexType of] The value of the top-level property. It is an abstract element. Used as the head element of the substitution group for extensibility purposes. + + + + + + + + + Predefined concrete value of the top-level property. Encapsulates all other styling information. + + + + + + [complexType of] Predefined concrete value of the top-level property. Encapsulates all other styling information. + + + + + + + + + + + + + + Base complex type for geometry, topology, label and graph styles. + + + + + + + + + + + + + + The style descriptor for features. + + + + + + [complexType of] The style descriptor for features. + + + + + + + + + + + + + + The style descriptor for geometries of a feature. + + + + + + [complexType of] The style descriptor for geometries of a feature. + + + + + + + + + + + + + + + + + + + The style descriptor for topologies of a feature. Describes individual topology elements styles. + + + + + + [complexType of] The style descriptor for topologies of a feature. Describes individual topology elements styles. + + + + + + + + + + + + + + + + + + + The style descriptor for labels of a feature, geometry or topology. + + + + + + [complexType of] The style descriptor for labels of a feature, geometry or topology. + + + + + + + + + + + + + + The style descriptor for a graph consisting of a number of features. Describes graph-specific style attributes. + + + + + + [complexType of] The style descriptor for a graph consisting of a number of features. Describes graph-specific style attributes. + + + + + + + + + + + + + + + + + + + + + The symbol property. Extends the gml:AssociationType to allow for remote referencing of symbols. + + + + + + [complexType of] The symbol property. Extends the gml:AssociationType to allow for remote referencing of symbols. + + + + + + + + + + + + Used to specify the type of the symbol used. + + + + + + + + + + Label is mixed -- composed of text and XPath expressions used to extract the useful information from the feature. + + + + + + + + + + Defines the geometric transformation of entities. There is no particular grammar defined for this value. + + + + + + Used to vary individual graphic parameters and attributes of the style, symbol or text. + + + + + + + + + + + + Graph-specific styling property. + + + + + + + + + + Graph-specific styling property. + + + + + + + + + + Graph-specific styling property. + + + + + + + + + + Graph-specific styling property. + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dictionary.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dictionary.xsd new file mode 100755 index 0000000..37a0177 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dictionary.xsd @@ -0,0 +1,117 @@ + + + + + + Dictionary schema for GML 3.0 + Components to support the lists of definitions. + + + + + + + + + + + + + A definition, which can be included in or referenced by a dictionary. In this extended type, the inherited "description" optional element can hold the definition whenever only text is needed. The inherited "name" elements can provide one or more brief terms for which this is the definition. The inherited "metaDataProperty" elements can be used to reference or include more information about this definition. +The gml:id attribute is required - it must be possible to reference this definition using this handle. + + + + + + + + + + + + + + + + + + + A non-abstract bag that is specialized for use as a dictionary which contains a set of definitions. These definitions are referenced from other places, in the same and different XML documents. In this restricted type, the inherited optional "description" element can be used for a description of this dictionary. The inherited optional "name" element can be used for the name(s) of this dictionary. The inherited "metaDataProperty" elements can be used to reference or contain more information about this dictionary. The inherited required gml:id attribute allows the dictionary to be referenced using this handle. + + + + + + + An entry in this dictionary. The content of an entry can itself be a lower level dictionary or definition collection. This element follows the standard GML property model, so the value may be provided directly or by reference. Note that if the value is provided by reference, this definition does not carry a handle (gml:id) in this context, so does not allow external references to this specific entry in this context. When used in this way the referenced definition will usually be in a dictionary in the same XML document. + + + + + An identified reference to a remote entry in this dictionary, to be used when this entry should be identified to allow external references to this specific entry. + + + + + + + + + + + + + An entry in a dictionary of definitions. An instance of this type contains or refers to a definition object. + +The number of definitions contained in this dictionaryEntry is restricted to one, but a DefinitionCollection or Dictionary that contains multiple definitions can be substituted if needed. Specialized descendents of this dictionaryEntry might be restricted in an application schema to allow only including specified types of definitions as valid entries in a dictionary. + + + + + This element in a dictionary entry contains the actual definition. + + + + + + A non-identified reference to a remote entry in this dictionary, to be used when this entry need not be identified to allow external references to this specific entry. The remote entry referenced will usually be in a dictionary in the same XML document. This element will usually be used in dictionaries that are inside of another dictionary. + + + + + + + + + An entry in a dictionary of definitions that contains a GML object which references a remote definition object. This entry is expected to be convenient in allowing multiple elements in one XML document to contain short (abbreviated XPointer) references, which are resolved to an external definition provided in a Dictionary element in the same XML document. Specialized descendents of this dictionaryEntry might be restricted in an application schema to allow only including specified types of definitions as valid entries in a dictionary. + + + + + + + + + + + A proxy entry in a dictionary of definitions. An element of this type contains a reference to a remote definition object. This entry is expected to be convenient in allowing multiple elements in one XML document to contain short (abbreviated XPointer) references, which are resolved to an external definition provided in a Dictionary element in the same XML document. + + + + + + + A reference to a remote entry in this dictionary, used when this dictionary entry is identified to allow external references to this specific entry. The remote entry referenced can be in a dictionary in the same or different XML document. + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/direction.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/direction.xsd new file mode 100755 index 0000000..59b0d54 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/direction.xsd @@ -0,0 +1,68 @@ + + + + direction.xsd + + This schema defines "direction" element and type. + + + + + + + + + + + + + + + + + + + + + + + + + + Direction expressed as a vector, either using components, or using angles. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dynamicFeature.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dynamicFeature.xsd new file mode 100755 index 0000000..326136f --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/dynamicFeature.xsd @@ -0,0 +1,118 @@ + + + + + + Basic support for tracking moving objects and objects with changing state. + Copyright (c) 2002 OGC, All Rights Reserved. + + + + + + + + + + + + + + + A timeslice encapsulates the time-varying properties of a dynamic feature--it + must be extended to represent a timestamped projection of a feature. The dataSource + property describes how the temporal data was acquired. + + + + + + + + + + + + + + + + + + This type encapsulates various dynamic properties of moving objects + (points, lines, regions). It is useful for dealing with features whose + geometry or topology changes over time. + + + + + + + + + + + + + + + + + + + + + The history relationship associates a feature with a sequence of TimeSlice instances. + + + + + + + + + + + + The track of a moving object is a sequence of specialized timeslices that indicate the status of the object. + + + + + + + + + + + + + + + + + + + + + A dynamic feature may possess a history and/or a timestamp. + + + + + + + + + + + A dynamic feature collection may possess a history and/or a timestamp. + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/feature.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/feature.xsd new file mode 100755 index 0000000..813afa4 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/feature.xsd @@ -0,0 +1,202 @@ + + + + + + GML Feature schema. + Copyright (c) 2001-2002 OGC, All Rights Reserved. + + + + + + + + + + + + + + An abstract feature provides a set of common properties, including id, metaDataProperty, name and description inherited from AbstractGMLType, plus boundedBy. A concrete feature type must derive from this type and specify additional properties in an application schema. A feature must possess an identifying attribute ('id' - 'fid' has been deprecated). + + + + + + + + + + + deprecated + deprecated in GML version 3.0 + + + + + + + + + + + + + Container for a feature - follow gml:AssociationType pattern. + + + + + + + + + + + + + Container for features - follow gml:ArrayAssociationType pattern. + + + + + + + + + + Makes boundedBy mandatory - used to build Feature Collections + + + + + + + + + + + + + + + + + + + A feature collection contains zero or more features. + + + + + + + + + + + + + + + + Concrete generic feature collection. + + + + + + + + + + + Bounding shape. + + + + + + + + + + + + + + + + + deprecated + deprecated with GML version 3.0 + + + + + + + + Envelope that includes also a temporal extent. + + + + + + + + + + + + + + + + + generalised locator property - follow gml:AssociationType pattern + + + + + + + + + + + + + + + + + + + + + + G-XML component + + + + + + + + + + + + + + + + + deprecated + deprecated in gml 3.0 + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryAggregates.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryAggregates.xsd new file mode 100755 index 0000000..3fd7ae4 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryAggregates.xsd @@ -0,0 +1,443 @@ + + + + geometryAggregates.xsd + + Copyright (c) 2001-2002 OGC, All Rights Reserved. + + + + + + + + + + The "_GeometricAggregate" element is the abstract head of the substituition group for all geometric aggremates. + + + + + + This is the abstract root type of the geometric aggregates. + + + + + + + + + + + + A geometry collection must include one or more geometries, referenced through geometryMember elements. + + + + + + + The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection. +NOTE: Array properties cannot reference remote geometry elements. + + + + + + + + + + + + + + + + + + This property element either references a geometric aggregate via the XLink-attributes or contains the "multi geometry" element. multiGeometryProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for _GeometricAggregate. + + + + + + A property that has a geometric aggregate as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. +A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + + A MultiPoint is defined by one or more Points, referenced through pointMember elements. + + + + + + + The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection. +NOTE: Array properties cannot reference remote geometry elements. + + + + + + + + + + + + + + + + + + This property element either references a point aggregate via the XLink-attributes or contains the "multi point" element. multiPointProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiPoint. + + + + + + A property that has a collection of points as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. +A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + + A MultiCurve is defined by one or more Curves, referenced through curveMember elements. + + + + + + + The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection. +NOTE: Array properties cannot reference remote geometry elements. + + + + + + + + + + + + + + + + + + This property element either references a curve aggregate via the XLink-attributes or contains the "multi curve" element. multiCurveProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiCurve. + + + + + + A property that has a collection of curves as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. +A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + + + A MultiSurface is defined by one or more Surfaces, referenced through surfaceMember elements. + + + + + + + The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection. +NOTE: Array properties cannot reference remote geometry elements. + + + + + + + + + + + + + + + + + + This property element either references a surface aggregate via the XLink-attributes or contains the "multi surface" element. multiSurfaceProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiSurface. + + + + + + A property that has a collection of surfaces as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. +A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + + + A MultiSolid is defined by one or more Solids, referenced through solidMember elements. + + + + + + + The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection. +NOTE: Array properties cannot reference remote geometry elements. + + + + + + + + + + + + + + + + + + This property element either references a solid aggregate via the XLink-attributes or contains the "multi solid" element. multiSolidProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiSolid. + + + + + + A property that has a collection of solids as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. +A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + + Deprecated with GML 3.0 and included for backwards compatibility with GML 2. Use the "MultiSurface" element instead. + + + + + + Deprecated with GML 3.0 and included for backwards compatibility with GML 2. Use the "MultiCurve" element instead. + + + + + + + A MultiLineString is defined by one or more LineStrings, referenced through lineStringMember elements. Deprecated with GML version 3.0. Use MultiCurveType instead. + + + + + + + + + + + + + + This type is deprecated with GML 3 and shall not be used. It is included for backwards compatibility with GML 2. Use MultiCurvePropertyType instead. +A property that has a collection of line strings as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. +A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + A MultiPolygon is defined by one or more Polygons, referenced through polygonMember elements. Deprecated with GML version 3.0. Use MultiSurfaceType instead. + + + + + + + + + + + + + + This type is deprecated with GML 3 and shall not be used. It is included for backwards compatibility with GML 2. Use MultiSurfacePropertyType instead. + +A property that has a collection of polygons as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. +A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + This property element either references a geometry element via the XLink-attributes or contains the geometry element. + + + + + This property element contains a list of geometry elements. The order of the elements is significant and shall be preserved when processing the array. + + + + + This property element either references a Point via the XLink-attributes or contains the Point element. + + + + + This property element contains a list of points. The order of the elements is significant and shall be preserved when processing the array. + + + + + This property element contains a list of curves. The order of the elements is significant and shall be preserved when processing the array. + + + + + This property element either references a surface via the XLink-attributes or contains the surface element. A surface element is any element which is substitutable for "_Surface". + + + + + This property element contains a list of surfaces. The order of the elements is significant and shall be preserved when processing the array. + + + + + This property element either references a solid via the XLink-attributes or contains the solid element. A solid element is any element which is substitutable for "_Solid". + + + + + This property element contains a list of solids. The order of the elements is significant and shall be preserved when processing the array. + + + + + + + + + + + + + deprecated + deprecated as of version 3.0b1, 2001-07 + + + + + Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "curveMember" instead. +This property element either references a line string via the XLink-attributes or contains the line string element. + + + + + Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "surfaceMember" instead. +This property element either references a polygon via the XLink-attributes or contains the polygon element. + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryBasic0d1d.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryBasic0d1d.xsd new file mode 100755 index 0000000..d91c64b --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryBasic0d1d.xsd @@ -0,0 +1,361 @@ + + + + geometryBasic0d1d.xsd + + Copyright (c) 2001-2002 OGC, All Rights Reserved. + + + + + + This includes not only measures.xsd, but also units.xsd, gmlBase.xsd and basicTypes.xsd. + + + + + + + + The "_Geometry" element is the abstract head of the substituition group for all geometry elements of GML 3. This includes pre-defined and user-defined geometry elements. Any geometry element must be a direct or indirect extension/restriction of AbstractGeometryType and must be directly or indirectly in the substitution group of "_Geometry". + + + + + + All geometry elements are derived directly or indirectly from this abstract supertype. A geometry element may have an identifying attribute ("gml:id"), a name (attribute "name") and a description (attribute "description"). It may be associated with a spatial reference system (attribute "srsName"). The following rules shall be adhered: - Every geometry type shall derive from this abstract type. - Every geometry element (i.e. an element of a geometry type) shall be directly or indirectly in the substitution group of _Geometry. + + + + + + This attribute is included for backward compatibility with GML 2 and is deprecated with GML 3. This identifer is superceded by "gml:id" inherited from AbstractGMLType. The attribute "gid" should not be used anymore and may be deleted in future versions of GML without further notice. + + + + + In general this reference points to a CRS instance of gml:CoordinateReferenceSystemType (see coordinateReferenceSystems.xsd). For well known references it is not required that the CRS description exists at the location the URI points to (Note: These "WKCRS"-ids still have to be specified). If no srsName attribute is given, the CRS must be specified as part of the larger context this geometry element is part of, e.g. a geometric aggregate. + + + + + + + + + A geometric property can either be any geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Note that either the reference or the contained element must be given, but not both or none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + A container for an array of geometry elements. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements is not supported. + + + + + + + + + + The "_GeometricPrimitive" element is the abstract head of the substituition group for all (pre- and user-defined) geometric primitives. + + + + + + This is the abstract root type of the geometric primitives. A geometric primitive is a geometric object that is not decomposed further into other primitives in the system. All primitives are oriented in the direction implied by the sequence of their coordinate tuples. + + + + + + + + + A property that has a geometric primitive as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + + + A Point is defined by a single coordinate tuple. + + + + + + + GML supports two different ways to specify the direct poisiton of a point. 1. The "pos" element is of type DirectPositionType. 2. The "coordinates" element is of type CoordinatesType. The number of direct positions in the coordinates list must be one. + + + + + + Deprecated with GML version 3.0. Use "pos" instead. The "coord" element is included for backwards compatibility with GML 2. + + + + + + + + + + + + + + + + + + This property element either references a point via the XLink-attributes or contains the point element. pointProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for Point. + + + + + + A property that has a point as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + A container for an array of points. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements is not supported. + + + + + + + + + + + The "_Curve" element is the abstract head of the substituition group for all (continuous) curve elements. + + + + + + An abstraction of a curve to support the different levels of complexity. The curve can always be viewed as a geometric primitive, i.e. is continuous. + + + + + + + + + + + + + + + + This property element either references a curve via the XLink-attributes or contains the curve element. curveProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for _Curve. + + + + + + A property that has a curve as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + A container for an array of curves. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements is not supported. + + + + + + + + + + + A LineString is a special curve that consists of a single segment with linear interpolation. It is defined by two or more coordinate tuples, with linear interpolation between them. It is backwards compatible with the LineString of GML 2, GM_LineString of ISO 19107 is implemented by LineStringSegment. + + + + + + + GML supports two different ways to specify the control points of a line string. 1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve (reuse of existing points). 2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve only. The number of direct positions in the coordinates list must be at least two. + + + + + + + Deprecated with GML version 3.0. Use "pos" instead. The "coord" element is included for backwards compatibility with GML 2. + + + + + + + + + + + + + + + + + DirectPosition instances hold the coordinates for a position within some coordinate reference system (CRS). Since DirectPositions, as data types, will often be included in larger objects (such as geometry elements) that have references to CRS, the "srsName" attribute will in general be missing, if this particular DirectPosition is included in a larger element with such a reference to a CRS. In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS. + + + + + + In general this reference points to a CRS instance of gml:CoordinateReferenceSystemType (see coordinateReferenceSystems.xsd). For well known references it is not required that the CRS description exists at the location the URI points to (Note: These "WKCRS"-ids still have to be specified). If no srsName attribute is given, the CRS must be specified as part of the larger context this geometry element is part of, e.g. a geometric element like point, curve, etc. It is expected that the attribute will be specified at the direct position level only in rare cases. + + + + + The attribute "dimension" is the length of coordinate sequence (the number of entries in the list). This is determined by the coordinate reference system. + + + + + + + + + + + A Vector is an ordered set of numbers called coordinates that represent a position in a coordinate reference system (CRS). For some application the components of the position may be adjusted to yield a unit vector. + + + + + + + + + + + + + + + + + + + + + + + + + + + Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions. + + + + + + + + deprecated + deprecated with GML version 3.0 + + + + + + + + + + + + + + + + Deprecated with GML 3.0 and included for backwards compatibility with GML 2. Use the "pos" element instead. + + + + + Represents a coordinate tuple in one, two, or three dimensions. Deprecated with GML 3.0 and replaced by DirectPositionType. + + + + + + + + + + + Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "curveProperty" instead. This property element either references a line string via the XLink-attributes or contains the line string element. + + + + + + This type is deprecated with GML 3 and shall not be used. It is included for backwards compatibility with GML 2. Use CurvePropertyType instead. A property that has a line string as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryBasic2d.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryBasic2d.xsd new file mode 100755 index 0000000..d232f74 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryBasic2d.xsd @@ -0,0 +1,212 @@ + + + + geometryBasic2d.xsd + + Copyright (c) 2001-2002 OGC, All Rights Reserved. + + + + + + + + + The "_Surface" element is the abstract head of the substituition group for all (continuous) surface elements. + + + + + + + An abstraction of a surface to support the different levels of complexity. A surface is always a continuous region of a plane. + + + + + + + + + + + + + + + + + This property element either references a surface via the XLink-attributes or contains the surface element. surfaceProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for _Surface. + + + + + + A property that has a surface as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. +A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + + A container for an array of surfaces. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements is not supported. + + + + + + + + + + + A Polygon is a special surface that is defined by a single surface patch. The boundary of this patch is coplanar and the polygon uses planar interpolation in its interior. It is backwards compatible with the Polygon of GML 2, GM_Polygon of ISO 19107 is implemented by PolygonPatch. + + + + + + + + + + + + + + + + The "_Ring" element is the abstract head of the substituition group for all closed boundaries of a surface patch. + + + + + + + An abstraction of a ring to support surface boundaries of different complexity. + + + + + + + + + + A boundary of a surface consists of a number of rings. In the normal 2D case, one of these rings is distinguished as being the exterior boundary. In a general manifold this is not always possible, in which case all boundaries shall be listed as interior boundaries, and the exterior will be empty. + + + + + A boundary of a surface consists of a number of rings. The "interior" rings seperate the surface / surface patch from the area enclosed by the rings. + + + + + + Deprecated with GML 3.0, included only for backwards compatibility with GML 2. Use "exterior" instead. + + + + + + + Deprecated with GML 3.0, included only for backwards compatibility with GML 2. Use "interior" instead. + + + + + + + + Encapsulates a ring to represent the surface boundary property of a surface. + + + + + + + + + + + + A LinearRing is defined by four or more coordinate tuples, with linear interpolation between them; the first and last coordinates must be coincident. + + + + + + + GML supports two different ways to specify the control points of a linear ring. +1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this ring, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this ring (reuse of existing points). +2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this ring only. The number of direct positions in the coordinate list must be at least four. + + + + + + + + + Deprecated with GML version 3.0 and included for backwards compatibility with GML 2. Use "pos" elements instead. + + + + + + + + + + + + Encapsulates a ring to represent properties in features or geometry collections. + + + + + + + + + + + + Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "surfaceProperty" instead. +This property element either references a polygon via the XLink-attributes or contains the polygon element. + + + + + + This type is deprecated with GML 3 and shall not be used. It is included for backwards compatibility with GML 2. Use SurfacePropertyType instead. +A property that has a polygon as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. +A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryComplexes.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryComplexes.xsd new file mode 100755 index 0000000..5c0e4f6 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryComplexes.xsd @@ -0,0 +1,121 @@ + + + + geometryComplexes.xsd + + Copyright (c) 2001-2002 OGC, All Rights Reserved. + + + + + + + + + + A CompositeCurve is defined by a sequence of (orientable) curves such that the each curve in the sequence terminates at the start point of the subsequent curve in the list. + + + + + + + + This element references or contains one curve in the composite curve. The curves are contiguous, the collection of curves is ordered. +NOTE: This definition allows for a nested structure, i.e. a CompositeCurve may use, for example, another CompositeCurve as a curve member. + + + + + + + + + + + + A CompositeSurface is defined by a set of orientable surfaces. A composite surface is geometry type with all the geometric properties of a (primitive) surface. Essentially, a composite surface is a collection of surfaces that join in pairs on common boundary curves and which, when considered as a whole, form a single surface. + + + + + + + This element references or contains one surface in the composite surface. The surfaces are contiguous. +NOTE: This definition allows for a nested structure, i.e. a CompositeSurface may use, for example, another CompositeSurface as a member. + + + + + + + + + + + + + A composite solid is a geometry type with all the geometric properties of a (primitive) solid. + Essentially, a composite solid is a collection of solids that join in pairs on common boundary surfaces and which, when considered as a whole, form a single solid. + + + + + + + + + + + + + + + This element references or contains one solid in the composite solid. The solids are contiguous. +NOTE: This definition allows for a nested structure, i.e. a CompositeSolid may use, for example, another CompositeSolid as a member. + + + + + + + + + + + + + + + A geometric complex. + + + + + + + + + + + + + + A property that has a geometric complex as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. +NOTE: The allowed geometry elements contained in such a property (or referenced by it) have to be modelled by an XML Schema choice element since the composites inherit both from geometric complex *and* geometric primitive and are already part of the _GeometricPrimitive substitution group. + + + + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. +A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryPrimitives.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryPrimitives.xsd new file mode 100755 index 0000000..bb8cc72 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/geometryPrimitives.xsd @@ -0,0 +1,955 @@ + + + + geometryPrimitives.xsd + + Copyright (c) 2001-2002 OGC, All Rights Reserved. + + + + + + + + + + + Curve is a 1-dimensional primitive. Curves are continuous, connected, and have a measurable length in terms of the coordinate system. + A curve is composed of one or more curve segments. Each curve segment within a curve may be defined using a different interpolation method. The curve segments are connected to one another, with the end point of each segment except the last being the start point of the next segment in the segment list. + The orientation of the curve is positive. + + + + + + + + This element encapsulates the segments of the curve. + + + + + + + + + + + + + + + + + This property element either references a curve via the XLink-attributes or contains the curve element. A curve element is any element which is substitutable for "_Curve". + + + + + + + + + OrientableCurve consists of a curve and an orientation. If the orientation is "+", then the OrientableCurve is identical to the baseCurve. If the orientation is "-", then the OrientableCurve is related to another _Curve with a parameterization that reverses the sense of the curve traversal. + + + + + + + + References or contains the base curve (positive orientation). +NOTE: This definition allows for a nested structure, i.e. an OrientableCurve may use another OrientableCurve as its base curve. + + + + + + If the orientation is "+", then the OrientableCurve is identical to the baseCurve. If the orientation is "-", then the OrientableCurve is related to another _Curve with a parameterization that reverses the sense of the curve traversal. "+" is the default value. + + + + + + + + + + + + The "_CurveSegment" element is the abstract head of the substituition group for all curve segment elements, i.e. continuous segments of the same interpolation mechanism. + + + + + + + Curve segment defines a homogeneous segment of a curve. + + + + + The attribute "numDerivativesAtStart" specifies the type of continuity between this curve segment and its predecessor. If this is the first curve segment in the curve, one of these values, as appropriate, is ignored. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. +NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity. + + + + + The attribute "numDerivativesAtEnd" specifies the type of continuity between this curve segment and its successor. If this is the last curve segment in the curve, one of these values, as appropriate, is ignored. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. +NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity. + + + + + The attribute "numDerivativesInterior" specifies the type of continuity that is guaranteed interior to the curve. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. +NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity. + + + + + + + This property element contains a list of curve segments. The order of the elements is significant and shall be preserved when processing the array. + + + + + + A container for an array of curve segments. + + + + + + + + + + + + A LineStringSegment is a curve segment that is defined by two or more coordinate tuples, with linear interpolation between them. + Note: LineStringSegment implements GM_LineString of ISO 19107. + + + + + + + + GML supports two different ways to specify the control points of a curve segment. +1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points). +2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the coordinate list must be at least two. + + + + + + + + + + + The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism +uses the control points and control parameters to determine the position of this curve segment. For a LineStringSegment the interpolation is fixed as "linear". + + + + + + + + + + + + An ArcString is a curve segment that uses three-point circular arc interpolation. + + + + + + + + GML supports two different ways to specify the control points of a curve segment. +1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points). +2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the coordinate list must be at least three. + + + + + + + + + + + The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism +uses the control points and control parameters to determine the position of this curve segment. For an ArcString the interpolation is fixed as "circularArc3Points". + + + + + The number of arcs in the arc string can be explicitly stated in this attribute. The number of control points in the arc string must be 2 * numArc + 1. + + + + + + + + + + + + An Arc is an arc string with only one arc unit, i.e. three control points. + + + + + + + + GML supports two different ways to specify the control points of a curve segment. +1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points). +2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the coordinate list must be three. + + + + + + + + + + + An arc is an arc string consiting of a single arc, the attribute is fixed to "1". + + + + + + + + + + + + A Circle is an arc whose first and last control points coincide to form a full circle. The "start" and "end" bearing are equal and shall be the bearing for the first controlPoint listed. Note: This still requires at least 3 distinct non-co-linear points to be unambiguously defined. The arc is simply extended until the first point is encountered. + + + + + + + + + + + + + This variant of the arc computes the mid points of the arcs instead of storing the coordinates directly. The control point sequence consists of the start and end points of each arc plus the bulge. + + + + + + + + GML supports two different ways to specify the control points of a curve segment. +1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points). +2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the coordinate list must be at least two. + + + + + + + + + + The bulge controls the offset of each arc's midpoint. The "bulge" is the real number multiplier for the normal that determines the offset direction of the midpoint of each arc. The length of the bulge sequence is exactly 1 less than the length of the control point array, since a bulge is needed for each pair of adjacent points in the control point array. The bulge is not given by a distance, since it is simply a multiplier for the normal. +The midpoint of the resulting arc is given by: midPoint = ((startPoint + endPoint)/2.0) + bulge*normal + + + + + The attribute "normal" is a vector normal (perpendicular) to the chord of the arc, the line joining the first and last +point of the arc. In a 2D coordinate system, there are only two possible directions for the normal, and it is often given as a signed real, indicating its length, with a positive sign indicating a left turn angle from the chord line, and a negative sign indicating a right turn from the chord. In 3D, the normal determines the plane of the arc, along with the start and endPoint of the arc. +The normal is usually a unit vector, but this is not absolutely necessary. If the normal is a zero vector, the geometric object becomes equivalent to the straight line between the two end points. The length of the normal sequence is exactly the same as for the bulge sequence, 1 less than the control point sequence length. + + + + + + The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism +uses the control points and control parameters to determine the position of this curve segment. For an ArcStringByBulge the interpolation is fixed as "circularArc2PointWithBulge". + + + + + The number of arcs in the arc string can be explicitly stated in this attribute. The number of control points in the arc string must be numArc + 1. + + + + + + + + + + + + An ArcByBulge is an arc string with only one arc unit, i.e. two control points and one bulge. + + + + + + + + GML supports two different ways to specify the control points of a curve segment. +1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points). +2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the coordinate list must be two. + + + + + + + + + + The bulge controls the offset of each arc's midpoint. The "bulge" is the real number multiplier for the normal that determines the offset direction of the midpoint of each arc. The length of the bulge sequence is exactly 1 less than the length of the control point array, since a bulge is needed for each pair of adjacent points in the control point array. The bulge is not given by a distance, since it is simply a multiplier for the normal. +The midpoint of the resulting arc is given by: midPoint = ((startPoint + endPoint)/2.0) + bulge*normal + + + + + The attribute "normal" is a vector normal (perpendicular) to the chord of the arc, the line joining the first and last +point of the arc. In a 2D coordinate system, there are only two possible directions for the normal, and it is often given as a signed real, indicating its length, with a positive sign indicating a left turn angle from the chord line, and a negative sign indicating a right turn from the chord. In 3D, the normal determines the plane of the arc, along with the start and endPoint of the arc. +The normal is usually a unit vector, but this is not absolutely necessary. If the normal is a zero vector, the geometric object becomes equivalent to the straight line between the two end points. The length of the normal sequence is exactly the same as for the bulge sequence, 1 less than the control point sequence length. + + + + + + An arc is an arc string consiting of a single arc, the attribute is fixed to "1". + + + + + + + + + + + + This variant of the arc requires that the points on the arc have to be computed instead of storing the coordinates directly. The control point is the center point of the arc plus the radius and the bearing at start and end. This represenation can be used only in 2D. + + + + + + + + GML supports two different ways to specify the control points of a curve segment. +1. A "pos" (DirectPositionType) or "pointRep" (PointPropertyType) element. The "pos" element contains a center point that is only part of this curve segment, a "pointRep" element contains a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points). +2. The "coordinates" element can be used to specifiy the coordinates of the center point, too. The number of direct positions in the coordinate list must be one. + + + + + + + + + + The radius of the arc. + + + + + The bearing of the arc at the start. + + + + + The bearing of the arc at the end. + + + + + + The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism +uses the control points and control parameters to determine the position of this curve segment. For an ArcByCenterPoint the interpolation is fixed as "circularArcCenterPointWithRadius". + + + + + Since this type describes always a single arc, the attribute is fixed to "1". + + + + + + + + + + + A CircleByCenterPoint is an ArcByCenterPoint with identical start and end angle to form a full circle. Again, this represenation can be used only in 2D. + + + + + + + + + + + + Cubic splines are similar to line strings in that they are a sequence of segments each with its own defining function. A cubic spline uses the control points and a set of derivative parameters to define a piecewise 3rd degree polynomial interpolation. Unlike line-strings, the parameterization by arc length is not necessarily still a polynomial. + The function describing the curve must be C2, that is, have a continuous 1st and 2nd derivative at all points, and pass through the controlPoints in the order given. Between the control points, the curve segment is defined by a cubic polynomial. At each control point, the polynomial changes in such a manner that the 1st and 2nd derivative vectors are the same from either side. The control parameters record must contain vectorAtStart, and vectorAtEnd which are the unit tangent vectors at controlPoint[1] and controlPoint[n] where n = controlPoint.count. + Note: only the direction of the vectors is relevant, not their length. + + + + + + + + GML supports two different ways to specify the control points of a curve segment. +1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points). +2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the coordinate list must be at least three. + + + + + + + + + + "vectorAtStart" is the unit tangent vector at the start point of the spline. + + + + + "vectorAtEnd" is the unit tangent vector at the end point of the spline. + + + + + + The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism +uses the control points and control parameters to determine the position of this curve segment. For a CubicSpline the interpolation is fixed as "cubicSpline". + + + + + The degree for a cubic spline is "3". + + + + + + + + + A knot is a breakpoint on a piecewise spline curve. + + + + + The property "value" is the value of the parameter at the knot of the spline. The sequence of knots shall be a non-decreasing sequence. That is, each knot's value in the sequence shall be equal to or greater than the previous knot's value. The use of equal consecutive knots is normally handled using the multiplicity. + + + + + The property "multiplicity" is the multiplicity of this knot used in the definition of the spline (with the same weight). + + + + + The property "weight" is the value of the averaging weight used for this knot of the spline. + + + + + + + + + Encapsulates a knot to use it in a geometric type. + + + + + + + + + + + + A B-Spline is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. Knots are breakpoints on the curve that connect its pieces. They are given as a non-decreasing sequence of real numbers. If the weights in the knots are equal then it is a polynomial spline. The degree is the algebraic degree of the basis functions. + + + + + + + GML supports two different ways to specify the control points of a curve segment. +1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points). +2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. + + + + + + + + + + The attribute "degree" shall be the degree of the polynomial used for interpolation in this spline. + + + + + The property "knot" shall be the sequence of distinct knots used to define the spline basis functions. + + + + + + The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism +uses the control points and control parameters to determine the position of this curve segment. For a BSpline the interpolation can be either "polynomialSpline" or "rationalSpline", default is "polynomialSpline". + + + + + The attribute “isPolynomial” is set to “true” if this is a polynomial spline. + + + + + The attribute "knotType" gives the type of knot distribution used in defining this spline. This is for information only +and is set according to the different construction-functions. + + + + + + + + + + + Bezier curves are polynomial splines that use Bezier or Bernstein polynomials for interpolation purposes. It is a special case of the B-Spline curve with two knots. + + + + + + + GML supports two different ways to specify the control points of a curve segment. +1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points). +2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. + + + + + + + + + + The attribute "degree" shall be the degree of the polynomial used for interpolation in this spline. + + + + + The property "knot" shall be the sequence of distinct knots used to define the spline basis functions. + + + + + + The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism +uses the control points and control parameters to determine the position of this curve segment. For a Bezier the interpolation is fixed as "polynomialSpline". + + + + + The attribute “isPolynomial” is set to “true” as this is a polynomial spline. + + + + + The property "knotType" is not relevant for Bezier curve segments. + + + + + + + + + + + + A Surface is a 2-dimensional primitive and is composed of one or more surface patches. The surface patches are connected to one another. + The orientation of the surface is positive ("up"). The orientation of a surface chooses an "up" direction through the choice of the upward normal, which, if the surface is not a cycle, is the side of the surface from which the exterior boundary appears counterclockwise. Reversal of the surface orientation reverses the curve orientation of each boundary component, and interchanges the conceptual "up" and "down" direction of the surface. If the surface is the boundary of a solid, the "up" direction is usually outward. For closed surfaces, which have no boundary, the up direction is that of the surface patches, which must be consistent with one another. Its included surface patches describe the interior structure of the Surface. + + + + + + + + This element encapsulates the patches of the surface. + + + + + + + + + + + + + + + + + This property element either references a surface via the XLink-attributes or contains the surface element. A surface element is any element which is substitutable for "_Surface". + + + + + + + + + OrientableSurface consists of a surface and an orientation. If the orientation is "+", then the OrientableSurface is identical to the baseSurface. If the orientation is "-", then the OrientableSurface is a reference to a Surface with an up-normal that reverses the direction for this OrientableSurface, the sense of "the top of the surface". + + + + + + + + References or contains the base surface (positive orientation). + + + + + + If the orientation is "+", then the OrientableSurface is identical to the baseSurface. If the orientation is "-", then the OrientableSurface is a reference to a Surface with an up-normal that reverses the direction for this OrientableSurface, the sense of "the top of the surface". "+" is the default value. + + + + + + + + + + + + The "_SurfacePatch" element is the abstract head of the substituition group for all surface pach elements describing a continuous portion of a surface. + + + + + + + A surface patch defines a homogenuous portion of a surface. + + + + + + + This property element contains a list of surface patches. The order of the elements is significant and shall be preserved when processing the array. + + + + + + A container for an array of surface patches. + + + + + + + + + + + + A PolygonPatch is a surface patch that is defined by a set of boundary curves and an underlying surface to which these curves adhere. The curves are coplanar and the polygon uses planar interpolation in its interior. Implements GM_Polygon of ISO 19107. + + + + + + + + + + + The attribute "interpolation" specifies the interpolation mechanism used for this surface patch. Currently only planar surface patches are defined in GML 3, the attribute is fixed to "planar", i.e. the interpolation method shall return points on a single plane. The boundary of the patch shall be contained within that plane. + + + + + + + + + + + Represents a triangle as a surface with an outer boundary consisting of a linear ring. Note that this is a polygon (subtype) with no inner boundaries. The number of points in the linear ring must be four. + + + + + + + + Constraint: The Ring shall be a LinearRing and must form a triangle, the first and the last position must be co-incident. + + + + + + + The attribute "interpolation" specifies the interpolation mechanism used for this surface patch. Currently only planar surface patches are defined in GML 3, the attribute is fixed to "planar", i.e. the interpolation method shall return points on a single plane. The boundary of the patch shall be contained within that plane. + + + + + + + + + + + Represents a rectangle as a surface with an outer boundary consisting of a linear ring. Note that this is a polygon (subtype) with no inner boundaries. The number of points in the linear ring must be five. + + + + + + + + Constraint: The Ring shall be a LinearRing and must form a rectangle; the first and the last position must be co-incident. + + + + + + + The attribute "interpolation" specifies the interpolation mechanism used for this surface patch. Currently only planar surface patches are defined in GML 3, the attribute is fixed to "planar", i.e. the interpolation method shall return points on a single plane. The boundary of the patch shall be contained within that plane. + + + + + + + + + This property element either references a curve via the XLink-attributes or contains the curve element. A curve element is any element which is substitutable for "_Curve". + + + + + + + + A Ring is used to represent a single connected component of a surface boundary. It consists of a sequence of curves connected in a cycle (an object whose boundary is empty). +A Ring is structurally similar to a composite curve in that the endPoint of each curve in the sequence is the startPoint of the next curve in the Sequence. Since the sequence is circular, there is no exception to this rule. Each ring, like all boundaries, is a cycle and each ring is simple. +NOTE: Even though each Ring is simple, the boundary need not be simple. The easiest case of this is where one of the interior rings of a surface is tangent to its exterior ring. + + + + + + + This element references or contains one curve in the composite curve. The curves are contiguous, the collection of curves is ordered. +NOTE: This definition allows for a nested structure, i.e. a CompositeCurve may use, for example, another CompositeCurve as a curve member. + + + + + + + + + + + Encapsulates a ring to represent properties in features or geometry collections. + + + + + + + + + + + + + The "_Solid" element is the abstract head of the substituition group for all (continuous) solid elements. + + + + + + + An abstraction of a solid to support the different levels of complexity. A solid is always contiguous. + + + + + + + + + + + + + + + + + This property element either references a solid via the XLink-attributes or contains the solid element. solidProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for _Solid. + + + + + + A property that has a solid as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. + + + + + + + This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. +A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. + + + + + + + + + + A container for an array of solids. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements is not supported. + + + + + + + + + + + A solid is the basis for 3-dimensional geometry. The extent of a solid is defined by the boundary surfaces (shells). A shell is represented by a composite surface, where every shell is used to represent a single connected component of the boundary of a solid. It consists of a composite surface (a list of orientable surfaces) connected in a topological cycle (an object whose boundary is empty). Unlike a Ring, a Shell's elements have no natural sort order. Like Rings, Shells are simple. + + + + + + + + + + + + + + Boundaries of solids are similar to surface boundaries. In normal 3-dimensional Euclidean space, one (composite) surface is distinguished as the exterior. In the more general case, this is not always possible. + + + + + + + + + + + + Boundaries of solids are similar to surface boundaries. + + + + + + + + + + + + CurveInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an +application schema. + + + + + + + + + + + + + + + + + + + SurfaceInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an +application schema. + + + + + + + + + + + + + + + + + + Defines allowed values for the knots` type. Uniform knots implies that all knots are of multiplicity 1 and they differ by a positive constant from the preceding knot. Knots are quasi-uniform iff they are of multiplicity (degree + 1) at the ends, of multiplicity 1 elsewhere, and they differ by a positive constant from the preceding knot. + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/gml.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/gml.xsd new file mode 100755 index 0000000..722fe43 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/gml.xsd @@ -0,0 +1,18 @@ + + + + gml.xsd + + Copyright (c) 2002 OGC, All Rights Reserved. + Top level GML schema + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/gmlBase.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/gmlBase.xsd new file mode 100755 index 0000000..557aeac --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/gmlBase.xsd @@ -0,0 +1,292 @@ + + + + + Schematron validation + + + + + + Property element may not carry both a reference to an object and contain an object. + + Property element must either carry a reference to an object or contain an object. + + + + + GML base schema for GML 3.0 + Components to support the GML encoding model. + + The abstract Schematron rules can be used by any schema that includes gmlBase. + + + + + + + + + + + + + This abstract element is the head of a substitutionGroup hierararchy which may contain either simpleContent or complexContent elements. It is used to assert the model position of "class" elements declared in other GML schemas. + + + + + + + Global element which acts as the head of a substitution group that may include any element which is a GML feature, object, geometry or complex value + + + + + + All complexContent GML elements are directly or indirectly derived from this abstract supertype + to establish a hierarchy of GML types that may be distinguished from other XML types by their ancestry. + Elements in this hierarchy may have an ID and are thus referenceable. + + + + + + + Multiple names may be provided. These will often be distinguished by being assigned by different authorities, as indicated by the value of the codeSpace attribute. In an instance document there will usually only be one name per authority. + + + + + + + + + + Generic GML element to contain a heterogeneous collection of GML _Objects + + + + + + A non-abstract generic collection type that can be used as a document element for a collection of any GML types - Geometries, Topologies, Features ... + +“FeatureCollections” may only contain Features. “GeometryCollections” may only contain Geometry’s. “Bags” are less constrained – they must contain objects that are substitutable for gml:_Object. This may mix several levels, including Features, Definitions, Dictionaries, Geometries etc. + +The content model would ideally be + member 0..* + members 0..1 + member 0..* +for maximum flexibility in building a collection from both homogeneous and distinct components: +included "member" elements each contain a single Object +an included "members" element contains a set of Objects + +However, this is non-deterministic, thus prohibited by XSD. + + + + + + + + + + + + + + + + + Generic GML element to contain a homogeneous array of GML _Objects + + + + + + A non-abstract generic collection type that can be used as a document element for a homogeneous collection of any GML types - Geometries, Topologies, Features ... + + + + + + + + + + + + + + Abstract element which acts as the head of a substitution group for packages of MetaData properties. + + + + + + An abstract base type for complex metadata types. + + + + + + + + Concrete element in the _MetaData substitution group, which permits any well-formed XML content. Intended to act as a container for metadata defined in external schemas, for which it is not possible to add the concrete components to the GML _MetaData substitution group directly. + + + + + + + + + + + + + + + + + + + + This abstract element may act as the head of a substitutionGroup hierararchy which may contain either simpleContent or complexContent elements. It may be used to assert the model position of "property" elements declared in other GML schemas. + + + + + + + + + + + + + + + + + + must carry a reference to an object or contain an object but not both + + + + + + + + A pattern or base for derived types used to specify complex types corresponding to an unspecified UML association - either composition or aggregation. Restricts the cardinality of Objects contained in the association to a maximum of one. An instance of this type can contain an element representing an Object, or serve as a pointer to a remote Object. + +Descendents of this type can be restricted in an application schema to +* allow only specified classes as valid participants in the aggregation +* allow only association by reference (i.e. empty the content model) or by value (i.e. remove the xlinks). + +When used for association by reference, the value of the gml:remoteSchema attribute can be used to locate a schema fragment that constrains the target instance. + +In many cases it is desirable to impose the constraint prohibiting the occurence of both reference and value in the same instance, as that would be ambiguous. This is accomplished by adding a directive in the annotation element of the element declaration. This directive can be in the form of normative prose, or can use a Schematron pattern to automatically constrain co-occurrence - see the declaration for _strictAssociation below. + +If co-occurence is not prohibited, then both a link and content may be present. If this occurs in an instance, then the rule for interpretation is that the instance found by traversing the href provides the normative value of the property, and should be used when possible. The value(s) included as content may be used if the remote instance cannot be resolved. This may be considered to be a "cached" version of the value(s). + + + + + + + + + + + + A pattern or base for derived types used to specify complex types corresponding to a UML aggregation association. An instance of this type serves as a pointer to a remote Object. + + + + + + + + + + + + A base for derived types used to specify complex types containing an array of objects, by unspecified UML association - either composition or aggregation. An instance of this type contains elements representing Objects. + +Ideally this type would be derived by extension of AssociationType. +However, this leads to a non-deterministic content model, since both the base and the extension have minOccurs="0", and is thus prohibited in XML Schema. + + + + + + + + + + Contains or refers to a metadata package that contains metadata properties. + + + + + + Base type for complex metadata property types. + + + + + + + + + + + + Database handle for the object. It is of XML type “ID”, so is constrained to be unique in the XML document within which it occurs. An external identifier for the object in the form of a URI may be constructed using standard XML and XPointer methods. This is done by concatenating the URI for the document, a fragment separator “#”, and the value of the id attribute. + + + + + + Reference to an XML Schema fragment that specifies the content model of the property’s value. This is in conformance with the XML Schema Section 4.14 Referencing Schemas from Elsewhere. + + + + + + Attribute group used to enable property elements to refer to their value remotely. It contains the “simple link” components from xlinks.xsd, with all members “optional”, and the remoteSchema attribute, which is also optional. These attributes can be attached to any element, thus allowing it to act as a pointer. The 'remoteSchema' attribute allows an element that carries link attributes to indicate that the element is declared in a remote schema rather than by the schema that constrains the current document instance. + + + + + + + + Identifier for the object, normally a descriptive name. An object may have several names, typically assigned by different authorities. The authority for a name is indicated by the value of its (optional) codeSpace attribute. The name may or may not be unique, as determined by the rules of the organization responsible for the codeSpace. + + + + + + Contains a simple text description of the object, or refers to an external description. + + + + + + +This type is available wherever there is a need for a "text" type property. It is of string type, so the text can be included inline, but the value can also be referenced remotely via xlinks from the AssociationAttributeGroup. If the remote reference is present, then the value obtained by traversing the link should be used, and the string content of the element can be used for an annotation. + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/grids.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/grids.xsd new file mode 100755 index 0000000..0774d19 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/grids.xsd @@ -0,0 +1,70 @@ + + + + grids.xsd + Grid geometries + A subset of implicit geometries + Designed for use with GML Coverage schema, but maybe useful elsewhere as well. + + Copyright (c) 2002 OGC, All Rights Reserved. + + + + + + + + + + + + Implicitly defines an unrectified grid, which is a network composed of two or more sets of equally spaced parallel lines in which the members of each set intersect the members of the other sets at right angles. + + + + + + + + + + + + + + + + + + + + + Provides grid coordinate values for the diametrically opposed corners of an envelope that bounds a section of grid. The value of a single coordinate is the number of offsets from the origin of the grid in the direction of a specific axis. + + + + + + + + + + + + A rectified grid has an origin and vectors that define its post locations. + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/measures.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/measures.xsd new file mode 100755 index 0000000..f00f69d --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/measures.xsd @@ -0,0 +1,201 @@ + + + + + + measures.xsd + 3.0 + How to encode measures, each with associated unit of measure (uom). + Extends the units.xsd and basicTypes.xsd schemas with types for recording measures using specific types of units, especially the measures and units needed for coordinate reference systems and coordinate operations. The specific unit types encoded are length, angle, scale factor, time, area, volume, velocity, and grid length. This schema allows angle values to be recorded as single numbers or in degree-minute-second format. GML 3.0 candidate schema, primary editor: Arliss Whiteside. Last updated 2002/11/13. + Copyright (c) 2001-2002 OpenGIS, All Rights Reserved + Parts of this schema are based on Subclause 6.5.7 of ISO/CD 19103 Geographic information - Conceptual schema language, on Subclause A.5.2.2.3 of ISO/CD 19118 Geographic information - Encoding, and on Subclause 4.7 of OpenGIS Recommendation Paper OGC 02-007r4 Units of Measure Use and Definition Recommendations. + + + + + + + + + + + + Value of a length (or distance) quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a length, such as metres or feet. + + + + + + + + + Value of a scale factor (or ratio) that has no physical unit. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a scale factor, such as percent, permil, or parts-per-million. + + + + + + + + + Value of a time or temporal quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a time value, such as seconds or weeks. + + + + + + + + + Value of a length (or distance) quantity in a grid, where the grid spacing does not have any associated physical units, or does not have a constant physical spacing. This grid length will often be used in a digital image grid, where the base units are likely to be pixel spacings. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for length along the axes of a grid, such as pixel spacings or grid spacings. + + + + + + + + + Value of a spatial area quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for an area, such as square metres or square miles. + + + + + + + + + Value of a spatial volume quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a volume, such as cubic metres or cubic feet. + + + + + + + + + Value of a velocity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a velocity, such as metres per second or miles per hour. + + + + + + + + + Value of an angle quantity provided in either degree-minute-second format or single value format. + + + + + + + + + + + + Value of an angle quantity recorded as a single number, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for an angle, such as degrees or radians. + + + + + + + + + + + Angle value provided in degree-minute-second or degree-minute format. + + + + + + + + + + + + + + + + + + Integer number of degrees, plus the angle direction. This element can be used for geographic Latitude and Longitude. For Latitude, the XML attribute direction can take the values "N" or "S", meaning North or South of the equator. For Longitude, direction can take the values "E" or "W", meaning East or West of the prime meridian. This element can also be used for other angles. In that case, the direction can take the values "+" or "-" (of SignType), in the specified rotational direction from a specified reference direction. + + + + + + + + + + + + + + + + + + + + + + + + + + + Integer number of degrees in a degree-minute-second or degree-minute angular value, without indication of direction. + + + + + + + + + + + Decimal number of arc-minutes in a degree-minute angular value. + + + + + + + + + + + + Integer number of arc-minutes in a degree-minute-second angular value. + + + + + + + + + + + Number of arc-seconds in a degree-minute-second angular value. + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/observation.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/observation.xsd new file mode 100755 index 0000000..9119f0e --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/observation.xsd @@ -0,0 +1,77 @@ + + + + observation.xsd + Observation schema for GML 3.0 + + + + + + + + + + + This element contains or points to a description of a sensor, instrument or procedure used for the observation + + + + + + This element contains or points to the specimen, region or station which is the object of the observation + + + + + + Synonym for target - common word used for photographs + + + + + + Container for an object representing the target or subject of an observation. + + + + + + + + + + + The result of the observation: an image, external object, etc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/referenceSystems.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/referenceSystems.xsd new file mode 100755 index 0000000..cfeff37 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/referenceSystems.xsd @@ -0,0 +1,213 @@ + + + + + + referenceSystems.xsd + 3.0 + How to encode reference system definitions. + Builds on gmlBase.xsd to encode the data needed to define reference systems. GML 3.0 candidate schema, primary editor: Arliss Whiteside. Last updated 2002/11/21. + Copyright (c) 2001-2002 OpenGIS, All Rights Reserved. + This schema encodes the Reference System (RS_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111 - Spatial referencing by coordinates, as described in Annex B of Topic 2. The CS_CRS class is also encoded here, to eliminate the (circular) references from coordonateOperations.xsd to coordinateReferenceSystems.xsd. A modified version of the EX_Extent (DataType) class is also currently encoded here, using GML 3 schema types. (A more extensive version of the EX_Extent package might be XML encoded in the future, probably in a separate extent.xsd schema.) + + + + + + + + + + + Basic encoding for objects in the CRS model, simplifying the AbstracGMLType as needed for CRS objects. + + + + + + + + + + + + + + + + Description of a spatial and/or temporal reference system used by a dataset. + + + + + + + Identification of this Reference System. + + + + + + + + + + + + Association to a Reference System, either referencing or containing the definition of that Reference System. + + + + + + + + + + + + Abstract coordinate reference system, usually defined by a coordinate system and a datum. + + + + + + + + + + + Association to a CRS abstract coordinate reference system, either referencing or containing the definition of that CRS. + + + + + + + + + + + + + + + Identification of a reference system object. All of the attributes are optional, but there is a constraint that one or both of the "code" and "name" attributes must be included. + + + + + Identifier code or name, optionally from a controlled list or pattern defined by a code space. + + + + + Identifier of a code space within which one or more codes are defined. This attribute is optionally included only when the "code" attribute is included. This code space is often defined by some authority organization, where one organization may define multiple code spaces. The range and format of each Code Space identifier is defined by that code space authority. + + + + + Identifier of the version of the associated codeSpace or code, as specified by the codeSpace or code authority. This attribute is optionally included only when the "code" attribute is included. When appropriate, the version is identified by the effective date, coded using ISO 8601 date format. + + + + + The name by which this object is identified. + + + + + Unordered list of aliases by which this object is known. + + + + + Comments on or information about this object, including data source information. + + + + + + + + Alternative identifier or name by which this object is known. + + + + + An alias of this object, as defined in the alias name space. + + + + + Identifier of the namespace that this alias name is defined in; for example, "ISO 2-char country code" or "EPSG abbreviation". + + + + + Remarks applying to this alias. + + + + + + + + Extended identification and description of a reference system object. + + + + + + + Area or region in which this object is valid. + + + + + Description of domain of usage, or limitations of usage, for which this object is valid. + + + + + + + + + + Information about the spatial, vertical, and/or temporal extent of a reference system object. Constraints: At least one of the elements "description", "boundingBox", "boundingPolygon", "verticalExtent", and temporalExtent" must be included, but more that one can be included when appropriate. Furthermore, more than one "boundingBox", "boundingPolygon", "verticalExtent", or temporalExtent" element can be included, with more than one meaning the union of the individual domains. + + + + + Description of spatial and/or temporal extent of this object. + + + + + Geographic domain of this reference system object. + + + + Bounding box (or envelope) spatial domain of this object. + + + + + Bounding polygon horizontal spatial domain of this object. + + + + + + Vertical spatial domain of this object. + + + + + Time period domain of this object. + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/temporal.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/temporal.xsd new file mode 100755 index 0000000..0df5b79 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/temporal.xsd @@ -0,0 +1,329 @@ + + + + + + The temporal schema for GML 3.0 provides constructs for handling time-varying spatial + data. This schema reflects a partial yet consistent implementation of the model described + in ISO 19108 (topological complexes and feature succession are not included). + Copyright (c) 2002 OGC, All Rights Reserved. + + + + + + + + + This abstract element acts as the head of the substitution group for temporal primitives and complexes. + + + + + + + + A temporal object must be associated with a temporal reference system via URI. + The Gregorian calendar with UTC is the default reference system, following ISO + 8601. Other reference systems in common use include the GPS calendar and the + Julian calendar. + + + + + + + + + + + + + This abstract element acts as the head of the substitution group for temporal primitives. + + + + + + + + The abstract supertype for temporal and topological primitives. + + + + + + + + + + + + + + + + + + + + + + + + + + An association with a gml:TimeInstant element at the end. + + + + + + + + + + + + + + + + + + + + + + + + + + This abstract element serves as the head of the substitution group for elements used + to indicate temporal length or distance (duration, interval). + + + + + + + + Base type for describing temporal length or distance. The value space is further + constrained by subtypes that conform to the ISO 8601 or ISO 11404 standards. + + + + + + + + + This element is an instance of the primitive xsd:duration simple type to + enable use of the ISO 8601 syntax for temporal length (e.g. P5DT4H30M). + It is a valid subtype of TimeDurationType according to section 3.14.6, + rule 2.2.4 in XML Schema, Part 1. + + + + + + + + Here we have collapsed the hierarchy of subtypes for temporal position in 19108 + by defining a union of simple types for indicating temporal position relative to a + specific reference system. + Date and time may be indicated with varying degrees of precision: + year, year-month, date, or dateTime (all ISO 8601 format). Note + that the dateTime type does not allow right-truncation (i.e. omitting + seconds). An ordinal era may be referenced via URI, and a decimal value + can be used to indicate the distance from the scale origin (e.g. UNIX time, + GPS calendar). + + + + + + + + Direct representation of a temporal position. + + + + + + + Indeterminate time values are also allowed, as described in ISO 19108. The indeterminatePosition + attribute can be used alone or it can qualify a specific value for temporal position (e.g. before + 2002-12, after 1019624400). For time values that identify position within a calendar, the + calendarEraName attribute provides the name of the calendar era to which the date is + referenced (e.g. the Meiji era of the Japanese calendar). + + + + + + + + + + + + + + + This enumerated data type specifies values for indeterminate positions. + + + + + + + + + + + + + + This element is a valid subtype of TimeDurationType according to section 3.14.6, + rule 2.2.4 in XML Schema, Part 1. + + + + + + + + This type extends the built-in xsd:decimal simple type to allow floating-point + values for temporal length. According to the ISO 11404 model you have to use + positiveInteger together with appropriate values for radix and factor. The + resolution of the time interval is to one radix ^(-factor) of the specified + time unit (e.g. unit="second", radix="10", factor="3" specifices a resolution + of milliseconds). It is a subtype of TimeDurationType. + + + + + + + + + + + + + + + This enumerated data type indicates standard units for measuring time. + + + + + + + + + + + + + + + + + + + A timestamp property associates an element with a temporal primitive. + + + + + + + + + + + + + + A value in the time domain is measured relative to a temporal reference system. Common + types of reference systems include calendars, ordinal temporal reference systems, and + temporal coordinate systems (time elapsed since some epoch, e.g. UNIX time). + + + + + + + + + + + + + + + + + A temporal coordinate system is based on a continuous interval scale defined in terms of a single time interval. + + + + + + + + + + + + + + + + + + + In an ordinal reference system the order of events in time can be well + established, but the magnitude of the intervals between them can not be + accurately determined (e.g. a stratigraphic sequence). + + + + + + + + + + + + + + + + + + + + + + + Ordinal temporal reference systems are often hierarchically structured + such that an ordinal era at a given level of the hierarchy includes a + sequence of shorter, coterminous ordinal eras. + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/topology.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/topology.xsd new file mode 100755 index 0000000..773ebd4 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/topology.xsd @@ -0,0 +1,429 @@ + + + + topology.xsd + + + + + + + + + + + + + + + + + Substitution group branch for Topo Primitives, used by TopoPrimitiveArrayAssociationType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Its optional co-boundary is a set of connected directedEdges. The orientation of one of these dirEdges is "+" if the Node is the "to" node of the Edge, and "-" if it is the "from" node. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + There is precisely one positively directed and one negatively directed node in the boundary of every edge. The negatively and positively directed nodes correspond to the start and end nodes respectively. The optional coboundary of an edge is a circular sequence of directed faces which are incident on this edge in document order. Faces which use a particular boundary edge in its positive orientation appear with positive orientation on the coboundary of the same edge. In the 2D case, the orientation of the face on the left of the edge is "+"; the orientation of the face on the right on its right is "-". An edge may optionally be realised by a 1-dimensional (curve) geometric primitive. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . The topological boundary of a face consists of a set of directed edges. Note that all edges associated with a Face, including dangling and interior edges, appear in the boundary. Dangling and interior edges are each referenced by pairs of directedEdges with opposing orientations. The optional coboundary of a face is a pair of directed solids which are bounded by this face. If present, there is precisely one positively directed and one negatively directed solid in the coboundary of every face. The positively directed solid corresponds to the solid which lies in the direction of the positively directed normal to the face in any geometric realisation. A face may optionally be realised by a 2-dimensional (surface) geometric primitive. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The topological boundary of a TopoSolid consists of a set of directed faces. Note that all faces associated with the TopoSolid, including dangling faces, appear in the boundary. The coboundary of a TopoSolid is empty and hence requires no representation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The directed edges of a TopoCurveType when joined in document order shall be isomorphic to a gml:_Curve in any geometric realization. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This type represents a TP_Complex capable of holding topological primitives. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Need schamatron test here that isMaximal attribute value is true + + + + + + This Property can be used to embed a TopoComplex in a feature collection. + + + + + + + + + + + + + + + + + + + + + + + This type supports embedding topological primitives in a TopoComplex. + + + + + + + + + + + + + + + + + + + + + + + This type supports embedding an array of topological primitives in a TopoComplex + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/units.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/units.xsd new file mode 100755 index 0000000..9ac025c --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/units.xsd @@ -0,0 +1,182 @@ + + + + + + units.xsd + 3.0 + How to encode units of measure (or uom) for numerical values. + Builds on gmlBase.xsd to encode units of measure (or uom), including definitions of units of measure and dictionaries of such definitions. GML 3.0 candidate schema, primary editor: Arliss Whiteside. Last updated 2002/11/13. + Copyright (c) 2001-2002 OpenGIS, All Rights Reserved. + Parts of this schema are based on Subclause 6.5.7 of ISO/CD 19103 Geographic information - Conceptual schema language, on Subclause A.5.2.2.3 of ISO/CD 19118 Geographic information - Encoding, and on most of OpenGIS Recommendation Paper OGC 02-007r4 Units of Measure Use and Definition Recommendations. + + + + + + + + + + Reference to a unit of measure definition that applies to all the numerical values described by the element containing this element. Notice that a complexType which needs to include the uom attribute can do so by extending this complexType. Alternately, this complexType can be used as a pattern for a new complexType. + + + + + Reference to a unit of measure definition, usually within the same XML document but possibly outside the XML document which contains this reference. For a reference within the same XML document, the "#" symbol should be used, followed by a text abbreviation of the unit name. However, the "#" symbol may be optional, and still may be interpreted as a reference. + + + + + + + + + Definition of a unit of measure (or uom). The definition includes a quantityType property, which indicates the phenomenon to which the units apply, and a catalogSymbol, which gives the short symbol used for this unit. This element is used when the relationship of this unit to other units or units systems is unknown. + + + + + + + + + + + + + + + + Definition of a unit of measure which is a base unit from the system of units. A base unit cannot be derived by combination of other base units within this system. Sometimes known as "fundamental unit". + + + + + + + + + + + + + + + Definition of a unit of measure which is defined through algebraic combination of more primitive units, which are usually base units from a particular system of units. Derived units based directly on base units are usually preferred for quantities other than the base units or fundamental quantities within a system. If a derived unit is not the preferred unit, the ConventionalUnit element should be used instead. + + + + + + + + + + + + + + + Definition of a unit of measure which is related to a preferred unit for this quantity type through a conversion formula. A method for deriving this unit by algebraic combination of more primitive units, may also be provided. + + + + + + + + + + + + + + + + + Informal description of the phenomenon or type of quantity that is measured or observed. For example, "length", "angle", "time", "pressure", or "temperature". When the quantity is the result of an observation or measurement, this term is known as Observable Type or Measurand. + + + + + + For global understanding of a unit of measure, it is often possible to reference an item in a catalog of units, using a symbol in that catalog. The "codeSpace" attribute in "CodeType" identifies a namespace for the catalog symbol value, and might reference the catalog. The "string" value in "CodeType" contains the value of a symbol that is unique within this catalog namespace. This symbol often appears explicitly in the catalog, but it could be a combination of symbols using a specified algebra of units. For example, the symbol "cm" might indicate that it is the "m" symbol combined with the "c" prefix. + + + + + + + + Definition of the relationship of a derived unit of measure to the primitive units to which that unit is related. Contains a set of one or more UnitTerms which are combined as a product, each of which references a unit of measure defined elsewhere, and has an exponent. + + + + + + + + + + + Definition of one unit term for a derived unit of measure. This unit term references another unit of measure (uom) and provides an integer exponent applied to that unit in defining the compound unit. The exponent can be positive or negative, but not zero. + + + + + + + + + + + This element is included when this unit has an accurate conversion to the preferred unit for this quantity type. + + + + + + This element is included when the correct definition of this unit is unknown, but this unit has a rough or inaccurate conversion to the preferred unit for this quantity type. + + + + + + Relation of a unit to the preferred unit for this quantity type, specified by an arithmetic conversion (scaling and/or offset). A preferred unit is either a base unit or a derived unit selected for all units of one quantity type. The mandatory attribute "uom" shall reference the preferred unit that this conversion applies to. The conversion is specified by one of two alternative elements: "factor" or "formula". + + + + + + + + + + + + + + Specification of the scale factor by which a value using this unit of measure can be multiplied to obtain the corresponding value using the preferred unit of measure. + + + + + + + + Paremeters of a simple formula by which a value using this unit of measure can be converted to the corresponding value using the preferred unit of measure. The formula element contains elements a, b, c and d, whose values use the XML Schema type "double". These values are used in the formula y = (a + bx) / (c + dx), where x is a value using this unit, and y is the corresponding value using the preferred unit. The elements a and d are optional, and if values are not provided, those parameters are considered to be zero. If values are not provided for both a and d, the formula is equivalent to a fraction with numerator and denominator parameters. + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/valueObjects.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/valueObjects.xsd new file mode 100755 index 0000000..36e0157 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/base/valueObjects.xsd @@ -0,0 +1,286 @@ + + + + valueObjects.xsd + Copyright (c) 2002 OGC, All Rights Reserved. GML conformant schema for Values in which the * scalar Value types and lists have their values recorded in simpleContent elements * complex Value types are built recursively + + + + + + + + + + + + + + + + + + + + + Abstract element which acts as the head of a substitution group which contains _ScalarValue, _ScalarValueList and CompositeValue and (transitively) the elements in their substitution groups. This element may be used in an application schema as a variable, so that in an XML instance document any member of its substitution group may occur. + + + + + + + Abstract element which acts as the head of a substitution group which contains Boolean, Category, Count and Quantity, and (transitively) the elements in their substitution groups. This element may be used in an application schema as a variable, so that in an XML instance document any member of its substitution group may occur. + + + + + + Abstract element which acts as the head of a substitution group which contains the compact encodings BooleanList, CategoryList, CountList and QuantityList, and (transitively) the elements in their substitution groups. This element may be used in an application schema as a variable, so that in an XML instance document any member of its substitution group may occur. + + + + + + + A value from two-valued logic, using the XML Schema boolean type. An instance may take the values {true, false, 1, 0}. + + + + + XML List based on XML Schema boolean type. An element of this type contains a space-separated list of boolean values {0,1,true,false} + + + + + + + A term representing a classification. It has an optional XML attribute codeSpace, whose value is a URI which identifies a dictionary, codelist or authority for the term. + + + + + A space-separated list of terms or nulls. A single XML attribute codeSpace may be provided, which authorises all the terms in the list. + + + + + + + A numeric value with a scale. The content of the element is an amount using the XML Schema type double which permits decimal or scientific notation. An XML attribute uom (“unit of measure”) is required, whose value is a URI which identifies the definition of the scale or units by which the numeric value must be multiplied. + + + + + A space separated list of amounts or nulls. The amounts use the XML Schema type double. A single XML attribute uom (“unit of measure”) is required, whose value is a URI which identifies the definition of the scale or units by which all the amounts in the list must be multiplied. + + + + + + + An integer representing a frequency of occurrence. + + + + + A space-separated list of integers or nulls. + + + + + + + + + Aggregate value built from other Values using the Composite pattern. It contains zero or an arbitrary number of valueComponent elements, and zero or one valueComponents elements. It may be used for strongly coupled aggregates (vectors, tensors) or for arbitrary collections of values. + + + + + + + + + + + + + Aggregate value built using the Composite pattern. + + + + + + + A Value Array is used for homogeneous arrays of primitive and aggregate values. The member values may be scalars, composites, arrays or lists. ValueArray has the same content model as CompositeValue, but the member values must be homogeneous. The element declaration contains a Schematron constraint which expresses this restriction precisely. Since the members are homogeneous, the referenceSystem (uom, codeSpace) may be specified on the ValueArray itself and implicitly inherited by all the members if desired. Note that a_ScalarValueList is preferred for arrays of Scalar Values since this is a more efficient encoding. + + + + + + + + + + + + + ValueArray may not carry both a reference to a codeSpace and a uom + + + + + All components of must be of the same type + All components of must be of the same type + + + + A Value Array is used for homogeneous arrays of primitive and aggregate values. _ScalarValueList is preferred for arrays of Scalar Values since this is more efficient. Since "choice" is not available for attribute groups, an external constraint (e.g. Schematron) would be required to enforce the selection of only one of these through schema validation + + + + + + + + + + + + Utility element to store a 2-point range of numeric values. If one member is a null, then this is a single ended interval. + + + + + + Restriction of list type to store a 2-point range of numeric values. If one member is a null, then this is a single ended interval. + + + + + + + + + + + Utility element to store a 2-point range of ordinal values. If one member is a null, then this is a single ended interval. + + + + + + Restriction of list type to store a 2-point range of ordinal values. If one member is a null, then this is a single ended interval. + + + + + + + + + + + Utility element to store a 2-point range of frequency values. If one member is a null, then this is a single ended interval. + + + + + + Restriction of list type to store a 2-point range of frequency values. If one member is a null, then this is a single ended interval. + + + + + + + + + + Element which refers to, or contains, a Value + + + + + + Element which refers to, or contains, a Value. This version is used in CompositeValues. + + + + + + GML property which refers to, or contains, a Value + + + + + + + + + + + Element which refers to, or contains, a set of homogeneously typed Values. + + + + + + GML property which refers to, or contains, a set of homogeneously typed Values. + + + + + + + + + Property whose content is a Boolean value. + + + + + + + + + + + + Property whose content is a Category. + + + + + + + + + + + + Property whose content is a Quantity. + + + + + + + + + + + + Property whose content is a Count. + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/smil20-language.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/smil20-language.xsd new file mode 100755 index 0000000..52adfd8 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/smil20-language.xsd @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/smil20.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/smil20.xsd new file mode 100755 index 0000000..df38b29 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/smil20.xsd @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/xml-mod.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/xml-mod.xsd new file mode 100755 index 0000000..bf34140 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/smil/xml-mod.xsd @@ -0,0 +1,39 @@ + + + + + + In due course, we should install the relevant ISO 2- and 3-letter + codes as the enumerated possible values . . . + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/xlink/xlinks.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/xlink/xlinks.xsd new file mode 100755 index 0000000..e314f1c --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/net/opengis/gml/3.0.0/xlink/xlinks.xsd @@ -0,0 +1,119 @@ + + + + xlinks.xsd v3.0.0 + GML 3.0 xlinks schema. Copyright (c) 2003 OGC, All Rights Reserved. + + + + + + + + + + + + + The 'show' attribute is used to communicate the desired presentation + of the ending resource on traversal from the starting resource; it's + value should be treated as follows: + new - load ending resource in a new window, frame, pane, or other + presentation context + replace - load the resource in the same window, frame, pane, or + other presentation context + embed - load ending resource in place of the presentation of the + starting resource + other - behavior is unconstrained; examine other markup in the + link for hints + none - behavior is unconstrained + + + + + + + + + + + + + + + + The 'actuate' attribute is used to communicate the desired timing + of traversal from the starting resource to the ending resource; + it's value should be treated as follows: + onLoad - traverse to the ending resource immediately on loading + the starting resource + onRequest - traverse from the starting resource to the ending + resource only on a post-loading event triggered for + this purpose + other - behavior is unconstrained; examine other markup in link + for hints + none - behavior is unconstrained + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xfdu-1-4.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xfdu-1-4.xsd new file mode 100755 index 0000000..97fd918 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xfdu-1-4.xsd @@ -0,0 +1,817 @@ + + + + + + + + + This attribute group aggregates attributes that can be used for specifying metadata type + This group includes following attributes: + vocabularyMdType specifies metadata type (e.g. MARC.DDI) + otherMdType specifies metadata type in case vocabularyMdType has value of OTHER + + + + + + + + + + + + + + + + + + + + This attribute group aggregates attributes that can be used for specifiying type of location + This group includes following attributes: + locType specifies location type (e.g. URN,URL) + otherLocType specifies location type in case locType has value of OTHER + + + + + + + + + + + + + + + + + This attribute group aggregates attributes that can be used for specifiying + registration information. + This group includes following attributes: + registrationAuthority - the authority that issued the registration + registrationId - the id for the registration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mdSecType (metadata section) Complex Type A generic + framework for pointing to/including metadata within a XFDU + document, a la Warwick Framework. An mdSec element may have the + following attributes: + 1. ID: an XML ID for this element. + 2. classification - concrete type of metadata represented by this element of mdSecType + 3. category - type of metadata class to which this metadata belongs (e.g. DMD.REP, etc.) + 4. otherClass - type of metadata in case classification contains valud of "OTHER" + 5. otherCategory - type of metadata class in case category contains value of "OTHER" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + packageHeaderType: Complex Type for metadata about the + mapping of the logical packages to the physical structures. The + package header section consists of three possible subsidiary + sections: environmentInfo (specification of the hardware and software + platform which created this package), behaviorInfo (behavior mechanism + related metadata), and transformInfo (the names, classifications, parameter + names/types and any other information needed to reverse + transformations used in the XFDU). Both transformInfo and behaviorInfo have an optional + mustUnderstand attribute that declares if the reader of this package must + understand described transformation, behavior mechanisms in order to + process content of the package. packageHeaderType has a single + attribute, ID: an XML ID. + + + + + + environmentInfo: technical metadata. The environmentInfo element + provides a wrapper around a generic metadata section that + should contain technical metadata regarding a dataObject or dataObjects. It + has an attribute, specVersion, which specifies XFDU version for which this XFDU package was created. + Also, dataObject elements can use imlicit XML ID attribute to reference the technical metadata that applies to them. + environmentInfo has an optional xmlData element to include any additional controlled vocabluaries + + + + + + + + + + + + + behaviorInfo contains: + mustUnderstand - indicates if this mechanism must be understood by processor + description - general description + mechanismType - type of behavior mechanism (e.g. WS,ANT,JAVA) (should be made into enumeration most likely) + namespace - namespace of the specified technology if any + behaviorInfo has an optional xmlData element to include any additional metadata if needed + + + + + + + + + + + + + + + transformInfo (the names, classifications, parameter + names/types and any other information needed to reverse + transformations used in the XFDU) + transformInfo contains: + mustUnderstand - indicates if this transformation technology must be understood by processor + description - gneral description + algorithmName -name of transformation algorithm + namespace - namespace of the specified technology if any + transformInfo has optional xmlData element to include any additional metadata if needed + + + + + + + + + + + + + + + + + + + + metadataReferenceType: metadata reference. An element of metadataReferenceType is a + generic element used throughout the XFDU schema to provide a + pointer to metadata which resides outside the XFDU document. metadataReferenceType + has the following attributes: 1. ID: an XML ID; 2. locType: the + type of locator contained in the body of the element; 3. + otherLocType: a string indicating an alternative locType when + the locType attribute value is set to "OTHER."; 4. xlink:href: + see XLink standard (http://www.w3.org/TR/xlink) 5. xlink:role: + "" 6. xlink:arcrole: "" 7. xlink:title: "" 8. xlink:show: "" 9. + xlink:actuate: "" 10. mimeType: the MIME type for the metadata + being pointed at; 11. vocabularyMdType: the type of metadata being pointed + at (e.g., MARC, EAD, etc.); 12. textInfo: a label to display to the viewer of the + XFDU document identifying the metadata; and NB: metadataReference is an empty element. The location of the + metadata must be recorded in the xlink:href attribute, + supplemented by the XPTR attribute as needed. + + + + + + + + + + + + + A wrapper to contain arbitrary XML content. + + + + + + + + + + + fileContentType encapsulates and agregates a type that can have a choice of either + binary or xml data + + + + + + + A wrapper to contain Base64 encoded metadata. + + + + + + + + + + metadataWrapType: metadata wrapper. An element of metadataWrapType is a + generic element used throughout the XFDU schema to allow the + encoder to place arbitrary metadata conforming to other + standards/schema within a XFDU document. The metadataWrapType + can have the following attributes: 1. ID: an XML ID for + this element; 2. mimeType: the MIME type for the metadata + contained in the element; 3. vocabularyMdType: the type of metadata + contained (e.g., MARC, EAD, etc.); 4. textInfo: a label to display to the viewer + of the XFDU document identifying the metadata. + + + + + + + + + + + + + + + + The dataObjectPointerType is a type that can be used to refernce dataObjects by dataObjectID. + The dataObjectPointerType has two attributes: + 1. ID: an XML ID for this element; and + 2. dataObjectID: an IDREF to a dataObject element + + + + + + + + + key derivation type contains the information + that was used to derive the encryption key for this dataObject. + Key derivation type contains: + name - name of algorithm used + salt - 16-byte random seed used for that algorithm initialization + iterationCount - number of iterations used by the algorithm to derive the key + + + + + + + + + + + + + + + + + abstractKeyderivation is declared abstract + so that it can be used for element substitution in cases when default key derivation is not + sufficient. In order for creating more specific key derivation constructs, one would have to + extend from keyderivationType to a concrete type, and then create an element of that new type. Finally, + in an instance of XML governed by this schema, the reference to key derivation in an instance of + transformObject element would point not to instance of keyderivation element, but rather instance of the + custom element. In other words, keyderivation would be SUBSTITUTED with a concrete key derivation element. + In cases where default functionality is sufficient, the provided defaultKeyderivation element can be used for the + substitution. + + + + + + + + Default implementation of key derivation type. + + + + + + + transformObjectType: transformation information An element + of transformObjectType contains all of the information required to reverse the + transformations applied to the original contents of the dataObject. It + has two possible subsidiary elements: The algorithm element + contains information about the algorithm used to encrypt the + data. The key-derivation element contains the information that + was used to derive the encryption key for this dataObject It has three + attributes: 1. ID: an XML ID 2. transformType: one of n predefined + transformations types. Current valid types are compression, + encryption, authentication. 3. order: If there are more than one + transformation elements in an dataObject this integer indicates + the order in which the reversal transformations should be applied. + + + + + + + algorithm element contains information + about the algorithm used to encrypt the data. + + + + + + + + + + + + + + + + + + + + + byteStreamType: An element of byteStreamType + provides access to the current content of dataObjects for a XFDU + document. The byteStreamType: has the following four attributes: ID (an XML ID); + mimeType: the MIME type for the dataObject; size: the size of the dataObject + in bytes; checksum: a checksum for dataObject; checksumType: type of checksum algorithms used to compute checksum + The data contained in these attributes is relevant to final state of data object after all possible transformations of the original data. + + + + + + + + + + + + + + + + + + dataObjectType : An element of dataObjectType + contains current byteStream content and any required data to restore + them to the form intended for the original designated community. + It has two possible subsidiary elements: The byteStream element + provides access to the current content dataObjects for an XFDU + document. An element of dataObjectType must contain exactly 1 byteStream element + that may contain an fileLocation element, which provides a pointer to + a content byteStream, and/or an fileContent element, which wraps an + encoded version of the dataObject. An element of dataObjectType may contain one or + more transformation elements that contain all of the + information required to reverse each transformation applied to + the dataObject and return the original binary data object. + The infoObjEntry has the following five attributes: 1. ID: an XML ID + 2, mimeType: the MIME type for the dataObject 3. size: the size of the dataObject + in bytes 4. checksum: a checksum for dataObject 5. checksumType: type of checksum algorithms used to + compute checksum 6. repID list of representation metadata IDREFs. The size, checksum, checksumtype and + mime type are related to the original data before any transformations occured. + 7. combinationType - specifies if multiple FLocat in byteStream are meant to be concatenated + 8. registrationGroup attribute group that provides registration information + + + + + + + + + + + + + + + + + + + + + dataObjectSectionType : a container for one or more elements of dataObjectType + + + + + + + + + + ContentUnit Complex Type The XFDU standard + represents a data package structurally as a series of nested + content units, that is, as a hierarchy (e.g., a data product, + which is composed of datasets, which are composed of time + series, which are composed of records). Every content node in + the structural map hierarchy may be connected (via subsidiary + XFDUPointer or dataObjectPointer elements) to information objects which + represent that unit as a portion of the whole package. The content + units element has the following attributes: + 1.ID (an XML ID); + 2.order: an numeric string (e.g., 1.1, 1.2.1, 3,) representation + of this unit's order among its siblings (e.g., its sequence); + 3.textInfo: a string label to describe this contentUnit to an end + user viewing the document, as per a table of contents entry + 4.repID: a set of IDREFs to representation information sections + within this XFDU document applicable to this contentUnit. + 5.dmdID: a set of IDREFS to descriptive information sections + within this XFDU document applicable to this contentUnit. + 6.pdiID: a set of IDREFS to preservation description information + sections within this XFDU document applicable to this + contentUnit + 7.anyMdID: a set of IDREFS to any other metadata sections that do not fit + rep,dmd or pdi metdata related to this contentUnit + 8.unitType: a type of content unit (e.g., Application + Data Unit, Data Description Unit, Software Installation Unit, etc.). + contentUnitType is declared as a base type for concrete implementations of contentUnit. + + + + + + + XFDUPointer:XFDU Pointer. The XFDUPointer element allows a + content unit to be associated with a separate XFDU containing + the content corresponding with that contentUnit, rather than + pointing to one or more internal dataObjects. A typical instance of + this would be the case of a thematic data product that collects + data products from several instruments observe an event of + interest. The content units for each instrument datasets might + point to separate XFDUs, rather than having dataObjects and dataObject + groups for every dataset encoded in one package. The XFDUPointer + element may have the following attributes: ID: an XML ID for + this element locType: the type of locator contained in the + xlink:href attribute; otherLocType: a string to indicate an + alternative locType if the locType attribute itself has a value + of "OTHER." xlink:href: see XLink standard + (http://www.w3.org/TR/xlink) xlink:role: "" xlink:arcrole: "" + xlink:title: "" xlink:show: "" xlink:actuate: "" NOTE: XFDUPointer + is an empty element. The location of the resource pointed to + MUST be stored in the xlink:href element. + + + + + + + + + + + + + + + + + + + + abstractContentUnit is abstract implementation of + contentUnitType. It cannot be instantiated in the instance + document. Instead, concrete implementations would have to be + used which are declared part of contentUnit substitutionGroup + + + + + + + contentUnit is a basic concrete + implementation of an abstract contentUnit. Its instance can be used + in the instance document in the place where contentUnit declared + to be present. + + + + + + informationPackageMapType Complex Type The Information Package Map + outlines a hierarchical structure for the + original object being encoded, using a series of nested + contentUnit elements. An element of informationPackageMapType has the following + attributes: ID: an XML ID for the element; TYPE: the type of + Information Product provided. Typical values will be"AIP" for a + map which describes a complete AIP obeying all constrainsts and + cardinalitiies in the OAIS reference model "SIP" for a map which + describes a Submission Information Package textInfo: a string to + describe the informationPackageMap to users. packageType: a type for the object, e.g., book, journal, stereograph, etc.; + Concrete implementation of abstractContentUnit (contentUnit etc) have to be used in the instance document. + + + + + + + + + + + + + interfaceDefinitionType: interface definition object. The + interface definition type contains a pointer to an abstract + definition of a set of related behaviors. These abstract + behaviors can be associated with the content of a XFDU object. + The interface definition element will be a pointer to another + object (an interface definition object). An interface definition + object could be another XFDU object, or some other entity (e.g., + a WSDL source). Ideally, an interface definition object should + contain metadata that describes a set of behaviors or methods. + It may also contain files that describe the intended usage of + the behaviors, and possibly files that represent different + expressions of the interface definition. An element of interfaceDefinitionType + is optional to allow for cases where an interface + definition can be obtained from a behavior mechanism object (see + the mechanism element of the behaviorSec). + interfaceDefinition extends from referenceType and adds ability of specifying inputParameter + that can be either just a string value or pointer to the content in this package + + + + + + + + + + + + + + + + + + + + + + behaviorObjectType: Complex Type for Behaviors. A + behavior section can be used to associate executable behaviors + with content in the XFDU object. A behavior object has an + interface definition element that represents an abstract + definition of the set of behaviors represented by a particular + behavior object. A behavior object also has an behavior + mechanism which is a module of executable code that implements + and runs the behaviors defined abstractly by the interface + definition. An behavior section may have the following + attributes: 1. ID: an XML ID for the element 2. structID: IDREFS + to information package map sections or divs within a information package map in the XFDU + document. The content that the structID attribute points to is + considered "input" to the behavior mechanism (executable) + defined for the behaviorSec. 3. behaviorType: a behavior type + identifier for a given set of related behaviors. 4. created: + date this behavior section of the XFDU object was created. 5. + textInfo: a description of the type of behaviors this section + represents. 6. groupID: an identifier that establishes a + correspondence between this behavior section and behavior + sections. Typically, this will be used to facilitate versioning + of behavior sections. behavior object may also include another behavior object for chaining of behaviors + Concrete implementation of mechanism (wsdlMechanism,antMechanism,javaMechanism, etc) have to be used in the instance document. + + + + + + + + + + + + + + + + + + abstractMechanism is abstract implementation of + mechanismType. It cannot be instanciated in the instance + document. Instead, concrete implementations would have to be + used which are declared part of mechanism substitutionGroup + + + + + + + mechanismType: executable mechanism. An element of mechanismType + contains a pointer to an executable code module that + implements a set of behaviors defined by an interface + definition. The mechanism element will be a pointer to another + object (a mechanism object). A mechanism object could be another + XFDU object, or some other entity (e.g., a WSDL source). A + mechanism object should contain executable code, pointers to + executable code, or specifications for binding to network + services (e.g., web services). + mechanismType is declared as base type for concrete implementations of mechanism + + + + + + + + + + webServiceMechanismanism is a concrete implementation of + abstract mechanism which implements a mechanism based on Web + service. Its instace can be used in the instance document in the + place where abstractMmechanism declared to be present. + + + + + + + javaMechanism is a concrete implementation of + abstract mechanism which implements a Java-based mechanism. + xlink:href element points to the fully qualified name of the Java + class that implements the mechanism. FLocat element specifies the + location of the jar file where that class is packaged. File can + be local to this XFDU package, or located on the remote server, + or somewhere on the local file system. An instance of + javaMechanism can be used in the instance document in the place + where abstractMmechanism is declared to be present. + + + + + + + + + + + + + + + antMechanism is a concrete implementation of + abstract mechanism which implements an ANT-based mechanism. + xlink:href element points to a location of ANT script to be + executed. Also, xmlData element can contain ANT specific XML. An + instance of antMechanism can be used in the instance document in + the place where abstractMmechanism is declared to be present. + + + + + + + + + + + + + + + + + + + + + + + + + + XFDUType Complex Type. + A XFDU document consists of five possible subsidiary sections: + packageHeader (XFDU document header), informationPackageMap (content unit section), + metadataSection (container for metadata objects), + dataObjectSection (data object section),behaviorSection (behavior section). + It also has possible attributes: + 1. ID (an XML ID); + 2. objID: a primary identifier assigned to the original source document; + 3. textInfo: a title/text string identifying the document for users; + 5. version: version to which this XFDU document conforms + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xfdu.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xfdu.xsd new file mode 100755 index 0000000..e04adc1 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xfdu.xsd @@ -0,0 +1,698 @@ + + + + + + + + + + + + + + + + This attribute group aggregates attributes that can be used for specifying type of location + This group includes following attributes: + locatorType specifies location type (URL or OTHER) + otherLocatorType specifies location type in case locatorType has value of OTHER + + + + + + + + + + This attribute group aggregates attributes that can be used for specifying + registration information. + This group includes following attributes: + registrationAuthority - the authority that issued the registration + registeredID - the id for the registration + + + + + + + + + + + + Entity of this type is used to indicated version of XFDU XML schema + + + + + + + + + + + + + + + + + + + + + + An element of this type encapsulates information about the position of the encapsulating XFDU + package In a sequence of physical XFDU packages that form the identified logical XFDU unit. + The sequencePosition element is a string that acts as an identifier for the logical XFDU . + SequenceInformationType has two mandatory attributes: + 1. sequencePosition - the position of this XFDU package in the sequence; if 0 is specified + and sequenceSize is unknown it means that it is last in the sequence + 2. sequenceSize - the total number of packages in the sequence; if its value is 0 this means + size is unknown + + + + + + + + + + + + + locator attribute allows finer granularity withing location specified in href + + + + + + + + + + + + An element of this type would convey checksum information: checksum value and type of checksum + (algorithm) used to compute the value + + + + + + + + + + + metadataObjectType Complex Type A generic + framework for pointing to/including metadata within a XFDU + document, a la Warwick Framework. An mdSec element may have the + following attributes: + 1. ID: an XML ID for this element. + 2. classification - concrete type of metadata represented by this element of metadataObjectType + 3. category - type of metadata class to which this metadata belongs (e.g. DMD.REP, etc.) + 4. otherClass - type of metadata in case classification contains value of "OTHER" + 5. otherCategory - type of metadata class in case category contains value of "OTHER" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Entity of this type is used to indicated CCSDS-bound version of XFDU specification + + + + + + + + Environment info provides meta information related to environment where where the XFDU was created. + Since environment information maybe specific to concrete XFDU producer, environment information can have + only two optional elements: + -xmlData - can hold application specific information. + -wild card that serves as extension point for other applications + + + + + + + + + + + Contains XFDU volume information. + It can have one mandatory element - specificationVersion, which specifies + specification information of XFDU under which this manifest was created. + Additionally it has optional sequenceInformation that holds information about + sequence of XFDUs and position of the current one in it. + + + + + + + + + + packageHeaderType: Complex Type for metadata about the + mapping of the logical packages to the physical structures. The + package header type has two elements: + - volumeInfo - holds XFDU volume related info( XFDU specification version and sequence information). + - environmentInfo (specification of the hardware and software + platform which created this package as well as other application specific enformation). packageHeaderType has a single + attribute, ID: an XML ID. + + + + + + + + + + + metadataReferenceType: metadata reference. An element of metadataReferenceType is a + generic element used throughout the XFDU schema to provide a + pointer to metadata which resides outside the XFDU document. metadataReferenceType + has the following attributes: 1. ID: an XML ID; 2. locatorType: the + type of locator contained in the body of the element; 3. + otherLocatorType: a string indicating an alternative type of locator when + the locatorType attribute value is set to "OTHER."; 4. href: actual location (e.g. URL) + 5. mimeType: the MIME type for the metadata + being pointed at; 6. vocabularyName: the type of metadata being pointed + at (e.g., MARC, EAD, etc.); 7. textInfo: a label to display to the viewer of the + XFDU document identifying the metadata; and NB: metadataReference is an empty element. The location of the + metadata must be recorded in the href attribute. + + + + + + + + + + + + A wrapper to contain arbitrary XML content. + + + + + + + + + fileContentType encapsulates and aggregates a type that can have a choice of either + binary or xml data + + + + + + A wrapper to contain Base64 encoded metadata. + + + + + + + + + metadataWrapType: metadata wrapper. An element of metadataWrapType is a + generic element used throughout the XFDU schema to allow the + encoder to place arbitrary metadata conforming to other + standards/schema within a XFDU document. The metadataWrapType + can have the following attributes: 1. ID: an XML ID for + this element; 2. mimeType: the MIME type for the metadata + contained in the element; 3. vocabularyName: the type of metadata + contained (e.g., MARC, EAD, etc.); 4. textInfo: a label to display to the viewer + of the XFDU document identifying the metadata. + + + + + + + + + + + + + + The dataObjectPointerType is a type that can be used to reference dataObjects by dataObjectID. + The dataObjectPointerType has two attributes: + 1. ID: an XML ID for this element; and + 2. dataObjectID: an IDREF to a dataObject element + + + + + + + + key derivation type contains the information + that was used to derive the encryption key for this dataObject. + Key derivation type contains: + name - name of algorithm used + salt - 16-byte random seed used for that algorithm initialization + iterationCount - number of iterations used by the algorithm to derive the key + + + + + + + + + + + + + + + + abstractKeyDerivation is declared abstract + so that it can be used for element substitution in cases when default key derivation is not + sufficient. In order for creating more specific key derivation constructs, one would have to + extend from keyDerivationType to a concrete type, and then create an element of that new type. Finally, + in an instance of XML governed by this schema, the reference to key derivation in an instance of + transformObject element would point not to instance of keyDerivation element, but rather instance of the + custom element. In other words, keyDerivation would be SUBSTITUTED with a concrete key derivation element. + In cases where default functionality is sufficient, the provided defaultKeyDerivation element can be used for the + substitution. + + + + + + + Default implementation of key derivation type. + + + + + + transformObjectType: transformation information An element + of transformObjectType contains all of the information required to reverse the + transformations applied to the original contents of the dataObject. It + has two possible subsidiary elements: The algorithm element + contains information about the algorithm used to encrypt the + data. The key-derivation element contains the information that + was used to derive the encryption key for this dataObject It has three + attributes: 1. ID: an XML ID 2. transformType: one of n predefined + transformations types. Current valid types are compression, + encryption, authentication. 3. order: If there are more than one + transformation elements in an dataObject this integer indicates + the order in which the reversal transformations should be applied. + + + + + + algorithm element contains information + about the algorithm used to encrypt the data. + + + + + + + + + + + + + + + + + + + + byteStreamType: An element of byteStreamType + provides access to the current content of dataObjects for a XFDU + document. The byteStreamType: has the following four attributes: ID (an XML ID); + mimeType: the MIME type for the dataObject; size: the size of the dataObject + in bytes. + Checksum information provided via option checksum element. + The data contained in these attributes is relevant to final state of data object after all possible transformations of the original data. + + + + + + + + + + + + + + dataObjectType : An element of dataObjectType + contains current byteStream content and any required data to restore + them to the form intended for the original designated community. + It has two possible subsidiary elements: The byteStream element + provides access to the current content dataObjects for an XFDU + document. An element of dataObjectType must contain 1 or many byteStream element + that may contain an fileLocation element, which provides a pointer to + a content byteStream, and/or an fileContent element, which wraps an + encoded version of the dataObject. An element of dataObjectType may contain one or + more transformation elements that contain all of the + information required to reverse each transformation applied to + the dataObject and return the original binary data object. + The dataObjectType has the following attributes: 1. ID: an XML ID + 2, mimeType: the MIME type for the dataObject 3. size: the size of the dataObject + in bytes 4. checksum: a checksum for dataObject. Checksum information provided via optional checksum element. + repID list of representation metadata IDREFs. The size, checksum, and + mime type are related to the original data before any transformations occured. + 5. combinationName - specifies if multiple byteStream objects are meant to be concatenated + 6. registrationGroup attribute group that provides registration information + + + + + + + + + + + + + + + + + + + dataObjectSectionType : a container for one or more elements of dataObjectType + + + + + + + + + + + + + + + + + + ContentUnit Complex Type The XFDU standard + represents a data package structurally as a series of nested + content units, that is, as a hierarchy (e.g., a data product, + which is composed of datasets, which are composed of time + series, which are composed of records). Every content node in + the structural map hierarchy may be connected (via subsidiary + XFDUPointer or dataObjectPointer elements) to information objects which + represent that unit as a portion of the whole package. The content + units element has the following attributes: + 1.ID (an XML ID); + 2.order: an numeric string (e.g., 1.1, 1.2.1, 3,) representation + of this unit's order among its siblings (e.g., its sequence); order attribute is not meant to be used + for processing purposes. It is here only for visualization purposes of the potential reader of XML instance. + It is not guaranteed that any software will take value of order attribute into account. contentUnit nesting is + the primary means for determining order and level of the content information. + 3.textInfo: a string label to describe this contentUnit to an end + user viewing the document, as per a table of contents entry + 4.repID: a set of IDREFs to representation information sections + within this XFDU document applicable to this contentUnit. + 5.dmdID: a set of IDREFS to descriptive information sections + within this XFDU document applicable to this contentUnit. + 6.pdiID: a set of IDREFS to preservation description information + sections within this XFDU document applicable to this + contentUnit + 7.anyMdID: a set of IDREFS to any other metadata sections that do not fit + rep,dmd or pdi metdata related to this contentUnit + 8.unitType: a type of content unit (e.g., Application + Data Unit, Data Description Unit, Software Installation Unit, etc.). + contentUnitType is declared as a base type for concrete implementations of contentUnit; + 9. behaviorID-an XML ID reference pointing to associate behavior. + 10. anyAttribute - wild-carded attribute extension point + + + + + + + XFDUPointer:XFDU Pointer. The XFDUPointer element allows a + content unit to be associated with a separate XFDU containing + the content corresponding with that contentUnit, rather than + pointing to one or more internal dataObjects. A typical instance of + this would be the case of a thematic data product that collects + data products from several instruments observe an event of + interest. The content units for each instrument datasets might + point to separate XFDUs, rather than having dataObjects and dataObject + groups for every dataset encoded in one package. The XFDUPointer + element may have the following attributes: ID: an XML ID for + this element locatorType: the type of location contained in the + href attribute; otherLocatorType: a string to indicate an + alternative locator type if the locatorType attribute itself has a value + of "OTHER." NOTE: XFDUPointer + is an empty element. The location of the resource pointed to + MUST be stored in the href attribute. + + + + + + + + + + + + + + + + + + + + abstractContentUnit is abstract implementation of + contentUnitType. It cannot be instantiated in the instance + document. Instead, concrete implementations would have to be + used which are declared part of contentUnit substitutionGroup + + + + + + contentUnit is a basic concrete + implementation of an abstract contentUnit. Its instance can be used + in the instance document in the place where contentUnit declared + to be present. + + + + + + informationPackageMapType Complex Type The Information Package Map + outlines a hierarchical structure for the + original object being encoded, using a series of nested + contentUnit elements. An element of informationPackageMapType has the following + attributes: ID: an XML ID for the element; packageType: a type for the object, e.g., + book, journal, stereograph, etc., anyAttribute - wild-carded attribute extension point. + Typical values for packageType attribute will be"AIP" for a + map which describes a complete AIP obeying all constraints and + cardinalities in the OAIS reference model "SIP" for a map which + describes a Submission Information Package textInfo: a string to + describe the informationPackageMap to users. + Concrete implementation of abstractContentUnit (contentUnit etc) have to be used in the instance document. + + + + + + + + + + + + + interfaceDefinitionType: interface definition object. The + interface definition type contains a pointer to an abstract + definition of a set of related behaviors. These abstract + behaviors can be associated with the content of a XFDU object. + The interface definition element will be a pointer to another + object (an interface definition object). An interface definition + object could be another XFDU object, or some other entity (e.g., + a WSDL source). Ideally, an interface definition object should + contain metadata that describes a set of behaviors or methods. + It may also contain files that describe the intended usage of + the behaviors, and possibly files that represent different + expressions of the interface definition. + interfaceDefinition extends from referenceType and adds ability of specifying inputParameter + that can be either just a string value or pointer to the content in this package + + + + + + + + + + + + + + + + + + + + + behaviorObjectType: Complex Type for Behaviors. A + behavior object can be used to associate executable behaviors + with content in the XFDU object. A behavior object has an + interface definition element that represents an abstract + definition of the set of behaviors represented by a particular + behavior object. An behavior object may have the following + attributes: 1. ID: an XML ID for the element 2. structID: IDREFS + to information package map sections or divs within a information package map in the XFDU + document. + 3. behaviorType: a behavior type + identifier for a given set of related behaviors. 4. created: + date this behavior object of the XFDU object was created. 5. + textInfo: a description of the type of behaviors this object + represents. 6. groupID: an identifier that establishes a + correspondence between this behavior object and other behavior + objects. Typically, this will be used to facilitate versioning + of behavior objects. Behavior object may also include another behavior object for + chaining of behaviors.Concrete implementation of mechanism have to be used in the instance document. + + + + + + + + + + + + + + + + + abstractMechanism is abstract implementation of + mechanismType. It cannot be instantiated in the instance + document. Instead, concrete implementations would have to be + used which are declared part of mechanism substitutionGroup + + + + + + mechanismType: executable mechanism. An element of mechanismType + contains a pointer to an executable code module that + implements a set of behaviors defined by an interface + definition. The mechanism element will be a pointer to another + object (a mechanism object). A mechanism object could be another + XFDU object, or some other entity (e.g., a WSDL source). A + mechanism object should contain executable code, pointers to + executable code, or specifications for binding to network + services (e.g., web services). + mechanismType is declared as base type for concrete implementations of mechanism + + + + + + + + + + + + + + + + + + + + XFDUType Complex Type. + A XFDU document consists of five possible subsidiary sections: + packageHeader (XFDU document header), informationPackageMap (content unit section), + metadataSection (container for metadata objects), + dataObjectSection (data object section),behaviorSection (behavior section). + It also has possible attributes: + 1. ID (an XML ID); + 2. objID: a primary identifier assigned to the original source document; + 3. textInfo: a title/text string identifying the document for users; + 5. version: version to which this XFDU document conforms + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xlink.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xlink.xsd new file mode 100755 index 0000000..f55eb6d --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_SAFE/resources/xsd/org/ccsds/xfdu/xlink.xsd @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/item/item.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/item/item.xsd new file mode 100644 index 0000000..5157075 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/item/item.xsd @@ -0,0 +1,197 @@ + + + + + + Product Data Item identification + + + + + + + + Product Data Item identification + + + + + + + + + + Product Data Item identification + + + + + + + + + Preview Image identification + + + + + + + + + Product Data Item identification + + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Datatake identification + + + + + + + + Product Data Item identification + + + + + + + + + + Product Data Item identification list: Granule, Tile, DataStrip, GIPP, DEM, GRI, IERS, POD, ECMWF, HKTM, SAD) + + + + + + + + + + + + + + + + + + + + + Product Identifier in the archive (auxiliary, DEM, GIPP,...) + + + + + + a PDI_ID or a Product ID + + + + + + The file type used by the Archive to discriminate Items (PDIs, products, auxiliary) + + + + + + The archive latency (On-line / Off-line) + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/item/item2A.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/item/item2A.xsd new file mode 100755 index 0000000..cc04017 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/item/item2A.xsd @@ -0,0 +1,181 @@ + + + + + + + Product Data Item identification + + + + + + + + Product Data Item identification + + + + + + + + + + + + Product Data Item identification + + + + + + + + + Preview Image identification + + + + + + + + + Product Data Item identification + + + + + + + + + + Product Data Item identification + + + + + + + Product Data Item identification + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Datatake identification + + + + + + + + Product Data Item identification + + + + + + + + + + Product Data Item identification list: Granule, Tile, Datastrip, GIPP, DEM, GRI, IERS, POD, ECMWF, HKTM, SAD) + + + + + + + + + + + + + + + + + + + + + Product Identifier in the archive (auxiliary, DEM, GIPP,...) + + + + + + a PDI_ID_2A or a Product ID + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/userProduct/userProduct.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/userProduct/userProduct.xsd new file mode 100644 index 0000000..f0cf5a5 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/DataAccess/userProduct/userProduct.xsd @@ -0,0 +1,99 @@ + + + + + + + A PDI physical Url or a PDI consolidated ID + + + + + + A PDI physical Url (https://-dag server url-/download?PdiID=-PDIid-&dsPdiID=-DsPDIid-) + + + + + + + + A Consolidated PDI identifier + + + + + + + + The archive status of the product specified by the PhysicalIdentifier: available / temporaryUnavailable / expected + + + + + + + + + + The request to translate Logical PDI-ids in Physical PDI-ids. + + + + + Request for Logical items translation + + + + + + This field represents the logical identifier (granules only) as received through the ngEO IF 329 + + + + + + + + + Request the translation for Consolidated Tiles + + + + + + The s2 uri originated by ngEO + + + + + + + + The s2 user id + + + + + + The needed info to request an authorization to ngEO + + + + + The S2 user id + + + + + The S2 Product Uri originated by ngEO. + + + + + + Do the ngEO authorization + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/archive/archive.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/archive/archive.xsd new file mode 100644 index 0000000..e469b26 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/archive/archive.xsd @@ -0,0 +1,174 @@ + + + + + + + + + + + + + Product data item identifier + + + + + Parent PDI-id (referenced datastrip id) + + + + + The datatake id (aka GID, group id) + + + + + The FileType of the Item. Cf. [DI-PSD] + + + + + On-line / Off-line + + + + + + S2 Earth Observation Specialization. + + + + + S2 Earth Observation Specialization. +Cf. [NGEO-EICD-S2], opt:EarthObservation + + + + + + + PDIs metadata to set Central Index and Catalogue + + + + + Metadata for Central index purpose + + + + + + + + + https://-dag server url-/ +get? +PdiID=-PDIid- +dsPdiID=-DatastripPDIid- + + + + + A substring of the Pdi-id (acq station stripped), useful to detect redounded or complementary PDIs. + + + + + + Aggregated quality score for the Item. + + + + + + + + + Metadata for cataloguing purpose. Mandatory for PDI at granule level + + + + + + S2 Earth Observation Specialization. + + + + + + + + + + + + + + + Metadata to update PDIs status at the Central Index + + + + + + Type of performed operation (delete, latency update) + + + + + + + + + + + + + + + + + + + + + + + True if the Archive is unavailable + + + + + + + + + + + + Archived and Intoried Item to be Indexed and Catalogued + + + + + + + + + + + + + + + Metadata to notify PDIs status change + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/base/base.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/base/base.xsd new file mode 100644 index 0000000..7c635da --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/base/base.xsd @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + Data interface is independant from any satellite. + + + + + + + + + + + Email address. + + + + + + + + + + + + + + + + + + + + + Address Ftp. + + + + + + Language + + + + + + + + + + Number of satellites + + + + + + Acces path of a data + + + + + + + + + + + + + + + + + + + State : ON/OFF + + + + + + + + + OK / KO + + + + + + + + + To be Defined + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/center/center.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/center/center.xsd new file mode 100644 index 0000000..bf384c8 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/center/center.xsd @@ -0,0 +1,188 @@ + + + + + + + + Site Centres and Processing Archiving Centre + + + + + + + + + Center used for Acquisition and Processing + + + + + + + + center used only for acquisition + + + + + + + + Center used for Acquisition and Processing + + + + + + + + + + center used only for acquisition + + + + + + + + + + + Acquistion Center coded on 3 characters + + + + + + + + + + + + + + PAC1 (assigned to Spanish PAC) PAC2 (assigned to UK PAC) + + + + + + Processing and archiving Center N�1 (assigned to Spanish PAC) + + + + + + + + Processing and archiving Center N�2 (assigned to UK PAC) + + + + + + + + + + + PDMC + + + + + + + + MPCC + + + + + + + + Reference Platform + + + + + + + + + + + External Center + + + + + + + + + + + + + + + + Archiving Center + + + + + + + + + + + + + + + + + Processing Center + + + + + + + + + + + + + + + + + + + + + + + + + + + Processing Center + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/component/component.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/component/component.xsd new file mode 100644 index 0000000..3d843d1 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/component/component.xsd @@ -0,0 +1,55 @@ + + + + + Component types + + + $Revision: 1.1 $ $Date: 2011/06/16 11:10:48 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/configuration/configuration.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/configuration/configuration.xsd new file mode 100644 index 0000000..1357656 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/configuration/configuration.xsd @@ -0,0 +1,123 @@ + + + + + + + + A Scheduled Time Plan + + + + + How many times within the day (same time interval between two consecutive scheduling action) + + + + + + + The list of MRFs used by a component. + + + + + + + + The MRF filename + + + + + The MRF Validity start time + + + + + The MRF Validity stop time + + + + + + + + + + Identifier of the Host + + + + + + Allowed Transfer Methods: FTP, SFTP, FTPS or FS (for local filesystem) + + + + + + + + + + + User password + + + + + + User Name + + + + + + Temporary filename convention. +PREFIX_DOT : prefixed with “.”. This is the default in case +SUFFIX_LOCK : suffixed with “.lock” +TMP_DIR : use of a temporary directory (valid only for transfer of files and not for products with a directory structure). + + + + + + + + + + + + Repository name (unique identifier) + + + + + Type of transfer protocol to be used: FTP, SFTP, FTPS or FS (for local filesystem) + + + + + The identifier of the host. + + + + + Path where the data will be made available + + + + + Account on data consumer host + + + + + Encrypted Password of Account on data provider host. + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/dimap/dimap.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/dimap/dimap.xsd new file mode 100644 index 0000000..c47bfef --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/dimap/dimap.xsd @@ -0,0 +1,12506 @@ + + + + + + + + + + + + + + + + + Pointing angles + + + + + Along lines + + + + + Along columns + + + + + + + Yaw, pitch, and roll angles + + + + + + + + + + Zenith and azimuth angles + + + + + + The range of the angle is into [0,360°[ + + + + + + + Dataset identification + + + + + String that identifies a Sentinel2 dataset + + + + + + + + Metadata Profile + + + + + + Metadata file format + + + + + + + + + + List of process-related data for tracing and debugging purposes. Every process should append the list with a new Step element. + + + + + Reference of GIPP files used by the inventory process. A GIPP type must appear only once in the list. An inventory process should append the list with the reference of every GIPP used (if not present yet in the list) + + + + DATATION + INIT_LOC_INV + CLOUD_INV + ARCHIVE_PRODUCT + + + + + + + + + + + List of process-related data for tracing and debugging purposes. Every process should append the list with a new Step element. + + + + ARCHIVE_PRODUCT + + + + + + + Reference of GIPP files used by the inventory process. A GIPP type must appear only once in the list. An inventory process should append the list with the reference of every GIPP used (if not present yet in the list) + + + + DATATION + INIT_LOC_INV + CLOUD_INV + ARCHIVE_PRODUCT + + + + + + + DEM type used by the inventory process (GLOBE or SRTM for example) + + + + + + + + + + + + + + + + List of process-related data for tracing and debugging purposes. Every process should append the list with a new Step element. + + + + INIT_LOC_PROD + L1A_PRODUCT + RADIO_S2 + GEO_S2 + L1B_PRODUCT + TILING_S2 + L1C_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Reference of GIPP files used by the inventory process. A GIPP type must appear only once in the list. An inventory process should append the list with the reference of every GIPP used (if not present yet in the list) + + + + DATATION + INIT_LOC_INV + CLOUD_INV + ARCHIVE_PRODUCT + + + + + + + DEM type used by the inventory process (GLOBE or SRTM for example) + + + + + + + + + + + + Reference of GIPP files used by the production process. A GIPP type must appear only once in the list. An production process should append the list with the reference of every GIPP used (if not present yet in the list) + + + + DATATION + INIT_LOC_INV + CLOUD_INV + ARCHIVE_PRODUCT + + + + + + + DEM type used by the production process (GLOBE or SRTM for example) + + + + + + + + + + + + + + Metadata file identification + + + + + possible values are : "DATATION", "INIT_LOC_INV", "CLOUD_INV", "ARCHIVE_PRODUCT", "INIT_LOC_PROD", "RADIO_S2", "L1A_PRODUCT", +"GEO_S2", "L1B_PRODUCT", "RESAMPLE_S2", "L1C_PRODUCT" + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + MSI operation mode: Nominal Observation Mode/Extended Observation Mode/Dark Signal Calibration Mode/Absolute Radiometry Calibration Mode/Vicarious Calibration Mode/Raw Measurement Mode/Test Mode + + + + + + + + + + + + + + + + + + + + + + DATATION + + + + + + + + + + DATATION + + + Processing/archiving date + + + + + Identifier of the downlink orbit + + + + + Imaging Orbit Number + + + + DATATION + + + + + + + + + + + + + + + + + DATATION + + + + + + + Imaging Start Time + + + + + Acquisition orbit direction (descending, ascending) + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + + + + + Flag to indicate if compress mode is by passed + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Flag to indicate if equalization is active + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + On board active Detectors (in case of compression by-passed) + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + + + + Flag to indicate if compress mode is by passed + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Flag to indicate if equalization is active + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + On board active Detectors (in case of compression by-passed) + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + + + + List of relative source packets for each couple (band ; detector). Created by ANA_TM, updated before archiving and by InitLoc Production for Level1 processing. + + + + DATATION + ARCHIVE_PRODUCT + INIT_LOC_PROD + + + + + + + + + + + + + + + + + + + + First source packet counter. Updated by Init_Loc_Inv, Archive and Init_Loc_Prod. + + + + + + + + + + Position of the first source packet in the on board scene + + + + + + + + + + + Number of source packets. Updated by Init_Loc_Inv, Archive and Init_Loc_Prod + + + + + + + + + + + Band identifier for source frame description + + + + + + + + + + + Detector identifier for source frame description + + + + + + + + + + + + + + + + + Summary of all degradations (lost and degraded packets) for the whole datastrip + + + + + + Number of lost packets for the whole datastrip + + + + + Number of too degraded packets (i.e. erroneous packets not trustworthy, meaning they will not be used by further processing) for the whole datastrip + + + + + Number of degraded packets (i.e. erroneous packets but trustworthy, meaning they will be used by further processing) for the whole datastrip + + + + + + Percentage of lost or degraded (either too degraded or not) ancillary data packets in the data-strip + + + + + + + + + + + + + + + + + + + + DATATION + ARCHIVE_PRODUCT + INIT_LOC_PROD + + + + + + + + + + + First source packet counter. + + + + + + + + + + Position of the first source packet in the on board scene + + + + + + + + + + + Number of source packets. + + + + + + + + + + + Band identifier for source frame description + + + + + + + + + + + + + + + + + Type of degradation + + + + + This field is optional: when DEGRADATION_TYPE is "LOST", it is not present. +Otherwise, there is one Error_Type_List element by type of error, containing the number of fields with that kind of error. +Possible types of error (from AnaTm specifications in DPM) are: +- out of bounds (type 1) +- internal inconsistency (type 2) +- temporal inconsistency (type 3) +- transfer vs source inconsistency (type 4), should be rare, for very few transfer information in annotation + + + + + + + + + + Type of error (from AnaTm specifications): +- outOfBounds matches error type 1; +- internalInconsistency matches error type 2; +- temporalInconsistency matches error type 3; +- transferVsSourceInconsistency matches error type 4: this error should be rare, for very few transfer information in annotation + + + + + + + + + + + + + + + + + + + + Date of the first line of the scene which contains the first lost / degraded source packet + + + + + Counter of the first source packet in error. This number is in [0;143] for 10m bands, [0;71] for 20m bands or [0;23] for 60m bands. + + + + + + + + + + + Number of lost or degraded source packet. This number is in [1;144] for 10m bands, [1;72] for 20m bands or [1;24] for 60m bands + + + + + + + + + + + + + + + + + Band identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + + + DATATION + ARCHIVE_PRODUCT + INIT_LOC_PROD + + + + + + + + + + + First source packet counter. + + + + + + + + + + + + + + + Position of the first source packet in the on board scene + + + + + + + + + + + Number of source packets. + + + + + + + + + + + + + + + + Band identifier for source frame description + + + + + + + + + + + + + + + + + Type of degradation + + + + + Type of error (from AnaTm specifications): +- type 1 +- type 2 +- type 3 +- type 4 +- type 5 +- type 6 + + + + + + + + + + + + + + + + + + + + + + + + + Date of the first line of the scene which contains the first lost / degraded source packet + + + + + Counter of the first source packet in error. This number is in [0;143] for 10m bands, [0;71] for 20m bands or [0;23] for 60m bands. + + + + + + + + + + + Number of lost or degraded source packet. This number is in [1;144] for 10m bands, [1;72] for 20m bands or [1;24] for 60m bands + + + + + + + + + + + + + + + + + Band identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + + + Type of degradation + + + + + Type of error (from AnaTm specifications): +- type 1 +- type 2 +- type 3 +- type 4 +- type 5 +- type 6 + + + + + + + + + + + + + + + + + + + + + + + + + Date of the first line of the scene which contains the first lost / degraded source packet + + + + + Counter of the first source packet in error. This number is in [0;143] for 10m bands, [0;71] for 20m bands or [0;23] for 60m bands. + + + + + + + + + + + Number of lost or degraded source packet. This number is in [1;144] for 10m bands, [1;72] for 20m bands or [1;24] for 60m bands + + + + + + + + + + + + + + + + + Band identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + Source packet information + + + + + Datation model + + + + + + + + + + + + + + + The Precise orbit determination data (POD) provides information in order to improve the accuracy in the geo location of the data strips that have been inventoried. The POD data are optional. Each point is sampled at 1 Hz. + + + INIT_LOC_PROD + + + + + + + + + + + Spacecraft Position (X, Y, Z) from POD in millimeters + + + + + Spacecraft velocities (Vx, Vy, Vz) from POD in millimeters per seconds + + + + + Date (GPS Time referential frame) + + + + + + + + + A 'true' value indicates that these points must be used instead of GPS points + + + + + + + + + + + + + Onboard Hybrided attitude (STR+IMU), provided at 10Hz, gives the PRF frame in the J2000. + + + + + + Only one sample for one GPS_TIME. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 + + + + + + When 1 : quaternion is valid + + + + + Dated angular velocities + + + + + Velocity angular errors + + + + + GPS time value + + + + + List of 11 boolean flags separated by whitespace: STR1 STR2 STR3 GPSR-A GPSR-B VCU-A VCU-B IMU-1 IMU-2 IMU-3 IMU-4 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + AOCS Mode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + AOCS Submode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + Difference Between GSE filter estimate and first in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Difference Between GSE filter estimate and second in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + These data are acquired at 0.1 Hz + + + + + + List of 11 booleans from MSI-SAD packet + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + These data are acquired at 0.1 Hz + + + + + + List of 11 booleans from MSI-SAD packet + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + These data are acquired at 0.1 Hz + + + + + + List of 11 booleans from MSI-SAD packet + + + + + + + + + + + + + + + + + + + + + + Created by DATATION, updated by RADIO_S2. Coefficient also called Absolute calibration coefficient or Ak (used to perform the transform between Level-1B numerical count to radiances) + + + + DATATION + RADIO_S2 + + + + + + + + + + + + + + + + + + + + + + + Compression rate + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + In case of uncompressed data a configurable default value will be chosen (e.g. -1) + + + + + + + Integration time + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + In-flight Non Uniform Correction table ID defined by 10 bits. This ID is uniform for all transmitted bands. It identifies the correction coefficients table used in-flight. In case of NUC by-passed, the value is set to NONE. + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + The granule footprint in the QL display: list of 4 (l,c) points + + + + + Information provided for each granule, at the center of the granule + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (l,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + The granule footprint in the QL display: list of 4 (l,c) points. Used for computing percentage of cloud coverage and degraded data per granule + + + + + Information provided for each granule, at the center of the granule + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (l,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + Information provided for each granule, given for a reference band, at the center of the granule + + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + RESAMPLE_S2 + + + + + + + + + + + mean value containing sun zenith and azimut angle average for all bands and detectors + + + + + Sun angles grid, containing sun zenith and azimut angles + + + + + List of masks produced for each tile by Resample_S2 and Mask_S2. Each mask is in the target geometry of the tile. Each mask is covering the tile size. The mask format is GML + + + + + + + + + + Mask type + + + + + + + + + + + + This information has to be consolidated from IAS Processing Reports for all tiles in the final Level-1C metadata file. + + + + + + A percentage of degraded ancillary data is provided for each tile + + + + + A percentage of degraded MSI data is provided for each tile + + + + + The percentage of cloudy pixels in the mask (if the file is a cloud mask) + + + + + The percentage of cirrus clouds in the mask (if the file is a cloud mask) + + + + + + + + List of mean values containing viewing incidence zenith and azimut angle average for each band and for all detectors + + + + + + mean value containing viewing incidence zenith and azimut angle average for all detectors + + + + + + + Band index for which mean viewing icidence angle is requested + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Grids for Viewing Incidence Angles. Grids are defined in the same projection as the tile. For each requested band and each detector intersecting the tile, two grids of viewing incidence angles θv and φv shall be computed, where θv is the zenith viewing angle and φv is the azimuth viewing angle + + + + + + TILE_IDENTIFIER from GIPP + + + + + + + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + +
  • a space-separated list of 4096 percent values
  • +
  • the first (MIN) and last (MAX) indexes for significant percent values (i.e. > 0.0)
  • +
  • the mean and standard deviation values
  • +]]>
    +
    +
    +
    + + + + percent values (number depending on the STEP) + + + + + histogram step + + + + + first index of significant percent value (i.e. > 0.0) + + + + + last index of significant percent value (i.e. > 0.0) + + + + + Histogram mean value + + + + + Histogram standard deviation + + + +
    + + + + Position of the swath : left, center, right + + + + + + + + + + + + Information provided for the beginning and the end of the product. + +Information is provided on QL geometry or on the full resolution + + + + INIT_LOC_INV + INIT_LOC_PROD + + + + + + + + + + + + + + + + + + + Pointing angles in satellite reference frame + + + + + Pointing angles in focal plane referential + + + + + + + + Position of the swath. Indeed, data are computed for each line index and for col = first_col and last_col, defining the begin and the end of the swath. + + + + + + Track orientation. Also called "CAPE". The range of the angle is into [0,360°[ + + + + + Incidence angles + + + + + + Full resolution pixel sizes along and across track in meters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pollux zone identifier. + + + + + + + + + + + + + + + Local registration Statistics given for one Pollux zone. Units should be set according to product unit (i.e. meters or degrees) + + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + Global registration Statistics. Units should be set according to product unit (i.e. meters or degrees) + + + + + Local registration Statistics list (given for every Pollux zone). + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + Quality assessement created by DATATION + + + + + + + + Degraded ancillary data + + + + + + + Frequency + + + + + + + + + + + + + + + + + + + + + + + + + + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + RADIO_S2 + + + + + + + File name of the masks. L1A/L1B: mask file types for each band and detector. L1C: mask file types for each band and tile and mask file types band independent. The mask format is GML + + + + + + + Mask type + + + + + + + + + + + + + + + + + Identifier of the band + + + + + Identifier of the detector + + + + + + + + + + Mask is defined into quicklook geometry in the inventory process and is transformed into level1 full resolution geometry in production process. + + + + + + Quality assessement: percentage of cloudy pixels detected in the quicklook image + + + + + + Quality assessement created by GEO_S2 + + + + + Refining results. Should exist only if refining has been applied + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + + + + Multi-temporal registration performance indicator + + + + + + + Measurement date=production date + + + + + + + + Multi-spectral registration performance + + + + + + Value for 10m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + Value for 20m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + Value for 60m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + + + + + + + + Measurement date=production date + + + + + + + + + + + + + + Registration results. Should exist only if registration has been applied + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + + + + Spatiotriangulation results. Should exist only if refining and/or registration have/has been applied. + + + + + + + Initial archiving station + + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Date updated at the end of inventory process + + + + + Initial archiving station + + + + + + + Description of the coordinate reference system used in the dataset. Set to WGS84 by Init_Loc_Inv and updated accordingly to requested product by RESAMPLE_S2. + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + Description of the horizontal coordinate reference system. + + + + + + + Description of the coordinate reference system used in the dataset. Set to WGS84 by Init_Loc_Prod and updated accordingly to requested product by RESAMPLE_S2. + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Geolocation over WGS84 of the contour of the product (envelope of the L0 granule elements provided as a (lat, lon) polygon). The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + + Global precise footprint of the cut segment. + + + + + Unitary footprint for each detector, each band of the product + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pixel representation. Values is "POINT" for N0 and N1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Geolocation over WGS84 of the contour of the product. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + + Global precise footprint of the cut segment. + + + + + Unitary footprint for each detector, each band of the product. This is not required for the Level-0 product. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pixel representation. Values is "POINT" for L0 and L1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Unitary footprint for each detector, each band of the product. This is not required for the Level-0 product. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pixel representation. Values is "POINT" for L0 and L1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + + + Number of bands for the whole product. + + + + + + + + + + + Number of bits used to encode each band radiometric counts (before compression). + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + Dimensions for each detector (by band) in the sensor geometry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dimensions for each detector (by band) in the sensor geometry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Number of bands for the whole product. + + + + + + + + + + + Number of bits used to encode each band radiometric counts (before compression). + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + Place name + + + + + Purpose of the product + + + + + Internal Reference + + + + + Commercial reference + + + + + Commercial Item within commercial reference + + + + + Other information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Raster image file name + + + + + + + + + + + + + + + + Spacecraft name + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + Spacecraft name + + + + + Processing level of the product + + + + + + + + This keyword is used to identify which file layout is used to store the actual data. Several schemes can be used : BAND_COMPOSITE : data is stored into a single file, BAND_SEPARATED : raster data is stored into separated files, one for each spectral band, This last is the scheme used for SENTINEL2 + + + + + + + + + + + + + + + + + + Defined for each blocks of archived product + + + + + + + + Spectral info. + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + Spacecraft name + + + + + Processing level of the product + + + + + + + + This keyword is used to identify which file layout is used to store the actual data. Several schemes can be used : BAND_COMPOSITE : data is stored into a single file, BAND_SEPARATED : raster data is stored into separated files, one for each spectral band, This last is the scheme used for SENTINEL2 + + + + + + + + + + + + + + + + + + Defined for each granule, tile or aggregation of granule/tile composing the product + + + + + Boolean flag: to aggregate or not several granules in a single file per band and per detector (concatenation of granules along the detectors). For Level 1C, aggregation is always FALSE + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + + + + Relation between product image channels and on board spectral bands. + + + + + Spectral info. + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + Production information of a level 1 product + + + + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Unitary IPRequest reference + + + + + Product Code from IPRequest + + + + + Name of the producer of the data (configuration parameter). + + + + + URL of the producer. href attribute may be used. (configuration parameter). + + + + + + + + + + + + Date and time of dataset production. + + + + + Information about GPP + + + + + + + + + + + + Provided with information from the IPRequest (if information exist). + + + + + + + Equalization parameters + + + + RADIO_S2 + L1B_PRODUCT + L1C_PRODUCT + + + + + + + List of equalized bands (if any) + + + + + + + + + Offset correction: A 'true' value indicates that offset correction has been done + + + + + Dark signal non uniformity correction: A 'true' value indicates that dark signal non uniformity correction has been done + + + + + + + + + + + + + + + + + A 'true' value indicates that equalization has been processed for, at least, one band + + + + + + Radiometric corrections applied + + + + + SWIR pixels re-arrangement (only for level 1A production): A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + On ground equalization of the image using an optimized polynomed correction (only for level 1B production) + + + + + Optical crosstalk correction (only for level 1B production). A 'true' value indicates that optical crosstalk correction has been processed. + + + + + Electronic crosstalk correction (only for level 1B production). A 'true' value indicates that electronic crosstalk correction has been processed. + + + + + Blind pixel remonving (only for level 1B production). A 'true' value indicates that Blind pixel remonving has been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Restoration and levelling of the product to 12 bits (only for level 1B production) + + + + + Binning for 60m bands (only for level 1B production). A 'true' value indicates that binning for 60m bands has been processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + Radiometric corrections applied + + + + + Data extraction and SWIR pixels re-arrangement (only for level 1A production). A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + On ground equalization of the image using an optimized polynomial correction (only for level 1B production) + + + + + Optical crosstalk correction (only for level 1B production). A 'true' value indicates that optical crosstalk correction has been processed. + + + + + Electronic crosstalk correction (only for level 1B production). A 'true' value indicates that electronic crosstalk correction has been processed. + + + + + Blind pixel remonving (only for level 1B production). A 'true' value indicates that Blind pixel remonving has been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Restoration and levelling of the product to 12 bits (only for level 1B production) + + + + + Binning for 60m bands (only for level 1B production). A 'true' value indicates that binning for 60m bands has been processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + Computed by anaTM + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Spacecraft position (expressed in meters) in the local spacecraft reference frame (EVG Euclidium state) + + + + + MSI state (EIF Euclidium state) + + + + + Focal plane state (EIM Euclidium state) + + + + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + Geometric refining results. Created by GEO_S2. The refined geometric model can be updated by RESAMPLE_S2. + + + + GEO_S2 + + + + + + + Flag to identify if the Refined Geometric Model File is computed or obtained from a existing RGMF (reused) + + + + + Refining results. Should exist only if REFINING_TYPE= REFINING or REFINING_REGISTRATION + + + + + + Refining characteristics. Should exist only if flag = REFINED + + + + + + + Reference images used for geometric model refining processing + + + + + + Reference image name + + + + + + + The reference band is a spectral channel of the reference image. The geometric refining is performed using this channel. + + + + + + + + + + + + + + + + If the refining has not been performed or has not succeeded, the output product shall be flagged “not refined”. + + + + + + + + + + + + + Registration results. Should exist only if REFINING_TYPE= REGISTRATION or REFINING_REGISTRATION + + + + + + Registration characteristics. Should exist only if flag = VNIR_SWIR_REGISTERED + + + + + + + + + + + + If the VNIR/SWIR focal plane registration has not been performed, the output product shall be flagged “VNIR/SWIR not registered”. + + + + + + + + + + + + + Description of the refined corrections. If the refining has been processed by datastrip then, there are the refined corrections for each datastrip. These data are created by Geo_S2. Note : if the refining has been processed and, if a parameter does not need to be refined, then the GIPP PARAMETERS_TO_BE_REFINED does not contain this parameter. + + + + GEO_S2 + + + + + + + + For each datastrip, there is the time zone which is covered by the datastrip + + + + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + GEO_S2 + RESAMPLE_S2 + + + + + + + + + + + Correction to take into account the Sun-Earth distance variation (this correction is computed using the acquisition date) + + + + + Reflectance parameters for each band + + + + + + Equivalent solar irradiance + + + + + + + + + + + + + + + + + + + Reflectance quantification value (in order to convert digit count into reflectance) + + + + + For each band, the parameters (α,β) of the Level 1B noise model corrected from the absolute calibration coefficient, the sun zenith angle and the equivalent sun irradiance + + + + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + Undersamplig step in column + + + + + Undersamplig step in row + + + + + List of values by rows + + + + + + Rows of values stored in a 1D vector. Values are in float format + + + + + + + + + + + + Grids for Zenith Viewing Incidence Angle values. "NaN" value is used when an angle is not computed. + + + + + + Grids for Azimuth Viewing Incidence Angle values. "NaN" value is used when an angle is not computed. + + + + + + Band index for which incidence grids are requested + + + + + ID of Detector intersecting the tile + + + + + + + + Grids for Sun Zenith angles (θs) values + + + + + Grids for Sun Azimuth angles (φs) values + + + + + + + + + + + + + + + + + + + + + + Unique Identifier of the L0/L1A/L1B granule + + + + + + + + + + + + Detector Identifier + + + + + + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip linked to a specific Granule + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + Time stamp of the first line of the Granule + + + + + + + + + + + + + + + + Unique Identifier of the L0/L1A/L1B granule + + + + + + + + + + + + Detector Identifier + + + + + + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip linked to a specific Granule + + + + + + + + + + + + + + + + + + + + + Unique Identifier of the L0/L1A/L1B granule + + + + + + + + + + + + Detector Identifier + + + + + + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip linked to a specific Granule + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + + Time stamp of the first line of the Granule + + + + + + + + + + + + Archiving centre and time + + + + + + + + + + + + Optional field reserved for production chain only (i.e. DPC and/or IPF) and not propagated to User Product + + + + + + + + + + + + DATATION + + + Initial archiving station + + + + + + + + DATATION + + + Processing/archiving date + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Geolocation of the four corners of the granule envelope (Lat, Lon, H coordinates with horizontal CRS as WGS84 and altitude given over EGM96). The polygon must be closed (five points, the first and last vertices are the same). + + + + + + + + + + Pixel representation. Values is "POINT" for L0 and L1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Position of the granule in the Datatake. This position is identified through the position of the scenes first lines in the Datatake and is expressed as number of 10m resolution images lines, + + + + + + + + + + Information provided for each granule, at the center of the granule for a reference band + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (r,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + Granule footprint in the QL display: list of 8 values, 4 (x,y) couples + + + + + + + Granule dimensions in terms of NROW and NCOL + + + + + Granule dimensions for each resolution band (10m, 20m and 60m) + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + + + + + Local cloud coverage indicator: A percentage of cloud coverage is computed for each Level-0 granule (for the area covered by a reference band). + + + + + + + + + + A percentage of degraded MSI data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of source packets + + + + + + + + + + + + + Sentinel-2 Spacecraft name + + + + + + + + + + + MSI operation mode + + + + + Imaging Start Time (Sensing start time of the Datatake) + + + + + Imaging Orbit Number + + + + DATATION + + + + + + + + + + + + + Acquisition orbit direction (descending, ascending). + + + + + + + + + + Imaging Stop Time (Sensing stop time of the Datatake) + + + + + + + + + + Sensing start time of the DataStrip + + + + + Sensing stop time of the DataStrip + + + + + + + + + + + + + + + + + + + + + + + + + + + Software/version/time-stamp information related to one process. Every process should append the list with a new Step element. + + + + + + + + + + + + Software associated to the attribute version + + + + + + + + + + + + + + + + + + + + Software/version/time-stamp information related to one process. Every process should append the list with a new Step element. + + + + + + + + + + + + Software associated to the attribute version + + + + + + + + + + + + + Station receiving the S2 data + + + + DATATION + + + + + + + + + + + + + + Identifier of the downlink orbit + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + Flag to indicate if compress mode is by passed + + + Flag to indicate if compress mode is by passed + + + + + + + + + + + + + + Flag to indicate if equalization is active + + + Flag to indicate if equalization is active + + + + + + + + + + + + + + In-flight Non Uniform Correction table ID defined by 10 bits. This ID is uniform for all transmitted bands. It identifies the correction coefficients table used in-flight + + + + + + + + + + + + On board active Detectors (in case of compression by-passed) + + + On board active Detectors (in case of compression by-passed) + + + + + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + + + + + + + DATATION + RADIO_S2 + + + + + + + + + + + + + + + + + + + + + + + + Compression rate + + + + + + + + + + + + + + + + Integration time + + + + + + + + + + + + + + + + + + + + + + + + + + + + DATATION + RADIO_S2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source packet information + + + + + Datation model + + + + + + + + + + + + + + + + + + + + Source packet information + + + + + + + + + + Source packet information + + + + + Datation model + + + + + + + + + + + + + + + + + + + + + Line period for the acquisition of line of 10 m full-resolution image data + + + + + Datation model : for each couple (band, detector) + + + + + + + + + Line number corresponding to the time stamp + + + Line number corresponding to the time stamp + DATATION + INIT_LOC_PROD + + + + + + + Time-stamp + + + + + + Detector identifier + + + + + + + + + + + + + + + Flag to indicate if MSI is synchronize with GPS time + + + + + Theoretical line period for the acquisition of line of 10 m full-resolution image data + + + + + Created when datation models are estimated through linear regression. + + + + + + + + + Global least square residual + + + + + + + + + + + + + + Least square residual for the GSP Rmoy(GSP) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Information is provided on QL geometry or on the full resolution + + + + INIT_LOC_INV + INIT_LOC_PROD + + + + + + + + + + + + + + + + + + + + + + + + + Pointing angles in satellite reference frame + + + + + + + + + + Pointing angles in focal plane referential + + + Pointing angles in focal plane referential + + + + + + + + + + + + + + + Position of the swath. Indeed, data are computed for each line index and for col = first_col, centre_col, and last_col, defining the begin, the centre and the end of the swath. + + + + + + Track orientation. Also called "CAPE". The range of the angle is into [0,360°[ + + + + + Incidence angles + + + + + + Full resolution pixel sizes along and across track in meters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + + + + + + + Flag to indicate if POD (Precise Orbit Determination) data has been used for product generation + + + + + If applicable, reference to the file containing POD data used + + + + + + + + + + + + + + Description of attitudes data (filtered and raw) + + + + + Thermal data acquired at 1 Hz + + + + + + + + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + Date of first packet before the error + + + + + Date of first packet after the error + + + + + + Process Identifier (PRID) of the lost source packet. + + + + + + + + + + + Packet Category (PCAT) of the lost source packet + + + + + + + + + + + Service of the lost source packet + + + + + + + + + + + Sub-service of the lost source packet + + + + + + + + + + + Structure Identifier (SID) of the lost source packet + + + + + + + + + + + + + Summary of all degradations (lost and degraded packets) for the whole data-take + + + + + + number of lost packets for the whole datatake + + + + + number of degraded packets for the whole datatake + + + + + + Percentage of lost or degraded packets for the datatake + + + + + + + + + + + + + + + + + Reference to the ANC_DATA folder containing the SAD raw data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + + + + + + + Flag to indicate if POD (Precise Orbit Determination) data has been used for product generation + + + + + If applicable, reference to the file containing POD data used + + + + + + + + + + + + + + Description of attitudes data (filtered and raw) + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + Date of first packet before the error + + + + + Date of first packet after the error + + + + + + Process Identifier (PRID) of the lost source packet. + + + + + + + + + + + Packet Category (PCAT) of the lost source packet + + + + + + + + + + + Service of the lost source packet + + + + + + + + + + + Sub-service of the lost source packet + + + + + + + + + + + Structure Identifier (SID) of the lost source packet + + + + + + + + + + + + + Summary of all degradations (lost and degraded packets) for the whole data-take + + + + + + number of lost packets for the whole datatake + + + + + number of degraded packets for the whole datatake + + + + + + Percentage of lost or degraded packets for the datatake + + + + + + + + + + + + + + + + + Reference to the ANC_DATA folder containing the SAD raw data + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + + + + + + Description of attitudes data (filtered and raw) + + + + + Thermal data acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + Structure Identifier (SID) of the lost source packet + + + + + + + + + + + Sub-service of the lost source packet + + + + + + + + + + + Service of the lost source packet + + + + + + + + + + + Packet Category (PCAT) of the lost source packet + + + + + + + + + + + Process Identifier (PRID) of the lost source packet. + + + + + + + + + + + + + + + + Reference to SAD raw + + + + + + + + + Reference to SAD raw + + + + + Radiometric corrections applied to a L1B product + + + + + + + + + + + + + + + + + + + + + + + + + Sampled at 1 Hz + + + + + + Navigation Solution Method + + + + + Time quality index + + + + + Time dilution of precision. This value is set in case of Kalman filtered navigation solution (NSM=ESTIMATED_WITH_KALMAN_FILTER) with fewer than 4 SVs available1 or propagated initial state vector (NSM=PROPAGATED). + + + + + Instrument measurement time representation of the synchronisation time stamp. + + + + + GPS time representation of the synchronisation time stamp. + + + + + UTC time representation of the synchronisation time stamp. + + + + + + + + + + + + If there is a loss of GPS and subsequent switch to the redundant unit no interruption of the image processing is required. Then, it is possible to have list of GPS number. + + + + + + Each GPS is covering an interval time. + + + + + + GPS time value + + + + + GPS time value + + + + + + Refers to GPSR-A or GPSR-B + + + + + + + + + + + + + + + + + + + + GPS ephemeris time stamped data (PVT, sampled at 1Hz) in WGS84 + + + + + + + + + Dated positions (X, Y, Z) from GPS in millimeters + + + + + Position errors (dX, dY, dZ) from GPS in millimeters + + + + + Dated velocities (Vx, Vy, Vz) from GPS in millimeters per seconds + + + + + Velocity errors (dVx, dVy, dVz) from GPS in millimeters per seconds + + + + + GPs Time value + + + + + Navigation Solution Method + + + + + Position quality index + + + + + Quality index (Geometrical dilution of precision) + + + + + Quality index (Position dilution of precision) + + + + + Quality index (Time dilution of precision) + + + + + The number of Space Vehiculess (SVs) the receiver was able to use for the Navigation Solution computation, i.e. SVs for which code and carrier phase measurements and Ephemeris data were +available. + + + + + + + + + + GNSS system time error + + + + + + + + + + + AOCS filtered ephemeris (sampled at 2Hz) in J2000 + + + + + + + + + When 1 : ephemeris is valid + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + 0: solution is valid / 1: solution propagated / 2: cyclic position update available + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + Dated positions (X, Y, Z) from AOCS + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Dated velocities (Vx, Vy, Vz) from AOCS + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + GPS time value + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Orbit angle wrt WGS84 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + Onboard Hybrid attitude (STR+IMU), provided at 10Hz, gives the PRF frame in the J2000. + + + + + + Only one sample for one GPS_TIME. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 (qv1 qv2 qv3 qs) + + + + + When 1 : quaternion is valid + + + + + GPS time value + + + + + List of 11 boolean flags separated by whitespace: STR1 STR2 STR3 GPSR-A GPSR-B VCU-A VCU-B IMU-1 IMU-2 IMU-3 IMU-4 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + AOCS Mode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + AOCS Submode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + Difference Between GSE filter estimate and first in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Difference Between GSE filter estimate and second in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + + + + + + + Onboard Hybrid attitude (STR+IMU), provided at 10Hz, gives the PRF frame in the J2000. + + + + + + Only one sample for one GPS_TIME. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 (qv1 qv2 qv3 qs) + + + + + When 1 : quaternion is valid + + + + + GPS time value + + + + + List of 11 boolean flags separated by whitespace: STR1 STR2 STR3 GPSR-A GPSR-B VCU-A VCU-B IMU-1 IMU-2 IMU-3 IMU-4 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + AOCS Mode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + AOCS Submode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + Difference Between GSE filter estimate and first in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Difference Between GSE filter estimate and second in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Raw attitudes + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Startracker in the J2000 frame. There are 3 startrackers among which one in cold redundancy. + + + + + + + + + STR data at 10 Hz coming from Attitude Data Block + + + + + + + + + Space separated list of 4 quaternion values ordered as (Q0 Q1 Q2 Q3) = (qs qv1 qv2 qv3) (inertial attitude J2000). + + + + + Angular rate (X, Y, Z) in BRF in deg/s + + + + + Time stamp of the center of integration associated with the attitude (with a precision up to 2pow-16 seconds). This field is computed from the centerOfIntegrationTimeStamp value provided in the data block + + + + + Julian date used for precession correction (if enabled); specified in number of days since the epoch date of the built-in star catalog; day 0 corresponds to JD 2451545 + + + + + + + Navigation Solution Method: NO_ATTITUDE : No attitude available, A_PRIORI_ATTITUDE : Attitude based solely on user input, COARSE_ATTITUDE : Predicted from previous measurements, UNCONFIRMED_ATTITUDE : Calculated from current measurements but not yet confirmed, VALID_ATTITUDE : Like unconfirmed Attitude but additionally validated + + + Attitude Quality + + + + + + + + + + + + + + + + Rate quality: NO_RATE : No rate information available, COARSE_RATE : A-priori rate or rate derived from star coordinates, FINE_RATE : Rate derived from attitude, FILTERED_RATE : Rate derived from attitude and filtered + + + Rate Quality + + + + + + + + + + + + + if set to 1, the rate information is valid (i.e. derived from current measurements) + + + + + + + + + + + + + + + + + + STR status and health data block (at 1 Hz). + + + + + + + + + + + STR operating mode: BOOT : Boot mode, STANDBY : Standby mode, PHOTO : Photo mode, AADF : AAD mode with submode ‘full frame’, AADW : AAD mode with submode ‘window’, NAT : NAT mode + + + STR operating mode + + + + + + + + + + + + + + + + + Thermo electric cooler mode:COOLER_OFF : TEC switched off, COOLER_CONTROLLED : TEC operating in controlled mode to reach target temperature, COOLER_MAXIMUM : TEC operating at maximum power + + + Thermo electric cooler mode + + + + + + + + + + + + Target temperature for temperature control + + + + + Detector temperature + + + + + Optics temperature + + + + + Housing temperature + + + + + + + The source selected for external synchronization: NONE : no external synchronization, PRIMARY : external synchronization via primary line, SECONDARY : external synchronization via secondary line, ANY : external synchronization via XOR of both lines + + + The source selected for external synchronization + + + + + + + + + + + + + The number of seconds since the latest received time synchronization; saturates at 63 seconds + + + + + + + + + + + + Number of trackable stars + + + + + + + + + + Number of stars tracked + + + + + + + + + + Number of identified stars + + + + + + + + + + Number of stars used for attitude determination + + + + + + + + + + + + Last result of attitude determination:<br> + - NOT_ENOUGH_STARS : Not enough stars suitable for attitude determination <br> + - SUCCESS : Attitude calculated successfully <br> + - REFINED : Like attitudeSuccess but with additional a-posteriori refinement <br> + - NA : Attitude determination failed <br> + + + + Last result of attitude determination: - NOT_ENOUGH_STARS : Not enough stars suitable for attitude determination - SUCCESS : Attitude calculated successfully - REFINED : Like attitudeSuccess but with additional a-posteriori refinement + + + + + + + + + + + + + + + Last result of star identification error:<br> + - LDLE : Star identification not yet started <br> + - SUCCESS : Star identification succeeded <br> + - RUNNING : Star identification is running <br> + - NOT_ENOUGH_STARS : Not enough tracked stars for star identification <br> + - NA : Star identification failed <br> + + + + Last result of star identification error + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IMU values are angle increment data in radians, around the rotation axis of the IMU. 4 IMU are in hot redundancy. + + + + + + Inertial Measurement Unit + + + + + + One sample for one GPS_TIME. + + + + + + IMU filtered data are angle increments + + + + + IMU raw data are angle increments + + + + + GPS time value + + + + + + + + Organiser temperature + + + + + Sagnac Interferometer Assembly temperature + + + + + Optical Source temperature + + + + + Board temperature + + + + + Temperature reference voltage offset + + + + + Temperature reference voltage + + + + + 0:not acquired, 1:acq failed, 2:acquired + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + Acquisition validity flag + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Time corresponding to the measurements + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + 10PPS time corresponding to the measurements (provided by CSW) + + + + + 0:not acquired, 1:acq failed, 2:acquired + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + Acquisition validity flag + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + 16 Bits (0/1) sequence as defined in the IMU interface + + + + + 1 when all health status validity flag are ok(0)/ 0 otherwise + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FPA temperature information (thermal control and monitoring, relevant to the detector transmission VNIR or SWIR) + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of temperatures for each mirror + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of temperatures for each sensor on telescope + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of temperatures for each splitter + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of temperatures for each diffuser + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + CSM-Diffuser temperature. These data are acquired at 0.1 Hz + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Imu sensor plate temperatures. These data are acquired at 0.1 Hz + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + List of temperatures for each STR sensorplate + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + STR sensor plate temperatures + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + STR base plate temperatures. These data are acquired at 0.1 Hz + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + STR back plate temperatures. These data are acquired at 0.1 Hz + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + + + + + + Quality assessement created by INIT_LOC_INV : Absolute location performance for the datastrip + + + + + + Measurement date + + + + + + + Quality assessement created by INIT_LOC_INV : Planimetric stabililty performance for the datastrip + + + + + + Measurement date + + + + + + + Quality assessement created by INIT_LOC_INV : Ephemeris quality retrieved from GPS Dilution of precision (DOP) + + + + + + Ancillary Quality retrieved from GPS Dilution of precision (DOP) + + + + + + Description of the quicklook + + + + INIT_LOC_INV + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Quicklook image size + + + + + Ground footprint of the QL image. The footprint is a closed (lat, lon) polygon defined by a list of vertices counter-clockwise oriented (for WFS compatibility). The polygon must be closed (the first and last vertices are the same). + + + + + QL display geometric model + + + + + + + + + Line number of the first line + + + + + + + + + + Date of the first line + + + + + Theoretical line period + + + + + + + + Particular viewing directions + + + + + The 12 detectors are assembled and resampled in a monolithic quicklook image. This block gives, in the quicklook geometry, the connection columns number (last column) for each detectors (the first 11 detectors for compressed mode and 4 for uncompressed mode). + + + + + + + + + + + + + + + + + + + + + + Spacecraft to MSI frame transformation + + + + + + + + Pointer to the folder (QI_DATA) containing the preliminary Quicklook files + + + + + + + + + UT1 –-UTC in [-0.9;0.9] seconds + + + + + + + + + + + + GPS_time – UTC = in number of seconds + + + + + GPS_time – TAI + + + + + + + + + + U angle pole motion (in arcsec) + + + + + V angle pole motion (in arcsec) + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identification of the source datastrip acquisition. General information. This is not optional at logical-product level whilst at user-product level it is discharged because replicated. + + + + + + + + + + + + + + + + + + + + + + + + Processing Baseline + + + + + Processing Center name + + + + + Represents the execution date of the first launch of the first IDP-SC of the processing chain at a specific level + + + + + + + + + + + + + + + + + + + + + + + + + + + + Optional field reserved for production chain only (i.e. DPC and/or IPF) and not propagated to User Product + + + + + + + + + Identification of the source datastrip acquisition. General information. This is not optional at logical-product level whilst at user-product level it is discharged because replicated. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identification of the source datastrip acquisition. General information. This is not optional at logical-product level whilst at user-product level it is discharged because replicated. + + + + + + + + + + + + + + + + + + + + + + + Detector identification + + + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + List of granules composing the whole datastrip + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + IERS bulletin. These data are provided for the start acquisition date + + + + DATATION + + + + + + + Reference to GIPP files used by L0 processing chain + + + + + DEM type used by the production process (GLOBE or SRTM) + + + + + + + + + + + + Reference to IERS Bullettin + + + + + Used Reference Band + + + + + + + + + + Unique Tile Identifier + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + TILE Start Time = DataStrip Start Time + + + + + + + + + + + + Centre/Time + + + + + + + + + + + + Optional field reserved for production chain only (i.e. DPC and/or IPF) and not propagated to User Product + + + + + + + + + Unique Tile Identifier + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + TILE Start Time = DataStrip Start Time + + + + + + + + + + + + + + + + Unique Tile Identifier + + + + + + + + + + + + + + Description of a tile in a given representation + + + + + + + Tile dimensions for each resolution band + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + XDIM and YDIM for each resolution band + + + + + + Upper-left coordinate (X value) of the tile + + + + + Upper-left coordinate (Y value) of the tile + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + + + + + Sun angles grid, containing sun zenith and azimut angles + + + + + Mean value containing sun zenith and azimut angle average for all bands and detectors + + + + + Grids for Viewing Incidence Angles. Grids are defined in the same projection as the tile. For each requested band and each detector intersecting the tile, two grids of viewing incidence angles θv and φv shall be computed, where θv is the zenith viewing angle and φv is the azimuth viewing angle + + + + + List of mean values containing viewing incidence zenith and azimut angle average for each band and for all detectors + + + + + + mean value containing viewing incidence zenith and azimut angle average for all detectors + + + + + + + Band index for which mean viewing icidence angle is requested + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to the Mask files contained in the QI_DATA folder + + + + + Reference to PVI contained in the QI_DATA folder + + + + + + + + + + + (From L0) IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Reference to GIPP files used by L1C processing chain + + + + + Reference to ECMWF data + + + + + Reference to used DEM + + + + + Reference to IERS Bulletin + + + + + Reference to GRI data + + + + + + + + Radiometric corrections applied to L1B and L1C + + + + + SWIR pixels re-arrangement. A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + Relation between product image channels and on board spectral bands + + + + + Reflectance quantification value (in order to convert digit count into reflectance) + + + + + + + + Correction to take into account the Sun-Earth distance variation (this correction is computed using the acquisition date) + + + + + Reflectance parameters for each band + + + + + + Equivalent solar irradiance + + + + + + + + + + + + + + + + + + + + + Geometric refining results. Created by GEO_S2. The refined geometric model can be updated by RESAMPLE_S2. (Applicable to L1B and L1C) + + + + GEO_S2 + + + + + + + Flag to identify if the Refined Geometric Model file is computed or obtained from a existing RGM file (reused) + + + + + Refining results. Should exist only if REFINING_TYPE= REFINING or REFINING_REGISTRATION + + + + + + Refining characteristics. Should exist only if flag = REFINED + + + + + + reference band used for geometric refining/registration + + + + + Reference images used for geometric model refining processing + + + + + + Reference image name + + + + + + + The reference band is a spectral channel of the reference image. The geometric refining is performed using this channel. + + + + + + + + + + + + + + + + If the refining has not been performed or has not succeeded, the output product shall be flagged “not refined”. + + + + + + + + + + + + + Registration results. Should exist only if REFINING_TYPE= REGISTRATION or REFINING_REGISTRATION + + + + + + Registration characteristics. Should exist only if flag = VNIR_SWIR_REGISTERED + + + + + + + + + + + + If the VNIR/SWIR focal plane registration has not been performed, the output product shall be flagged “VNIR/SWIR not registered”. + + + + + + + + + + + + + Description of the refined corrections. If the refining has been processed by datastrip then, there are the refined corrections for each datastrip. These data are created by Geo_S2. + + + + GEO_S2 + + + + + + + + For each datastrip, there is the time zone which is covered by the datastrip + + + + + + + + + + + + + + + + List of the tiles composing the whole datastrip. + + + + + + + + + + + Tile Identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + List of the tiles composing the whole datastrip. + + + + + + + + + + + Tile Identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + Present only Level-1B and Level-1C + + + + + + From GIPP data + + + + + + + Quality assessement created by GEO_S2 + + + + + Registration results. Should exist only if registration has been applied + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + + + + Spatiotriangulation results. Should exist only if refining and/or registration have/has been applied. + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Percentage of degraded ancillary data + + + + + + + + General PDGS Product Information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Actual User Product start time defined as the Sensing Time of the first line of the first scene in the product + + + + + Actual User Product stop time defined as the Sensing Time of the first line of the last scene in the product + + + + + User-Product URI. This is the User-Product URI resolved and provided by ngEO + + + + + Processing level of the product + + + + + + + + + + Product type Identifier + + + + + + + + + + + + + + + DAG Generation Time + + + + + Link to the preview image URL + + + + + + + + + + Preview georeferencing information. Coordinate system / datum used for specifying the georeferencing information supplied with the Browse Image. +Examples: EPSG:4326, RAW + + + + + General information about the MSI datatake + + + + + + Logical map of the elements compounding the User Product + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + User-Product URI. This is the User-Product URI resolved and provided by ngEO + + + + + Processing level of the product + + + + + + + + + + Product type Identifier + + + + + + + + + + + + + + + Link to the preview image URL + + + + + + + + + + Preview georeferencing information. Coordinate system / datum used for specifying the georeferencing information supplied with the Browse Image. +Examples: EPSG:4326, RAW + + + + + Datatake info + + + + + + Logical map of the elements compounding the User-Product + + + + + + List of the datastrips belonging to the product + + + + + + + + + + + + + + + + + List of granules/tiles belonging to the each datastrip (list of granule identifiers of all granules composing the product for a given DataStrip) + + + + + + In case of L1C, it refers to Tile + + + + + + Pointers to the granule/tile data files (links to the physical image data) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + Relation between product image channels and on board spectral bands. + + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + Relation between product image channels and on board spectral bands. + + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + Relation between product image channels and on board spectral bands. + + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + Relation between product image channels and on board spectral bands. + + + + + Reflectance quantification value (in order to convert digit count into reflectance) + + + + + + + + Correction to take into account the Sun-Earth distance variation (this correction is computed using the acquisition date) + + + + + Reflectance parameters for each band + + + + + + Equivalent solar irradiance + + + + + + + + + + + + + + + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + Relation between product image channels and on board spectral bands. + + + + + Reflectance quantification value (in order to convert digit count into reflectance) + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + Product Download Options according to ngEO download options + + + + + Area Of Interest selected by the User + + + + + Option to extend the user selected area to the full MSI swath (L0/L1A/L1B) or the full Datatake (L0/L1A/L1B/L1C) + + + + + Option to include the Browse Image (if available) inside the User Product + + + + + Option to include in the User Product the image data corresponding to the Bands selected by the User + + + + + + Spectral Band name + + + + + + + + Option to select the metadata level (Brief/Standard/Expertise) to include in the User Product + + + + + + + + + + + + Option to include the auxiliary data in the User Product + + + + + + + + Level-0: GIPP, IERS. Level-1A: GIPP, IERS. Level-1B: GIPP, IERS. Level-1C: GIPP. ECMWF (raw): no embedding option. DEM: no embedding option GRI: no embedding option + + + + + + + + + + + + + + + Option to select the User Product format (SAFE/DIMAP) + + + + + Option to select Along-Track Aggregated Granules (L1A/L1B) and Consolidated Tiles (L1C) + + + + + + + + + Failed Report Name + + + + + + + + + + + + + + + + + Failed Report Name + + + + + + + + + + + + + + + + + Geolocation over WGS84 of the contour of the product. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). This is computed by the DAG based on the singular granules footprint + + + + + Description of the horizontal coordinates reference system + + + + + + + + + Geolocation over WGS84 of the contour of the product. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). This is computed by the DAG based on the singular granules footprint + + + + + Description of the horizontal coordinates reference system + + + + + + + + + + + + + + Reference to the used GIPPs + + + + + Reference to used DEM + + + + + Reference to IERS Bulletin + + + + + Reference to GRI data + + + + + Reference to ECMWF data + + + + + + + + + Percentage of cloud coverage of the product. + + + + + + + + + + + Computed as sythesis from granule data. + + + + + + + + + + + + + + + + + + + + + + + + + Only failed checks (at granule and datastip level) will be referenced here. In addition general flags summarising the performed inspections (at granule and datastrip level) are added. + + + + + + Synthesis of the OLQC checks. + + + + + Reference to OLQC reports containing FAILED inspections + + + + + + Failed Datastrip Report + + + + + Failed Granule Report + + + + + + + + + + + + + + + Percentage of cloud coverage of the product + + + + + + + + + + + Computed as sythesis from granule data + + + + + + + + + + + + + + + + + + + + + + + + + Only failed checks (OLQC reports at granule and datastip level) will be referenced here. In addition general flags summarising the performed inspections (for each checklist defined at granule and datastrip level) are added + + + + + + Synthesis of the OLQC checks + + + + + Reference to OLQC reports containing FAILED inspections + + + + + + Failed Datastrip Report + + + + + Failed Granule Report + + + + + + + + + + + + + + + Percentage of cloud coverage of the product. + + + + + + + + + + + Computed as sythesis from granule data + + + + + + + + + + + + + + + + + + + + + + + + + Only failed checks (OLQC reports at granule and datastip level) will be referenced here. In addition general flags summarising the performed inspections (for each checklist defined at granule and datastrip level) are added + + + + + + Synthesis of the OLQC checks + + + + + Reference to OLQC reports containing FAILED inspections + + + + + + Failed Datastrip Report + + + + + Failed Granule Report + + + + + + + + + + + + + + + + Pointer to the Mask files contained in the QI_DATA folder + + + + + + + + Radiometric corrections applied to L1A + + + + + SWIR pixels re-arrangement (only for level 1A production but SWIR rearrangement information shall be preserved in L1B and L1C): A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + Relation between product image channels and on board spectral bands + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + Percentage of degraded ancillary data + + + + + + + + + + (From L0) IERS bulletin. These data are provided for the start acquisition date + + + + DATATION + + + + + + + Reference to GIPP files used by L1A processing chain + + + + + DEM type used by the production process (GLOBE or SRTM) + + + + + + + + + + + + Reference to IERS Bullettin + + + + + Used Reference Band + + + + + + + + Radiometric corrections applied to L1B and L1C + + + + + SWIR pixels re-arrangement. A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + On ground equalization of the image using an optimized polynomed correction (only for level 1B production) + + + + + Optical crosstalk correction (only for level 1B production). A 'true' value indicates that optical crosstalk correction has been processed. + + + + + Electronic crosstalk correction (only for level 1B production). A 'true' value indicates that electronic crosstalk correction has been processed. + + + + + Blind pixel remonving (only for level 1B production). A 'true' value indicates that Blind pixel remonving has been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Restoration and levelling of the product to 12 bits (only for level 1B production) + + + + + Binning for 60m bands (only for level 1B production). A 'true' value indicates that binning for 60m bands has been processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + Relation between product image channels and on board spectral bands + + + + + + + Equalization parameters + + + + RADIO_S2 + L1B_PRODUCT + L1C_PRODUCT + + + + + + + List of equalized bands (if any) + + + + + + + + + Offset correction: A 'true' value indicates that offset correction has been done + + + + + Dark signal non uniformity correction: A 'true' value indicates that dark signal non uniformity correction has been done + + + + + + + + + + + + + + + + + A 'true' value indicates that equalization has been processed for, at least, one band + + + + + + + + List of restored bands (if any) + + + List if restored bands (if any) + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + Minimum value + + + + + + + + + + Maximum value + + + + + + + + + + + + + + + + + + + + + + + + + A 'true' value indicates that restoration and levelling of the product to 12 bits has been processed. + + + + + + + + (From L0) IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Reference to GIPP files used by L1B processing chain + + + + + DEM type used by the production process (GLOBE or SRTM) + + + + + + + + + + + + Reference to IERS Bullettin + + + + + Reference to GRI data + + + + + Used Reference Band + + + + + + + + + + + + + + + + + + + Geolocation over WGS84 of the contour of the product. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + Description of the horizontal coordinates reference system + + + + + + + + + + Granules footprint. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + Description of the horizontal coordinates reference system + + + + + + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reference to the AUX DATA items used for the processing + + + + + + Reference to GIPP files used by the processing + + + + + Reference to the used DEM + + + + + Reference to IERS Bullettin + + + + + Reference to GRI data + + + + + Reference to ECMWF data + + + + + + + + + + + + Reference to GIPP files used by the processing + + + + + Reference to used DEM + + + + + Reference to IERS Bullettin IERS bulletin provided for the start acquisition date + + + + + + + + + Reference to GIPP files used by the processing + + + + + Reference to used DEM + + + + + Reference to IERS Bullettin IERS bulletin provided for the start acquisition date + + + + + + + Synthesis of the OLQC checks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Synthesis of the OLQC checks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Synthesis of the OLQC checks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reference to GIPP files used by the processing + + + + + Reference to used DEM + + + + + Reference to IERS Bullettin + + + + + Reference to GRI data + + + + + + + DataStrip Identifier + + + + + + + + + Bounding Box (rectangle) Query Option + + + + + + Coordinates position (2D, Lat/Lon) of the minimal point (bottom right) within the envelope + + + + + Coordinates position (2D, Lat/Lon) of the maximal point (upper left) within the envelope + + + + + + + + Polygon Query Option + + + + + + List of coordinates position (2D, LAT/LON) of the exterior points describing the surface boundary of the polygon. The polygon must be closed (the first and last vertices are the same). + + + + + + + + Radius Query Option + + + + + + Center coordinates position (2D, Lat, Lon) + + + + + Radius expressed in meters + + + + + + + + +
    diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/dimap/dimap2A.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/dimap/dimap2A.xsd new file mode 100755 index 0000000..a1a9368 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/dimap/dimap2A.xsd @@ -0,0 +1,845 @@ + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + General PDGS Product Information on Level 2A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information on Level 2A + + + + + Actual User Product start time defined as the Sensing Time of the first line of the first scene in the product + + + + + Actual User Product stop time defined as the Sensing Time of the first line of the last scene in the product + + + + + User-Product URI. This is the User-Product URI resolved and provided by ngEO + + + + + Processing level of the product + + + + + + + + + + Product type Identifier + + + + + + + + + + + + + + + DAG Generation Time + + + + + Link to the preview image URL + + + + + + + + + + Preview georeferencing information. Coordinate system / datum used for specifying the georeferencing information supplied with the Browse Image. +Examples: EPSG:4326, RAW + + + + + General information about the MSI datatake + + + + + + Logical map of the elements compounding the Level 2A User Product + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) for BOA reflectance image data + + + + + Relation between product image channels and on board spectral bands + + + + + A list of L1C, L2A quantification values for digital counts on pixel level + + + + + + + + Correction to take into account the Sun-Earth distance variation (this correction is computed using the acquisition date) + + + + + Reflectance parameters for each band + + + + + + Equivalent solar irradiance + + + + + + + + + + + + + + + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A list of L2A Scene Classification IDs + + + + + L2A Scene Classification IDs encoding (SC_NODATA, SC_NODATA, SC_SATURATED_DEFECTIVE, SC_DARK_FEATURE_SHADOW, SC_CLOUD_SHADOW, SC_VEGETATION, SC_BARE_SOIL_DESERT, SC_WATER, SC_CLOUD_LOW_PROBA, SC_CLOUD_MEDIUM_PROBA, SC_CLOUD_HIGH_PROBA, SC_THIN_CIRRUS, SC_SNOW_ICE) + + + + + + + Pixel values assigned to L2A Scene Classification Image Data + + + + + + + + + + + + + + + + + + + + + + + + + + Auxiliary Data information L2A on product level + + + + + References to the AUX_DATA items + + + + + + Reference to used GIPPs for L2A processing + + + + + Reference to used DEM for L2A processing + + + + + Reference to used LibRadtran LUTs for L2A processing + + + + + Reference to used Snow Climatology for L2A processing + + + + + + + + + + Quality Indicators information on product level (L2A + L1C Technical assessment info) + + + + + Image content Quality Indicators (percentages of pixel type), inherited from L1 + + + + + + + List of L2A tiles + L1C Geometric and Radiometric info + + + + + List of the tiles composing the whole datastrip. + + + + + + + + + + + Tile Identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + Quality Indicators information on datastrip level (L2A + L1C Geometric and Radiometric QI info) + + + + + + + + + + + + + + + Percentage of degraded ancillary data + + + + + + + + Auxiliary Data information on datastrip level (L2A and L1C reference) + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Used GIPP files for L1C processing + + + + + Reference to ECMWF data + + + + + Reference to used DEM + + + + + Reference to IERS Bulletin + + + + + Reference to GRI data + + + + + + + + General information on L2A Tile + + + + + Unique Tile Identifier + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + Inherited from Level-0 metadata. This is the sensing start time of the Datatake (with precision in seconds) + + + + + + + + + + + + + + + + + + + + + + + Quality Indicators information on L2A Tile and Pixel level + + + + + + + Pointer to the L1C Mask files contained in the QI_DATA folder + + + + + Pointer to the L2A Pixel Level QI files contained in the QI_DATA folder + + + + + Reference to PVI contained in the QI_DATA folder + + + + + + + + Image content Quality Indicators (percentages of pixel type) + + + + + Percentage of No Data (Missing data on projected tiles) pixels + + + + + + + + + + + Percentage of saturated or defective pixels + + + + + + + + + + + Percentage of pixels classified as dark features or shadows + + + + + + + + + + + Percentage of pixels classified as cloud shadow + + + + + + + + + + + Percentage of pixels classified as vegetation + + + + + + + + + + + Percentage of pixels classified as bare soils + + + + + + + + + + + Percentage of pixels classified as water + + + + + + + + + + + Percentage of pixels classified as low probability clouds + + + + + + + + + + + Percentage of pixels classified as medium probability clouds + + + + + + + + + + + Percentage of pixels classified as high probability clouds + + + + + + + + + + + Percentage of pixels classified as thin cirrus clouds + + + + + + + + + + + Percentage of pixels classified as snow or ice + + + + + + + + + + + Declared accuracy of the radiative transfer model. LibRadtran code achieves a relative accuracy of 5% - 10%. (B.Mayer) + + + + + + + + + + + APDS (Atmospherically Precorrected Differential Absorption) method achieves a typical relative accuracy of 5% - 10% except over very dark surfaces. (Sch?ler 1998, Chylel et al. 2003, Richter and Sch?ler 2008) + + + + + + + + + + + Declared accuracy of the Aerosol Optical Thickness + + + + + + + + + + + + + Filenames of L2A QI Masks (Cloud confidence map, Snow/Ice confidence map) + + + + + Filename of the Cloud Confidence raster mask at 60m resolution stored in the QI_DATA folder + + + + + Filename of the Snow/Ice Confidence raster mask at 60m resolution stored in the QI_DATA folder + + + + + + + A list of L1C, L2A quantification values for digital counts on pixel level + + + + + L1C TOA Reflectance quantification value (in order to convert digit count into Top-Of-Atmosphere reflectance, inherited from L1C) + + + + + L2A BOA Reflectance quantification value (in order to convert digit count into Bottom-Of-Atmosphere reflectance) + + + + + Aeorosol Optical Thickness Map quantification value (in order to convert digit count into Aeorosol Opthical Thickness physical units) + + + + + Water Vapor Map quantification value (in order to convert digit count into water vapor physical units) + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/fileNaming/fileNaming.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/fileNaming/fileNaming.xsd new file mode 100644 index 0000000..f7969ca --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/fileNaming/fileNaming.xsd @@ -0,0 +1,200 @@ + + + + + + + + + Filename template and derived types + + + $Revision: 1.1 $ $Date: 2011/06/16 11:10:48 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mission Id + + + + + + + + + UTC time yyyy-mm-ddThh:mm:ss + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/header/EOF_Header.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/header/EOF_Header.xsd new file mode 100644 index 0000000..902018a --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/header/EOF_Header.xsd @@ -0,0 +1,107 @@ + + + + + + + + + + Earth Explorer Header data types + + + $Revision: 1.1 $ $Date: 2011/10/07 08:02:08 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/logical_definitions/logical_definitions.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/logical_definitions/logical_definitions.xsd new file mode 100644 index 0000000..587d94d --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/logical_definitions/logical_definitions.xsd @@ -0,0 +1,9323 @@ + + + + + + + + + + + + + + + + Quality assessement created by INIT_LOC_INV : Absolute location performance for the datastrip + + + + + + Measurement date + + + + + + + + + Flag to indicate if compress mode is by passed + + + Flag to indicate if compress mode is by passed + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + Flag to indicate if equalization is active + + + Flag to indicate if equalization is active + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + In-flight Non Uniform Correction table ID defined by 10 bits. This ID is uniform for all transmitted bands. It identifies the correction coefficients table used in-flight + + + + + + + + + + + + On board active Detectors (in case of compression by-passed) + + + On board active Detectors (in case of compression by-passed) + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + Thermal data acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + Structure Identifier (SID) of the lost source packet + + + + + + + + + + + Sub-service of the lost source packet + + + + + + + + + + + Service of the lost source packet + + + + + + + + + + + Packet Category (PCAT) of the lost source packet + + + + + + + + + + + Process Identifier (PRID) of the lost source packet. + + + + + + + + + + + + + + + + Reference to SAD raw + + + + + + + Ancillary Quality retrieved from GPS Dilution of precision (DOP) + + + + + + + + + + + DATATION + + + The starting point of the circulation data + + + + + + + + + + + + + + + + + + DATATION + + + Processing/archiving date + + + + + + + + + Onboard Hybrid attitude (STR+IMU), provided at 10Hz, gives the PRF frame in the J2000. + + + + + + Only one sample for one GPS_TIME. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 + + + + + + When 1 : quaternion is valid + + + + + Dated angular velocities + + + + + Velocity angular errors + + + + + GPS time value + + + + + List of 11 boolean flags separated by whitespace: STR1 STR2 STR3 GPSR-A GPSR-B VCU-A VCU-B IMU-1 IMU-2 IMU-3 IMU-4 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + AOCS Mode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + AOCS Submode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + Difference Between GSE filter estimate and first in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Difference Between GSE filter estimate and second in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + Description of the coordinate reference system used in the dataset. + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + Description of the horizontal coordinate reference system. + + + + + + + Description of the coordinate reference system used in the dataset. Set to WGS84 by Init_Loc_Prod and updated accordingly to requested product by RESAMPLE_S2. + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + + + + + + Sentinel-2 Spacecraft name + + + + DATATION + + + + + + + + + + + + MSI operation mode + + + + + Imaging Start Time (Sensing start time of the Datatake) + + + + + Imaging Orbit Number + + + + DATATION + + + + + + + + + + + + + Acquisition orbit direction (descending, ascending). + + + + + + + + + + + + + + + + + + + Present only Level-1B and Level-1C + + + + + + + + DataStrip generation information + + + + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + . + + + + + + + + + + + + Failed Report Name + + + + + + + + + + Station receiving the S2 data + + + + DATATION + + + + + + + + + + + + + + + Identifier of the downlink orbit + + + + + + + + + If there is a loss of GPS and subsequent switch to the redundant unit no interruption of the image processing is required. Then, it is possible to have list of GPS number. + + + + + + Each GPS is covering an interval time. + + + + + + GPS time value + + + + + GPS time value + + + + + + Refers to GPSR-A or GPSR-B + + + + + + + + + + + + + + + + + + + + GPS ephemeris time stamped data (PVT, sampled at 1Hz) in WGS84 + + + + + + + + + Dated positions (X, Y, Z) from GPS in millimeters + + + + + Position errors (dX, dY, dZ) from GPS in millimeters + + + + + Dated velocities (Vx, Vy, Vz) from GPS in millimeters per seconds + + + + + Velocity errors (dVx, dVy, dVz) from GPS in millimeters per seconds + + + + + GPs Time value + + + + + Navigation Solution Method + + + + + Position quality index + + + + + Quality index (Geometrical dilution of precision) + + + + + Quality index (Position dilution of precision) + + + + + Quality index (Time dilution of precision) + + + + + The number of Space Vehiculess (SVs) the receiver was able to use for the Navigation Solution computation, i.e. SVs for which code and carrier phase measurements and Ephemeris data were +available. + + + + + + + + + + GNSS system time error + + + + + + + + + + + AOCS filtered ephemeris (sampled at 2Hz) in J2000 + + + + + + + + + When 1 : ephemeris is valid + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + 0: solution is valid / 1: solution propagated / 2: cyclic position update available + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + Dated positions (X, Y, Z) from AOCS + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Dated velocities (Vx, Vy, Vz) from AOCS + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + GPS time value + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Orbit angle wrt WGS84 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + Quality assessement created by INIT_LOC_INV : Ephemeris quality retrieved from GPS Dilution of precision (DOP) + + + + + + Equalization parameters + + + + RADIO_S2 + L1B_PRODUCT + L1C_PRODUCT + + + + + + + List of equalized bands (if any) + + + + + + + + + Offset correction: A 'true' value indicates that offset correction has been done + + + + + Dark signal non uniformity correction: A 'true' value indicates that dark signal non uniformity correction has been done + + + + + + + + + + + + + + + + + A 'true' value indicates that equalization has been processed for, at least, one band + + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + + + Information provided for the beginning and the end of the product. + +Information is provided on QL geometry or on the full resolution + + + + + + + + + + + + + + + + + Pointing angles in satellite reference frame + + + + + Pointing angles in focal plane referential + + + + + + + + Position of the swath. Indeed, data are computed for each line index and for col = first_col and last_col, defining the begin and the end of the swath. + + + + + + Track orientation. Also called "CAPE". The range of the angle is into [0,360°[ + + + + + Incidence angles + + + + + + Full resolution pixel sizes along and across track in meters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unique Identifier of the L0/L1A/L1B granule + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip linked to a specific Granule + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + Sensing start time of the Datatake (with precision in seconds) + + + + + + + + + + + + Archiving centre and time + + + + + + + + + + + + + + + + Unique Identifier of the L0/L1A/L1B granule + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip linked to a specific Granule + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + Sensing start time of the Datatake (with precision in seconds) + + + + + + + + + + Archiving centre and time + + + + + + + + + + + + + + Unique Tile Identifier + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + Inherited from Level-0 metadata. This is the sensing start time of the Datatake (with precision in seconds) + + + + + + + + + + + + + + + + + + + + + + + Geometric refining results. Created by GEO_S2. The refined geometric model can be updated by RESAMPLE_S2. (Applicable to L1B and L1C) + + + + GEO_S2 + + + + + + + Flag to identify if the Refined Geometric Model File is computed or obtained from a existing RGMF (reused) + + + + + Refining results. Should exist only if REFINING_TYPE= REFINING or REFINING_REGISTRATION + + + + + + Refining characteristics. Should exist only if flag = REFINED + + + + + + reference band used for geometric refining/registration + + + + + Reference images used for geometric model refining processing + + + + + + Reference image name + + + + + + + The reference band is a spectral channel of the reference image. The geometric refining is performed using this channel. + + + + + + + + + + + + + + + + If the refining has not been performed or has not succeeded, the output product shall be flagged “not refined”. + + + + + + + + + + + + + Registration results. Should exist only if REFINING_TYPE= REGISTRATION or REFINING_REGISTRATION + + + + + + Registration characteristics. Should exist only if flag = VNIR_SWIR_REGISTERED + + + + + + + + + + + + If the VNIR/SWIR focal plane registration has not been performed, the output product shall be flagged “VNIR/SWIR not registered”. + + + + + + + + + + + + + Description of the refined corrections. If the refining has been processed by datastrip then, there are the refined corrections for each datastrip. These data are created by Geo_S2. + + + + GEO_S2 + + + + + + + + For each datastrip, there is the time zone which is covered by the datastrip + + + + + + + + + + + + + + + + Information is provided on QL geometry or on the full resolution + + + + INIT_LOC_INV + INIT_LOC_PROD + + + + + + + + + + + + + + + + + + + Pointing angles in satellite reference frame + + + + + Pointing angles in focal plane referential + + + Pointing angles in focal plane referential + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + Position of the swath. Indeed, data are computed for each line index and for col = first_col, centre_col, and last_col, defining the begin, the centre and the end of the swath. + + + + + + Track orientation. Also called "CAPE". The range of the angle is into [0,360°[ + + + + + Incidence angles + + + + + + Full resolution pixel sizes along and across track in meters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Quality assessement created by GEO_S2 + + + + + Refining results. Should exist only if refining has been applied + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + + + + Multi-temporal registration performance indicator + + + + + + + Measurement date=production date + + + + + + + + Multi-spectral registration performance + + + + + + Value for 10m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + Value for 20m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + Value for 60m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + + + + + + + + Measurement date=production date + + + + + + + + + + + + + + Registration results. Should exist only if registration has been applied + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + + + + Spatiotriangulation results. Should exist only if refining and/or registration have/has been applied. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Local cloud coverage indicator: A percentage of cloud coverage is computed for each Level-0 granule (for the area covered by a reference band). + + + + + + + + + + A percentage of degraded ancillary data + + + + + A percentage of degraded MSI data + + + + + + + + + Check on the consistency of product size + + + + + + Version of the On-Line Quality Control processor + + + + + + + + Granule dimensions in terms of NROW and NCOL + + + + + Granule dimensions for each resolution band (10m, 20m and 60m) + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Geolocation of the four corners of the granule envelope (Lat, Lon, H coordinates with horizontal CRS as WGS84 and altitude given over EGM96). The polygon must be closed (the first and last vertices are the same). + + + + + + Unitary footprint for one detector, each band of the granule. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pixel representation. Values is "POINT" for L0 and L1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + Check of acceptability performed versus a dedicated thresholds + + + + + Number of inconsistent source packets + + + + + Number of degraded source packets + + + + + Number of missing lines + + + + + Number of degraded SAD source packets + + + + + + + Check of acceptability performed versus a dedicated thresholds + + + + + Number of inconsistent source packets + + + + + Number of degraded source packets + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Position of the granule in the Datatake. This position is identified through the position of the scenes first lines in the Datatake and is expressed as number of 10m resolution images lines, + + + + + + + + + + Information provided for each granule, at the center of the granule for a reference band + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (r,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + + Failed Report Name + + + + + + + + + + + + + + + + UT1 –-UTC in [-0.9;0.9] seconds + + + + + + + + + + + + GPS_time – UTC = in number of seconds + + + + + GPS_time – TAI + + + + + + + + + + U angle pole motion (in arcsec) + + + + + V angle pole motion (in arcsec) + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Geolocation over WGS84 of the contour of the product. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + + Global precise footprint of the cut segment. + + + + + Unitary footprint for each detector, each band of the product. This is not required for the Level-0 product. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pixel representation. Values is "POINT" for L0 and L1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + + + Sun angles grid, containing sun zenith and azimut angles + + + + + Grids for Viewing Incidence Angles. Grids are defined in the same projection as the tile. For each requested band and each detector intersecting the tile, two grids of viewing incidence angles θv and φv shall be computed, where θv is the zenith viewing angle and φv is the azimuth viewing angle + + + + + + + + + + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + RADIO_S2 + + + Quality assessement masks + + + + + File name of the mask files. It is possible that there is a mask file type for each band and each detector. The mask format is GML + + + + + + + Mask type + + + + + Identifier of the band + + + + + Identifier of the detector + + + + + + + + + + Mask is defined into quicklook geometry in the inventory process and is transformed into level1 full resolution geometry in production process. + + + + + + + + + + + + + PDI Granule and Datastrip (L0/L1A/L1B) identification string + + + + - Level-0
    + - Level-1A
    + - Level-1B
    + It is defined as MMM_CCCC_TTTTTTTTTT_
    + = ____
    + For details refers to [PSD]
    +]]>
    +
    +
    +
    + + + +
    + + + PDI L1C Granule and Datastrip identification string + + + + It is defined as MMM_CCCC_TTTTTTTTTT_
    + = ____
    + For details refers to [PSD]
    +]]>
    +
    +
    +
    + + + +
    + + + + + + + + + + + + + + + Software/version/time-stamp information related to one process. Every process should append the list with a new Step element. + + + + + + + + + + + + Software associated to the attribute version + + + + + + + + + + + General PDGS Product Information + + + + + User-Product URI. This is the User-Product URI resolved and provided by ngEO + + + + + Processing level of the product + + + + + + + + + + Product type Identifier + + + + + + + + + + + + + + + DAG Generation Time + + + + + Link to the preview image URL + + + + + + + + + + Preview georeferencing information + + + + + + General information about the MSI datatake + + + + + + Logical map of the elements compounding the User-Product + + + + + + List of the datastrips belonging to the product + + + + + + + + + + + + + + + + List of granules/tiles belonging to the each datastrip (list of granule identifiers of all granules composing the product for a given DataStrip) + + + + + + In case of L1C, it refers to Tile + + + + + + Pointers to the Level-0 granule data files (links to the physical image data) + + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + + + + + Pointers to granule (tile) data files (links to the physical image data) + + + + + + List of the granule data files + + + + + + + + + + + Description of the quicklook + + + + INIT_LOC_INV + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Quicklook image size + + + + + Ground footprint of the QL image. The footprint is a closed (lat, lon) polygon defined by a list of vertices counter-clockwise oriented (for WFS compatibility). The polygon must be closed (the first and last vertices are the same). + + + + + QL display geometric model + + + + + + + + + Line number of the first line + + + + + + + + + + Date of the first line + + + + + Theoretical line period + + + + + + + + Particular viewing directions + + + + + The 12 detectors are assembled and resampled in a monolithic quicklook image. This block gives, in the quicklook geometry, the connection columns number (last column) for each detectors (the first 11 detectors for compressed mode and 4 for uncompressed mode). + + + + + + + + + + + + + + + + + + + + + + Spacecraft to MSI frame transformation + + + + + + + + Pointer to the Quicklook image (optional) contained in QI_DATA folder + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + + + + + + + DATATION + ARCHIVE_PRODUCT + INIT_LOC_PROD + + + Not clear if ANA-TM is OK for PDGS as is, since PDGS needs to keep all ISPs. +Initial Comment:List of relative source packets for each couple (band ; detector). Created by ANA_TM, updated before archiving and by InitLoc Production for Level1 processing. + + + + + + + + + + + + First source packet counter. Updated by Init_Loc_Inv, Archive and Init_Loc_Prod. + + + + + + + + + + + + + + + Position of the first source packet in the on board scene + + + + + + + + + + + Number of source packets. Updated by Init_Loc_Inv, Archive and Init_Loc_Prod + + + + + + + + + + + + + + + + Detector identifier for source frame description + + + + + + + + Band identifier for source frame description + + + + + + + + + + + + + + + + + + List of source packets lost / degraded for each couple (band ; detector) + + + + + + Type of degradation + + + + + Type of error (from AnaTm specifications) + + + + + + + + + + + + + + + + + Date of the first line of the scene which contains the first lost / degraded source packet + + + + + Counter of the first source packet in error. This number is in [0;143] for 10m bands, [0;71] for 20m bands or [0;23] for 60m bands. + + + + + + + + + + + Number of lost or degraded source packet. This number is in [1;144] for 10m bands, [1;72] for 20m bands or [1;24] for 60m bands + + + + + + + + + + + + + + + + + Band identifier + + + + + + + + + + + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of a tile in a given representation + + + + + + + Tile dimensions for each resolution band + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + XDIM and YDIM for each resolution band + + + + + + Upper-left coordinate (X value) of the tile + + + + + Upper-left coordinate (Y value) of the tile + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + + + Radiometric corrections applied to L1A + + + + + SWIR pixels re-arrangement (only for level 1A production but SWIR rearrangement information shall be preserved in L1B and L1C): A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + Radiometric corrections applied to L1B and L1C + + + + + SWIR pixels re-arrangement. A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + On ground equalization of the image using an optimized polynomed correction (only for level 1B production) + + + + + Optical crosstalk correction (only for level 1B production). A 'true' value indicates that optical crosstalk correction has been processed. + + + + + Electronic crosstalk correction (only for level 1B production). A 'true' value indicates that electronic crosstalk correction has been processed. + + + + + Blind pixel remonving (only for level 1B production). A 'true' value indicates that Blind pixel remonving has been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Restoration and levelling of the product to 12 bits (only for level 1B production) + + + + + Binning for 60m bands (only for level 1B production). A 'true' value indicates that binning for 60m bands has been processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + Radiometric corrections applied to L1B and L1C + + + + + SWIR pixels re-arrangement. A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + + + List of restored bands (if any) + + + List if restored bands (if any) + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + Minimum value + + + + + + + + + + Maximum value + + + + + + + + + + + + + + + + + + + + + + + + + A 'true' value indicates that restoration and levelling of the product to 12 bits has been processed. + + + + + + + + Raw attitudes + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Startracker in the J2000 frame. There are 3 startrackers among which one in cold redundancy. + + + + + + + + + STR data at 10 Hz coming from Attitude Data Block + + + + + + + + + Space separated list of 4 quaternion values ordered as (Q0 Q1 Q2 Q3) = (qs qv1 qv2 qv3) (inertial attitude J2000). + + + + + + + + + + Angular rate (X, Y, Z) in BRF in deg/s + + + + + Time stamp of the center of integration associated with the attitude (with a precision up to 2pow-16 seconds). This field is computed from the centerOfIntegrationTimeStamp value provided in the data block + + + + + Julian date used for precession correction (if enabled); specified in number of days since the epoch date of the built-in star catalog; day 0 corresponds to JD 2451545 + + + + + + + Navigation Solution Method: NO_ATTITUDE : No attitude available, A_PRIORI_ATTITUDE : Attitude based solely on user input, COARSE_ATTITUDE : Predicted from previous measurements, UNCONFIRMED_ATTITUDE : Calculated from current measurements but not yet confirmed, VALID_ATTITUDE : Like unconfirmed Attitude but additionally validated + + + Attitude Quality + + + + + + + + + + + + + + + Rate quality: NO_RATE : No rate information available, COARSE_RATE : A-priori rate or rate derived from star coordinates, FINE_RATE : Rate derived from attitude, FILTERED_RATE : Rate derived from attitude and filtered + + + Rate Quality + + + + + + + + + + + + + if set to 1, the rate information is valid (i.e. derived from current measurements) + + + + + + + + + + + + + + + + + + STR status and health data block (at 1 Hz). + + + + + + + + + + + STR operating mode: BOOT : Boot mode, STANDBY : Standby mode, PHOTO : Photo mode, AADF : AAD mode with submode ‘full frame’, AADW : AAD mode with submode ‘window’, NAT : NAT mode + + + STR operating mode + + + + + + + + + + + + + + + + + Thermo electric cooler mode:COOLER_OFF : TEC switched off, COOLER_CONTROLLED : TEC operating in controlled mode to reach target temperature, COOLER_MAXIMUM : TEC operating at maximum power + + + Thermo electric cooler mode + + + + + + + + + + + + Target temperature for temperature control + + + + + Detector temperature + + + + + Optics temperature + + + + + Housing temperature + + + + + + + The source selected for external synchronization: NONE : no external synchronization, PRIMARY : external synchronization via primary line, SECONDARY : external synchronization via secondary line, ANY : external synchronization via XOR of both lines + + + The source selected for external synchronization + + + + + + + + + + + + + The number of seconds since the latest received time synchronization; saturates at 63 seconds + + + + + + + + + + + + Number of trackable stars + + + + + + + + + + Number of stars tracked + + + + + + + + + + Number of identified stars + + + + + + + + + + Number of stars used for attitude determination + + + + + + + + + + + + Last result of attitude determination:<br> + - NOT_ENOUGH_STARS : Not enough stars suitable for attitude determination <br> + - SUCCESS : Attitude calculated successfully <br> + - REFINED : Like attitudeSuccess but with additional a-posteriori refinement <br> + - NA : Attitude determination failed <br> + + + + Last result of attitude determination + + + + + + + + + + + + + + + Last result of star identification error:<br> + - LDLE : Star identification not yet started <br> + - SUCCESS : Star identification succeeded <br> + - RUNNING : Star identification is running <br> + - NOT_ENOUGH_STARS : Not enough tracked stars for star identification <br> + - NA : Star identification failed <br> + + + + Last result of star identification error + + + + + + + + + + + + + + + + + + + + Flag to indicate if STR is synchronize with GPS time + + + + + + + + + + + + + + + + + + + + + + + + IMU values are angle increment data in radians, around the rotation axis of the IMU. 4 IMU are in hot redundancy. + + + + + + Inertial Measurement Unit + + + + + + One sample for one GPS_TIME. + + + + + + IMU filtered data are angle increments + + + + + IMU raw data are angle increments + + + + + GPS time value + + + + + 16 Bits (0/1) sequence as defined in the IMU interface + + + + + + + + Organiser temperature + + + + + Sagnac Interferometer Assembly temperature + + + + + Optical Source temperature + + + + + Board temperature + + + + + Temperature reference voltage offset + + + + + Temperature reference voltage + + + + + + + + 10PPS time corresponding to the measurements (provided by CSW) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Product Download Options according to ngEO download options + + + + + According to ngEO metadatada catalogue. (TBC) + + + + + List of band mapped to ngEO download options + + + + + + Spectral Band name + + + + + + + + List of metadata levels + + + + + + List of metadata levels + + + + + + + + + + + + + + + + + + + + + + Link to used GIPP files + + + + + Link to used IERS Bullettin + + + + + Link to SAD files + + + + + ECMWF for L1C always embedded (no embedding option) + + + + + never downloaded (no embedding option) + + + + + never downloaded (no embedding option) + + + + + + + + + + + + + Selection of preview image of the User Product + + + + + List of metadata level + + + + + + SAFE/DIMAP + + + + + + + + Boolean flag: to aggregate or not several granules in a single file per band and per detector (concatenation of granules along the detectors). For Level-0, aggregation is always FALSE + + + + + + + + + + Source packet information + + + + + + + + + + + + Datation model + + + + + + + + + + + + + + + + + + + + + + + + + + DATATION + RADIO_S2 + + + + + + + + + + + + + + + + + + + + + + + + Compression rate + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + Integration time + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + Sampled at 1 Hz + + + + + + Navigation Solution Method + + + + + Time quality index + + + + + Time dilution of precision. This value is set in case of Kalman filtered navigation solution (NSM=ESTIMATED_WITH_KALMAN_FILTER) with fewer than 4 SVs available1 or propagated initial state vector (NSM=PROPAGATED). + + + + + Instrument measurement time representation of the synchronisation time stamp. + + + + + GPS time representation of the synchronisation time stamp. + + + + + UTC time representation of the synchronisation time stamp. + + + + + + + + + + + + Line period for the acquisition of line of 10 m full-resolution image data + + + + + Datation model : for each couple (band, detector) + + + + + + + + + Line number corresponding to the time stamp + + + Line number corresponding to the time stamp + DATATION + INIT_LOC_PROD + + + + + + + Time-stamp + + + + + + Detector identifier + + + + + + + + + + + + + + + Flag to indicate if MSI is synchronize with GPS time + + + + + Theoretical line period for the acquisition of line of 10 m full-resolution image data + + + + + Created when datation models are estimated through linear regression. + + + + + + + + + Global least square residual + + + + + + + + + + + + + + Least square residual for the GSP Rmoy(GSP) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FPA temperature information (thermal control and monitoring, relevant to the detector transmission VNIR or SWIR) + + + FPA temperature information (thermal control and monitoring, relevant to the detector transmission VNIR or SWIR) + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of temperatures for each mirror + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Splitter temperature (only one value) + + + + + + + + + + + CSM-Diffuser temperature (only one vaue) + + + + + + + + + + + + + Zenith and azimuth angles + + + + + + The range of the angle is into [0,360°[ + + + + + + + Pointing angles + + + + + Along lines + + + + + Along columns + + + + + + + Yaw, pitch, and roll angles + + + + + + + + + + Dataset identification + + + + + String that identifies a Sentinel2 dataset + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + DATATION + + + + + + + MSI operation mode + + + + + + + + + DATATION + + + + + + + + + + DATATION + + + + + + + + + + DATATION + + + Processing/archiving date + + + + + Identifier of the downlink orbit + + + + + Imaging Orbit Number + + + + DATATION + + + + + + + + + + + + + Imaging Start Time + + + + + Acquisition orbit direction (descending, ascending) + + + + + + + + + Flag to indicate if compress mode is by passed + + + Flag to indicate if compress mode is by passed + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Flag to indicate if equalization is active + + + Flag to indicate if equalization is active + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + On board active Detectors (in case of compression by-passed) + + + On board active Detectors (in case of compression by-passed) + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + + + + + Source packet information + + + + + Datation model + + + + + + + + + + + + + + + + + + Onboard Hybrided attitude (STR+IMU), provided at 10Hz, gives the PRF frame in the J2000. + + + + + + Only one sample for one GPS_TIME. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 + + + + + + Dated angular velocities + + + + + Velocity angular errors + + + + + GPS time value + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + Reference to folder containing SAD raw. This reference is empty in case of Level-0 User Product where SAD are available at product level. + + + + + + + + + + + + Created by DATATION, updated by RADIO_S2. + + + + DATATION + RADIO_S2 + + + + + + + + + + + + + + + + + + + + + + + Compression rate + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + Integration time + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + In-flight Non Uniform Correction table ID defined by 10 bits. This ID is uniform for all transmitted bands. It identifies the correction coefficients table used in-flight + + + In-filght Non Uniform Correction table ID defined by 10 bits. This ID is uniform for all transmitted bands. It identifies the correction coefficients table used in-flight + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + The granule footprint in the QL display: list of 4 (l,c) points + + + + + Information provided for each granule, at the center of the granule + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (l,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + The granule footprint in the QL display: list of 4 (l,c) points. Used for computing percentage of cloud coverage and degraded data per granule + + + + + Information provided for each granule, at the center of the granule + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (l,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + Information provided for each granule, given for a reference band, at the center of the granule + + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + RESAMPLE_S2 + + + + + + + + + + + Sun angles grid, containing sun zenith and azimut angles + + + + + List of masks produced for each tile by Resample_S2 and Mask_S2. Each mask is in the target geometry of the tile. Each mask is covering the tile size. The mask format is GML + + + + + + + + + + Mask type + + + + + + + + + + + + This information has to be consolidated from IAS Processing Reports for all tiles in the final Level-1C metadata file. + + + + + + A percentage of degraded ancillary data is provided for each tile + + + + + A percentage of degraded MSI data is provided for each tile + + + + + + + + Grids for Viewing Incidence Angles. Grids are defined in the same projection as the tile. For each requested band and each detector intersecting the tile, two grids of viewing incidence angles θv and φv shall be computed, where θv is the zenith viewing angle and φv is the azimuth viewing angle + + + + + + TILE_IDENTIFIER from GIPP + + + + + + + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + +
  • a space-separated list of 4096 percent values
  • +
  • the first (MIN) and last (MAX) indexes for significant percent values (i.e. > 0.0)
  • +
  • the mean and standard deviation values
  • +]]>
    +
    +
    +
    + + + + percent values (number depending on the STEP) + + + + + histogram step + + + + + first index of significant percent value (i.e. > 0.0) + + + + + last index of significant percent value (i.e. > 0.0) + + + + + Histogram mean value + + + + + Histogram standard deviation + + + +
    + + + Position of the swath : left, center, right + + + + + + + + + + + + + + + + + + + + Pollux zone identifier. + + + + + + + + + + + + + + + Local registration Statistics given for one Pollux zone. Units should be set according to product unit (i.e. meters or degrees) + + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + Global registration Statistics. Units should be set according to product unit (i.e. meters or degrees) + + + + + Local registration Statistics list (given for every Pollux zone). + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the datastrip is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + Quality assessement created by DATATION + + + + + + + + Degraded ancillary data + + + + + + + Frequency + + + + + + + + + + + + + + + + + + + + + + + Quality assessement created by INIT_LOC_INV : Planimetric stabililty performance for the datastrip + + + + + + Measurement date + + + + + + + percentage of cloudy pixels detected + + + + + + Initial archiving station + + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Date updated at the end of inventory process + + + + + Initial archiving station + + + + + + + Description of the coordinate reference system used in the dataset. Set to WGS84 by Init_Loc_Inv and updated accordingly to requested product by RESAMPLE_S2. + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + Description of the horizontal coordinate reference system. + + + + + + + + + Number of bands for the whole product. + + + + + + + + + + + Number of bits used to encode each band radiometric counts (before compression). + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + Dimensions for each detector (by band) in the sensor geometry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Number of bands for the whole product. + + + + + + + + + + + Number of bits used to encode each band radiometric counts (before compression). + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + Place name + + + + + Purpose of the product + + + + + Internal Reference + + + + + Commercial reference + + + + + Commercial Item within commercial reference + + + + + Other information + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to the Image Data + + + + + Raster image file name + + + + + + + + + + + + + + Equalization parameters + + + + RADIO_S2 + L1B_PRODUCT + L1C_PRODUCT + + + + + + + List of equalized bands (if any) + + + + + + + + + Offset correction: A 'true' value indicates that offset correction has been done + + + + + Dark signal non uniformity correction: A 'true' value indicates that dark signal non uniformity correction has been done + + + + + + + + + + + + + + + + + A 'true' value indicates that equalization has been processed for, at least, one band + + + + + + Radiometric corrections applied + + + + + Data extraction and SWIR pixels re-arrangement (only for level 1A production). A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + On ground equalization of the image using an optimized polynomial correction (only for level 1B production) + + + + + Optical crosstalk correction (only for level 1B production). A 'true' value indicates that optical crosstalk correction has been processed. + + + + + Electronic crosstalk correction (only for level 1B production). A 'true' value indicates that electronic crosstalk correction has been processed. + + + + + Blind pixel remonving (only for level 1B production). A 'true' value indicates that Blind pixel remonving has been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Restoration and levelling of the product to 12 bits (only for level 1B production) + + + + + Binning for 60m bands (only for level 1B production). A 'true' value indicates that binning for 60m bands has been processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + Computed by anaTM + + + + + + + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Spacecraft position (expressed in meters) in the local spacecraft reference frame (EVG Euclidium state) + + + + + MSI state (EIF Euclidium state) + + + + + Focal plane state (EIM Euclidium state) + + + + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + GEO_S2 + RESAMPLE_S2 + + + + + + + + + + + Correction to take into account the Sun-Earth distance variation (this correction is computed using the acquisition date) + + + + + Reflectance parameters for each band + + + + + + Equivalent solar irradiance + + + + + + + + + + + + + + + + + + + Reflectance quantification value (in order to convert digit count into reflectance) + + + + + For each band, the parameters (α,β) of the Level 1B noise model corrected from the absolute calibration coefficient, the sun zenith angle and the equivalent sun irradiance + + + + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + Undersamplig step in column + + + + + Undersamplig step in row + + + + + List of values by rows + + + + + + Rows of values stored in a 1D vector. Values are in float format + + + + + + + + + + + + Grids for Zenith Viewing Incidence Angle values. "NaN" value is used when an angle is not computed. + + + + + + Grids for Azimuth Viewing Incidence Angle values. "NaN" value is used when an angle is not computed. + + + + + + Band index for which incidence grids are requested + + + + + ID of Detector intersecting the tile + + + + + + + + Grids for Sun Zenith angles (θs) values + + + + + Grids for Sun Azimuth angles (φs) values + + + + + + + + + Granule identification + + + + + + + + + + + + + + Detector identification + + + + + + + + + + + + + + + + + + + + + + +observation-id: L[pp]_S[SS]_[YYYYMMDDTHHMMSS]_[dd], rec-id: [RRR], where:
    +
      +
    • [pp] : identifies the processing level : “0_”, “1A”, “1B”, “1C” .
    • +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the first line date on the MSI-Scene (ex. 20121001T09575020) in UTC time
    • +
    • [dd] : 2 digits identifying the detector (from 01 to 12)
    • +
    • [RRR] : reception centre : “CGS1”, “CGS2”, “CGS3”, “PAC1”, “PAC2”
    • +
    ]]>
    +
    +
    + Granule identification +
    + +
    + + + Unique identification of a tile + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granule geometry + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + The granule footprint in the QL display: list of 4 (l,c) points + + + + + Information provided for each granule, at the center of the granule + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (l,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + Granule identifier + + + + + + + + Detector identifier + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + List of the granules composing the datastrip + + + + + + + + + Datastrip identifier + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + Present only Level-1B and Level-1C + + + + + + + + + Cloud Pixel percentage computed for the granule + + + + + + + List of source packets lost / degraded for each couple (band ; detector) + + + + + + + + + Cloud Pixel percentage computed for the granule + + + + + + + List of source packets lost / degraded for each couple (band ; detector) + + + + + + + + + Cloud Pixel percentage computed for the granule + + + + + + + List of source packets lost / degraded for each couple (band ; detector) + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + Position of the granule in the origin Datatake + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of source packets lost / degraded for each couple (band ; detector) + + + + + + + + + + + + + + Image Folder + + + + + + This file comprises all the ISP grouped by band and within each band in the observation sequence. + + + + + + + + Folder + + + + + + OLQC XML formatted + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + + + + + + Processing Baseline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + Datastrip Level Decoded Ancillary Data + + + + + + + + + + + + + + + + + + + + + + Datastrip Auxiliary Data + + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Reference to the used GIPP files including DEM identifiers and versions + + + + + DEM type used by the production process (GLOBE or SRTM for example) + + + + + + + + + + + + + + + + + + + Folder + + + + + + One Jpeg File + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + Position of the granule in the origin datastrip + + + + + + + + + + + + + + + + Pointer to the Mask files contained in the QI_DATA folder + + + + + + + + + + + + Image Folder + + + + + + Image data in JPEG2000 format, one file per band. + + + + + + 4 Files + + + + + 6 Files + + + + + 3 Files + + + + + + + + + + + Folder + + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + + + Processing Baseline + + + + + + Processing Baseline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Datastrip Level Decoded Ancillary Data. + + + + + + + + + + + + + + + + + + + + + + + + + + Datastrip Level Auxiliary Data + + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Reference to the GIPP used: DEM, etc. + + + + + DEM type used by the production process (GLOBE or SRTM for example) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Folder + + + + + + One Jpeg File + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + Position of the granule in the origin datastrip. + + + + + + + + + + + + + + + + Pointer to the Mask files contained in the QI_DATA folder + + + + + + + + + + + + Image Folder + + + + + + Image data in JPEG2000 format, one file per band. + + + + + + 4 Files + + + + + 6 Files + + + + + 3 Files + + + + + + + + + + + Folder + + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + + + Processing Baseline + + + + + + Processing Baseline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + Datastrip Level Decoded Ancillary Data + + + + + + + + + + + + + + + + + + + + + Datastrip Level Auxiliary Data + + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Reference to the GIPP used: DEM, etc. + + + + + DEM type used by the production process (GLOBE or SRTM for example) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Folder + + + + + + One Jpeg File + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + Position of the granule in the origin datastrip. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to the Mask files contained in the QI_DATA folder + + + + + + + + + + + + Image Folder + + + + + + Image data in JPEG2000 format, one file per band. + + + + + + 4 Files + + + + + 6 Files + + + + + 3 Files + + + + + + + + + + + Folder + + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + + + Identification of the source datastrip acquisition. General information. + + + + + + + + + + + + Processing Baseline + + + + + + Processing Baseline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of the tiles composing the whole datastrip. + + + + + + + + + + + TILE_IDENTIFIER + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + Datastrip Level Decoded Ancillary Data + + + + + + + + + + + + + + + + + + + + + + Datastrip Level Auxiliary Data + + + + + + IERS bulletin. These data are provided for the start acquisition date + + + + DATATION + + + + + + + Reference to the GIPP used + + + + + + + + + + + + Folder + + + + + + One Jpeg File + + + + + OLQC XML formatted + + + + + + + + + + + PDI identification string (granules, datastrip, SAD) + + + + + + + + + The archive latency (On-line / Off-line) + + + + + + + + + The list of MRFs used by a component. + + + + + + + + The MRF filename + + + + + The MRF Validity start time + + + + + The MRF Validity stop time + + + + + + + + + + The different type of GIPP + + + + + + + + + + + + + GIPP file name: it may be several files (BAND_ID, detectors ...) + + + + +
    diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/spacecraft/spacecraft.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/spacecraft/spacecraft.xsd new file mode 100644 index 0000000..75da09b --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/spacecraft/spacecraft.xsd @@ -0,0 +1,56 @@ + + + + + + + S2*. + + + + + + + + Number of satellites (between 1 and 2) + + + + + + + + + S2 + + + + + + + + A, B + + + + + + + + + S2A-S2B + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/station/StationUnavailability.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/station/StationUnavailability.xsd new file mode 100644 index 0000000..db121a8 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/PDGS/station/StationUnavailability.xsd @@ -0,0 +1,43 @@ + + + + + + Details of unavailability + + + + + Enum type of unavailability : PLANNED or UNPLANNED + + + + + + + + + + + Type for Details of unavailability + + + + + Date/Time of unavailability start + + + + + Date/Time of unavailability end + + + + + Commented Reason for unavailability + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/date_time/date_time.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/date_time/date_time.xsd new file mode 100644 index 0000000..91e29db --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/date_time/date_time.xsd @@ -0,0 +1,275 @@ + + + + + An non UTC date-time value with a precision of one microsecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.ssssss pattern + + + + + + + + + + An non UTC date-time value with a precision of one millisecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.ssssss pattern + + + + + + + + + + seconds by Ascending or Descending Node + + + + + + + + + A TAI date-time value + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss) pattern and excluding + thus a TimeZone definition. + + + + + + + + + + A GPS date-time value = TAI format + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss) pattern and excluding + thus a TimeZone definition. + + + + + + + + + + A GPS date-time value (= TAI format) with a precision of one nanosecond + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss) pattern and excluding + thus a TimeZone definition. + + + + + + + + + + An instrument measurement date-time value = TAI format + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss) pattern and excluding + thus a TimeZone definition. + + + + + + + + + + An UTC date-time value + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss)Z pattern and excluding + thus a TimeZone definition. + + + + + + + + + + An UTC date-time value + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss)Z pattern and excluding + thus a TimeZone definition. + + + + + + + + + + + An UTC date-time value with a precision of one microsecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.ssssssZ pattern + + + + + + + + + + An UTC date-time value with a precision of one millisecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.sssZ pattern + + + + + + + + + + An UTC date-time value with a precision of one second + + + +
      +
    • a fractional seconds definition (value has a precision of one second)
    • +
    • a TimeZone definition
    • +
    ]]>
    +
    +
    +
    + + + +
    + + + An UTC date-time value with a precision of one tenth-of-a-microsecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.sssssssZ pattern + + + + + + + + + + A non UTC (a TAI) date-time value with a precision of one tenth-of-a-microsecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.sssssssZ pattern + + + + + + + + + + Jour julien CNES + + + + + Julian Day + + + + + + + + + + Number of seconds (can be more than the number of seconds in a day). + + + + + + + + + + + + Time data types used in EOF Header + + + $Revision: 1.1 $ $Date: 2011/06/16 11:11:18 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CNES Julian day without seconds + + + + + +
    diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/geographical/geographical.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/geographical/geographical.xsd new file mode 100644 index 0000000..c0da453 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/geographical/geographical.xsd @@ -0,0 +1,160 @@ + + + + + + A Lat/Lon coordinate + + + + + + + + + A polygon defined by n Lat/Lon points + + + + + + + + A -180/+180 degree longitude + + + + Degree + + + + + + + + + + + A -90/+90 degree latitude + + + + Degree + + + + + + + + + + + Altitude (m) + + + + + + List of 2D vertices counter-clockwise oriented (for WFS compatibility). The polygon must be closed (the first and last vertices are the same). + + + + + Point list. The coordinates of the points are entered as pairs of latitude and longitude values, or X and Y, or other + + + + + Point list. The coordinates of the points are entered as pairs of latitude and longitude values, or X and Y, or other + + + + + + + List of 3D vertices counter-clockwise oriented (for WFS compatibility). The polygon must be closed (the first and last vertices are the same). + + + + + Point list. The coordinates of the points are entered as triplets of latitude, longitude and altitude values, or X, Y and Z, or other + + + + + Point list. The coordinates of the points are entered as triplets of latitude, longitude and altitude values, or X, Y and Z, or other + + + + + + Geodetic data types + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/image/image.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/image/image.xsd new file mode 100644 index 0000000..60cbb2c --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/image/image.xsd @@ -0,0 +1,804 @@ + + + + + Spectral band identification + + + + + + + + + + + + + + + Spectral band identification + + + + + + + + + + + + + + + + + + + Spectral band identification + + + + + + + + + + + + + Spacecraft name (Sentinel-2A/B/…) + + + Spacecraft name (Sentinel-2A/B/…) + + + + + + + + + + + Spectral band physical name + + + + + + + + + + + + + + + + + + + + Metadata level Brief/Standard/Expertise + + + + + + + + + + Spectral band index + + + + + + + + + + + + + + + + + + + + Spectral band index with TDI (B3, B4, B11 and B12) + + + + + + + + + + + + + + + List of the resolution of the bands + + + + + + + + + + Focal plane identifier : VNIR or SWIR + + + + + + + + + VNIR spectral band identification + + + + + + + + + Datastrip identification string + + + +GS[SS]_[YYYYMMDDTHHMMSS]_[RRR]_[TTTTT], where :
    +
      +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the datastrip start date (example 20121001T09575020) in UTC time
    • +
    • [RRR] : Processing center, for GPP the value is “GPP”
    • +
    • [TTTTT] : Number of sources packets level 0, B2 band
    • +
    ]]>
    +
    +
    +
    + + + +
    + + + SWIR spectral band identification + + + + + + + + + + + +observation-id: L[pp]_S[SS]_[YYYYMMDDTHHMMSS]_[dd], rec-id: [RRR], where:
    +
      +
    • [pp] : identifies the processing level : “0_”, “1A”, “1B”, “1C” .
    • +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the first line date on the MSI-Scene (ex. 20121001T09575020) in UTC time
    • +
    • [dd] : 2 digits identifying the detector (from 01 to 12)
    • +
    • [RRR] : reception centre : “CGS1”, “CGS2”, “CGS3”, “PAC1”, “PAC2”
    • +
    ]]>
    +
    +
    + Granule identification +
    + +
    + + + Granule identification (L1A and L1B) + + + +GS[SS]_[YYYYMMDDTHHMMSS]_[RRR]_[TTTTT], where :
    +
      +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the datastrip start date (example 20121001T09575020) in UTC time
    • +
    • [RRR] : Processing center, for GPP the value is “GPP”
    • +
    • [TTTTT] : Number of sources packets level 0, B2 band
    • +
    ]]>
    +
    +
    +
    + +
    + + + Detector identification + + + + + + + + + + + + + + + + + + + + Group of Source Packets identification string (without .bin extension) + + + +GS[SS]_[YYYYMMDDTHHMMSS]_[RRR]_[TTTTT], where :
    +
      +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the datastrip start date (example 20121001T09575020) in UTC time
    • +
    • [RRR] : Processing center, for GPP the value is “GPP”
    • +
    • [TTTTT] : Number of sources packets level 0, B2 band
    • +
    ]]>
    +
    +
    +
    + + + +
    + + + Type of degradation of the source packet + + + + + + + + + The size (row and column) of an image + + + + + Number of columns + + + + + + + + + + Number of rows + + + + + + + + + + + + The size (row and column) of each resolution band of an image + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + + GIPP identifier + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JPEG_2000 compression type + + + + + + + + + QL geometry (inventory process) or full resolution geometry (production process) + + + + + + + + + Left or Right side of a detector + + + + + + + + + + + + + + + + + + + + Datatake identification string + + + +GS[SS]_[YYYYMMDDTHHMMSS]_[RRRRRR], where :
    +
      +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the datatake start date (Fourteen digits, date and time separated by the character T)
    • +
    • [RRRRRR] : identifies the sensing Absolute Orbit Number: 000001-999999
    • +
    ]]>
    +
    +
    +
    + + + +
    + + + Pixel managment : true (corrected), false (not detected and not corrected), detection (detected but not corrected) + + + + + + + + + + Type of refining + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flag to identify if the Refined Geometric Model File is computed or obtained from a existing RGMF (reused) + + + + + + +
    diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/misc/misc.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/misc/misc.xsd new file mode 100644 index 0000000..621cf30 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/misc/misc.xsd @@ -0,0 +1,828 @@ + + + + + Ohm unit + + + + + + + + int value expresssed in Ohm ('Ohm' unit attribute) + + + + + + + + + + Email address. + + + + + + + + Adresse Ftp. + + + + + + List of floating point numbers + + + + + + Space separated list of 2 double values + + + + + + + + Space separated list of 3 double values + + + + + + + + Space separated list of 6 double values + + + + + + + + Space separated list of 8 double values + + + + + + + + Space separated list of 13 double values + + + + + + + + An unbounded list of doubles + + + + + + An unbounded list of int values + + + + + + Space separated list of 2 int values + + + + + + + + Space separated list of 8 int values + + + + + + + + + + + + + arcsec unit + + + + + + + + meter unit + + + + + + + + milli meter unit + + + + + + + + milli meter per second unit + + + + + + + + milli radian unit + + + + + + + + radian unit + + + + + + + + + + + + + + + + + + nanosecond unit + + + + + + + + + + + + + degree per second unit + + + + + + + + degree celsius unit + + + + + + + + pixel unit + + + + + + + + + + + + + + + + + + + Space separated list of 3 double values expressed in millimeters ('mm' unit attribute) + + + + + + + + + + Space separated list of 3 double values expressed in millimeters per seconds ('mm/s' unit attribute) + + + + + + + + + + Space separated list of 3 double values expressed in degree per seconds ('mm/s' unit attribute) + + + + + + + + + + + + + + + + + int value expressed in seconds ('s' unit attribute) + + + + + + + + + + int value expressed in meters ('m' unit attribute) + + + + + + + + + + int value expressed in pixels ('pixel' unit attribute) + + + + + + + + + + double value expressed in seconds ('s' unit attribute) + + + + + + + + + + double value expressed in milliseconds ('ms' unit attribute) + + + + + + + + + + double value expressed in seconds ('ns' unit attribute) + + + + + + + + + + double value expressed in degree ('deg' unit attribute) + + + + + + + + + + double value expressed in meters ('m' unit attribute) + + + + + + + + + + double value expressed in milliradians ('m/rad' unit attribute) + + + + + + + + + + + + + + double value expressed in radians ('rad' unit attribute) + + + + + + + + + + double value expressed in degree Celsius unit ('°C' unit attribute) + + + + + + + + + + double value expressed in nm + + + + + + + + + + double value expressed in meters ('arcsec' unit attribute) + + + + + + + + + + a 1 variable polynomial model ( z = P(x)) + + + A 1variable polynome must have (DEGREE+1) coefficients. <br> + The coefficients are written in the list by ascending order of their degree. <br> + For each degree the coefficients are ordered by the greatest degree of the first variable. <br> + Example of degree 3 polynome : <br> + P(x,y) = a + bx + cy + dx2 + exy + fy2 + gx3 + hx2y + ixy2 + jy3 <br> + coefficients list : [a,b,c,d,e,f,g,h,i,j] + + + + + + + + + + + + + + The length of the list must be DEGREE+1, first is constant coefficient + + + + + + + + + + + + + + + + + Describes a position in an array (raw_index, column_index) + + + The position in an array must be coherent with the origin of the array (count element start) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A 3*3 matrix (e.g. a rotation matrix). + + + + + + + + + + A 3*N matrix (double values) + + + + + + + + + + A 6*N matrix (double values) + + + + + + + + + + + + + + + + + + + + + + + First rotation (angles around an axis) + + + + + Second rotation (angles around an axis) + + + + + Third rotation (angles around an axis) + + + + + + + + + First rotation (angles around an axis) + + + + + Second rotation (angles around an axis) + + + + + Third rotation (angles around an axis) + + + + + A scale factor on Z axis (in order to model the focal length deformation) + + + + + The combination order between rotation and scale factor transformations + + + + + + + + + + + + + + + A 1variable polynome must have (DEGREE+1) coefficients. <br> + The coefficients are written in the list by ascending order of their degree. <br> + For each degree the coefficients are ordered by the greatest degree of the first variable. <br> + Example of degree 3 polynome : <br> + P(x,y) = a + bx + cy + dx2 + exy + fy2 + gx3 + hx2y + ixy2 + jy3 <br> + coefficients list : [a,b,c,d,e,f,g,h,i,j] + + + X,Y,Z uncertainties + + + + + + + + + + + + A 1variable polynome must have (DEGREE+1) coefficients. <br> + The coefficients are written in the list by ascending order of their degree. <br> + For each degree the coefficients are ordered by the greatest degree of the first variable. <br> + Example of degree 3 polynome : <br> + P(x,y) = a + bx + cy + dx2 + exy + fy2 + gx3 + hx2y + ixy2 + jy3 <br> + coefficients list : [a,b,c,d,e,f,g,h,i,j] + + + Rotation, translation and homothety transformation uncertainties (X,Y,Z uncertainties) + + + + + + + + + + + + + + + + A 1variable polynome must have (DEGREE+1) coefficients. <br> + The coefficients are written in the list by ascending order of their degree. <br> + For each degree the coefficients are ordered by the greatest degree of the first variable. <br> + Example of degree 3 polynome : <br> + P(x,y) = a + bx + cy + dx2 + exy + fy2 + gx3 + hx2y + ixy2 + jy3 <br> + coefficients list : [a,b,c,d,e,f,g,h,i,j] + + + Rotation, translation and homothety transformation uncertainties (X,Y,Z uncertainties) in lower case + + + + + + + + + + + + + + A relative position (-1, 0 or 1) + + + + + + + + + + An unbounded list of doubles relative position (-1, 0 or 1) + + + + + + Navigation Solution Method + + + + + + + + + + + + + milli volt unit + + + + + + + + double value expressed in milli Volt unit ("mV"' unit attribute) + + + + + + + + + + List of boolean values corresponding in flags values + + + + + + List of 11 boolean values + + + + + + + Basic data types + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + integer value expressed in seconds ('ns' unit attribute) + + + + + + + + + + Space separated list of 3 integer values expressed in millimeters ('mm' unit attribute) + + + + + + + + + + Space separated list of 3 long values + + + + + + + + An unbounded list of long values + + + + + + Space separated list of 3 integer values expressed in millimeters per seconds ('mm/s' unit attribute) + + + + + + + + + + Space separated list of 3 double values expressed in meters ('m' unit attribute) + + + + + + + + + + Space separated list of 3 double values expressed in meters per seconds ('m/s' unit attribute) + + + + + + + + + + meter per second unit + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/orbital/HeaderTypes_Orbit.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/orbital/HeaderTypes_Orbit.xsd new file mode 100644 index 0000000..6f635c7 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/orbital/HeaderTypes_Orbit.xsd @@ -0,0 +1,49 @@ + + + + Orbit Data Types + + + $Revision: 1.2 $ $Date: 2011/07/26 13:12:15 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/orbital/orbital.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/orbital/orbital.xsd new file mode 100644 index 0000000..dbe1103 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/orbital/orbital.xsd @@ -0,0 +1,262 @@ + + + + + + + + + + + Number of pixels + + + + + + + + + + List of Tangent Psi X in the image order (there is one data by pixel) + + + + + List of Tangent Psi Y in the image order (there is one data by pixel) + + + + + + + + + Number of pixels + + + + + + + + + + List of Tangent Psi X in the image order (there is one data by pixel) + + + + + List of Tangent Psi Y in the image order (there is one data by pixel) + + + + + + + orbit (ascending / descending) direction + + + + + + + + + Orbit number + + + + + + Cyclic orbit number + + + + + + + + + orbit type (predicted, restituted) + + + + + + + + Orbit Data Types used in Orbit definitions + + + $Revision: 1.2 $ $Date: 2011/07/26 13:12:15 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/platform/platform.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/platform/platform.xsd new file mode 100644 index 0000000..0c565d8 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/platform/platform.xsd @@ -0,0 +1,41 @@ + + + + + A list of quaternion values. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 + + + + + + + + + + + + + + + A double value between -1 and 1. + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/representation/representation.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/representation/representation.xsd new file mode 100644 index 0000000..9b10e87 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/representation/representation.xsd @@ -0,0 +1,49 @@ + + + + + + EPSG code : it should follow the 'EPSG:xxxx' pattern where xxxx is the unique identification code in the EPSG tables. + + + + + + + + + + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + + + + + + + Horizontal coordinate reference system + + + + + + + Code of horizontal coordinate reference system. It should follow the 'EPSG:xxxx' pattern where xxxx is the unique identification code in the EPSG tables. + + + + + + + Projection Code + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/spatio/spatio.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/spatio/spatio.xsd new file mode 100644 index 0000000..9cccc35 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/spatio/spatio.xsd @@ -0,0 +1,97 @@ + + + + + + + Sigma quality report for spatiotriangulation + + + + + + + + Histogram for X, Y and Z + + + + + Value in meters + + + + + Value in meters + + + + + + + + + + + Histogram in line and column + + + + + Value in pixel + + + + + + + + + + The histogram defines : a space-separated list of percent values, the first (MIN) and last (MAX) indexes for significant percent values (i.e. sup 0.0), the mean and standard deviation values + + + + + + + + + + + + + + + + Percent values (number depending on the STEP) + + + + + Histogram step + + + + + First index of significant percent value (i.e. > 0.0) + + + + + Last index of significant percent value (i.e. > 0.0) + + + + + Histogram mean value + + + + + Histogram standard deviation + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/tile/tile.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/tile/tile.xsd new file mode 100644 index 0000000..7bb1284 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/12/SY/tile/tile.xsd @@ -0,0 +1,246 @@ + + + + + + + + Description of a tile in a given representation + + + + + + EPSG code. It should follow the 'EPSG:xxxx' pattern where xxxx is the unique identification code in the EPSG tables. + + + + + Tile dimensions for each resolution band + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + XDIM and YDIM for each resolution band + + + + + + Upper-left coordinate (X value) of the tile + + + + + Upper-left coordinate (Y value) of the tile + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + + + Description of a tile with its bounding box in a given representation + + + + + + EPSG code. It should follow the 'EPSG:xxxx' pattern where xxxx is the unique identification code in the EPSG tables. + + + + + Measure unit of the upper-left coordinates of the tile. The measure unit corresponds with the final representation. + + + + + + + + + + + Upper-left coordinate (X value) of the tile (in UNIT measure unit) + + + + + Upper-left coordinate (Y value) of the tile (in UNIT measure unit) + + + + + Dimensions for 10, 20 and 60m bands + + + + + + Tile dimensions for each resolution band XDIM and YDIM (in UNIT measure unit) + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + + + + Bounding box coordinates of a tile. This bounding box lists the 4 corner points in lat/lon, clockwise defined, starting from upper left corner. + + + + + + + Unique identification of a tile + + + + + + Description of a tile in a given representation + + + + + + EPSG code. It should follow the 'EPSG:xxxx' pattern where xxxx is the unique identification code in the EPSG tables. + + + + + Tile dimensions for each resolution band + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + XDIM and YDIM for each resolution band + + + + + + Upper-left coordinate (X value) of the tile + + + + + Upper-left coordinate (Y value) of the tile + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/item/item.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/item/item.xsd new file mode 100644 index 0000000..de74b99 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/item/item.xsd @@ -0,0 +1,197 @@ + + + + + + Product Data Item identification + + + + + + + + Product Data Item identification + + + + + + + + + + Product Data Item identification + + + + + + + + + Preview Image identification + + + + + + + + + Product Data Item identification + + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Datatake identification + + + + + + + + Product Data Item identification + + + + + + + + + + Product Data Item identification list: Granule, Tile, DataStrip, GIPP, DEM, GRI, IERS, POD, ECMWF, HKTM, SAD) + + + + + + + + + + + + + + + + + + + + + Product Identifier in the archive (auxiliary, DEM, GIPP,...) + + + + + + a PDI_ID or a Product ID + + + + + + The file type used by the Archive to discriminate Items (PDIs, products, auxiliary) + + + + + + The archive latency (On-line / Off-line) + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/item/item2A.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/item/item2A.xsd new file mode 100755 index 0000000..74d3480 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/item/item2A.xsd @@ -0,0 +1,181 @@ + + + + + + + Product Data Item identification + + + + + + + + Product Data Item identification + + + + + + + + + + + + Product Data Item identification + + + + + + + + + Preview Image identification + + + + + + + + + Product Data Item identification + + + + + + + + + + Product Data Item identification + + + + + + + Product Data Item identification + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Product Data Item identification + + + + + + + + + Datatake identification + + + + + + + + Product Data Item identification + + + + + + + + + + Product Data Item identification list: Granule, Tile, Datastrip, GIPP, DEM, GRI, IERS, POD, ECMWF, HKTM, SAD) + + + + + + + + + + + + + + + + + + + + + Product Identifier in the archive (auxiliary, DEM, GIPP,...) + + + + + + a PDI_ID_2A or a Product ID + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/userProduct/userProduct.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/userProduct/userProduct.xsd new file mode 100644 index 0000000..610550f --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/DataAccess/userProduct/userProduct.xsd @@ -0,0 +1,99 @@ + + + + + + + A PDI physical Url or a PDI consolidated ID + + + + + + A PDI physical Url (https://-dag server url-/download?PdiID=-PDIid-&dsPdiID=-DsPDIid-) + + + + + + + + A Consolidated PDI identifier + + + + + + + + The archive status of the product specified by the PhysicalIdentifier: available / temporaryUnavailable / expected + + + + + + + + + + The request to translate Logical PDI-ids in Physical PDI-ids. + + + + + Request for Logical items translation + + + + + + This field represents the logical identifier (granules only) as received through the ngEO IF 329 + + + + + + + + + Request the translation for Consolidated Tiles + + + + + + The s2 uri originated by ngEO + + + + + + + + The s2 user id + + + + + + The needed info to request an authorization to ngEO + + + + + The S2 user id + + + + + The S2 Product Uri originated by ngEO. + + + + + + Do the ngEO authorization + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/archive/archive.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/archive/archive.xsd new file mode 100644 index 0000000..e469b26 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/archive/archive.xsd @@ -0,0 +1,174 @@ + + + + + + + + + + + + + Product data item identifier + + + + + Parent PDI-id (referenced datastrip id) + + + + + The datatake id (aka GID, group id) + + + + + The FileType of the Item. Cf. [DI-PSD] + + + + + On-line / Off-line + + + + + + S2 Earth Observation Specialization. + + + + + S2 Earth Observation Specialization. +Cf. [NGEO-EICD-S2], opt:EarthObservation + + + + + + + PDIs metadata to set Central Index and Catalogue + + + + + Metadata for Central index purpose + + + + + + + + + https://-dag server url-/ +get? +PdiID=-PDIid- +dsPdiID=-DatastripPDIid- + + + + + A substring of the Pdi-id (acq station stripped), useful to detect redounded or complementary PDIs. + + + + + + Aggregated quality score for the Item. + + + + + + + + + Metadata for cataloguing purpose. Mandatory for PDI at granule level + + + + + + S2 Earth Observation Specialization. + + + + + + + + + + + + + + + Metadata to update PDIs status at the Central Index + + + + + + Type of performed operation (delete, latency update) + + + + + + + + + + + + + + + + + + + + + + + True if the Archive is unavailable + + + + + + + + + + + + Archived and Intoried Item to be Indexed and Catalogued + + + + + + + + + + + + + + + Metadata to notify PDIs status change + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/base/base.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/base/base.xsd new file mode 100644 index 0000000..52f7528 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/base/base.xsd @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + Data interface is independant from any satellite. + + + + + + + + + + + Email address. + + + + + + + + + + + + + + + + + + + + + Address Ftp. + + + + + + Language + + + + + + + + + + Number of satellites + + + + + + Acces path of a data + + + + + + + + + + + + + + + + + + + State : ON/OFF + + + + + + + + + OK / KO + + + + + + + + + To be Defined + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/center/center.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/center/center.xsd new file mode 100644 index 0000000..818336a --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/center/center.xsd @@ -0,0 +1,188 @@ + + + + + + + + Site Centres and Processing Archiving Centre + + + + + + + + + Center used for Acquisition and Processing + + + + + + + + center used only for acquisition + + + + + + + + Center used for Acquisition and Processing + + + + + + + + + + center used only for acquisition + + + + + + + + + + + Acquistion Center coded on 3 characters + + + + + + + + + + + + + + PAC1 (assigned to Spanish PAC) PAC2 (assigned to UK PAC) + + + + + + Processing and archiving Center N�1 (assigned to Spanish PAC) + + + + + + + + Processing and archiving Center N�2 (assigned to UK PAC) + + + + + + + + + + + PDMC + + + + + + + + MPCC + + + + + + + + Reference Platform + + + + + + + + + + + External Center + + + + + + + + + + + + + + + + Archiving Center + + + + + + + + + + + + + + + + + Processing Center + + + + + + + + + + + + + + + + + + + + + + + + + + + Processing Center + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/component/component.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/component/component.xsd new file mode 100644 index 0000000..3d843d1 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/component/component.xsd @@ -0,0 +1,55 @@ + + + + + Component types + + + $Revision: 1.1 $ $Date: 2011/06/16 11:10:48 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/configuration/configuration.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/configuration/configuration.xsd new file mode 100644 index 0000000..1357656 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/configuration/configuration.xsd @@ -0,0 +1,123 @@ + + + + + + + + A Scheduled Time Plan + + + + + How many times within the day (same time interval between two consecutive scheduling action) + + + + + + + The list of MRFs used by a component. + + + + + + + + The MRF filename + + + + + The MRF Validity start time + + + + + The MRF Validity stop time + + + + + + + + + + Identifier of the Host + + + + + + Allowed Transfer Methods: FTP, SFTP, FTPS or FS (for local filesystem) + + + + + + + + + + + User password + + + + + + User Name + + + + + + Temporary filename convention. +PREFIX_DOT : prefixed with “.”. This is the default in case +SUFFIX_LOCK : suffixed with “.lock” +TMP_DIR : use of a temporary directory (valid only for transfer of files and not for products with a directory structure). + + + + + + + + + + + + Repository name (unique identifier) + + + + + Type of transfer protocol to be used: FTP, SFTP, FTPS or FS (for local filesystem) + + + + + The identifier of the host. + + + + + Path where the data will be made available + + + + + Account on data consumer host + + + + + Encrypted Password of Account on data provider host. + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/dimap/dimap.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/dimap/dimap.xsd new file mode 100644 index 0000000..f392d54 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/dimap/dimap.xsd @@ -0,0 +1,12605 @@ + + + + + + + + + + + + + + + + + Pointing angles + + + + + Along lines + + + + + Along columns + + + + + + + Yaw, pitch, and roll angles + + + + + + + + + + Zenith and azimuth angles + + + + + + The range of the angle is into [0,360°[ + + + + + + + Dataset identification + + + + + String that identifies a Sentinel2 dataset + + + + + + + + Metadata Profile + + + + + + Metadata file format + + + + + + + + + + List of process-related data for tracing and debugging purposes. Every process should append the list with a new Step element. + + + + + Reference of GIPP files used by the inventory process. A GIPP type must appear only once in the list. An inventory process should append the list with the reference of every GIPP used (if not present yet in the list) + + + + DATATION + INIT_LOC_INV + CLOUD_INV + ARCHIVE_PRODUCT + + + + + + + + + + + List of process-related data for tracing and debugging purposes. Every process should append the list with a new Step element. + + + + ARCHIVE_PRODUCT + + + + + + + Reference of GIPP files used by the inventory process. A GIPP type must appear only once in the list. An inventory process should append the list with the reference of every GIPP used (if not present yet in the list) + + + + DATATION + INIT_LOC_INV + CLOUD_INV + ARCHIVE_PRODUCT + + + + + + + DEM type used by the inventory process (GLOBE or SRTM for example) + + + + + + + + + + + + + + + + List of process-related data for tracing and debugging purposes. Every process should append the list with a new Step element. + + + + INIT_LOC_PROD + L1A_PRODUCT + RADIO_S2 + GEO_S2 + L1B_PRODUCT + TILING_S2 + L1C_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Reference of GIPP files used by the inventory process. A GIPP type must appear only once in the list. An inventory process should append the list with the reference of every GIPP used (if not present yet in the list) + + + + DATATION + INIT_LOC_INV + CLOUD_INV + ARCHIVE_PRODUCT + + + + + + + DEM type used by the inventory process (GLOBE or SRTM for example) + + + + + + + + + + + + Reference of GIPP files used by the production process. A GIPP type must appear only once in the list. An production process should append the list with the reference of every GIPP used (if not present yet in the list) + + + + DATATION + INIT_LOC_INV + CLOUD_INV + ARCHIVE_PRODUCT + + + + + + + DEM type used by the production process (GLOBE or SRTM for example) + + + + + + + + + + + + + + Metadata file identification + + + + + possible values are : "DATATION", "INIT_LOC_INV", "CLOUD_INV", "ARCHIVE_PRODUCT", "INIT_LOC_PROD", "RADIO_S2", "L1A_PRODUCT", +"GEO_S2", "L1B_PRODUCT", "RESAMPLE_S2", "L1C_PRODUCT" + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + MSI operation mode: Nominal Observation Mode/Extended Observation Mode/Dark Signal Calibration Mode/Absolute Radiometry Calibration Mode/Vicarious Calibration Mode/Raw Measurement Mode/Test Mode + + + + + + + + + + + + + + + + + + + + + + DATATION + + + + + + + + + + DATATION + + + Processing/archiving date + + + + + Identifier of the downlink orbit + + + + + Imaging Orbit Number + + + + DATATION + + + + + + + + + + + + + + + + + DATATION + + + + + + + Imaging Start Time + + + + + Acquisition orbit direction (descending, ascending) + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + + + + + Flag to indicate if compress mode is by passed + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Flag to indicate if equalization is active + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + On board active Detectors (in case of compression by-passed) + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + + + + Flag to indicate if compress mode is by passed + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Flag to indicate if equalization is active + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + On board active Detectors (in case of compression by-passed) + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + + + + List of relative source packets for each couple (band ; detector). Created by ANA_TM, updated before archiving and by InitLoc Production for Level1 processing. + + + + DATATION + ARCHIVE_PRODUCT + INIT_LOC_PROD + + + + + + + + + + + + + + + + + + + + First source packet counter. Updated by Init_Loc_Inv, Archive and Init_Loc_Prod. + + + + + + + + + + Position of the first source packet in the on board scene + + + + + + + + + + + Number of source packets. Updated by Init_Loc_Inv, Archive and Init_Loc_Prod + + + + + + + + + + + Band identifier for source frame description + + + + + + + + + + + Detector identifier for source frame description + + + + + + + + + + + + + + + + + Summary of all degradations (lost and degraded packets) for the whole datastrip + + + + + + Number of lost packets for the whole datastrip + + + + + Number of too degraded packets (i.e. erroneous packets not trustworthy, meaning they will not be used by further processing) for the whole datastrip + + + + + Number of degraded packets (i.e. erroneous packets but trustworthy, meaning they will be used by further processing) for the whole datastrip + + + + + + Percentage of lost or degraded (either too degraded or not) ancillary data packets in the data-strip + + + + + + + + + + + + + + + + + + + + DATATION + ARCHIVE_PRODUCT + INIT_LOC_PROD + + + + + + + + + + + First source packet counter. + + + + + + + + + + Position of the first source packet in the on board scene + + + + + + + + + + + Number of source packets. + + + + + + + + + + + Band identifier for source frame description + + + + + + + + + + + + + + + + + Type of degradation + + + + + This field is optional: when DEGRADATION_TYPE is "LOST", it is not present. +Otherwise, there is one Error_Type_List element by type of error, containing the number of fields with that kind of error. +Possible types of error (from AnaTm specifications in DPM) are: +- out of bounds (type 1) +- internal inconsistency (type 2) +- temporal inconsistency (type 3) +- transfer vs source inconsistency (type 4), should be rare, for very few transfer information in annotation + + + + + + + + + + Type of error (from AnaTm specifications): +- outOfBounds matches error type 1; +- internalInconsistency matches error type 2; +- temporalInconsistency matches error type 3; +- transferVsSourceInconsistency matches error type 4: this error should be rare, for very few transfer information in annotation + + + + + + + + + + + + + + + + + + + + Date of the first line of the scene which contains the first lost / degraded source packet + + + + + Counter of the first source packet in error. This number is in [0;143] for 10m bands, [0;71] for 20m bands or [0;23] for 60m bands. + + + + + + + + + + + Number of lost or degraded source packet. This number is in [1;144] for 10m bands, [1;72] for 20m bands or [1;24] for 60m bands + + + + + + + + + + + + + + + + + Band identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + + + DATATION + ARCHIVE_PRODUCT + INIT_LOC_PROD + + + + + + + + + + + First source packet counter. + + + + + + + + + + + + + + + Position of the first source packet in the on board scene + + + + + + + + + + + Number of source packets. + + + + + + + + + + + + + + + + Band identifier for source frame description + + + + + + + + + + + + + + + + + Type of degradation + + + + + Type of error (from AnaTm specifications): +- type 1 +- type 2 +- type 3 +- type 4 +- type 5 +- type 6 + + + + + + + + + + + + + + + + + + + + + + + + + Date of the first line of the scene which contains the first lost / degraded source packet + + + + + Counter of the first source packet in error. This number is in [0;143] for 10m bands, [0;71] for 20m bands or [0;23] for 60m bands. + + + + + + + + + + + Number of lost or degraded source packet. This number is in [1;144] for 10m bands, [1;72] for 20m bands or [1;24] for 60m bands + + + + + + + + + + + + + + + + + Band identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + + + Type of degradation + + + + + Type of error (from AnaTm specifications): +- type 1 +- type 2 +- type 3 +- type 4 +- type 5 +- type 6 + + + + + + + + + + + + + + + + + + + + + + + + + Date of the first line of the scene which contains the first lost / degraded source packet + + + + + Counter of the first source packet in error. This number is in [0;143] for 10m bands, [0;71] for 20m bands or [0;23] for 60m bands. + + + + + + + + + + + Number of lost or degraded source packet. This number is in [1;144] for 10m bands, [1;72] for 20m bands or [1;24] for 60m bands + + + + + + + + + + + + + + + + + Band identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + Source packet information + + + + + Datation model + + + + + + + + + + + + + + + The Precise orbit determination data (POD) provides information in order to improve the accuracy in the geo location of the data strips that have been inventoried. The POD data are optional. Each point is sampled at 1 Hz. + + + INIT_LOC_PROD + + + + + + + + + + + Spacecraft Position (X, Y, Z) from POD in millimeters + + + + + Spacecraft velocities (Vx, Vy, Vz) from POD in millimeters per seconds + + + + + Date (GPS Time referential frame) + + + + + + + + + A 'true' value indicates that these points must be used instead of GPS points + + + + + + + + + + + + + Onboard Hybrided attitude (STR+IMU), provided at 10Hz, gives the PRF frame in the J2000. + + + + + + Only one sample for one GPS_TIME. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 + + + + + + When 1 : quaternion is valid + + + + + Dated angular velocities + + + + + Velocity angular errors + + + + + GPS time value + + + + + List of 11 boolean flags separated by whitespace: STR1 STR2 STR3 GPSR-A GPSR-B VCU-A VCU-B IMU-1 IMU-2 IMU-3 IMU-4 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + AOCS Mode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + AOCS Submode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + Difference Between GSE filter estimate and first in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Difference Between GSE filter estimate and second in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + These data are acquired at 0.1 Hz + + + + + + List of 11 booleans from MSI-SAD packet + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + These data are acquired at 0.1 Hz + + + + + + List of 11 booleans from MSI-SAD packet + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + These data are acquired at 0.1 Hz + + + + + + List of 11 booleans from MSI-SAD packet + + + + + + + + + + + + + + + + + + + + + + Created by DATATION, updated by RADIO_S2. Coefficient also called Absolute calibration coefficient or Ak (used to perform the transform between Level-1B numerical count to radiances) + + + + DATATION + RADIO_S2 + + + + + + + + + + + + + + + + + + + + + + + Compression rate + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + In case of uncompressed data a configurable default value will be chosen (e.g. -1) + + + + + + + Integration time + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + In-flight Non Uniform Correction table ID defined by 10 bits. This ID is uniform for all transmitted bands. It identifies the correction coefficients table used in-flight. In case of NUC by-passed, the value is set to NONE. + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + The granule footprint in the QL display: list of 4 (l,c) points + + + + + Information provided for each granule, at the center of the granule + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (l,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + The granule footprint in the QL display: list of 4 (l,c) points. Used for computing percentage of cloud coverage and degraded data per granule + + + + + Information provided for each granule, at the center of the granule + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (l,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + Information provided for each granule, given for a reference band, at the center of the granule + + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + RESAMPLE_S2 + + + + + + + + + + + mean value containing sun zenith and azimut angle average for all bands and detectors + + + + + Sun angles grid, containing sun zenith and azimut angles + + + + + List of masks produced for each tile by Resample_S2 and Mask_S2. Each mask is in the target geometry of the tile. Each mask is covering the tile size. The mask format is GML + + + + + + + + + + Mask type + + + + + + + + + + + + This information has to be consolidated from IAS Processing Reports for all tiles in the final Level-1C metadata file. + + + + + + A percentage of degraded ancillary data is provided for each tile + + + + + A percentage of degraded MSI data is provided for each tile + + + + + The percentage of cloudy pixels in the mask (if the file is a cloud mask) + + + + + The percentage of cirrus clouds in the mask (if the file is a cloud mask) + + + + + + + + List of mean values containing viewing incidence zenith and azimut angle average for each band and for all detectors + + + + + + mean value containing viewing incidence zenith and azimut angle average for all detectors + + + + + + + Band index for which mean viewing icidence angle is requested + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Grids for Viewing Incidence Angles. Grids are defined in the same projection as the tile. For each requested band and each detector intersecting the tile, two grids of viewing incidence angles θv and φv shall be computed, where θv is the zenith viewing angle and φv is the azimuth viewing angle + + + + + + TILE_IDENTIFIER from GIPP + + + + + + + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + +
  • a space-separated list of 4096 percent values
  • +
  • the first (MIN) and last (MAX) indexes for significant percent values (i.e. > 0.0)
  • +
  • the mean and standard deviation values
  • +]]>
    +
    +
    +
    + + + + percent values (number depending on the STEP) + + + + + histogram step + + + + + first index of significant percent value (i.e. > 0.0) + + + + + last index of significant percent value (i.e. > 0.0) + + + + + Histogram mean value + + + + + Histogram standard deviation + + + +
    + + + + Position of the swath : left, center, right + + + + + + + + + + + + Information provided for the beginning and the end of the product. + +Information is provided on QL geometry or on the full resolution + + + + INIT_LOC_INV + INIT_LOC_PROD + + + + + + + + + + + + + + + + + + + Pointing angles in satellite reference frame + + + + + Pointing angles in focal plane referential + + + + + + + + Position of the swath. Indeed, data are computed for each line index and for col = first_col and last_col, defining the begin and the end of the swath. + + + + + + Track orientation. Also called "CAPE". The range of the angle is into [0,360°[ + + + + + Incidence angles + + + + + + Full resolution pixel sizes along and across track in meters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pollux zone identifier. + + + + + + + + + + + + + + + Local registration Statistics given for one Pollux zone. Units should be set according to product unit (i.e. meters or degrees) + + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + Global registration Statistics. Units should be set according to product unit (i.e. meters or degrees) + + + + + Local registration Statistics list (given for every Pollux zone). + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + Quality assessement created by DATATION + + + + + + + + Degraded ancillary data + + + + + + + Frequency + + + + + + + + + + + + + + + + + + + + + + + + + + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + RADIO_S2 + + + + + + + File name of the masks. L1A/L1B: mask file types for each band and detector. L1C: mask file types for each band and tile and mask file types band independent. The mask format is GML + + + + + + + Mask type + + + + + + + + + + + + + + + + + Identifier of the band + + + + + Identifier of the detector + + + + + + + + + + Mask is defined into quicklook geometry in the inventory process and is transformed into level1 full resolution geometry in production process. + + + + + + Quality assessement: percentage of cloudy pixels detected in the quicklook image + + + + + + Quality assessement created by GEO_S2 + + + + + Refining results. Should exist only if refining has been applied + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + + + + Multi-temporal registration performance indicator + + + + + + + Measurement date=production date + + + + + + + + Multi-spectral registration performance + + + + + + Value for 10m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + Value for 20m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + Value for 60m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + + + + + + + + Measurement date=production date + + + + + + + + + + + + + + Registration results. Should exist only if registration has been applied + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + + + + Spatiotriangulation results. Should exist only if refining and/or registration have/has been applied. + + + + + + + Initial archiving station + + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Date updated at the end of inventory process + + + + + Initial archiving station + + + + + + + Description of the coordinate reference system used in the dataset. Set to WGS84 by Init_Loc_Inv and updated accordingly to requested product by RESAMPLE_S2. + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + Description of the horizontal coordinate reference system. + + + + + + + Description of the coordinate reference system used in the dataset. Set to WGS84 by Init_Loc_Prod and updated accordingly to requested product by RESAMPLE_S2. + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Geolocation over WGS84 of the contour of the product (envelope of the L0 granule elements provided as a (lat, lon) polygon). The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + + Global precise footprint of the cut segment. + + + + + Unitary footprint for each detector, each band of the product + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pixel representation. Values is "POINT" for N0 and N1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Geolocation over WGS84 of the contour of the product. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + + Global precise footprint of the cut segment. + + + + + Unitary footprint for each detector, each band of the product. This is not required for the Level-0 product. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pixel representation. Values is "POINT" for L0 and L1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Unitary footprint for each detector, each band of the product. This is not required for the Level-0 product. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pixel representation. Values is "POINT" for L0 and L1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + + + Number of bands for the whole product. + + + + + + + + + + + Number of bits used to encode each band radiometric counts (before compression). + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + Dimensions for each detector (by band) in the sensor geometry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dimensions for each detector (by band) in the sensor geometry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Number of bands for the whole product. + + + + + + + + + + + Number of bits used to encode each band radiometric counts (before compression). + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + Place name + + + + + Purpose of the product + + + + + Internal Reference + + + + + Commercial reference + + + + + Commercial Item within commercial reference + + + + + Other information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Raster image file name + + + + + + + + + + + + + + + + Spacecraft name + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + Spacecraft name + + + + + Processing level of the product + + + + + + + + This keyword is used to identify which file layout is used to store the actual data. Several schemes can be used : BAND_COMPOSITE : data is stored into a single file, BAND_SEPARATED : raster data is stored into separated files, one for each spectral band, This last is the scheme used for SENTINEL2 + + + + + + + + + + + + + + + + + + Defined for each blocks of archived product + + + + + + + + Spectral info. + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + Spacecraft name + + + + + Processing level of the product + + + + + + + + This keyword is used to identify which file layout is used to store the actual data. Several schemes can be used : BAND_COMPOSITE : data is stored into a single file, BAND_SEPARATED : raster data is stored into separated files, one for each spectral band, This last is the scheme used for SENTINEL2 + + + + + + + + + + + + + + + + + + Defined for each granule, tile or aggregation of granule/tile composing the product + + + + + Boolean flag: to aggregate or not several granules in a single file per band and per detector (concatenation of granules along the detectors). For Level 1C, aggregation is always FALSE + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + + + + Relation between product image channels and on board spectral bands. + + + + + Spectral info. + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + Production information of a level 1 product + + + + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Unitary IPRequest reference + + + + + Product Code from IPRequest + + + + + Name of the producer of the data (configuration parameter). + + + + + URL of the producer. href attribute may be used. (configuration parameter). + + + + + + + + + + + + Date and time of dataset production. + + + + + Information about GPP + + + + + + + + + + + + Provided with information from the IPRequest (if information exist). + + + + + + + Equalization parameters + + + + RADIO_S2 + L1B_PRODUCT + L1C_PRODUCT + + + + + + + List of equalized bands (if any) + + + + + + + + + Offset correction: A 'true' value indicates that offset correction has been done + + + + + Dark signal non uniformity correction: A 'true' value indicates that dark signal non uniformity correction has been done + + + + + + + + + + + + + + + + + A 'true' value indicates that equalization has been processed for, at least, one band + + + + + + Radiometric corrections applied + + + + + SWIR pixels re-arrangement (only for level 1A production): A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + On ground equalization of the image using an optimized polynomed correction (only for level 1B production) + + + + + Optical crosstalk correction (only for level 1B production). A 'true' value indicates that optical crosstalk correction has been processed. + + + + + Electronic crosstalk correction (only for level 1B production). A 'true' value indicates that electronic crosstalk correction has been processed. + + + + + Blind pixel remonving (only for level 1B production). A 'true' value indicates that Blind pixel remonving has been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Restoration and levelling of the product to 12 bits (only for level 1B production) + + + + + Binning for 60m bands (only for level 1B production). A 'true' value indicates that binning for 60m bands has been processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + Radiometric corrections applied + + + + + Data extraction and SWIR pixels re-arrangement (only for level 1A production). A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + On ground equalization of the image using an optimized polynomial correction (only for level 1B production) + + + + + Optical crosstalk correction (only for level 1B production). A 'true' value indicates that optical crosstalk correction has been processed. + + + + + Electronic crosstalk correction (only for level 1B production). A 'true' value indicates that electronic crosstalk correction has been processed. + + + + + Blind pixel remonving (only for level 1B production). A 'true' value indicates that Blind pixel remonving has been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Restoration and levelling of the product to 12 bits (only for level 1B production) + + + + + Binning for 60m bands (only for level 1B production). A 'true' value indicates that binning for 60m bands has been processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + Computed by anaTM + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Spacecraft position (expressed in meters) in the local spacecraft reference frame (EVG Euclidium state) + + + + + MSI state (EIF Euclidium state) + + + + + Focal plane state (EIM Euclidium state) + + + + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + Geometric refining results. Created by GEO_S2. The refined geometric model can be updated by RESAMPLE_S2. + + + + GEO_S2 + + + + + + + Flag to identify if the Refined Geometric Model File is computed or obtained from a existing RGMF (reused) + + + + + Refining results. Should exist only if REFINING_TYPE= REFINING or REFINING_REGISTRATION + + + + + + Refining characteristics. Should exist only if flag = REFINED + + + + + + + Reference images used for geometric model refining processing + + + + + + Reference image name + + + + + + + The reference band is a spectral channel of the reference image. The geometric refining is performed using this channel. + + + + + + + + + + + + + + + + If the refining has not been performed or has not succeeded, the output product shall be flagged “not refined”. + + + + + + + + + + + + + Registration results. Should exist only if REFINING_TYPE= REGISTRATION or REFINING_REGISTRATION + + + + + + Registration characteristics. Should exist only if flag = VNIR_SWIR_REGISTERED + + + + + + + + + + + + If the VNIR/SWIR focal plane registration has not been performed, the output product shall be flagged “VNIR/SWIR not registered”. + + + + + + + + + + + + + Description of the refined corrections. If the refining has been processed by datastrip then, there are the refined corrections for each datastrip. These data are created by Geo_S2. Note : if the refining has been processed and, if a parameter does not need to be refined, then the GIPP PARAMETERS_TO_BE_REFINED does not contain this parameter. + + + + GEO_S2 + + + + + + + + For each datastrip, there is the time zone which is covered by the datastrip + + + + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + GEO_S2 + RESAMPLE_S2 + + + + + + + + + + + Correction to take into account the Sun-Earth distance variation (this correction is computed using the acquisition date) + + + + + Reflectance parameters for each band + + + + + + Equivalent solar irradiance + + + + + + + + + + + + + + + + + + + Reflectance quantification value (in order to convert digit count into reflectance) + + + + + For each band, the parameters (α,β) of the Level 1B noise model corrected from the absolute calibration coefficient, the sun zenith angle and the equivalent sun irradiance + + + + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + Undersamplig step in column + + + + + Undersamplig step in row + + + + + List of values by rows + + + + + + Rows of values stored in a 1D vector. Values are in float format + + + + + + + + + + + + Grids for Zenith Viewing Incidence Angle values. "NaN" value is used when an angle is not computed. + + + + + + Grids for Azimuth Viewing Incidence Angle values. "NaN" value is used when an angle is not computed. + + + + + + Band index for which incidence grids are requested + + + + + ID of Detector intersecting the tile + + + + + + + + Grids for Sun Zenith angles (θs) values + + + + + Grids for Sun Azimuth angles (φs) values + + + + + + + + + + + + + + + + + + + + + + Unique Identifier of the L0/L1A/L1B granule + + + + + + + + + + + + Detector Identifier + + + + + + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip linked to a specific Granule + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + Time stamp of the first line of the Granule + + + + + + + + + + + + + + + + Unique Identifier of the L0/L1A/L1B granule + + + + + + + + + + + + Detector Identifier + + + + + + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip linked to a specific Granule + + + + + + + + + + + + + + + + + + + + + Unique Identifier of the L0/L1A/L1B granule + + + + + + + + + + + + Detector Identifier + + + + + + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip linked to a specific Granule + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + + Time stamp of the first line of the Granule + + + + + + + + + + + + Archiving centre and time + + + + + + + + + + + + Optional field reserved for production chain only (i.e. DPC and/or IPF) and not propagated to User Product + + + + + + + + + + + + DATATION + + + Initial archiving station + + + + + + + + DATATION + + + Processing/archiving date + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Geolocation of the four corners of the granule envelope (Lat, Lon, H coordinates with horizontal CRS as WGS84 and altitude given over EGM96). The polygon must be closed (five points, the first and last vertices are the same). + + + + + + + + + + Pixel representation. Values is "POINT" for L0 and L1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Position of the granule in the Datatake. This position is identified through the position of the scenes first lines in the Datatake and is expressed as number of 10m resolution images lines, + + + + + + + + + + Information provided for each granule, at the center of the granule for a reference band + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (r,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + Granule footprint in the QL display: list of 8 values, 4 (x,y) couples + + + + + + + Granule dimensions in terms of NROW and NCOL + + + + + Granule dimensions for each resolution band (10m, 20m and 60m) + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + + + + + Local cloud coverage indicator: A percentage of cloud coverage is computed for each Level-0 granule (for the area covered by a reference band). + + + + + + + + + + A percentage of degraded MSI data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of source packets + + + + + + + + + + + + + Sentinel-2 Spacecraft name + + + + + + + + + + + MSI operation mode + + + + + Imaging Start Time (Sensing start time of the Datatake) + + + + + Imaging Orbit Number + + + + DATATION + + + + + + + + + + + + + Acquisition orbit direction (descending, ascending). + + + + + + + + + + Imaging Stop Time (Sensing stop time of the Datatake) + + + + + + + + + + Sensing start time of the DataStrip + + + + + Sensing stop time of the DataStrip + + + + + + + + + + + + + + + + + + + + + + + + + + + Software/version/time-stamp information related to one process. Every process should append the list with a new Step element. + + + + + + + + + + + + Software associated to the attribute version + + + + + + + + + + + + + + + + + + + + Software/version/time-stamp information related to one process. Every process should append the list with a new Step element. + + + + + + + + + + + + Software associated to the attribute version + + + + + + + + + + + + + Station receiving the S2 data + + + + DATATION + + + + + + + + + + + + + + Identifier of the downlink orbit + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + Flag to indicate if compress mode is by passed + + + Flag to indicate if compress mode is by passed + + + + + + + + + + + + + + Flag to indicate if equalization is active + + + Flag to indicate if equalization is active + + + + + + + + + + + + + + In-flight Non Uniform Correction table ID defined by 10 bits. This ID is uniform for all transmitted bands. It identifies the correction coefficients table used in-flight + + + + + + + + + + + + On board active Detectors (in case of compression by-passed) + + + On board active Detectors (in case of compression by-passed) + + + + + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + + + + + + + DATATION + RADIO_S2 + + + + + + + + + + + + + + + + + + + + + + + + Compression rate + + + + + + + + + + + + + + + + Integration time + + + + + + + + + + + + + + + + + + + + + + + + + + + + DATATION + RADIO_S2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source packet information + + + + + Datation model + + + + + + + + + + + + + + + + + + + + Source packet information + + + + + + + + + + Source packet information + + + + + Datation model + + + + + + + + + + + + + + + + + + + + + Line period for the acquisition of line of 10 m full-resolution image data + + + + + Datation model : for each couple (band, detector) + + + + + + + + + Line number corresponding to the time stamp + + + Line number corresponding to the time stamp + DATATION + INIT_LOC_PROD + + + + + + + Time-stamp + + + + + + Detector identifier + + + + + + + + + + + + + + + Flag to indicate if MSI is synchronize with GPS time + + + + + Theoretical line period for the acquisition of line of 10 m full-resolution image data + + + + + Created when datation models are estimated through linear regression. + + + + + + + + + Global least square residual + + + + + + + + + + + + + + Least square residual for the GSP Rmoy(GSP) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Information is provided on QL geometry or on the full resolution + + + + INIT_LOC_INV + INIT_LOC_PROD + + + + + + + + + + + + + + + + + + + + + + + + + Pointing angles in satellite reference frame + + + + + + + + + + Pointing angles in focal plane referential + + + Pointing angles in focal plane referential + + + + + + + + + + + + + + + Position of the swath. Indeed, data are computed for each line index and for col = first_col, centre_col, and last_col, defining the begin, the centre and the end of the swath. + + + + + + Track orientation. Also called "CAPE". The range of the angle is into [0,360°[ + + + + + Incidence angles + + + + + + Full resolution pixel sizes along and across track in meters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + + + + + + + Flag to indicate if POD (Precise Orbit Determination) data has been used for product generation + + + + + If applicable, reference to the file containing POD data used + + + + + + + + + + + + + + Description of attitudes data (filtered and raw) + + + + + Thermal data acquired at 1 Hz + + + + + + + + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + Date of first packet before the error + + + + + Date of first packet after the error + + + + + + Process Identifier (PRID) of the lost source packet. + + + + + + + + + + + Packet Category (PCAT) of the lost source packet + + + + + + + + + + + Service of the lost source packet + + + + + + + + + + + Sub-service of the lost source packet + + + + + + + + + + + Structure Identifier (SID) of the lost source packet + + + + + + + + + + + + + Summary of all degradations (lost and degraded packets) for the whole data-take + + + + + + number of lost packets for the whole datatake + + + + + number of degraded packets for the whole datatake + + + + + + Percentage of lost or degraded packets for the datatake + + + + + + + + + + + + + + + + + Reference to the ANC_DATA folder containing the SAD raw data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + + + + + + + Flag to indicate if POD (Precise Orbit Determination) data has been used for product generation + + + + + If applicable, reference to the file containing POD data used + + + + + + + + + + + + + + Description of attitudes data (filtered and raw) + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + Date of first packet before the error + + + + + Date of first packet after the error + + + + + + Process Identifier (PRID) of the lost source packet. + + + + + + + + + + + Packet Category (PCAT) of the lost source packet + + + + + + + + + + + Service of the lost source packet + + + + + + + + + + + Sub-service of the lost source packet + + + + + + + + + + + Structure Identifier (SID) of the lost source packet + + + + + + + + + + + + + Summary of all degradations (lost and degraded packets) for the whole data-take + + + + + + number of lost packets for the whole datatake + + + + + number of degraded packets for the whole datatake + + + + + + Percentage of lost or degraded packets for the datatake + + + + + + + + + + + + + + + + + Reference to the ANC_DATA folder containing the SAD raw data + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + + + + + + Description of attitudes data (filtered and raw) + + + + + Thermal data acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + Structure Identifier (SID) of the lost source packet + + + + + + + + + + + Sub-service of the lost source packet + + + + + + + + + + + Service of the lost source packet + + + + + + + + + + + Packet Category (PCAT) of the lost source packet + + + + + + + + + + + Process Identifier (PRID) of the lost source packet. + + + + + + + + + + + + + + + + Reference to SAD raw + + + + + + + + + Reference to SAD raw + + + + + Radiometric corrections applied to a L1B product + + + + + + + + + + + + + + + + + + + + + + + + + Sampled at 1 Hz + + + + + + Navigation Solution Method + + + + + Time quality index + + + + + Time dilution of precision. This value is set in case of Kalman filtered navigation solution (NSM=ESTIMATED_WITH_KALMAN_FILTER) with fewer than 4 SVs available1 or propagated initial state vector (NSM=PROPAGATED). + + + + + Instrument measurement time representation of the synchronisation time stamp. + + + + + GPS time representation of the synchronisation time stamp. + + + + + UTC time representation of the synchronisation time stamp. + + + + + + + + + + + + If there is a loss of GPS and subsequent switch to the redundant unit no interruption of the image processing is required. Then, it is possible to have list of GPS number. + + + + + + Each GPS is covering an interval time. + + + + + + GPS time value + + + + + GPS time value + + + + + + Refers to GPSR-A or GPSR-B + + + + + + + + + + + + + + + + + + + + GPS ephemeris time stamped data (PVT, sampled at 1Hz) in WGS84 + + + + + + + + + Dated positions (X, Y, Z) from GPS in millimeters + + + + + Position errors (dX, dY, dZ) from GPS in millimeters + + + + + Dated velocities (Vx, Vy, Vz) from GPS in millimeters per seconds + + + + + Velocity errors (dVx, dVy, dVz) from GPS in millimeters per seconds + + + + + GPs Time value + + + + + Navigation Solution Method + + + + + Position quality index + + + + + Quality index (Geometrical dilution of precision) + + + + + Quality index (Position dilution of precision) + + + + + Quality index (Time dilution of precision) + + + + + The number of Space Vehiculess (SVs) the receiver was able to use for the Navigation Solution computation, i.e. SVs for which code and carrier phase measurements and Ephemeris data were +available. + + + + + + + + + + GNSS system time error + + + + + + + + + + + AOCS filtered ephemeris (sampled at 2Hz) in J2000 + + + + + + + + + When 1 : ephemeris is valid + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + 0: solution is valid / 1: solution propagated / 2: cyclic position update available + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + Dated positions (X, Y, Z) from AOCS + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Dated velocities (Vx, Vy, Vz) from AOCS + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + GPS time value + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Orbit angle wrt WGS84 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + Onboard Hybrid attitude (STR+IMU), provided at 10Hz, gives the PRF frame in the J2000. + + + + + + Only one sample for one GPS_TIME. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 (qv1 qv2 qv3 qs) + + + + + When 1 : quaternion is valid + + + + + GPS time value + + + + + List of 11 boolean flags separated by whitespace: STR1 STR2 STR3 GPSR-A GPSR-B VCU-A VCU-B IMU-1 IMU-2 IMU-3 IMU-4 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + AOCS Mode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + AOCS Submode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + Difference Between GSE filter estimate and first in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Difference Between GSE filter estimate and second in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + + + + + + + Onboard Hybrid attitude (STR+IMU), provided at 10Hz, gives the PRF frame in the J2000. + + + + + + Only one sample for one GPS_TIME. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 (qv1 qv2 qv3 qs) + + + + + When 1 : quaternion is valid + + + + + GPS time value + + + + + List of 11 boolean flags separated by whitespace: STR1 STR2 STR3 GPSR-A GPSR-B VCU-A VCU-B IMU-1 IMU-2 IMU-3 IMU-4 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + AOCS Mode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + AOCS Submode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + Difference Between GSE filter estimate and first in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Difference Between GSE filter estimate and second in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Raw attitudes + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Startracker in the J2000 frame. There are 3 startrackers among which one in cold redundancy. + + + + + + + + + STR data at 10 Hz coming from Attitude Data Block + + + + + + + + + Space separated list of 4 quaternion values ordered as (Q0 Q1 Q2 Q3) = (qs qv1 qv2 qv3) (inertial attitude J2000). + + + + + Angular rate (X, Y, Z) in BRF in deg/s + + + + + Time stamp of the center of integration associated with the attitude (with a precision up to 2pow-16 seconds). This field is computed from the centerOfIntegrationTimeStamp value provided in the data block + + + + + Julian date used for precession correction (if enabled); specified in number of days since the epoch date of the built-in star catalog; day 0 corresponds to JD 2451545 + + + + + + + Navigation Solution Method: NO_ATTITUDE : No attitude available, A_PRIORI_ATTITUDE : Attitude based solely on user input, COARSE_ATTITUDE : Predicted from previous measurements, UNCONFIRMED_ATTITUDE : Calculated from current measurements but not yet confirmed, VALID_ATTITUDE : Like unconfirmed Attitude but additionally validated + + + Attitude Quality + + + + + + + + + + + + + + + + Rate quality: NO_RATE : No rate information available, COARSE_RATE : A-priori rate or rate derived from star coordinates, FINE_RATE : Rate derived from attitude, FILTERED_RATE : Rate derived from attitude and filtered + + + Rate Quality + + + + + + + + + + + + + if set to 1, the rate information is valid (i.e. derived from current measurements) + + + + + + + + + + + + + + + + + + STR status and health data block (at 1 Hz). + + + + + + + + + + + STR operating mode: BOOT : Boot mode, STANDBY : Standby mode, PHOTO : Photo mode, AADF : AAD mode with submode ‘full frame’, AADW : AAD mode with submode ‘window’, NAT : NAT mode + + + STR operating mode + + + + + + + + + + + + + + + + + Thermo electric cooler mode:COOLER_OFF : TEC switched off, COOLER_CONTROLLED : TEC operating in controlled mode to reach target temperature, COOLER_MAXIMUM : TEC operating at maximum power + + + Thermo electric cooler mode + + + + + + + + + + + + Target temperature for temperature control + + + + + Detector temperature + + + + + Optics temperature + + + + + Housing temperature + + + + + + + The source selected for external synchronization: NONE : no external synchronization, PRIMARY : external synchronization via primary line, SECONDARY : external synchronization via secondary line, ANY : external synchronization via XOR of both lines + + + The source selected for external synchronization + + + + + + + + + + + + + The number of seconds since the latest received time synchronization; saturates at 63 seconds + + + + + + + + + + + + Number of trackable stars + + + + + + + + + + Number of stars tracked + + + + + + + + + + Number of identified stars + + + + + + + + + + Number of stars used for attitude determination + + + + + + + + + + + + Last result of attitude determination:<br> + - NOT_ENOUGH_STARS : Not enough stars suitable for attitude determination <br> + - SUCCESS : Attitude calculated successfully <br> + - REFINED : Like attitudeSuccess but with additional a-posteriori refinement <br> + - NA : Attitude determination failed <br> + + + + Last result of attitude determination: - NOT_ENOUGH_STARS : Not enough stars suitable for attitude determination - SUCCESS : Attitude calculated successfully - REFINED : Like attitudeSuccess but with additional a-posteriori refinement + + + + + + + + + + + + + + + Last result of star identification error:<br> + - LDLE : Star identification not yet started <br> + - SUCCESS : Star identification succeeded <br> + - RUNNING : Star identification is running <br> + - NOT_ENOUGH_STARS : Not enough tracked stars for star identification <br> + - NA : Star identification failed <br> + + + + Last result of star identification error + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IMU values are angle increment data in radians, around the rotation axis of the IMU. 4 IMU are in hot redundancy. + + + + + + Inertial Measurement Unit + + + + + + One sample for one GPS_TIME. + + + + + + IMU filtered data are angle increments + + + + + IMU raw data are angle increments + + + + + GPS time value + + + + + + + + Organiser temperature + + + + + Sagnac Interferometer Assembly temperature + + + + + Optical Source temperature + + + + + Board temperature + + + + + Temperature reference voltage offset + + + + + Temperature reference voltage + + + + + 0:not acquired, 1:acq failed, 2:acquired + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + Acquisition validity flag + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Time corresponding to the measurements + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + 10PPS time corresponding to the measurements (provided by CSW) + + + + + 0:not acquired, 1:acq failed, 2:acquired + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + Acquisition validity flag + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + 16 Bits (0/1) sequence as defined in the IMU interface + + + + + 1 when all health status validity flag are ok(0)/ 0 otherwise + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FPA temperature information (thermal control and monitoring, relevant to the detector transmission VNIR or SWIR) + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of temperatures for each mirror + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of temperatures for each sensor on telescope + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of temperatures for each splitter + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of temperatures for each diffuser + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + CSM-Diffuser temperature. These data are acquired at 0.1 Hz + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Imu sensor plate temperatures. These data are acquired at 0.1 Hz + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + List of temperatures for each STR sensorplate + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + STR sensor plate temperatures + + + + + + These data are acquired at 0.1 Hz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + STR base plate temperatures. These data are acquired at 0.1 Hz + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + STR back plate temperatures. These data are acquired at 0.1 Hz + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + + + + + + Quality assessement created by INIT_LOC_INV : Absolute location performance for the datastrip + + + + + + Measurement date + + + + + + + Quality assessement created by INIT_LOC_INV : Planimetric stabililty performance for the datastrip + + + + + + Measurement date + + + + + + + Quality assessement created by INIT_LOC_INV : Ephemeris quality retrieved from GPS Dilution of precision (DOP) + + + + + + Ancillary Quality retrieved from GPS Dilution of precision (DOP) + + + + + + Description of the quicklook + + + + INIT_LOC_INV + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Quicklook image size + + + + + Ground footprint of the QL image. The footprint is a closed (lat, lon) polygon defined by a list of vertices counter-clockwise oriented (for WFS compatibility). The polygon must be closed (the first and last vertices are the same). + + + + + QL display geometric model + + + + + + + + + Line number of the first line + + + + + + + + + + Date of the first line + + + + + Theoretical line period + + + + + + + + Particular viewing directions + + + + + The 12 detectors are assembled and resampled in a monolithic quicklook image. This block gives, in the quicklook geometry, the connection columns number (last column) for each detectors (the first 11 detectors for compressed mode and 4 for uncompressed mode). + + + + + + + + + + + + + + + + + + + + + + Spacecraft to MSI frame transformation + + + + + + + + Pointer to the folder (QI_DATA) containing the preliminary Quicklook files + + + + + + + + + UT1 –-UTC in [-0.9;0.9] seconds + + + + + + + + + + + + GPS_time – UTC = in number of seconds + + + + + GPS_time – TAI + + + + + + + + + + U angle pole motion (in arcsec) + + + + + V angle pole motion (in arcsec) + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identification of the source datastrip acquisition. General information. This is not optional at logical-product level whilst at user-product level it is discharged because replicated. + + + + + + + + + + + + + + + + + + + + + + + + Processing Baseline + + + + + Processing Center name + + + + + Represents the execution date of the first launch of the first IDP-SC of the processing chain at a specific level + + + + + + + + + + + + + + + + + + + + + + + + + + + + Optional field reserved for production chain only (i.e. DPC and/or IPF) and not propagated to User Product + + + + + + + + + Identification of the source datastrip acquisition. General information. This is not optional at logical-product level whilst at user-product level it is discharged because replicated. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identification of the source datastrip acquisition. General information. This is not optional at logical-product level whilst at user-product level it is discharged because replicated. + + + + + + + + + + + + + + + + + + + + + + + Detector identification + + + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + List of granules composing the whole datastrip + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + IERS bulletin. These data are provided for the start acquisition date + + + + DATATION + + + + + + + Reference to GIPP files used by L0 processing chain + + + + + DEM type used by the production process (GLOBE or SRTM) + + + + + + + + + + + + Reference to IERS Bullettin + + + + + Used Reference Band + + + + + + + + + + Unique Tile Identifier + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + TILE Start Time = DataStrip Start Time + + + + + + + + + + + + Centre/Time + + + + + + + + + + + + Optional field reserved for production chain only (i.e. DPC and/or IPF) and not propagated to User Product + + + + + + + + + Unique Tile Identifier + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + TILE Start Time = DataStrip Start Time + + + + + + + + + + + + + + + + Unique Tile Identifier + + + + + + + + + + + + + + Description of a tile in a given representation + + + + + + + Tile dimensions for each resolution band + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + XDIM and YDIM for each resolution band + + + + + + Upper-left coordinate (X value) of the tile + + + + + Upper-left coordinate (Y value) of the tile + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + + + + + Sun angles grid, containing sun zenith and azimut angles + + + + + Mean value containing sun zenith and azimut angle average for all bands and detectors + + + + + Grids for Viewing Incidence Angles. Grids are defined in the same projection as the tile. For each requested band and each detector intersecting the tile, two grids of viewing incidence angles θv and φv shall be computed, where θv is the zenith viewing angle and φv is the azimuth viewing angle + + + + + List of mean values containing viewing incidence zenith and azimut angle average for each band and for all detectors + + + + + + mean value containing viewing incidence zenith and azimut angle average for all detectors + + + + + + + Band index for which mean viewing icidence angle is requested + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to the Mask files contained in the QI_DATA folder + + + + + Reference to PVI contained in the QI_DATA folder + + + + + + + + + + + (From L0) IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Reference to GIPP files used by L1C processing chain + + + + + Reference to ECMWF data + + + + + Reference to used DEM + + + + + Reference to IERS Bulletin + + + + + Reference to GRI data + + + + + + + + Radiometric corrections applied to L1B and L1C + + + + + SWIR pixels re-arrangement. A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + Relation between product image channels and on board spectral bands + + + + + Reflectance quantification value (in order to convert digit count into reflectance) + + + + + + + + Correction to take into account the Sun-Earth distance variation (this correction is computed using the acquisition date) + + + + + Reflectance parameters for each band + + + + + + Equivalent solar irradiance + + + + + + + + + + + + + + + + + + + + + Geometric refining results. Created by GEO_S2. The refined geometric model can be updated by RESAMPLE_S2. (Applicable to L1B and L1C) + + + + GEO_S2 + + + + + + + Flag to identify if the Refined Geometric Model file is computed or obtained from a existing RGM file (reused) + + + + + Refining results. Should exist only if REFINING_TYPE= REFINING or REFINING_REGISTRATION + + + + + + Refining characteristics. Should exist only if flag = REFINED + + + + + + reference band used for geometric refining/registration + + + + + Reference images used for geometric model refining processing + + + + + + Reference image name + + + + + + + The reference band is a spectral channel of the reference image. The geometric refining is performed using this channel. + + + + + + + + + + + + + + + + If the refining has not been performed or has not succeeded, the output product shall be flagged “not refined”. + + + + + + + + + + + + + Registration results. Should exist only if REFINING_TYPE= REGISTRATION or REFINING_REGISTRATION + + + + + + Registration characteristics. Should exist only if flag = VNIR_SWIR_REGISTERED + + + + + + + + + + + + If the VNIR/SWIR focal plane registration has not been performed, the output product shall be flagged “VNIR/SWIR not registered”. + + + + + + + + + + + + + Description of the refined corrections. If the refining has been processed by datastrip then, there are the refined corrections for each datastrip. These data are created by Geo_S2. + + + + GEO_S2 + + + + + + + + For each datastrip, there is the time zone which is covered by the datastrip + + + + + + + + + + + + + + + + List of the tiles composing the whole datastrip. + + + + + + + + + + + Tile Identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + List of the tiles composing the whole datastrip. + + + + + + + + + + + Tile Identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + Present only Level-1B and Level-1C + + + + + From GIPP data + + + + + + + Quality assessement created by GEO_S2 + + + + + Refining results. Should exist only if refining has been applied + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + + + + Multi-temporal registration performance indicator + + + + + + + Measurement date=production date + + + + + + + + Multi-spectral registration performance + + + + + + Value for 10m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + Value for 20m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + Value for 60m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + + + + + + + + Measurement date=production date + + + + + + + + + + + + + + Registration results. Should exist only if registration has been applied + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + + + + Spatiotriangulation results. Should exist only if refining and/or registration have/has been applied. + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Percentage of degraded ancillary data + + + + + + + + General PDGS Product Information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Actual User Product start time defined as the Sensing Time of the first line of the first scene in the product + + + + + Actual User Product stop time defined as the Sensing Time of the first line of the last scene in the product + + + + + User-Product URI. This is the User-Product URI resolved and provided by ngEO + + + + + Processing level of the product + + + + + + + + + + Product type Identifier + + + + + + + + + + + + + + + DAG Generation Time + + + + + Link to the preview image URL + + + + + + + + + + Preview georeferencing information. Coordinate system / datum used for specifying the georeferencing information supplied with the Browse Image. +Examples: EPSG:4326, RAW + + + + + General information about the MSI datatake + + + + + + Logical map of the elements compounding the User Product + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + User-Product URI. This is the User-Product URI resolved and provided by ngEO + + + + + Processing level of the product + + + + + + + + + + Product type Identifier + + + + + + + + + + + + + + + Link to the preview image URL + + + + + + + + + + Preview georeferencing information. Coordinate system / datum used for specifying the georeferencing information supplied with the Browse Image. +Examples: EPSG:4326, RAW + + + + + Datatake info + + + + + + Logical map of the elements compounding the User-Product + + + + + + List of the datastrips belonging to the product + + + + + + + + + + + + + + + + + List of granules/tiles belonging to the each datastrip (list of granule identifiers of all granules composing the product for a given DataStrip) + + + + + + In case of L1C, it refers to Tile + + + + + + Pointers to the granule/tile data files (links to the physical image data) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + Relation between product image channels and on board spectral bands. + + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + Relation between product image channels and on board spectral bands. + + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + Relation between product image channels and on board spectral bands. + + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + Relation between product image channels and on board spectral bands. + + + + + Reflectance quantification value (in order to convert digit count into reflectance) + + + + + + + + Correction to take into account the Sun-Earth distance variation (this correction is computed using the acquisition date) + + + + + Reflectance parameters for each band + + + + + + Equivalent solar irradiance + + + + + + + + + + + + + + + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) + + + + + Relation between product image channels and on board spectral bands. + + + + + Reflectance quantification value (in order to convert digit count into reflectance) + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + Product Download Options according to ngEO download options + + + + + Area Of Interest selected by the User + + + + + Option to extend the user selected area to the full MSI swath (L0/L1A/L1B) or the full Datatake (L0/L1A/L1B/L1C) + + + + + Option to include the Browse Image (if available) inside the User Product + + + + + Option to include in the User Product the image data corresponding to the Bands selected by the User + + + + + + Spectral Band name + + + + + + + + Option to select the metadata level (Brief/Standard/Expertise) to include in the User Product + + + + + + + + + + + + Option to include the auxiliary data in the User Product + + + + + + + + Level-0: GIPP, IERS. Level-1A: GIPP, IERS. Level-1B: GIPP, IERS. Level-1C: GIPP. ECMWF (raw): no embedding option. DEM: no embedding option GRI: no embedding option + + + + + + + + + + + + + + + Option to select the User Product format (SAFE/DIMAP) + + + + + Option to select Along-Track Aggregated Granules (L1A/L1B) and Consolidated Tiles (L1C) + + + + + + + + + Failed Report Name + + + + + + + + + + + + + + + + + Failed Report Name + + + + + + + + + + + + + + + + + Geolocation over WGS84 of the contour of the product. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). This is computed by the DAG based on the singular granules footprint + + + + + Description of the horizontal coordinates reference system + + + + + + + + + Geolocation over WGS84 of the contour of the product. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). This is computed by the DAG based on the singular granules footprint + + + + + Description of the horizontal coordinates reference system + + + + + + + + + + + + + + Reference to the used GIPPs + + + + + Reference to used DEM + + + + + Reference to IERS Bulletin + + + + + Reference to GRI data + + + + + Reference to ECMWF data + + + + + + + + + Percentage of cloud coverage of the product. + + + + + + + + + + + Computed as sythesis from granule data. + + + + + + + + + + + + + + + + + + + + + + + + + Only failed checks (at granule and datastip level) will be referenced here. In addition general flags summarising the performed inspections (at granule and datastrip level) are added. + + + + + + Synthesis of the OLQC checks. + + + + + Reference to OLQC reports containing FAILED inspections + + + + + + Failed Datastrip Report + + + + + Failed Granule Report + + + + + + + + + + + + + + + Percentage of cloud coverage of the product + + + + + + + + + + + Computed as sythesis from granule data + + + + + + + + + + + + + + + + + + + + + + + + + Only failed checks (OLQC reports at granule and datastip level) will be referenced here. In addition general flags summarising the performed inspections (for each checklist defined at granule and datastrip level) are added + + + + + + Synthesis of the OLQC checks + + + + + Reference to OLQC reports containing FAILED inspections + + + + + + Failed Datastrip Report + + + + + Failed Granule Report + + + + + + + + + + + + + + + Percentage of cloud coverage of the product. + + + + + + + + + + + Computed as sythesis from granule data + + + + + + + + + + + + + + + + + + + + + + + + + Only failed checks (OLQC reports at granule and datastip level) will be referenced here. In addition general flags summarising the performed inspections (for each checklist defined at granule and datastrip level) are added + + + + + + Synthesis of the OLQC checks + + + + + Reference to OLQC reports containing FAILED inspections + + + + + + Failed Datastrip Report + + + + + Failed Granule Report + + + + + + + + + + + + + + + + Pointer to the Mask files contained in the QI_DATA folder + + + + + + + + Radiometric corrections applied to L1A + + + + + SWIR pixels re-arrangement (only for level 1A production but SWIR rearrangement information shall be preserved in L1B and L1C): A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + Relation between product image channels and on board spectral bands + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + Percentage of degraded ancillary data + + + + + + + + + + (From L0) IERS bulletin. These data are provided for the start acquisition date + + + + DATATION + + + + + + + Reference to GIPP files used by L1A processing chain + + + + + DEM type used by the production process (GLOBE or SRTM) + + + + + + + + + + + + Reference to IERS Bullettin + + + + + Used Reference Band + + + + + + + + Radiometric corrections applied to L1B and L1C + + + + + SWIR pixels re-arrangement. A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + On ground equalization of the image using an optimized polynomed correction (only for level 1B production) + + + + + Optical crosstalk correction (only for level 1B production). A 'true' value indicates that optical crosstalk correction has been processed. + + + + + Electronic crosstalk correction (only for level 1B production). A 'true' value indicates that electronic crosstalk correction has been processed. + + + + + Blind pixel remonving (only for level 1B production). A 'true' value indicates that Blind pixel remonving has been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Restoration and levelling of the product to 12 bits (only for level 1B production) + + + + + Binning for 60m bands (only for level 1B production). A 'true' value indicates that binning for 60m bands has been processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + Relation between product image channels and on board spectral bands + + + + + + + Equalization parameters + + + + RADIO_S2 + L1B_PRODUCT + L1C_PRODUCT + + + + + + + List of equalized bands (if any) + + + + + + + + + Offset correction: A 'true' value indicates that offset correction has been done + + + + + Dark signal non uniformity correction: A 'true' value indicates that dark signal non uniformity correction has been done + + + + + + + + + + + + + + + + + A 'true' value indicates that equalization has been processed for, at least, one band + + + + + + + + List of restored bands (if any) + + + List if restored bands (if any) + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + Minimum value + + + + + + + + + + Maximum value + + + + + + + + + + + + + + + + + + + + + + + + + A 'true' value indicates that restoration and levelling of the product to 12 bits has been processed. + + + + + + + + (From L0) IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Reference to GIPP files used by L1B processing chain + + + + + DEM type used by the production process (GLOBE or SRTM) + + + + + + + + + + + + Reference to IERS Bullettin + + + + + Reference to GRI data + + + + + Used Reference Band + + + + + + + + + + + + + + + + + + + Geolocation over WGS84 of the contour of the product. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + Description of the horizontal coordinates reference system + + + + + + + + + + Granules footprint. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + Description of the horizontal coordinates reference system + + + + + + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reference to the AUX DATA items used for the processing + + + + + + Reference to GIPP files used by the processing + + + + + Reference to the used DEM + + + + + Reference to IERS Bullettin + + + + + Reference to GRI data + + + + + Reference to ECMWF data + + + + + + + + + + + + Reference to GIPP files used by the processing + + + + + Reference to used DEM + + + + + Reference to IERS Bullettin IERS bulletin provided for the start acquisition date + + + + + + + + + Reference to GIPP files used by the processing + + + + + Reference to used DEM + + + + + Reference to IERS Bullettin IERS bulletin provided for the start acquisition date + + + + + + + Synthesis of the OLQC checks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Synthesis of the OLQC checks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Synthesis of the OLQC checks + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reference to GIPP files used by the processing + + + + + Reference to used DEM + + + + + Reference to IERS Bullettin + + + + + Reference to GRI data + + + + + + + DataStrip Identifier + + + + + + + + + Bounding Box (rectangle) Query Option + + + + + + Coordinates position (2D, Lat/Lon) of the minimal point (bottom right) within the envelope + + + + + Coordinates position (2D, Lat/Lon) of the maximal point (upper left) within the envelope + + + + + + + + Polygon Query Option + + + + + + List of coordinates position (2D, LAT/LON) of the exterior points describing the surface boundary of the polygon. The polygon must be closed (the first and last vertices are the same). + + + + + + + + Radius Query Option + + + + + + Center coordinates position (2D, Lat, Lon) + + + + + Radius expressed in meters + + + + + + + + +
    diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/dimap/dimap2A.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/dimap/dimap2A.xsd new file mode 100755 index 0000000..b2cfb71 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/dimap/dimap2A.xsd @@ -0,0 +1,845 @@ + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + General PDGS Product Information on Level 2A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General PDGS Product Information on Level 2A + + + + + Actual User Product start time defined as the Sensing Time of the first line of the first scene in the product + + + + + Actual User Product stop time defined as the Sensing Time of the first line of the last scene in the product + + + + + User-Product URI. This is the User-Product URI resolved and provided by ngEO + + + + + Processing level of the product + + + + + + + + + + Product type Identifier + + + + + + + + + + + + + + + DAG Generation Time + + + + + Link to the preview image URL + + + + + + + + + + Preview georeferencing information. Coordinate system / datum used for specifying the georeferencing information supplied with the Browse Image. +Examples: EPSG:4326, RAW + + + + + General information about the MSI datatake + + + + + + Logical map of the elements compounding the Level 2A User Product + + + + + + + + + + + + + + + + + + General PDGS Product Information + + + + + Common general Product Information + + + + + + + + Special values encoding (NO_DATA, SATURATION) for BOA reflectance image data + + + + + Relation between product image channels and on board spectral bands + + + + + A list of L1C, L2A quantification values for digital counts on pixel level + + + + + + + + Correction to take into account the Sun-Earth distance variation (this correction is computed using the acquisition date) + + + + + Reflectance parameters for each band + + + + + + Equivalent solar irradiance + + + + + + + + + + + + + + + + + + + Spectral information which provided by the GIPP ABSOLUTE_CALIBRATION + + + + + + + + + + + + + + + + + + + + + + + List of measures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A list of L2A Scene Classification IDs + + + + + L2A Scene Classification IDs encoding (SC_NODATA, SC_NODATA, SC_SATURATED_DEFECTIVE, SC_DARK_FEATURE_SHADOW, SC_CLOUD_SHADOW, SC_VEGETATION, SC_BARE_SOIL_DESERT, SC_WATER, SC_CLOUD_LOW_PROBA, SC_CLOUD_MEDIUM_PROBA, SC_CLOUD_HIGH_PROBA, SC_THIN_CIRRUS, SC_SNOW_ICE) + + + + + + + Pixel values assigned to L2A Scene Classification Image Data + + + + + + + + + + + + + + + + + + + + + + + + + + Auxiliary Data information L2A on product level + + + + + References to the AUX_DATA items + + + + + + Reference to used GIPPs for L2A processing + + + + + Reference to used DEM for L2A processing + + + + + Reference to used LibRadtran LUTs for L2A processing + + + + + Reference to used Snow Climatology for L2A processing + + + + + + + + + + Quality Indicators information on product level (L2A + L1C Technical assessment info) + + + + + Image content Quality Indicators (percentages of pixel type), inherited from L1 + + + + + + + List of L2A tiles + L1C Geometric and Radiometric info + + + + + List of the tiles composing the whole datastrip. + + + + + + + + + + + Tile Identifier + + + + + + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + + + Quality Indicators information on datastrip level (L2A + L1C Geometric and Radiometric QI info) + + + + + + + + + + + + + + + Percentage of degraded ancillary data + + + + + + + + Auxiliary Data information on datastrip level (L2A and L1C reference) + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Used GIPP files for L1C processing + + + + + Reference to ECMWF data + + + + + Reference to used DEM + + + + + Reference to IERS Bulletin + + + + + Reference to GRI data + + + + + + + + General information on L2A Tile + + + + + Unique Tile Identifier + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + Inherited from Level-0 metadata. This is the sensing start time of the Datatake (with precision in seconds) + + + + + + + + + + + + + + + + + + + + + + + Quality Indicators information on L2A Tile and Pixel level + + + + + + + Pointer to the L1C Mask files contained in the QI_DATA folder + + + + + Pointer to the L2A Pixel Level QI files contained in the QI_DATA folder + + + + + Reference to PVI contained in the QI_DATA folder + + + + + + + + Image content Quality Indicators (percentages of pixel type) + + + + + Percentage of No Data (Missing data on projected tiles) pixels + + + + + + + + + + + Percentage of saturated or defective pixels + + + + + + + + + + + Percentage of pixels classified as dark features or shadows + + + + + + + + + + + Percentage of pixels classified as cloud shadow + + + + + + + + + + + Percentage of pixels classified as vegetation + + + + + + + + + + + Percentage of pixels classified as bare soils + + + + + + + + + + + Percentage of pixels classified as water + + + + + + + + + + + Percentage of pixels classified as low probability clouds + + + + + + + + + + + Percentage of pixels classified as medium probability clouds + + + + + + + + + + + Percentage of pixels classified as high probability clouds + + + + + + + + + + + Percentage of pixels classified as thin cirrus clouds + + + + + + + + + + + Percentage of pixels classified as snow or ice + + + + + + + + + + + Declared accuracy of the radiative transfer model. LibRadtran code achieves a relative accuracy of 5% - 10%. (B.Mayer) + + + + + + + + + + + APDS (Atmospherically Precorrected Differential Absorption) method achieves a typical relative accuracy of 5% - 10% except over very dark surfaces. (Sch?ler 1998, Chylel et al. 2003, Richter and Sch?ler 2008) + + + + + + + + + + + Declared accuracy of the Aerosol Optical Thickness + + + + + + + + + + + + + Filenames of L2A QI Masks (Cloud confidence map, Snow/Ice confidence map) + + + + + Filename of the Cloud Confidence raster mask at 60m resolution stored in the QI_DATA folder + + + + + Filename of the Snow/Ice Confidence raster mask at 60m resolution stored in the QI_DATA folder + + + + + + + A list of L1C, L2A quantification values for digital counts on pixel level + + + + + L1C TOA Reflectance quantification value (in order to convert digit count into Top-Of-Atmosphere reflectance, inherited from L1C) + + + + + L2A BOA Reflectance quantification value (in order to convert digit count into Bottom-Of-Atmosphere reflectance) + + + + + Aeorosol Optical Thickness Map quantification value (in order to convert digit count into Aeorosol Opthical Thickness physical units) + + + + + Water Vapor Map quantification value (in order to convert digit count into water vapor physical units) + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/fileNaming/fileNaming.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/fileNaming/fileNaming.xsd new file mode 100644 index 0000000..f7969ca --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/fileNaming/fileNaming.xsd @@ -0,0 +1,200 @@ + + + + + + + + + Filename template and derived types + + + $Revision: 1.1 $ $Date: 2011/06/16 11:10:48 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mission Id + + + + + + + + + UTC time yyyy-mm-ddThh:mm:ss + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/header/EOF_Header.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/header/EOF_Header.xsd new file mode 100644 index 0000000..902018a --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/header/EOF_Header.xsd @@ -0,0 +1,107 @@ + + + + + + + + + + Earth Explorer Header data types + + + $Revision: 1.1 $ $Date: 2011/10/07 08:02:08 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/logical_definitions/logical_definitions.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/logical_definitions/logical_definitions.xsd new file mode 100644 index 0000000..587d94d --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/logical_definitions/logical_definitions.xsd @@ -0,0 +1,9323 @@ + + + + + + + + + + + + + + + + Quality assessement created by INIT_LOC_INV : Absolute location performance for the datastrip + + + + + + Measurement date + + + + + + + + + Flag to indicate if compress mode is by passed + + + Flag to indicate if compress mode is by passed + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + Flag to indicate if equalization is active + + + Flag to indicate if equalization is active + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + In-flight Non Uniform Correction table ID defined by 10 bits. This ID is uniform for all transmitted bands. It identifies the correction coefficients table used in-flight + + + + + + + + + + + + On board active Detectors (in case of compression by-passed) + + + On board active Detectors (in case of compression by-passed) + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + Thermal data acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + Structure Identifier (SID) of the lost source packet + + + + + + + + + + + Sub-service of the lost source packet + + + + + + + + + + + Service of the lost source packet + + + + + + + + + + + Packet Category (PCAT) of the lost source packet + + + + + + + + + + + Process Identifier (PRID) of the lost source packet. + + + + + + + + + + + + + + + + Reference to SAD raw + + + + + + + Ancillary Quality retrieved from GPS Dilution of precision (DOP) + + + + + + + + + + + DATATION + + + The starting point of the circulation data + + + + + + + + + + + + + + + + + + DATATION + + + Processing/archiving date + + + + + + + + + Onboard Hybrid attitude (STR+IMU), provided at 10Hz, gives the PRF frame in the J2000. + + + + + + Only one sample for one GPS_TIME. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 + + + + + + When 1 : quaternion is valid + + + + + Dated angular velocities + + + + + Velocity angular errors + + + + + GPS time value + + + + + List of 11 boolean flags separated by whitespace: STR1 STR2 STR3 GPSR-A GPSR-B VCU-A VCU-B IMU-1 IMU-2 IMU-3 IMU-4 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + AOCS Mode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + AOCS Submode + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + Difference Between GSE filter estimate and first in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Difference Between GSE filter estimate and second in-use STR measurement + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + Description of the coordinate reference system used in the dataset. + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + Description of the horizontal coordinate reference system. + + + + + + + Description of the coordinate reference system used in the dataset. Set to WGS84 by Init_Loc_Prod and updated accordingly to requested product by RESAMPLE_S2. + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + + + + + + Sentinel-2 Spacecraft name + + + + DATATION + + + + + + + + + + + + MSI operation mode + + + + + Imaging Start Time (Sensing start time of the Datatake) + + + + + Imaging Orbit Number + + + + DATATION + + + + + + + + + + + + + Acquisition orbit direction (descending, ascending). + + + + + + + + + + + + + + + + + + + Present only Level-1B and Level-1C + + + + + + + + DataStrip generation information + + + + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + . + + + + + + + + + + + + Failed Report Name + + + + + + + + + + Station receiving the S2 data + + + + DATATION + + + + + + + + + + + + + + + Identifier of the downlink orbit + + + + + + + + + If there is a loss of GPS and subsequent switch to the redundant unit no interruption of the image processing is required. Then, it is possible to have list of GPS number. + + + + + + Each GPS is covering an interval time. + + + + + + GPS time value + + + + + GPS time value + + + + + + Refers to GPSR-A or GPSR-B + + + + + + + + + + + + + + + + + + + + GPS ephemeris time stamped data (PVT, sampled at 1Hz) in WGS84 + + + + + + + + + Dated positions (X, Y, Z) from GPS in millimeters + + + + + Position errors (dX, dY, dZ) from GPS in millimeters + + + + + Dated velocities (Vx, Vy, Vz) from GPS in millimeters per seconds + + + + + Velocity errors (dVx, dVy, dVz) from GPS in millimeters per seconds + + + + + GPs Time value + + + + + Navigation Solution Method + + + + + Position quality index + + + + + Quality index (Geometrical dilution of precision) + + + + + Quality index (Position dilution of precision) + + + + + Quality index (Time dilution of precision) + + + + + The number of Space Vehiculess (SVs) the receiver was able to use for the Navigation Solution computation, i.e. SVs for which code and carrier phase measurements and Ephemeris data were +available. + + + + + + + + + + GNSS system time error + + + + + + + + + + + AOCS filtered ephemeris (sampled at 2Hz) in J2000 + + + + + + + + + When 1 : ephemeris is valid + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + 0: solution is valid / 1: solution propagated / 2: cyclic position update available + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + Dated positions (X, Y, Z) from AOCS + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Dated velocities (Vx, Vy, Vz) from AOCS + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + GPS time value + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Orbit angle wrt WGS84 + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + Quality assessement created by INIT_LOC_INV : Ephemeris quality retrieved from GPS Dilution of precision (DOP) + + + + + + Equalization parameters + + + + RADIO_S2 + L1B_PRODUCT + L1C_PRODUCT + + + + + + + List of equalized bands (if any) + + + + + + + + + Offset correction: A 'true' value indicates that offset correction has been done + + + + + Dark signal non uniformity correction: A 'true' value indicates that dark signal non uniformity correction has been done + + + + + + + + + + + + + + + + + A 'true' value indicates that equalization has been processed for, at least, one band + + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + + + Information provided for the beginning and the end of the product. + +Information is provided on QL geometry or on the full resolution + + + + + + + + + + + + + + + + + Pointing angles in satellite reference frame + + + + + Pointing angles in focal plane referential + + + + + + + + Position of the swath. Indeed, data are computed for each line index and for col = first_col and last_col, defining the begin and the end of the swath. + + + + + + Track orientation. Also called "CAPE". The range of the angle is into [0,360°[ + + + + + Incidence angles + + + + + + Full resolution pixel sizes along and across track in meters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unique Identifier of the L0/L1A/L1B granule + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip linked to a specific Granule + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + Sensing start time of the Datatake (with precision in seconds) + + + + + + + + + + + + Archiving centre and time + + + + + + + + + + + + + + + + Unique Identifier of the L0/L1A/L1B granule + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip linked to a specific Granule + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + Sensing start time of the Datatake (with precision in seconds) + + + + + + + + + + Archiving centre and time + + + + + + + + + + + + + + Unique Tile Identifier + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + + + Downlink priority flag, can be set to NOMINAL, NRT or RT + + + + + + + + + + + + Inherited from Level-0 metadata. This is the sensing start time of the Datatake (with precision in seconds) + + + + + + + + + + + + + + + + + + + + + + + Geometric refining results. Created by GEO_S2. The refined geometric model can be updated by RESAMPLE_S2. (Applicable to L1B and L1C) + + + + GEO_S2 + + + + + + + Flag to identify if the Refined Geometric Model File is computed or obtained from a existing RGMF (reused) + + + + + Refining results. Should exist only if REFINING_TYPE= REFINING or REFINING_REGISTRATION + + + + + + Refining characteristics. Should exist only if flag = REFINED + + + + + + reference band used for geometric refining/registration + + + + + Reference images used for geometric model refining processing + + + + + + Reference image name + + + + + + + The reference band is a spectral channel of the reference image. The geometric refining is performed using this channel. + + + + + + + + + + + + + + + + If the refining has not been performed or has not succeeded, the output product shall be flagged “not refined”. + + + + + + + + + + + + + Registration results. Should exist only if REFINING_TYPE= REGISTRATION or REFINING_REGISTRATION + + + + + + Registration characteristics. Should exist only if flag = VNIR_SWIR_REGISTERED + + + + + + + + + + + + If the VNIR/SWIR focal plane registration has not been performed, the output product shall be flagged “VNIR/SWIR not registered”. + + + + + + + + + + + + + Description of the refined corrections. If the refining has been processed by datastrip then, there are the refined corrections for each datastrip. These data are created by Geo_S2. + + + + GEO_S2 + + + + + + + + For each datastrip, there is the time zone which is covered by the datastrip + + + + + + + + + + + + + + + + Information is provided on QL geometry or on the full resolution + + + + INIT_LOC_INV + INIT_LOC_PROD + + + + + + + + + + + + + + + + + + + Pointing angles in satellite reference frame + + + + + Pointing angles in focal plane referential + + + Pointing angles in focal plane referential + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + Position of the swath. Indeed, data are computed for each line index and for col = first_col, centre_col, and last_col, defining the begin, the centre and the end of the swath. + + + + + + Track orientation. Also called "CAPE". The range of the angle is into [0,360°[ + + + + + Incidence angles + + + + + + Full resolution pixel sizes along and across track in meters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Quality assessement created by GEO_S2 + + + + + Refining results. Should exist only if refining has been applied + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + + + + Multi-temporal registration performance indicator + + + + + + + Measurement date=production date + + + + + + + + Multi-spectral registration performance + + + + + + Value for 10m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + Value for 20m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + Value for 60m bands + + + + + + + Measurement date=date provided by GIPP + + + + + + + + + + + + + + + Measurement date=production date + + + + + + + + + + + + + + Registration results. Should exist only if registration has been applied + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + + + + Spatiotriangulation results. Should exist only if refining and/or registration have/has been applied. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GIPP file name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Local cloud coverage indicator: A percentage of cloud coverage is computed for each Level-0 granule (for the area covered by a reference band). + + + + + + + + + + A percentage of degraded ancillary data + + + + + A percentage of degraded MSI data + + + + + + + + + Check on the consistency of product size + + + + + + Version of the On-Line Quality Control processor + + + + + + + + Granule dimensions in terms of NROW and NCOL + + + + + Granule dimensions for each resolution band (10m, 20m and 60m) + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Geolocation of the four corners of the granule envelope (Lat, Lon, H coordinates with horizontal CRS as WGS84 and altitude given over EGM96). The polygon must be closed (the first and last vertices are the same). + + + + + + Unitary footprint for one detector, each band of the granule. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pixel representation. Values is "POINT" for L0 and L1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + Check of acceptability performed versus a dedicated thresholds + + + + + Number of inconsistent source packets + + + + + Number of degraded source packets + + + + + Number of missing lines + + + + + Number of degraded SAD source packets + + + + + + + Check of acceptability performed versus a dedicated thresholds + + + + + Number of inconsistent source packets + + + + + Number of degraded source packets + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Position of the granule in the Datatake. This position is identified through the position of the scenes first lines in the Datatake and is expressed as number of 10m resolution images lines, + + + + + + + + + + Information provided for each granule, at the center of the granule for a reference band + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (r,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + + Failed Report Name + + + + + + + + + + + + + + + + UT1 –-UTC in [-0.9;0.9] seconds + + + + + + + + + + + + GPS_time – UTC = in number of seconds + + + + + GPS_time – TAI + + + + + + + + + + U angle pole motion (in arcsec) + + + + + V angle pole motion (in arcsec) + + + + + + + + + + INIT_LOC_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + Geolocation over WGS84 of the contour of the product. The footprint is provided as a serie of vertices (lat, lon) counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + + Global precise footprint of the cut segment. + + + + + Unitary footprint for each detector, each band of the product. This is not required for the Level-0 product. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pixel representation. Values is "POINT" for L0 and L1 levels. + + + + + + + + + + First pixel number (convention) + + + + + + + + + + + + + + + Sun angles grid, containing sun zenith and azimut angles + + + + + Grids for Viewing Incidence Angles. Grids are defined in the same projection as the tile. For each requested band and each detector intersecting the tile, two grids of viewing incidence angles θv and φv shall be computed, where θv is the zenith viewing angle and φv is the azimuth viewing angle + + + + + + + + + + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + RADIO_S2 + + + Quality assessement masks + + + + + File name of the mask files. It is possible that there is a mask file type for each band and each detector. The mask format is GML + + + + + + + Mask type + + + + + Identifier of the band + + + + + Identifier of the detector + + + + + + + + + + Mask is defined into quicklook geometry in the inventory process and is transformed into level1 full resolution geometry in production process. + + + + + + + + + + + + + PDI Granule and Datastrip (L0/L1A/L1B) identification string + + + + - Level-0
    + - Level-1A
    + - Level-1B
    + It is defined as MMM_CCCC_TTTTTTTTTT_
    + = ____
    + For details refers to [PSD]
    +]]>
    +
    +
    +
    + + + +
    + + + PDI L1C Granule and Datastrip identification string + + + + It is defined as MMM_CCCC_TTTTTTTTTT_
    + = ____
    + For details refers to [PSD]
    +]]>
    +
    +
    +
    + + + +
    + + + + + + + + + + + + + + + Software/version/time-stamp information related to one process. Every process should append the list with a new Step element. + + + + + + + + + + + + Software associated to the attribute version + + + + + + + + + + + General PDGS Product Information + + + + + User-Product URI. This is the User-Product URI resolved and provided by ngEO + + + + + Processing level of the product + + + + + + + + + + Product type Identifier + + + + + + + + + + + + + + + DAG Generation Time + + + + + Link to the preview image URL + + + + + + + + + + Preview georeferencing information + + + + + + General information about the MSI datatake + + + + + + Logical map of the elements compounding the User-Product + + + + + + List of the datastrips belonging to the product + + + + + + + + + + + + + + + + List of granules/tiles belonging to the each datastrip (list of granule identifiers of all granules composing the product for a given DataStrip) + + + + + + In case of L1C, it refers to Tile + + + + + + Pointers to the Level-0 granule data files (links to the physical image data) + + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + + + + + Pointers to granule (tile) data files (links to the physical image data) + + + + + + List of the granule data files + + + + + + + + + + + Description of the quicklook + + + + INIT_LOC_INV + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Quicklook image size + + + + + Ground footprint of the QL image. The footprint is a closed (lat, lon) polygon defined by a list of vertices counter-clockwise oriented (for WFS compatibility). The polygon must be closed (the first and last vertices are the same). + + + + + QL display geometric model + + + + + + + + + Line number of the first line + + + + + + + + + + Date of the first line + + + + + Theoretical line period + + + + + + + + Particular viewing directions + + + + + The 12 detectors are assembled and resampled in a monolithic quicklook image. This block gives, in the quicklook geometry, the connection columns number (last column) for each detectors (the first 11 detectors for compressed mode and 4 for uncompressed mode). + + + + + + + + + + + + + + + + + + + + + + Spacecraft to MSI frame transformation + + + + + + + + Pointer to the Quicklook image (optional) contained in QI_DATA folder + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + + + + + + + DATATION + ARCHIVE_PRODUCT + INIT_LOC_PROD + + + Not clear if ANA-TM is OK for PDGS as is, since PDGS needs to keep all ISPs. +Initial Comment:List of relative source packets for each couple (band ; detector). Created by ANA_TM, updated before archiving and by InitLoc Production for Level1 processing. + + + + + + + + + + + + First source packet counter. Updated by Init_Loc_Inv, Archive and Init_Loc_Prod. + + + + + + + + + + + + + + + Position of the first source packet in the on board scene + + + + + + + + + + + Number of source packets. Updated by Init_Loc_Inv, Archive and Init_Loc_Prod + + + + + + + + + + + + + + + + Detector identifier for source frame description + + + + + + + + Band identifier for source frame description + + + + + + + + + + + + + + + + + + List of source packets lost / degraded for each couple (band ; detector) + + + + + + Type of degradation + + + + + Type of error (from AnaTm specifications) + + + + + + + + + + + + + + + + + Date of the first line of the scene which contains the first lost / degraded source packet + + + + + Counter of the first source packet in error. This number is in [0;143] for 10m bands, [0;71] for 20m bands or [0;23] for 60m bands. + + + + + + + + + + + Number of lost or degraded source packet. This number is in [1;144] for 10m bands, [1;72] for 20m bands or [1;24] for 60m bands + + + + + + + + + + + + + + + + + Band identifier + + + + + + + + + + + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of a tile in a given representation + + + + + + + Tile dimensions for each resolution band + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + XDIM and YDIM for each resolution band + + + + + + Upper-left coordinate (X value) of the tile + + + + + Upper-left coordinate (Y value) of the tile + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + + + Radiometric corrections applied to L1A + + + + + SWIR pixels re-arrangement (only for level 1A production but SWIR rearrangement information shall be preserved in L1B and L1C): A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + Radiometric corrections applied to L1B and L1C + + + + + SWIR pixels re-arrangement. A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + On ground equalization of the image using an optimized polynomed correction (only for level 1B production) + + + + + Optical crosstalk correction (only for level 1B production). A 'true' value indicates that optical crosstalk correction has been processed. + + + + + Electronic crosstalk correction (only for level 1B production). A 'true' value indicates that electronic crosstalk correction has been processed. + + + + + Blind pixel remonving (only for level 1B production). A 'true' value indicates that Blind pixel remonving has been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Restoration and levelling of the product to 12 bits (only for level 1B production) + + + + + Binning for 60m bands (only for level 1B production). A 'true' value indicates that binning for 60m bands has been processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + Radiometric corrections applied to L1B and L1C + + + + + SWIR pixels re-arrangement. A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + + + List of restored bands (if any) + + + List if restored bands (if any) + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + Minimum value + + + + + + + + + + Maximum value + + + + + + + + + + + + + + + + + + + + + + + + + A 'true' value indicates that restoration and levelling of the product to 12 bits has been processed. + + + + + + + + Raw attitudes + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Startracker in the J2000 frame. There are 3 startrackers among which one in cold redundancy. + + + + + + + + + STR data at 10 Hz coming from Attitude Data Block + + + + + + + + + Space separated list of 4 quaternion values ordered as (Q0 Q1 Q2 Q3) = (qs qv1 qv2 qv3) (inertial attitude J2000). + + + + + + + + + + Angular rate (X, Y, Z) in BRF in deg/s + + + + + Time stamp of the center of integration associated with the attitude (with a precision up to 2pow-16 seconds). This field is computed from the centerOfIntegrationTimeStamp value provided in the data block + + + + + Julian date used for precession correction (if enabled); specified in number of days since the epoch date of the built-in star catalog; day 0 corresponds to JD 2451545 + + + + + + + Navigation Solution Method: NO_ATTITUDE : No attitude available, A_PRIORI_ATTITUDE : Attitude based solely on user input, COARSE_ATTITUDE : Predicted from previous measurements, UNCONFIRMED_ATTITUDE : Calculated from current measurements but not yet confirmed, VALID_ATTITUDE : Like unconfirmed Attitude but additionally validated + + + Attitude Quality + + + + + + + + + + + + + + + Rate quality: NO_RATE : No rate information available, COARSE_RATE : A-priori rate or rate derived from star coordinates, FINE_RATE : Rate derived from attitude, FILTERED_RATE : Rate derived from attitude and filtered + + + Rate Quality + + + + + + + + + + + + + if set to 1, the rate information is valid (i.e. derived from current measurements) + + + + + + + + + + + + + + + + + + STR status and health data block (at 1 Hz). + + + + + + + + + + + STR operating mode: BOOT : Boot mode, STANDBY : Standby mode, PHOTO : Photo mode, AADF : AAD mode with submode ‘full frame’, AADW : AAD mode with submode ‘window’, NAT : NAT mode + + + STR operating mode + + + + + + + + + + + + + + + + + Thermo electric cooler mode:COOLER_OFF : TEC switched off, COOLER_CONTROLLED : TEC operating in controlled mode to reach target temperature, COOLER_MAXIMUM : TEC operating at maximum power + + + Thermo electric cooler mode + + + + + + + + + + + + Target temperature for temperature control + + + + + Detector temperature + + + + + Optics temperature + + + + + Housing temperature + + + + + + + The source selected for external synchronization: NONE : no external synchronization, PRIMARY : external synchronization via primary line, SECONDARY : external synchronization via secondary line, ANY : external synchronization via XOR of both lines + + + The source selected for external synchronization + + + + + + + + + + + + + The number of seconds since the latest received time synchronization; saturates at 63 seconds + + + + + + + + + + + + Number of trackable stars + + + + + + + + + + Number of stars tracked + + + + + + + + + + Number of identified stars + + + + + + + + + + Number of stars used for attitude determination + + + + + + + + + + + + Last result of attitude determination:<br> + - NOT_ENOUGH_STARS : Not enough stars suitable for attitude determination <br> + - SUCCESS : Attitude calculated successfully <br> + - REFINED : Like attitudeSuccess but with additional a-posteriori refinement <br> + - NA : Attitude determination failed <br> + + + + Last result of attitude determination + + + + + + + + + + + + + + + Last result of star identification error:<br> + - LDLE : Star identification not yet started <br> + - SUCCESS : Star identification succeeded <br> + - RUNNING : Star identification is running <br> + - NOT_ENOUGH_STARS : Not enough tracked stars for star identification <br> + - NA : Star identification failed <br> + + + + Last result of star identification error + + + + + + + + + + + + + + + + + + + + Flag to indicate if STR is synchronize with GPS time + + + + + + + + + + + + + + + + + + + + + + + + IMU values are angle increment data in radians, around the rotation axis of the IMU. 4 IMU are in hot redundancy. + + + + + + Inertial Measurement Unit + + + + + + One sample for one GPS_TIME. + + + + + + IMU filtered data are angle increments + + + + + IMU raw data are angle increments + + + + + GPS time value + + + + + 16 Bits (0/1) sequence as defined in the IMU interface + + + + + + + + Organiser temperature + + + + + Sagnac Interferometer Assembly temperature + + + + + Optical Source temperature + + + + + Board temperature + + + + + Temperature reference voltage offset + + + + + Temperature reference voltage + + + + + + + + 10PPS time corresponding to the measurements (provided by CSW) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Product Download Options according to ngEO download options + + + + + According to ngEO metadatada catalogue. (TBC) + + + + + List of band mapped to ngEO download options + + + + + + Spectral Band name + + + + + + + + List of metadata levels + + + + + + List of metadata levels + + + + + + + + + + + + + + + + + + + + + + Link to used GIPP files + + + + + Link to used IERS Bullettin + + + + + Link to SAD files + + + + + ECMWF for L1C always embedded (no embedding option) + + + + + never downloaded (no embedding option) + + + + + never downloaded (no embedding option) + + + + + + + + + + + + + Selection of preview image of the User Product + + + + + List of metadata level + + + + + + SAFE/DIMAP + + + + + + + + Boolean flag: to aggregate or not several granules in a single file per band and per detector (concatenation of granules along the detectors). For Level-0, aggregation is always FALSE + + + + + + + + + + Source packet information + + + + + + + + + + + + Datation model + + + + + + + + + + + + + + + + + + + + + + + + + + DATATION + RADIO_S2 + + + + + + + + + + + + + + + + + + + + + + + + Compression rate + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + Integration time + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + Sampled at 1 Hz + + + + + + Navigation Solution Method + + + + + Time quality index + + + + + Time dilution of precision. This value is set in case of Kalman filtered navigation solution (NSM=ESTIMATED_WITH_KALMAN_FILTER) with fewer than 4 SVs available1 or propagated initial state vector (NSM=PROPAGATED). + + + + + Instrument measurement time representation of the synchronisation time stamp. + + + + + GPS time representation of the synchronisation time stamp. + + + + + UTC time representation of the synchronisation time stamp. + + + + + + + + + + + + Line period for the acquisition of line of 10 m full-resolution image data + + + + + Datation model : for each couple (band, detector) + + + + + + + + + Line number corresponding to the time stamp + + + Line number corresponding to the time stamp + DATATION + INIT_LOC_PROD + + + + + + + Time-stamp + + + + + + Detector identifier + + + + + + + + + + + + + + + Flag to indicate if MSI is synchronize with GPS time + + + + + Theoretical line period for the acquisition of line of 10 m full-resolution image data + + + + + Created when datation models are estimated through linear regression. + + + + + + + + + Global least square residual + + + + + + + + + + + + + + Least square residual for the GSP Rmoy(GSP) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FPA temperature information (thermal control and monitoring, relevant to the detector transmission VNIR or SWIR) + + + FPA temperature information (thermal control and monitoring, relevant to the detector transmission VNIR or SWIR) + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of temperatures for each mirror + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Splitter temperature (only one value) + + + + + + + + + + + CSM-Diffuser temperature (only one vaue) + + + + + + + + + + + + + Zenith and azimuth angles + + + + + + The range of the angle is into [0,360°[ + + + + + + + Pointing angles + + + + + Along lines + + + + + Along columns + + + + + + + Yaw, pitch, and roll angles + + + + + + + + + + Dataset identification + + + + + String that identifies a Sentinel2 dataset + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + + DATATION + + + + + + + MSI operation mode + + + + + + + + + DATATION + + + + + + + + + + DATATION + + + + + + + + + + DATATION + + + Processing/archiving date + + + + + Identifier of the downlink orbit + + + + + Imaging Orbit Number + + + + DATATION + + + + + + + + + + + + + Imaging Start Time + + + + + Acquisition orbit direction (descending, ascending) + + + + + + + + + Flag to indicate if compress mode is by passed + + + Flag to indicate if compress mode is by passed + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Flag to indicate if equalization is active + + + Flag to indicate if equalization is active + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + On board active Detectors (in case of compression by-passed) + + + On board active Detectors (in case of compression by-passed) + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + + On board TDI configuration + + + + + + For B3, B4, B11 and B12 only + + + + + + + + + + + + + + + + + + + + + + + + + Source packet information + + + + + Datation model + + + + + + + + + + + + + + + + + + Onboard Hybrided attitude (STR+IMU), provided at 10Hz, gives the PRF frame in the J2000. + + + + + + Only one sample for one GPS_TIME. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 + + + + + + Dated angular velocities + + + + + Velocity angular errors + + + + + GPS time value + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + + + + + + Description of ephemeris data (filtered and raw) + + + + + Description of attitudes data (filtered and raw) + + + + + These data are acquired at 1 Hz + + + + + List of source packets lost / degraded + + + + + + + + + Type of degradation + + + + + + + + + + + + + + + + + + + + + + Reference to folder containing SAD raw. This reference is empty in case of Level-0 User Product where SAD are available at product level. + + + + + + + + + + + + Created by DATATION, updated by RADIO_S2. + + + + DATATION + RADIO_S2 + + + + + + + + + + + + + + + + + + + + + + + Compression rate + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + Integration time + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + In-flight Non Uniform Correction table ID defined by 10 bits. This ID is uniform for all transmitted bands. It identifies the correction coefficients table used in-flight + + + In-filght Non Uniform Correction table ID defined by 10 bits. This ID is uniform for all transmitted bands. It identifies the correction coefficients table used in-flight + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + The granule footprint in the QL display: list of 4 (l,c) points + + + + + Information provided for each granule, at the center of the granule + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (l,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + The granule footprint in the QL display: list of 4 (l,c) points. Used for computing percentage of cloud coverage and degraded data per granule + + + + + Information provided for each granule, at the center of the granule + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (l,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granules geometry + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + Information provided for each granule, given for a reference band, at the center of the granule + + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + + Granule identifier + + + + + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + + + + + + The granules identification and information + RESAMPLE_S2 + + + + + + + + + + + Sun angles grid, containing sun zenith and azimut angles + + + + + List of masks produced for each tile by Resample_S2 and Mask_S2. Each mask is in the target geometry of the tile. Each mask is covering the tile size. The mask format is GML + + + + + + + + + + Mask type + + + + + + + + + + + + This information has to be consolidated from IAS Processing Reports for all tiles in the final Level-1C metadata file. + + + + + + A percentage of degraded ancillary data is provided for each tile + + + + + A percentage of degraded MSI data is provided for each tile + + + + + + + + Grids for Viewing Incidence Angles. Grids are defined in the same projection as the tile. For each requested band and each detector intersecting the tile, two grids of viewing incidence angles θv and φv shall be computed, where θv is the zenith viewing angle and φv is the azimuth viewing angle + + + + + + TILE_IDENTIFIER from GIPP + + + + + + + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + Identification of the source datastrip acquisition. General informations + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + Ancillary data + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + + + Considering the width of S2 swath, some data should be computed at the center, and the two borders of the swath. +Considering the length of the S2 segments, each datum should be computed at points, which are distributed along the segment. + + + + + + + + + +
  • a space-separated list of 4096 percent values
  • +
  • the first (MIN) and last (MAX) indexes for significant percent values (i.e. > 0.0)
  • +
  • the mean and standard deviation values
  • +]]>
    +
    +
    +
    + + + + percent values (number depending on the STEP) + + + + + histogram step + + + + + first index of significant percent value (i.e. > 0.0) + + + + + last index of significant percent value (i.e. > 0.0) + + + + + Histogram mean value + + + + + Histogram standard deviation + + + +
    + + + Position of the swath : left, center, right + + + + + + + + + + + + + + + + + + + + Pollux zone identifier. + + + + + + + + + + + + + + + Local registration Statistics given for one Pollux zone. Units should be set according to product unit (i.e. meters or degrees) + + + + + + + Indicators allowing to evaluate the success of the correlation + + + + + Global registration Statistics. Units should be set according to product unit (i.e. meters or degrees) + + + + + Local registration Statistics list (given for every Pollux zone). + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the datastrip is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + Quality assessement created by DATATION + + + + + + + + Degraded ancillary data + + + + + + + Frequency + + + + + + + + + + + + + + + + + + + + + + + Quality assessement created by INIT_LOC_INV : Planimetric stabililty performance for the datastrip + + + + + + Measurement date + + + + + + + percentage of cloudy pixels detected + + + + + + Initial archiving station + + + + ARCHIVE_PRODUCT + L1A_PRODUCT + L1B_PRODUCT + L1C_PRODUCT + + + + + + + Date updated at the end of inventory process + + + + + Initial archiving station + + + + + + + Description of the coordinate reference system used in the dataset. Set to WGS84 by Init_Loc_Inv and updated accordingly to requested product by RESAMPLE_S2. + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + Description of the horizontal coordinate reference system. + + + + + + + + + Number of bands for the whole product. + + + + + + + + + + + Number of bits used to encode each band radiometric counts (before compression). + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + Dimensions for each detector (by band) in the sensor geometry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Number of bands for the whole product. + + + + + + + + + + + Number of bits used to encode each band radiometric counts (before compression). + + + + + + + + + + + Product Compression + + + + + + + + + + + + + + + + Place name + + + + + Purpose of the product + + + + + Internal Reference + + + + + Commercial reference + + + + + Commercial Item within commercial reference + + + + + Other information + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to the Image Data + + + + + Raster image file name + + + + + + + + + + + + + + Equalization parameters + + + + RADIO_S2 + L1B_PRODUCT + L1C_PRODUCT + + + + + + + List of equalized bands (if any) + + + + + + + + + Offset correction: A 'true' value indicates that offset correction has been done + + + + + Dark signal non uniformity correction: A 'true' value indicates that dark signal non uniformity correction has been done + + + + + + + + + + + + + + + + + A 'true' value indicates that equalization has been processed for, at least, one band + + + + + + Radiometric corrections applied + + + + + Data extraction and SWIR pixels re-arrangement (only for level 1A production). A 'true' value indicates that data extraction and SWIR pixels re-arrangement have been processed. + + + + + On ground equalization of the image using an optimized polynomial correction (only for level 1B production) + + + + + Optical crosstalk correction (only for level 1B production). A 'true' value indicates that optical crosstalk correction has been processed. + + + + + Electronic crosstalk correction (only for level 1B production). A 'true' value indicates that electronic crosstalk correction has been processed. + + + + + Blind pixel remonving (only for level 1B production). A 'true' value indicates that Blind pixel remonving has been processed. + + + + + Defective pixels processing. A 'true' value indicates that defective pixels have been detected and processed, a 'detection" value indicates that defective pixels have been only detected (only for level 1A production), a 'false" value indicates that defective pixels have been neither detected nor processed. + + + + + Restoration and levelling of the product to 12 bits (only for level 1B production) + + + + + Binning for 60m bands (only for level 1B production). A 'true' value indicates that binning for 60m bands has been processed. + + + + + Management of NO_DATA pixels. A 'true' value indicates that NO_DATA pixels have been detected and processed, a 'detection" value indicates that NO_DATA pixels have been only detected (only for level 1A production), a 'false" value indicates that NO_DATA pixels have been neither detected nor processed. + + + + + Management of saturated pixels. A 'true' value indicates that saturated pixels has been processed. + + + + + + + Computed by anaTM + + + + + + + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Spacecraft position (expressed in meters) in the local spacecraft reference frame (EVG Euclidium state) + + + + + MSI state (EIF Euclidium state) + + + + + Focal plane state (EIM Euclidium state) + + + + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + + + GEO_S2 + RESAMPLE_S2 + + + + + + + + + + + Correction to take into account the Sun-Earth distance variation (this correction is computed using the acquisition date) + + + + + Reflectance parameters for each band + + + + + + Equivalent solar irradiance + + + + + + + + + + + + + + + + + + + Reflectance quantification value (in order to convert digit count into reflectance) + + + + + For each band, the parameters (α,β) of the Level 1B noise model corrected from the absolute calibration coefficient, the sun zenith angle and the equivalent sun irradiance + + + + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + + Technical quality assessment: A percentage of degraded MSI and ancillary data over the product is provided (consolidated from the metadata expressed at granule-level) + + + + + + + + + Undersamplig step in column + + + + + Undersamplig step in row + + + + + List of values by rows + + + + + + Rows of values stored in a 1D vector. Values are in float format + + + + + + + + + + + + Grids for Zenith Viewing Incidence Angle values. "NaN" value is used when an angle is not computed. + + + + + + Grids for Azimuth Viewing Incidence Angle values. "NaN" value is used when an angle is not computed. + + + + + + Band index for which incidence grids are requested + + + + + ID of Detector intersecting the tile + + + + + + + + Grids for Sun Zenith angles (θs) values + + + + + Grids for Sun Azimuth angles (φs) values + + + + + + + + + Granule identification + + + + + + + + + + + + + + Detector identification + + + + + + + + + + + + + + + + + + + + + + +observation-id: L[pp]_S[SS]_[YYYYMMDDTHHMMSS]_[dd], rec-id: [RRR], where:
    +
      +
    • [pp] : identifies the processing level : “0_”, “1A”, “1B”, “1C” .
    • +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the first line date on the MSI-Scene (ex. 20121001T09575020) in UTC time
    • +
    • [dd] : 2 digits identifying the detector (from 01 to 12)
    • +
    • [RRR] : reception centre : “CGS1”, “CGS2”, “CGS3”, “PAC1”, “PAC2”
    • +
    ]]>
    +
    +
    + Granule identification +
    + +
    + + + Unique identification of a tile + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + The granule geometry + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + GPS date-time of the first line of the granule. The date-time is given with a precision of one nanosecond. + + + + DATATION + INIT_LOC_PROD + + + + + + + The granule footprint on ground : list of 5 (lat, lon, h) points. Altitude is provided over the geoid. This footprint is provided as a polygon counter-clockwise oriented. The polygon must be closed (the first and last vertices are the same). + + + + + The granule footprint in the QL display: list of 4 (l,c) points + + + + + Information provided for each granule, at the center of the granule + + + + + + The granule centre on ground : 1 (lat, lon, h) point. Altitude is provided over the geoid. + + + + + The granule centre in the QL display: 1 (l,c) point + + + + + Incidence angles corresponding to the center of the granule + + + + + Solar angles corresponding to the center of the granule + + + + + + + + + + + A percentage of degraded ancillary data is provided for each granule + + + + + A percentage of degraded MSI data is provided for each granule + + + + + + + + + Granule identifier + + + + + + + + Detector identifier + + + + + + + + + + + The granules identification and information + DATATION + INIT_LOC_INV + CLOUD_INV + INIT_LOC_PROD + GEO_S2 + + + + + + + List of the granules composing the datastrip + + + + + + + + + Datastrip identifier + + + + + + + + + + + + + + + + + + + + + + Radiometric quality indicators for each band + + + + + + + + + Noise model parameters (α,β), allowing to estimate the noise as sigma*sigma = α*α+β*S , where S is the signal expressed as digital counts + + + + + + First coefficient of the noise (constant noise) + + + + + Second coefficient of the noise (signal noise) + + + + + + + + Absolute calibration accuracy (%) + + + + + Cross-band calibration accuracy (%) + + + + + Multi-temporal calibration accuracy (%) + + + + + + + + + + + + + + + + Present only Level-1B and Level-1C + + + + + + + + + Cloud Pixel percentage computed for the granule + + + + + + + List of source packets lost / degraded for each couple (band ; detector) + + + + + + + + + Cloud Pixel percentage computed for the granule + + + + + + + List of source packets lost / degraded for each couple (band ; detector) + + + + + + + + + Cloud Pixel percentage computed for the granule + + + + + + + List of source packets lost / degraded for each couple (band ; detector) + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + + + Unique Identifier of a Sentinel2 datastrip + + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + Position of the granule in the origin Datatake + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of source packets lost / degraded for each couple (band ; detector) + + + + + + + + + + + + + + Image Folder + + + + + + This file comprises all the ISP grouped by band and within each band in the observation sequence. + + + + + + + + Folder + + + + + + OLQC XML formatted + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + + + + + + Processing Baseline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + Datastrip Level Decoded Ancillary Data + + + + + + + + + + + + + + + + + + + + + + Datastrip Auxiliary Data + + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Reference to the used GIPP files including DEM identifiers and versions + + + + + DEM type used by the production process (GLOBE or SRTM for example) + + + + + + + + + + + + + + + + + + + Folder + + + + + + One Jpeg File + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + Position of the granule in the origin datastrip + + + + + + + + + + + + + + + + Pointer to the Mask files contained in the QI_DATA folder + + + + + + + + + + + + Image Folder + + + + + + Image data in JPEG2000 format, one file per band. + + + + + + 4 Files + + + + + 6 Files + + + + + 3 Files + + + + + + + + + + + Folder + + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + + + Processing Baseline + + + + + + Processing Baseline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Datastrip Level Decoded Ancillary Data. + + + + + + + + + + + + + + + + + + + + + + + + + + Datastrip Level Auxiliary Data + + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Reference to the GIPP used: DEM, etc. + + + + + DEM type used by the production process (GLOBE or SRTM for example) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Folder + + + + + + One Jpeg File + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + Position of the granule in the origin datastrip. + + + + + + + + + + + + + + + + Pointer to the Mask files contained in the QI_DATA folder + + + + + + + + + + + + Image Folder + + + + + + Image data in JPEG2000 format, one file per band. + + + + + + 4 Files + + + + + 6 Files + + + + + 3 Files + + + + + + + + + + + Folder + + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + + + Processing Baseline + + + + + + Processing Baseline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of granules composing the whole datastrip. + + + + + + For each detector, list of the granules composing the datastrip + + + + + + + + + + + + + + + Position of the granule in the Group of Source Packets. This position is identified through the position of the scenes first lines in the datastrip and is expressed as number of 10m resolution images lines + + + + + + + + + + + Granule identifier + + + + + + + + + + + Detector identifier + + + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + Datastrip Level Decoded Ancillary Data + + + + + + + + + + + + + + + + + + + + + Datastrip Level Auxiliary Data + + + + + + IERS bulletin. These data are provided for the start acquisition date. + + + + DATATION + + + + + + + Reference to the GIPP used: DEM, etc. + + + + + DEM type used by the production process (GLOBE or SRTM for example) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Folder + + + + + + One Jpeg File + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + Position of the granule in the origin datastrip. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to the Mask files contained in the QI_DATA folder + + + + + + + + + + + + Image Folder + + + + + + Image data in JPEG2000 format, one file per band. + + + + + + 4 Files + + + + + 6 Files + + + + + 3 Files + + + + + + + + + + + Folder + + + + + + OLQC XML formatted + + + + + + + + + + + Folder + + + + + XML Main Metadata File + + + + + + + + + Identification of the source datastrip acquisition. General information. + + + + + + + + + + + + Processing Baseline + + + + + + Processing Baseline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of the tiles composing the whole datastrip. + + + + + + + + + + + TILE_IDENTIFIER + + + + + + + + + + + MSI Sensor configuration (Information from MSI telemetry) + + + + + + + + + + + + + + + + + + + + + + + + + + Datastrip Level Decoded Ancillary Data + + + + + + + + + + + + + + + + + + + + + + Datastrip Level Auxiliary Data + + + + + + IERS bulletin. These data are provided for the start acquisition date + + + + DATATION + + + + + + + Reference to the GIPP used + + + + + + + + + + + + Folder + + + + + + One Jpeg File + + + + + OLQC XML formatted + + + + + + + + + + + PDI identification string (granules, datastrip, SAD) + + + + + + + + + The archive latency (On-line / Off-line) + + + + + + + + + The list of MRFs used by a component. + + + + + + + + The MRF filename + + + + + The MRF Validity start time + + + + + The MRF Validity stop time + + + + + + + + + + The different type of GIPP + + + + + + + + + + + + + GIPP file name: it may be several files (BAND_ID, detectors ...) + + + + +
    diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/spacecraft/spacecraft.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/spacecraft/spacecraft.xsd new file mode 100644 index 0000000..75da09b --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/spacecraft/spacecraft.xsd @@ -0,0 +1,56 @@ + + + + + + + S2*. + + + + + + + + Number of satellites (between 1 and 2) + + + + + + + + + S2 + + + + + + + + A, B + + + + + + + + + S2A-S2B + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/station/StationUnavailability.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/station/StationUnavailability.xsd new file mode 100644 index 0000000..db121a8 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/PDGS/station/StationUnavailability.xsd @@ -0,0 +1,43 @@ + + + + + + Details of unavailability + + + + + Enum type of unavailability : PLANNED or UNPLANNED + + + + + + + + + + + Type for Details of unavailability + + + + + Date/Time of unavailability start + + + + + Date/Time of unavailability end + + + + + Commented Reason for unavailability + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/date_time/date_time.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/date_time/date_time.xsd new file mode 100644 index 0000000..6dd83ed --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/date_time/date_time.xsd @@ -0,0 +1,275 @@ + + + + + An non UTC date-time value with a precision of one microsecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.ssssss pattern + + + + + + + + + + An non UTC date-time value with a precision of one millisecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.ssssss pattern + + + + + + + + + + seconds by Ascending or Descending Node + + + + + + + + + A TAI date-time value + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss) pattern and excluding + thus a TimeZone definition. + + + + + + + + + + A GPS date-time value = TAI format + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss) pattern and excluding + thus a TimeZone definition. + + + + + + + + + + A GPS date-time value (= TAI format) with a precision of one nanosecond + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss) pattern and excluding + thus a TimeZone definition. + + + + + + + + + + An instrument measurement date-time value = TAI format + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss) pattern and excluding + thus a TimeZone definition. + + + + + + + + + + An UTC date-time value + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss)Z pattern and excluding + thus a TimeZone definition. + + + + + + + + + + An UTC date-time value + + + date-time value restricted to the + yyyy-mm-ddThh:mm:ss(.sss)Z pattern and excluding + thus a TimeZone definition. + + + + + + + + + + + An UTC date-time value with a precision of one microsecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.ssssssZ pattern + + + + + + + + + + An UTC date-time value with a precision of one millisecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.sssZ pattern + + + + + + + + + + An UTC date-time value with a precision of one second + + + +
      +
    • a fractional seconds definition (value has a precision of one second)
    • +
    • a TimeZone definition
    • +
    ]]>
    +
    +
    +
    + + + +
    + + + An UTC date-time value with a precision of one tenth-of-a-microsecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.sssssssZ pattern + + + + + + + + + + A non UTC (a TAI) date-time value with a precision of one tenth-of-a-microsecond + + + date-time value restricted to the yyyy-mm-ddThh:mm:ss.sssssssZ pattern + + + + + + + + + + Jour julien CNES + + + + + Julian Day + + + + + + + + + + Number of seconds (can be more than the number of seconds in a day). + + + + + + + + + + + + Time data types used in EOF Header + + + $Revision: 1.1 $ $Date: 2011/06/16 11:11:18 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CNES Julian day without seconds + + + + + +
    diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/geographical/geographical.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/geographical/geographical.xsd new file mode 100644 index 0000000..aa18858 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/geographical/geographical.xsd @@ -0,0 +1,160 @@ + + + + + + A Lat/Lon coordinate + + + + + + + + + A polygon defined by n Lat/Lon points + + + + + + + + A -180/+180 degree longitude + + + + Degree + + + + + + + + + + + A -90/+90 degree latitude + + + + Degree + + + + + + + + + + + Altitude (m) + + + + + + List of 2D vertices counter-clockwise oriented (for WFS compatibility). The polygon must be closed (the first and last vertices are the same). + + + + + Point list. The coordinates of the points are entered as pairs of latitude and longitude values, or X and Y, or other + + + + + Point list. The coordinates of the points are entered as pairs of latitude and longitude values, or X and Y, or other + + + + + + + List of 3D vertices counter-clockwise oriented (for WFS compatibility). The polygon must be closed (the first and last vertices are the same). + + + + + Point list. The coordinates of the points are entered as triplets of latitude, longitude and altitude values, or X, Y and Z, or other + + + + + Point list. The coordinates of the points are entered as triplets of latitude, longitude and altitude values, or X, Y and Z, or other + + + + + + Geodetic data types + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/image/image.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/image/image.xsd new file mode 100644 index 0000000..7a8af7c --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/image/image.xsd @@ -0,0 +1,804 @@ + + + + + Spectral band identification + + + + + + + + + + + + + + + Spectral band identification + + + + + + + + + + + + + + + + + + + Spectral band identification + + + + + + + + + + + + + Spacecraft name (Sentinel-2A/B/…) + + + Spacecraft name (Sentinel-2A/B/…) + + + + + + + + + + + Spectral band physical name + + + + + + + + + + + + + + + + + + + + Metadata level Brief/Standard/Expertise + + + + + + + + + + Spectral band index + + + + + + + + + + + + + + + + + + + + Spectral band index with TDI (B3, B4, B11 and B12) + + + + + + + + + + + + + + + List of the resolution of the bands + + + + + + + + + + Focal plane identifier : VNIR or SWIR + + + + + + + + + VNIR spectral band identification + + + + + + + + + Datastrip identification string + + + +GS[SS]_[YYYYMMDDTHHMMSS]_[RRR]_[TTTTT], where :
    +
      +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the datastrip start date (example 20121001T09575020) in UTC time
    • +
    • [RRR] : Processing center, for GPP the value is “GPP”
    • +
    • [TTTTT] : Number of sources packets level 0, B2 band
    • +
    ]]>
    +
    +
    +
    + + + +
    + + + SWIR spectral band identification + + + + + + + + + + + +observation-id: L[pp]_S[SS]_[YYYYMMDDTHHMMSS]_[dd], rec-id: [RRR], where:
    +
      +
    • [pp] : identifies the processing level : “0_”, “1A”, “1B”, “1C” .
    • +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the first line date on the MSI-Scene (ex. 20121001T09575020) in UTC time
    • +
    • [dd] : 2 digits identifying the detector (from 01 to 12)
    • +
    • [RRR] : reception centre : “CGS1”, “CGS2”, “CGS3”, “PAC1”, “PAC2”
    • +
    ]]>
    +
    +
    + Granule identification +
    + +
    + + + Granule identification (L1A and L1B) + + + +GS[SS]_[YYYYMMDDTHHMMSS]_[RRR]_[TTTTT], where :
    +
      +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the datastrip start date (example 20121001T09575020) in UTC time
    • +
    • [RRR] : Processing center, for GPP the value is “GPP”
    • +
    • [TTTTT] : Number of sources packets level 0, B2 band
    • +
    ]]>
    +
    +
    +
    + +
    + + + Detector identification + + + + + + + + + + + + + + + + + + + + Group of Source Packets identification string (without .bin extension) + + + +GS[SS]_[YYYYMMDDTHHMMSS]_[RRR]_[TTTTT], where :
    +
      +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the datastrip start date (example 20121001T09575020) in UTC time
    • +
    • [RRR] : Processing center, for GPP the value is “GPP”
    • +
    • [TTTTT] : Number of sources packets level 0, B2 band
    • +
    ]]>
    +
    +
    +
    + + + +
    + + + Type of degradation of the source packet + + + + + + + + + The size (row and column) of an image + + + + + Number of columns + + + + + + + + + + Number of rows + + + + + + + + + + + + The size (row and column) of each resolution band of an image + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + + GIPP identifier + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JPEG_2000 compression type + + + + + + + + + QL geometry (inventory process) or full resolution geometry (production process) + + + + + + + + + Left or Right side of a detector + + + + + + + + + + + + + + + + + + + + Datatake identification string + + + +GS[SS]_[YYYYMMDDTHHMMSS]_[RRRRRR], where :
    +
      +
    • [SS] : identifies the Sentinel2 satellite : “2A” or “2B”.
    • +
    • [YYYYMMDDTHHMMSS] : identifies the datatake start date (Fourteen digits, date and time separated by the character T)
    • +
    • [RRRRRR] : identifies the sensing Absolute Orbit Number: 000001-999999
    • +
    ]]>
    +
    +
    +
    + + + +
    + + + Pixel managment : true (corrected), false (not detected and not corrected), detection (detected but not corrected) + + + + + + + + + + Type of refining + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flag to identify if the Refined Geometric Model File is computed or obtained from a existing RGMF (reused) + + + + + + +
    diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/misc/misc.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/misc/misc.xsd new file mode 100644 index 0000000..51c938a --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/misc/misc.xsd @@ -0,0 +1,823 @@ + + + + + Ohm unit + + + + + + + + int value expresssed in Ohm ('Ohm' unit attribute) + + + + + + + + + + Email address. + + + + + + + + Adresse Ftp. + + + + + + List of floating point numbers + + + + + + Space separated list of 2 double values + + + + + + + + Space separated list of 3 double values + + + + + + + + Space separated list of 6 double values + + + + + + + + Space separated list of 8 double values + + + + + + + + Space separated list of 13 double values + + + + + + + + An unbounded list of doubles + + + + + + An unbounded list of int values + + + + + + Space separated list of 2 int values + + + + + + + + Space separated list of 8 int values + + + + + + + + + + + + + arcsec unit + + + + + + + + meter unit + + + + + + + + milli meter unit + + + + + + + + milli meter per second unit + + + + + + + + milli radian unit + + + + + + + + radian unit + + + + + + + + + + + + + + + + + + nanosecond unit + + + + + + + + + + + + + degree per second unit + + + + + + + + degree celsius unit + + + + + + + + pixel unit + + + + + + + + + + + + + + + + + + + Space separated list of 3 double values expressed in millimeters ('mm' unit attribute) + + + + + + + + + + Space separated list of 3 double values expressed in millimeters per seconds ('mm/s' unit attribute) + + + + + + + + + + Space separated list of 3 double values expressed in degree per seconds ('mm/s' unit attribute) + + + + + + + + + + + + + + + + + int value expressed in seconds ('s' unit attribute) + + + + + + + + + + int value expressed in meters ('m' unit attribute) + + + + + + + + + + int value expressed in pixels ('pixel' unit attribute) + + + + + + + + + + double value expressed in seconds ('s' unit attribute) + + + + + + + + + + double value expressed in milliseconds ('ms' unit attribute) + + + + + + + + + + double value expressed in seconds ('ns' unit attribute) + + + + + + + + + + double value expressed in degree ('deg' unit attribute) + + + + + + + + + + double value expressed in meters ('m' unit attribute) + + + + + + + + + + double value expressed in milliradians ('m/rad' unit attribute) + + + + + + + + + + + + + + double value expressed in radians ('rad' unit attribute) + + + + + + + + + + double value expressed in degree Celsius unit ('°C' unit attribute) + + + + + + + + + + double value expressed in nm + + + + + + + + + + double value expressed in meters ('arcsec' unit attribute) + + + + + + + + + + a 1 variable polynomial model ( z = P(x)) + + + A 1variable polynome must have (DEGREE+1) coefficients. <br> + The coefficients are written in the list by ascending order of their degree. <br> + For each degree the coefficients are ordered by the greatest degree of the first variable. <br> + Example of degree 3 polynome : <br> + P(x,y) = a + bx + cy + dx2 + exy + fy2 + gx3 + hx2y + ixy2 + jy3 <br> + coefficients list : [a,b,c,d,e,f,g,h,i,j] + + + + + + + + + + + + + + The length of the list must be DEGREE+1, first is constant coefficient + + + + + + + + + + + + + + + + + Describes a position in an array (raw_index, column_index) + + + The position in an array must be coherent with the origin of the array (count element start) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A 3*3 matrix (e.g. a rotation matrix). + + + + + + + + + + A 3*N matrix (double values) + + + + + + + + + + A 6*N matrix (double values) + + + + + + + + + + + + + + + + + + + + + + + First rotation (angles around an axis) + + + + + Second rotation (angles around an axis) + + + + + Third rotation (angles around an axis) + + + + + + + + + First rotation (angles around an axis) + + + + + Second rotation (angles around an axis) + + + + + Third rotation (angles around an axis) + + + + + A scale factor on Z axis (in order to model the focal length deformation) + + + + + The combination order between rotation and scale factor transformations + + + + + + + + + + + + + + + A 1variable polynome must have (DEGREE+1) coefficients. <br> + The coefficients are written in the list by ascending order of their degree. <br> + For each degree the coefficients are ordered by the greatest degree of the first variable. <br> + Example of degree 3 polynome : <br> + P(x,y) = a + bx + cy + dx2 + exy + fy2 + gx3 + hx2y + ixy2 + jy3 <br> + coefficients list : [a,b,c,d,e,f,g,h,i,j] + + + X,Y,Z uncertainties + + + + + + + + + + + + A 1variable polynome must have (DEGREE+1) coefficients. <br> + The coefficients are written in the list by ascending order of their degree. <br> + For each degree the coefficients are ordered by the greatest degree of the first variable. <br> + Example of degree 3 polynome : <br> + P(x,y) = a + bx + cy + dx2 + exy + fy2 + gx3 + hx2y + ixy2 + jy3 <br> + coefficients list : [a,b,c,d,e,f,g,h,i,j] + + + Rotation, translation and homothety transformation uncertainties (X,Y,Z uncertainties) + + + + + + + + + + + + + + + + A 1variable polynome must have (DEGREE+1) coefficients. <br> + The coefficients are written in the list by ascending order of their degree. <br> + For each degree the coefficients are ordered by the greatest degree of the first variable. <br> + Example of degree 3 polynome : <br> + P(x,y) = a + bx + cy + dx2 + exy + fy2 + gx3 + hx2y + ixy2 + jy3 <br> + coefficients list : [a,b,c,d,e,f,g,h,i,j] + + + Rotation, translation and homothety transformation uncertainties (X,Y,Z uncertainties) in lower case + + + + + + + + + + + + + + A relative position (-1, 0 or 1) + + + + + + + + + + An unbounded list of doubles relative position (-1, 0 or 1) + + + + + + Navigation Solution Method + + + + + + + + + + + + + milli volt unit + + + + + + + + double value expressed in milli Volt unit ("mV"' unit attribute) + + + + + + + + + + List of boolean values corresponding in flags values + + + + + + List of 11 boolean values + + + + + + + Basic data types + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + integer value expressed in seconds ('ns' unit attribute) + + + + + + + + + + Space separated list of 3 integer values expressed in millimeters ('mm' unit attribute) + + + + + + + + + + Space separated list of 3 long values + + + + + + + + An unbounded list of long values + + + + + + Space separated list of 3 integer values expressed in millimeters per seconds ('mm/s' unit attribute) + + + + + + + + + + Space separated list of 3 double values expressed in meters ('m' unit attribute) + + + + + + + + + + Space separated list of 3 double values expressed in meters per seconds ('m/s' unit attribute) + + + + + + + + + + meter per second unit + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/orbital/HeaderTypes_Orbit.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/orbital/HeaderTypes_Orbit.xsd new file mode 100644 index 0000000..6f635c7 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/orbital/HeaderTypes_Orbit.xsd @@ -0,0 +1,49 @@ + + + + Orbit Data Types + + + $Revision: 1.2 $ $Date: 2011/07/26 13:12:15 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/orbital/orbital.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/orbital/orbital.xsd new file mode 100644 index 0000000..6c108b7 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/orbital/orbital.xsd @@ -0,0 +1,262 @@ + + + + + + + + + + + Number of pixels + + + + + + + + + + List of Tangent Psi X in the image order (there is one data by pixel) + + + + + List of Tangent Psi Y in the image order (there is one data by pixel) + + + + + + + + + Number of pixels + + + + + + + + + + List of Tangent Psi X in the image order (there is one data by pixel) + + + + + List of Tangent Psi Y in the image order (there is one data by pixel) + + + + + + + orbit (ascending / descending) direction + + + + + + + + + Orbit number + + + + + + Cyclic orbit number + + + + + + + + + orbit type (predicted, restituted) + + + + + + + + Orbit Data Types used in Orbit definitions + + + $Revision: 1.2 $ $Date: 2011/07/26 13:12:15 $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/platform/platform.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/platform/platform.xsd new file mode 100644 index 0000000..528b1df --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/platform/platform.xsd @@ -0,0 +1,41 @@ + + + + + A list of quaternion values. + + + + + + Space separated list of 4 quaternion values ordered as Q0 Q1 Q2 Q3 + + + + + + + + + + + + + + + A double value between -1 and 1. + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/representation/representation.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/representation/representation.xsd new file mode 100644 index 0000000..090ef35 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/representation/representation.xsd @@ -0,0 +1,49 @@ + + + + + + EPSG code : it should follow the 'EPSG:xxxx' pattern where xxxx is the unique identification code in the EPSG tables. + + + + + + + + + + + + + + Identifier of the organization responsible for tables used for identifying coordinate sytem parameters. + + + + + + + + + + + Horizontal coordinate reference system + + + + + + + Code of horizontal coordinate reference system. It should follow the 'EPSG:xxxx' pattern where xxxx is the unique identification code in the EPSG tables. + + + + + + + Projection Code + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/spatio/spatio.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/spatio/spatio.xsd new file mode 100644 index 0000000..42d5287 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/spatio/spatio.xsd @@ -0,0 +1,97 @@ + + + + + + + Sigma quality report for spatiotriangulation + + + + + + + + Histogram for X, Y and Z + + + + + Value in meters + + + + + Value in meters + + + + + + + + + + + Histogram in line and column + + + + + Value in pixel + + + + + + + + + + The histogram defines : a space-separated list of percent values, the first (MIN) and last (MAX) indexes for significant percent values (i.e. sup 0.0), the mean and standard deviation values + + + + + + + + + + + + + + + + Percent values (number depending on the STEP) + + + + + Histogram step + + + + + First index of significant percent value (i.e. > 0.0) + + + + + Last index of significant percent value (i.e. > 0.0) + + + + + Histogram mean value + + + + + Histogram standard deviation + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/tile/tile.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/tile/tile.xsd new file mode 100644 index 0000000..ec5990d --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/DICO/13/SY/tile/tile.xsd @@ -0,0 +1,246 @@ + + + + + + + + Description of a tile in a given representation + + + + + + EPSG code. It should follow the 'EPSG:xxxx' pattern where xxxx is the unique identification code in the EPSG tables. + + + + + Tile dimensions for each resolution band + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + XDIM and YDIM for each resolution band + + + + + + Upper-left coordinate (X value) of the tile + + + + + Upper-left coordinate (Y value) of the tile + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + + + Description of a tile with its bounding box in a given representation + + + + + + EPSG code. It should follow the 'EPSG:xxxx' pattern where xxxx is the unique identification code in the EPSG tables. + + + + + Measure unit of the upper-left coordinates of the tile. The measure unit corresponds with the final representation. + + + + + + + + + + + Upper-left coordinate (X value) of the tile (in UNIT measure unit) + + + + + Upper-left coordinate (Y value) of the tile (in UNIT measure unit) + + + + + Dimensions for 10, 20 and 60m bands + + + + + + Tile dimensions for each resolution band XDIM and YDIM (in UNIT measure unit) + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + + + + Bounding box coordinates of a tile. This bounding box lists the 4 corner points in lat/lon, clockwise defined, starting from upper left corner. + + + + + + + Unique identification of a tile + + + + + + Description of a tile in a given representation + + + + + + EPSG code. It should follow the 'EPSG:xxxx' pattern where xxxx is the unique identification code in the EPSG tables. + + + + + Tile dimensions for each resolution band + + + + + + Number of rows + + + + + + + + + + Number of columns + + + + + + + + + + + + + + XDIM and YDIM for each resolution band + + + + + + Upper-left coordinate (X value) of the tile + + + + + Upper-left coordinate (Y value) of the tile + + + + + Horizontal pixel dimension + + + + + Vertical pixel dimension + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/Inventory_Metadata.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/Inventory_Metadata.xsd new file mode 100755 index 0000000..a309b53 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/Inventory_Metadata.xsd @@ -0,0 +1,321 @@ + + + + + + + + + + + PDI_ID (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + + + + + Datastrip PDI_ID (Applicable to Granule and Tile PDI linked to a Datastrip PDI) + + + + + + + + Label identifying all the PDIs that can be included in a User Product (Applicable to Granule, Tile and Datastrip PDI) (Applicable to Granule, Tile and Datastrip and PDI) + + + + + + + + Equal to File_ID metadata (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + + + + + Processing Baseline (Applicable to Granule, Tile and Datastrip PDI) + + + + + + + + + + System where the PDI is generated by DPC or MCC (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + + + + PDI generator processor name (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + + + Version of the core component ie version of DPC (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + + + PDI Generation Time (Applicable to Granule, Tile, Datastrip PDI) Template: UTC=2013-01-01T,5:11:10 + + + + + + + + + + Sensing Start Time or Validity Start Time (Applicable to Granule, Tile, Datastrip PDI) Template: UTC=2013-01-01T,5:11:10 + + + + + + + + + + + Sensing Stop Time or Validity Stop Time (Applicable to Granule, Tile, Datastrip PDI) Template: UTC=2013-01-01T,5:11:10 + + + + + + + + + + + Start Absolute Orbit number (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + + + Stop Absolute Orbit number will be the same of Start Absolute Orbit number (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + + + Granule/Tile/Datastrip footprint (Applicable to Granule, Tile and Datastrip PDI) + + + + + + + + + + + + + List of polygon vertex in term of (lat,lon) points, in counter-clockwise order + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Percentage for PDI Quality Indicator (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + + + + PDI Size defined in Mb (Applicable to Granule, Tile, Datastrip PDI) + + + + + PDI File Type (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + + + Detector ID (Applicable for Granule PDI) + + + + + + + + + + + Timeliness (Applicable to Granule, Tile and Datastrip PDI) + + + + + + + + + + + + + + + + MSI fixed string (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + MSI Image mode (Applicable to Granule, Tile and Datastrip PDI) + + + + + + + + + + + + + + + + + Acquisition Station Code (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + Processing Station Code, equal to System metadata (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + S2A or S2B. NIL if applicable to both satellites + + + + + + + + + + + + True if acquisition has been done during the ascending phase of the orbit (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + + + + Cloud coverage percentage (Applicable to Granule, Tile, Datastrip PDI) + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/OLQC_Report.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/OLQC_Report.xsd new file mode 100644 index 0000000..a20bb55 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/OLQC_Report.xsd @@ -0,0 +1,333 @@ + + + + + + EOFFS entry point of this xml file + + + + + + + + + + + + + + + OLQC report + + + + + type defining Passed/Failed/Error status + + + + + + + + + + + + + + + + + EOFFS standard File type + + + + + EOFFS header type + + + + + + + + The name of the file (c.f. EOFFS std: MMM_CCCC_TTTTTTTTTT_*instance_id*) + + + + + + Fixed string "File to use to configure Amalfi" + + + + + + Fixed string : Mission ID extracted from filename (MMM = "S2_"|"S2A"|"S2B") + + + + + + + + + + + + File_Class extracted form filename (i.e. "OPER") - not fixed here. Please note that the File Class will be set +“OPER” for all products generated during +the operation phase. During validation or for +internal testing other values can be defined. + + + + + File type extracted from filename "TTTTTTTTTT" = FFFFDDDDDD + whereFile Category : "FFF" = "REP_" +Semantic Descriptor : "DDDDDD" = "OLQCPA" (See PSD-V05) + + + + + + + + + + + + + + + Date of report creation + + + + + MPA fixed end validity date for this file + + + + + + + + must be the same as ../../../Data_Block/report/@version + + + + + + + + + + source generated by MPA + + + + + + + + + + + + + + + + + + + EOFFS datablock type + + + + + + + + + + + + + + + + When the inspection has been created. + + + + + Elapsed time for this inspection. + + + + + When this inspection processing started. + + + + + The uniq identifier for this inspection. For sentinel-2 product. This identifier is prefixed with the S2 namespace. (i.e. "http://www.esa.int/s2#ispCategory") + + + + + The item on which this inspection is attached. This item is not necessary the same as the one specified on the top level checklist definition. It can be a sub item of the product. + + + + + The URL pointing to the inspected item + + + + + Human readable name of this inspection. + + + + + Priority level of this inspection + + + + + The status of the inspection processing. Possible status in this report are "Done" when inspection performed, or "Canceled" if inspection process was cancelled. + + + + + Inspection result status : "PASSED" if the inspection successully processed, "FAILED" if the inspection does not reach expected values or "ERROR" if the inspector raise an error. + + + + + + + the url to the item + + + + + The human readable class name of this item. + + + + + the human readable name of this item. + + + + + Drb class + + + + + + + + This field contains the name of OLQC GIPP + + + + + This field contains the name of the checklist + + + + + This field contains the version of the checklist + + + + + the root item on which this checklist is applied. + + + + + + results of processed check. + + + + + + Amalfi inspection information entry that gather all the information use to retrieve the processed inspection in Amalfi addons. + + + + + The inspection message formatted according to the contentType attribute. + + + + + + + The content type of the message. Usually content type is set to 'text/plain". + + + + + + + + + This optional field is used to make explicit +the values present in the message field + + + + + + + + + + + + + + + + + + + + + + + + + + the list of checks + + + + + + The version of the GIPP used to produce this report. + + + + + The global status of the instections gathered into this report. + + + + + The date of creation of this report. + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/Readme.txt b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/Readme.txt new file mode 100644 index 0000000..c0463a8 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/Readme.txt @@ -0,0 +1,462 @@ +Changes Log: + +*********** + * +XSD V7.1 * + * +*********** +Inventory_Metadata.xsd - V7.1 +*************************** +Removed "Acquisition_Stationold" metadata. + + + +*********** + * +XSD V7.2 * + * +*********** +dimap.xsd - V7.2 +*************************** +A_PRODUCT_OPTION complexType: +1. added maxOccurs="13"to the "BAND_NAME" element +2. moved "productLevel" attribute from "Aux" node to "Aux_List" node +3. defined DATASTRIP_ID element as "item:DATASTRIP_ID" +4. added A_QUALITY_INDICATORS_INFO_USER_PROD_L1B complexType +5. added A_QUALITY_SUMMARY_L1B_USER complexType + +DIMAP_user_product_Level-1B.xsd - V7.2 +************************************* +Re-defined Quality_Indicators_Info element as type="dimap:A_QUALITY_INDICATORS_INFO_USER_PROD_L1B + +SAFE_user_product_Level-1B.xsd - V7.2 +************************************* +Re-defined Quality_Indicators_Info element as type="dimap:A_QUALITY_INDICATORS_INFO_USER_PROD_L1B + + + +*********** + * +XSD V7.3 * + * +*********** +dimap.xsd - V7.3 +*************************** +1. AN_ANCILLARY_DATA_DSL0: modified to have a unique Satellite_Ancillary_Data_Info description for all level of processing (L0/L1A/L1B/L1C) +2. A_SOURCE_PACKET_DESCRIPTION_GRL0: replaced detector_Id and band_Id with detectorId and bandId + +DIMAP_Level-1A_DataStrip.xsd - v7.3 +**************************************** +Replaced with + + +DIMAP_Level-1B_DataStrip.xsd - v7.3 +**************************************** +Replaced with + + + + +*********** + * +XSD V8.0 * + * +*********** +Renamed the schemas filename: +User_Product_S2_Level-0.xsd -> S2_User_Product_Level-0_Structure.xsd +User_Product_S2_Level-1A.xsd -> S2_User_Product_Level-1A_Structure.xsd +User_Product_S2_Level-1B.xsd -> S2_User_Product_Level-1B_Structure.xsd +User_Product_S2_Level-1C.xsd -> S2_User_Product_Level-1C_Structure.xsd +DIMAP_User_Product_S2_Level-0.xsd -> S2_User_Product_Level-0_Metadata.xsd +DIMAP_User_Product_S2_Level-1A.xsd -> S2_User_Product_Level-1A_Metadata.xsd +DIMAP_User_Product_S2_Level-1B.xsd -> S2_User_Product_Level-1B_Metadata.xsd +DIMAP_User_Product_S2_Level-1C.xsd -> S2_User_Product_Level-1C_Metadata.xsd + +dimap.xsd - V8.0 +*************************** +2. AN_IMAGE_DATA_INFO_DSL1A: added Product_Compression node +3. AN_IMAGE_DATA_INFO_DSL1B: added Product_Compression node +4. AN_IMAGE_DATA_INFO_DSL1C: added Product_Compression node +5. A_RADIOMETRIC_DATA_L1A: added Spectral_Information_List node +6. A_RADIOMETRIC_DATA_L1B: added Spectral_Information_List node +7. A_RADIOMETRIC_DATA_L1C: added Spectral_Information_List node +8. A_PRODUCT_INFO_USERL1AL1B: added Spectral_Information_List node +9. A_PRODUCT_INFO_USERL1C: added Spectral_Information_List node +10. A_PRODUCT_INFO_USERL1AL1B_SAFE: added Spectral_Information_List node +11. A_PRODUCT_INFO_USERL1C_SAFE: added Spectral_Information_List node +13. A_MSI_OPERATION_MODE: modified to add all missing operation modes +14. A_PRODUCT_OPTIONS: modified to align DO to SAD +15. A_GENERAL_INFO_L1C: modified SENSING_TIME type (date_time:AN_UTC_DATE_TIME_TWO) +16. Product_Organisation: modified to have a User product description based on granules instead on datastrip +17. AN_AUXILIARY_DATA_INFO_USERL0L1A: removed IERS_Bulletin_Info and DataStrip_Generation_Info nodes +18. AN_AUXILIARY_DATA_INFO_USERL0L1A: Moved PHYSICAL_GAINS and REFERENCE_BAND from Auxiliary_Data_Info to General_Info +19. AN_AUXILIARY_DATA_INFO_USERL1B: removed IERS_Bulletin_Info and DataStrip_Generation_Info nodes +20. renamed A_PRODUCT_INFO_USERL1AL1B as A_PRODUCT_INFO_USERL1B +21. AN_AUXILIARY_DATA_INFO_USERL1B: moved Restoration_Parameters and Equalization_Parameters from Auxiliary_Data_Info to General_Info +22. AN_AUXILIARY_DATA_INFO_USERL1C: removed IERS_Bulletin_Info and DataStrip_Generation_Info nodes +23. AN_AUXILIARY_DATA_INFO_USERL1C: Moved PHYSICAL_GAINS and REFERENCE_BAND from Auxiliary_Data_Info to General_Info +24. A_PRODUCT_INFO: modified Product_Organization node + + +Inventory_Metadata.xsd - V8.0 +******************************** +Removed "List_Of_Gaps" metadata +Added pattern in Validity_Start/Validity_Sop metadata + + +PDI_S2_Level-1C_Tile.xsd - v8.0 +************************************* +Added AUX_DATA + + +item.xsd +************************************* +Added pattern in DATASTRIP_ID definition + +data_time +************************************* +Added AN_UTC_DATE_TIME_TWO simpleType + + + +*********** + * +XSD V9.0 * + * +*********** +dimap.xsd - V9.0 +*************************** +1. A_MASK_LIST: modified annotations and added possible values for mask file types +2. NUMBER_OF_T00_DEGRADED_PACKETS renamed as NUMBER_OF_TOO_DEGRADED_PACKETS +3. A_PRODUCT_INFO_USERL0: added ON_BOARD_COMPRESSION_MODE metadata +4. AN_ACQUISITION_CONFIGURATION: changed metadataLevel on Active_Detectors_List from Expertise to Brief +5. moved Image_Display_Order node and QUANTIFICATION_VALUE field from AN_AUXILIARY_DATA_INFO_DSL1C to A_RADIOMETRIC_DATA_L1C +6. moved Image_Display_Order node from AN_AUXILIARY_DATA_INFO_DSL1A to A_RADIOMETRIC_DATA_L1A +7. moved Image_Display_Order node from AN_AUXILIARY_DATA_INFO_DSL1B to A_RADIOMETRIC_DATA_L1B +8. added A_QUALITY_SUMMARY_L0_L1A_USER +9. added A_QUALITY_SUMMARY_L1A_L1B_USER +10. added A_PROCESSING_SPECIFIC_PARAMETERS complexType +11.A_GENERAL_INFO_L0_L1A_L1B: added Processing_Specific_Parameters field +12.A_GENERAL_INFO_L1C: added Processing_Specific_Parameters field +13.A_GENERAL_INFO_DS: added Processing_Specific_Parameters field +14.AN_IMAGE_DATA_INFO_DSL1C: moved TileId attribute from Tile_List to Tile + + +item.xsd +************************************* +1. Modified DATATAKE_ID definition to include the Processing Baseline sub-field +2. added IMAGE_ID simpleType + + +S2_User_Product_Level-1C_Structure.xsd - V9.0 +*********************************************** +Modified to add AUX_DATA at GRANULE level + + +S2_User_Product_Level-0_Metadata.xsd - V9.0 +*********************************************** +modified Quality_Indicator_Info element as "dimap:A_QUALITY_INDICATORS_INFO_USER_PROD_L0_L1A" type + + +S2_User_Product_Level-1A_Metadata.xsd - V9.0 +*********************************************** +modified Quality_Indicator_Info element as "dimap:A_QUALITY_INDICATORS_INFO_USER_PROD_L0_L1A" type + + +S2_User_Product_Level-1B_Metadata.xsd - V9.0 +*********************************************** +modified Quality_Indicator_Info element as "dimap:A_QUALITY_INDICATORS_INFO_USER_PROD_L1B_L1C" type + + +S2_User_Product_Level-1C_Metadata.xsd - V9.0 +*********************************************** +modified Quality_Indicator_Info element as "dimap:A_QUALITY_INDICATORS_INFO_USER_PROD_L1B_L1C" type + + +Renamed the schemas filename: +PDI_S2_Level-0_Granule.xsd -> S2_PDI_Level-0_Granule_Structure.xsd +PDI_S2_Level-1A_Granule.xsd -> S2_PDI_Level-1A_Granule_Structure.xsd +PDI_S2_Level-1B_Granule.xsd -> S2_PDI_Level-1B_Granule_Structure.xsd +PDI_S2_Level-1C_Tile.xsd -> S2_PDI_Level-1C_Tile_Structure.xsd +DIMAP_S2_Level-0_Granule.xsd -> S2_PDI_Level-0_Granule_Metadata.xsd +DIMAP_S2_Level-1A_Granule.xsd -> S2_PDI_Level-1A_Granule_Metadata.xsd +DIMAP_S2_Level-1B_Granule.xsd -> S2_PDI_Level-1B_Granule_Metadata.xsd +DIMAP_S2_Level-1C_Tile.xsd -> S2_PDI_Level-1C_Tile_Metadata.xsd +PDI_S2_Level-0_Datastrip.xsd -> S2_PDI_Level-0_Datastrip_Structure.xsd +PDI_S2_Level-1A_Datastrip.xsd -> S2_PDI_Level-1A_Datastrip_Structure.xsd +PDI_S2_Level-1B_Datastrip.xsd -> S2_PDI_Level-1B_Datastrip_Structure.xsd +PDI_S2_Level-1C_Datastrip.xsd -> S2_PDI_Level-1C_Datastrip_Structure.xsd +DIMAP_S2_Level-0_Datastrip.xsd -> S2_PDI_Level-0_Datastrip_Metadata.xsd +DIMAP_S2_Level-1A_Datastrip.xsd -> S2_PDI_Level-1A_Datastrip_Metadata.xsd +DIMAP_S2_Level-1B_Datastrip.xsd -> S2_PDI_Level-1B_Datastrip_Metadata.xsd +DIMAP_S2_Level-1C_Datastrip.xsd -> S2_PDI_Level-1C_Datastrip_Metadata.xsd + + +*********** + * +XSD V10 * + * +*********** +dimap.xsd - V10 +*************************** +1.A_PRODUCT_OPTIONS: removed "" step to have more of one User download options +2.AN_AUXILIARY_DATA_INFO_DSL1C: added PRODUCTION_DEM_TYPE, IERS_BULLETIN_FILENAME, GRI_FILENAME to aligns PSD-XSD to PSD +3.A_GENERAL_INFO_L1C: added metadataLevel attribute to SENSING_TIME tag to aligns PSD-XSD to PSD +4.A_PRODUCT_INFO_USERL1A, A_PRODUCT_INFO_USERL1B, A_PRODUCT_INFO_USERL1C: put Spectral_Information_List as optional node +because it is optional at PDI level + + +item.xsd - V10 +************************************* +1.Removed Processing Baseline from PVI_ID definition to align the schema to the PSD +2.Added GRANULE_TILE_ID to have a single ID to be used to reference at User Product level all Granules/Tiles +3.Modified IMAGE_ID regex to include Band Index = 8A +4.Modified GIPP_ID, DEM_ID, GRI_ID, IERS_ID and ECMWF_ID regex to include the "S2_" mission ID applicable for satellite independent files + + +*********** + * +XSD V11 * + * +*********** +dimap.xsd - V11 +*************************** +1. Updated annotation for SENSING_TIME metadata (A_GENERAL_INFO_L0_L1A_L1B): "Time stamp of the first line of the Granule" (see R18 PSD PIRN) +2. Removed additional blank in "A_MSI_OPERATION_MODE" definition (see R20 PSD PIRN) +3. Added QL_FOOTPRINT element in A_GRANULE_POSITION complexType (see R23 PSD PIRN) +4. Removed DATATAKE_SENSING_STOP element from A_DATATAKE_IDENTIFICATION complexType (see R24 PSD PIRN) +5. Added PRODUCT_START_TIME & PRODUCT_STOP_TIME to A_PRODUCT_INFO complexType (see R24 PSD PIRN) +6. Added Area_Of_Inteest element into A_PRODUCT_OPTIONS complexType (see R25 PSD PIRN) +7. Updated annotation for REF_QL_IMAGE in A_QUICKLOOK_DESCRIPTOR (see R26 PSD PIRN) +8. Updated ANC_DATA_REF definition (see R27 PSD PIRN) + + +item.xsd - V11 +************************************* +1.Updated POD_ID definition to be compliant to the current applicable POD-ICD (removed orbit from pattern, see R19 PSD PIRN) + +Inventory_Metadata.xsd - V11 +***************************** +1. Update to remove all references to SAD PDI (see R21 PSD PIRN) + + +SAFE xfdu.xsd - see S2-PDGS-TAS-DI-PSD-V11_SAFE.zip (see R22 PSD PIRN) +********************************************************** +Updated xfdu.xsd (and related examples of manifest.safe) specific for: +- L1A/L1B/L1C GR/Tile PDI +- L1A/L1B/L1C User Products +in order to correctly reference the mask files (band dependent) in the products + + + +*********** + * +XSD V12 * + * +*********** +dimap.xsd - V12 +*************************** +1.(see R28 in the PIRN) +added "Reflectance_Conversion" node in "A_RADIOMETRIC_DATA_L1C" complexType and "A_PRODUCT_INFO_USERL1C" complexType. + +2.(see R29 in the PIRN) +Removed additional blank at the end of "FULL_SWATH_DATATAKE" element + +3.(see R30 in the PIRN) +updated definition of "SPACECRAFT_NAME" element of "A_DATATAKE_IDENTIFICATION" complexType + + + Sentinel-2 Spacecraft name + + + + + + + + + +4.(see R31 in the PIRN) +Updated Processing_Info node in "A_GENERAL_INFO_DS" + +5.(see R32 in the PIRN) +put "metadataLevel = Expertise" on "ACTIVE_DETECTOR" element + +6.(see R34 in the PIRN) +- Removed "QUATERINION_STATUS" from "A_RAW_ATTITUDE" complexType +- Removed "QUATERINION_STATUS" from "AN_ATTITUDE_DATA_INV" complexType +- Renamed "ATTITUDE_QUALITY_INDICATOR" as "ATTITUDE_QUALITY" in "A_RAW_ATTITUDE" and changed the possible values +("NOATTITUDE", "APRIORIATT", "COARSEATT", "UNCONFATT", "VALIDATT") +- added "ATTITUDE_QUALITY_INDICATOR" in "AN_ATTITUDE_DATA_INV" complexType + +7.(see R35 in the PIRN) +Added the OPTIONAL node "Other_Ancillary_Data" in "AN_ANCILLARY_DATA_DSL0" complexType + +8.(see R36 in the PIRN) +Put FPA_List node as OPTIONAL + +9.(see R37 in the PIRN) +Updated as UNBOUNDED the node Image_Refining/Correlation_Quality in "A_GEOMETRIC_REFINING_QUALITY_L1B_L1C" complexType + +10.(see R39 in the PIRN) +Updated the schema according to the CGS and PAC ID defined in [EOFFS-PDGS] V1.2 + +11.(see R40 in the PIRN) +Updated as UNBOUNDED the node VNIR_SWIR_Registration/Correlation_Quality in "A_GEOMETRIC_REFINING_QUALITY_L1B_L1C" complexType + + +misc.xsd - V12 +************************** +1.(see R33 in the PIRN) +Updated A_NSM definition according to the applicable SAD-ICD + + +center.xsd - V12 +************************** +1.(see R39 in the PIRN) +Updated "A_S2_ARCHIVING_CENTRE", "A_S2_ACQUISITION_CENTER" and "A_S2_PROCESSING_CENTRE" definitions +according to the CGS and PAC ID defined in [EOFFS-PDGS] V1.2 + + +S2-PDGS-TAS-DI-PSD-V12_SAFE +************************************ +1. Replaced in the schema the path "~\resources\xsd\int\esa\safe\sentinel\1.1" instead of "\resources\xsd\int\esa\safe\sentinel-1.0" +2. Replaced namespace="http://www.esa.int/safe/sentinel/1.0" invece di namespace="http://www.esa.int/safe/sentinel-1.1" +3. Replaced in the Manifest examples the code "PAC1" with "EPA_" +4. Removed in the Manifest examplex the tag + + +************************************ +CHANGE OF NAMESPACES (see R41 in the PIRN) +In the schemas listed hereafter all instance of: +"http://pdgs.s2.esa.int/" and "http://gs2.esa.int/" +have been replaced with: +"https://psd-12.sentinel2.eo.esa.int/" + + +1. item.xsd +2. center,xsd +3. data_time.xsd +4. image.xsd +5. orbital.xsd +6. misc.xsd +7. geographical.xsd +8. platform.xsd +9. spatio.xsd +10. tile.xsd +11. representation.xsd +12. dimap.xsd +13. Inventory.xsd +14. S2_PDI_Level-0_Datastrip_Metadata.xsd +15. S2_PDI_Level-0_Granule_Structure.xsd +16. S2_PDI_Level-1A_Granule_Structure.xsd +17. S2_PDI_Level-1B_Granule_Structure.xsd +18. S2_PDI_Level-1C_Tile_Structure.xsd +19. S2_PDI_Level-0_Granule_Metadata.xsd +20. S2_PDI_Level-1A_Granule_Metadata.xsd +21. S2_PDI_Level-1B_Granule_Metadata.xsd +22. S2_PDI_Level-1C_Tile_Metadata.xsd +23. S2_PDI_Level-0_Datastrip_Structure.xsd +24. S2_PDI_Level-1A_Datastrip_Structure.xsd +25. S2_PDI_Level-1B_Datastrip_Structure.xsd +26. S2_PDI_Level-1C_Datastrip_Structure.xsd +27. S2_PDI_Level-0_ Datastrip_Metadata.xsd +28. S2_PDI_Level-1A_Datastrip_Metadata.xsd +29. S2_PDI_Level-1B_Datastrip_Metadata.xsd +30. S2_PDI_Level-1C_Datastrip_Metadata.xsd +31. S2_User_Product_Level-0_Structure.xsd +32. S2_User_Product_Level-1A_Structure.xsd +33. S2_User_Product_Level-1B_Structure.xsd +34. S2_User_Product_Level-1C_Structure.xsd +35. S2_User_Product_Level-0_Metadata.xsd +36. S2_User_Product_Level-1A Metadata.xsd +37. S2_User_Product_Level-1B Metadata.xsd +38. S2_User_Product_Level-1C Metadata.xsd + + + +*********** + * +XSD V12.1 * + * +*********** + +INTERNAL USAGE ONLY + + +*********** + * +XSD V12.2 * + * +*********** + +dimap.xsd +1.Implemented the issue ESA-3174 (replaced ECMWF_FILENAME with ECMWF_DATA_REF) +2 Implemented the issue ESA-3294 (corrected attributes for A_DATASTRIP_REPORT_LIST and A_GRANULE_REPORT_LIST) +3.Implemented the issue ESA-3334 (defined A_GIPP_LIST_L0, A_GIPP_LIST_L1A, A_GIPP_LIST_L1B and A_GIPP_LIST_L1C) +4.Added A_DATASTRIP_ID_REPORT and A_GRANULE_ID_REPORT +5.Added minOccurs="0" and maxOccurs="unbounded" on "Datastrip_Report" and "Granule_Report" elements of A_QUALITY_INDICATORS_INFO_USER_PROD_L0_L1A complexType +5.Added minOccurs="0" and maxOccurs="unbounded" on "Datastrip_Report" and "Granule_Report" elements of A_QUALITY_INDICATORS_INFO_USER_PROD_L1B_L1C complexType + + +image.xsd +1. Implemented the issue ESA-3173 (replaced �I� (capital "i") in "" with �l� (minuscule "L")). + +item.xsd +1. Replaced the file class "OPER" (inside of all PDI ID definitions) with a flexible regex "[\w{Lu}_]{4}" + + +*********** + * +XSD V13 * + * +*********** + +dimap.xsd +1. modified A_PRODUCT_INFO_USERL0 definition: REFERENCE_BAND optional and PHYSICAL_GAINS with maxOcc = 13. +2. modified A_PRODUCT_INFO_USERL1A definition: REFERENCE_BAND optional and PHYSICAL_GAINS with maxOcc = 13. +3. modified A_PRODUCT_INFO_USERL1B definition: REFERENCE_BAND optional and PHYSICAL_GAINS with maxOcc = 13. +4. modified A_PRODUCT_INFO_USERL1C definition: REFERENCE_BAND optional and PHYSICAL_GAINS with maxOcc = 13. +5. Put as OPTIONAL the branch "Attutude_Data_List" according to the issue IPFSPR-282 +6. Set as A_POSITIVE_LONG the IMT element according to IPFSPR-281 +7. Put as OPTIONAL the metadata Geometric_Header/QL_CENTER according to the issue ESA-4084 +8. Replaced the file type GIP_R2EQOB with file type GIP_R2EOB2 according to the issue OPS-469 + +misc.xsd +1. added A_POSITIVE_LONG sympleType according to IPFSPR-281 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata.xsd new file mode 100644 index 0000000..bad2683 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata.xsd @@ -0,0 +1,19 @@ + + + + + + Instance of the Level-1C_DataStrip_ID + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata_Brief.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata_Brief.xsd new file mode 100644 index 0000000..7f447f0 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata_Brief.xsd @@ -0,0 +1,17 @@ + + + + + + Instance of the Level-1C_DataStrip_ID + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata_Standard.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata_Standard.xsd new file mode 100644 index 0000000..23c87be --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Datastrip_Metadata_Standard.xsd @@ -0,0 +1,19 @@ + + + + + + Instance of the Level-1C_DataStrip_ID + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata.xsd new file mode 100644 index 0000000..0c89119 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata.xsd @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata_Brief.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata_Brief.xsd new file mode 100644 index 0000000..66bde44 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata_Brief.xsd @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata_Standard.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata_Standard.xsd new file mode 100644 index 0000000..998651d --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-1C_Tile_Metadata_Standard.xsd @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Datastrip_Metadata.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Datastrip_Metadata.xsd new file mode 100755 index 0000000..7d54eb4 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Datastrip_Metadata.xsd @@ -0,0 +1,25 @@ + + + + + + Instance of the DIMAP_Level-2A_DataStrip_ID + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Datastrip_Structure.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Datastrip_Structure.xsd new file mode 100755 index 0000000..2a41cd0 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Datastrip_Structure.xsd @@ -0,0 +1,42 @@ + + + + + Instance of the DataStrip_ID + + + + + Folder + + + + + XML Main Metadata File + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Tile_Metadata.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Tile_Metadata.xsd new file mode 100755 index 0000000..4b77e32 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_PDI_Level-2A_Tile_Metadata.xsd @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_User_Product_Level-1C_Metadata.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_User_Product_Level-1C_Metadata.xsd new file mode 100644 index 0000000..7d3d37a --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_User_Product_Level-1C_Metadata.xsd @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_User_Product_Level-2A_Metadata.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_User_Product_Level-2A_Metadata.xsd new file mode 100755 index 0000000..dbe4972 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/S2_User_Product_Level-2A_Metadata.xsd @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-1C_Datastrip_Structure.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-1C_Datastrip_Structure.xsd new file mode 100644 index 0000000..17ce002 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-1C_Datastrip_Structure.xsd @@ -0,0 +1,70 @@ + + + + + Instance of the Datastrip_ID + + + + + Folder + + + + + XML Metadata File + + + + + + + + + + + + + + + + + + + + + + Folder + + + + + + OLQC reports XML formatted + + + + + + + + XML File + + + + + + XML File + + + + + + Folder + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-1C_Tile_Structure.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-1C_Tile_Structure.xsd new file mode 100644 index 0000000..173a7d6 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-1C_Tile_Structure.xsd @@ -0,0 +1,108 @@ + + + + + + Folder + + + + + XML Metadata File + + + + + + + + + + + + + + + + Image Folder + + + + + + Image data in JPEG2000 format, one file per band. Image File naming convention = PDI_ID_BandIndex.JP2 + + + + + + 4 Files + + + + + 6 Files + + + + + 3 Files + + + + + + + + + + + Folder + + + + + + OLQC reports XML formatted + + + + + GML Quality Mask files + + + + + PVI Preview Image file + + + + + + + + Folder containing ECMWF data resampled in UTM projection + + + + + + XML File + + + + + + XML File + + + + + + Folder + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-2A_Datastrip_Structure.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-2A_Datastrip_Structure.xsd new file mode 100755 index 0000000..2a41cd0 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-2A_Datastrip_Structure.xsd @@ -0,0 +1,42 @@ + + + + + Instance of the DataStrip_ID + + + + + Folder + + + + + XML Main Metadata File + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-2A_Tile_Structure.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-2A_Tile_Structure.xsd new file mode 100755 index 0000000..cc28900 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_PDI_Level-2A_Tile_Structure.xsd @@ -0,0 +1,156 @@ + + + + + + Folder + + + + + XML Main Metadata File (DIMAP_S2_Level-2A_Tile.xsd) + + + + + + + + + + + + + + + + Image Folder. Surface reflectance Image data in JPEG2000 format, one file per band and per resolution. Image File naming convention = PDI_ID_BandIndex.JP2 + + + + + + + + + 4 channels (B2, B3, B4, B8) omitting the original 20m and 60m channels + + + + + 1 file: Aerosol Optical Thickness map (at 550nm) + + + + + 1 file: Scene-average Water Vapour map + + + + + + + + + + + 9 channels (B2, B3, B4, B5, B6, B7, B8a, B11, B12), omitting the original 60m channels + + + + + 1 file: Aerosol Optical Thickness map (at 550nm) + + + + + 1 file: Scene-average Water Vapour map + + + + + + + + + + + 11 channels (B1, B2, B3, B4, B5, B6, B7, B8a, B9, B11, B12) excluding the 1375 nm cirrus band B10, as it does not contains surface information + + + + + 1 file: Aerosol Optical Thickness map (at 550nm) + + + + + 1 file: Scene-average Water Vapour map + + + + + + + + Image data in JPEG2000 format, Scene Classification image provides an attribute to each pixel to indicate its type (cloud, snow, vegetation, land, water, etc...). Image File naming convention = PDI_ID_SC.JP2. Available at 20m and 60m resolution. + + + + + + + + Folder + + + + + + Raster mask values range from 0 for high confidence clear sky to 100 for high confidence cloudy. Unsigned Integer. JPEG2000. 8bit. available at 20m and 60m resolution. + + + + + Raster mask values range from 0 for high confidence NO snow/ice to 100 for high confidence snow/ice. Unsigned Integer. JPEG2000. 8bit. available at 20m and 60m resolution. + + + + + PVI Preview Image file + + + + + Level-1C Quality Indicators at pixel level + + + + + + These masks are derived from Level-1B processing and are provided for each band and tile (defective pixels mask, saturated pixels mask and no-data pixels mask). GML vector file + + + + + These L1C technical quality masks (MSI lost data, MSI degraded data, ancillary lost data, ancillary degraded data) are provided for each band and tile. GML vector file. + + + + + Mask providing the ground footprint of each detector within a tile. GMLvector file. + + + + + + + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_User_Product_Level-1C_Structure.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_User_Product_Level-1C_Structure.xsd new file mode 100644 index 0000000..3fac196 --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_User_Product_Level-1C_Structure.xsd @@ -0,0 +1,75 @@ + + + + + + + + XML Main Metadata File + + + + + + Folder containing the Tiles composing the product + + + + + + + + + + + + Folder containing ECMWF data resampled in UTM projection + + + + + + + + + + + + Folder containing the DataStrip composing the product + + + + + + Folder containing (if requested by the user, download option) all Auxiliary Data used for the processing + + + + + + Browse Image File (PNG) + + + + + XML manifest file (SAFE) + + + + + Folder (SAFE) + + + + + XML INSPIRE metadata file + + + + + Folder containing a product presentation file + + + + + diff --git a/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_User_Product_Level-2A_Structure.xsd b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_User_Product_Level-2A_Structure.xsd new file mode 100755 index 0000000..68d21cd --- /dev/null +++ b/sen2cor/cfg/S2-PDGS-TAS-DI-PSD-V13.1_Schema/STRUCTURE/S2_User_Product_Level-2A_Structure.xsd @@ -0,0 +1,70 @@ + + + + + + + + XML Main Metadata File + + + + + + Folder containing the Tiles composing the product + + + + + + + + + + + + Folder containing ECMWF data resampled in UTM projection + + + + + + + + + + + + Folder containing the Datastrip Metadata and Quality Indicators at Datastrip level + + + + + + Folder containing all Auxiliary Data used for Level-2A processing + + + + + + + + + + + Preview Image file. (JPEG) + + + + + XML file + + + + +