Sie sind auf Seite 1von 39

Sentinel 3 Marine Copernicus Data Access

User Manual
https://coda.eumetsat.int

Sentinel 3 Marine Copernicus Data Acces

EUMETSAT
Doc.No. : EUM/OPS-SEN3/MAN/16/880763 Eumetsat-Allee 1, D-64295 Darmstadt, Germany
Tel: +49 6151 807-7
Issue : v2 Draft Fax: +49 6151 807 555
Date : 24 January 2017 http://www.eumetsat.int
WBS/DBS :

© EUMETSAT
The copyright of this document is the property of EUMETSAT.
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

Table of Contents
1 INTRODUCTION .............................................................................................................................. 4
1.1 File naming convention .......................................................................................................... 4
1.2 Acronyms scheme .................................................................................................................. 6
1.3 OLCI and SLSTR bands description ...................................................................................... 7
1.3.1 OLCI ................................................................................................................................. 7
1.3.2 SLSTR.............................................................................................................................. 7

2 GRAPHICAL USER INTERFACE ................................................................................................... 9


2.1 Search Panel .......................................................................................................................... 9
2.2 Map tool................................................................................................................................ 10
2.3 Search result ........................................................................................................................ 10
2.4 User Profile Panel ................................................................................................................ 13
2.5 Full Text Search ................................................................................................................... 14
2.5.1 Wildcards and Operators ............................................................................................... 14
2.5.2 Search Keywords ........................................................................................................... 15
2.6 Batch products download from CODA GUI .......................................................................... 18
2.7 APIs and Batch Scripting ..................................................................................................... 20

3 OPEN DATA PROTOCOL (ODATA) ............................................................................................. 21


3.1 URI Components .................................................................................................................. 21
3.2 Responses ........................................................................................................................... 22
3.3 XML Responses ................................................................................................................... 22
3.4 Service Metadata Document ................................................................................................ 22
3.5 Using OData to discover products in the CODA Web Service archive ................................ 23
3.5.1 Querying the content of the products archive: usage of the /Products resource path ... 23
3.5.2 Querying a single Product in the archive ....................................................................... 24
3.5.3 Querying the products (paging) ..................................................................................... 25
3.5.4 Using OData to filter the products in the archive ........................................................... 25
3.5.4.1 Filtering the Products on time-based criteria............................................................ 26
3.5.4.2 Filtering the products by Ingestion Date ................................................................... 26
3.5.4.3 Filtering the Products using the file name ................................................................ 26
3.5.4.4 Filtering the Products by Sensing Time (file name) ................................................. 27
3.5.5 Querying Product Attributes and Metadata Contents .................................................... 27
3.5.6 Get product UUID from product name ........................................................................... 27
3.6 Download ............................................................................................................................. 28
3.6.1 Download full product from its UUID .............................................................................. 28
3.6.2 Discover Product Nodes ................................................................................................ 28
3.6.3 Download manifest file from the UUID ........................................................................... 29
3.6.4 Download of Sentinel-1 quick-look file knowing the product UUID ................................ 29
3.6.5 Verifying Download integrity using the MD5 checksum ................................................. 29

4 OPEN SEARCH ............................................................................................................................. 31


4.1 URI Components .................................................................................................................. 31
4.2 Using Open Search to discover products in the CODA Web Service archive ..................... 31
4.2.1 Discover the list of the products stored in the archive ................................................... 31
4.2.2 Paging results ................................................................................................................ 31
4.2.3 Sorting results ................................................................................................................ 32
4.3 Discover the products over a predefined Area Of Interest (AOI): Geographical Search ..... 32

5 BATCH SCRIPTING ...................................................................................................................... 34


5.1 Download via Curl ................................................................................................................ 34
5.2 Download via Wget .............................................................................................................. 34
5.3 Scripts Examples ................................................................................................................. 35
5.3.1 dhusget script ................................................................................................................. 35
5.3.1.1 USAGE: .................................................................................................................... 35

Page 2 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

5.3.2 Odata-demo.sh script ..................................................................................................... 36


5.3.2.1 USAGE: .................................................................................................................... 38

6 KNOWN ISSUES AND USEFUL TIPS FOR CODA WEB SERVICE ........................................... 39

Page 3 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

1 INTRODUCTION
The Sentinel-3 Marine CODA (Copernicus Online Data Access) Web Service provides
complete, free and open access to Sentinel-3 user products provided by EUMETSAT on behalf
of the European Commission.
The Web Service consists of a rolling archive with http access up to 1 year of data online (in
case of need for data older than one year, please go to EUMETSAT Data Centre
https://www.eumetsat.int/website/home/Data/DataDelivery/EUMETSATDataCentre/index.html)
.
It provides Sentinel-3 Level-1 and Level-2 (Marine) products for the following instruments:
• OLCI (Ocean and Land Colour Instrument),
• SLSTR (Sea and Land Surface Temperature Radiometer),
• SRAL (SAR Altimeter).

Data are provided in different latency modes, as shown in the following table::

Latency Time
Description
modes Archive

Near Real-
Time Products available to users within three hours after sensing. 1 month
NRT

Products available to the users within 48 hours after sensing, due


Short time
mainly to the consolidation of some auxiliary or ancillary data (e.g.
critical 1 month
preliminary restituted orbit data)
STC
(Only for SRAL products)

Non time Products available to the users within one month after sensing. This
critical additional delay allows consolidation of some auxiliary or ancillary 1 year
NTC data (e.g. precise orbit data)

The selection of a product type in terms of delivery time (NRT, STC and NTC) is a trade-off
between real-time needs and the final accuracy needed.

1.1 File naming convention


The file naming convention for CODA products is identified by the sequence of fields described
here:
SA3_SS_L_TTTTTT_yyyymmddThhmmss_YYYYMMDDTHHMMSS_YYYYMMDDTHHM
MSS__GGG_.SEN3

Page 4 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

SS Data source of the instrument -OL = OLCI


-SL = SLSTR
-SR = SRAL
L Processing level -"1" for Level-1
-"2" for Level-2
TTTTTT Data Type ID -Level 1 OLCI data
- “EFR___” = TOA radiances at full resolution
- “ERR___” = TOA radiances at reduced
resolution
- Level 2 OLCI data
- “WFR___” = Full Res. Ocean Colour, Water
& atmosphere parameters
- “WRR___” = Reduced Res. Ocean Colour,
Water & atmosphere parameters
- Level 1 SLSTR data
- “RBT___” = TOA Radiances and Brightness
Temperature
- Level 2 SLSTR data
- “WST___” = L2P Sea Surface Temperature
- Level 1 SRAL data
- “SRA___” = echo LRM, SAR Ku, SAR C
- Level 2 SRAL data
- “WAT___”= Water products
yyyymmddTh Data Start time (Sensing time year, month, day, T, hour, minutes, seconds
hmmss for the Instrument data products)
YYYYMMD Data Stop time (Sensing time year, month, day, T, hour, minutes, seconds
DTHHMMSS for the Instrument data products)
YYYYMMD Creation Date year, month, day, T, hour, minutes, seconds
DTHHMMSS
<instance_id> Instance ID for the instrument - Products disseminated in "stripes"
data products disseminated in Duration,"_", cycle number, "_", relative orbit
"stripes" number,"_", 4 underscores "_"
DDDD_CCC_LLL_____

Instance ID for the instrument - Products disseminated in " frames "


data products Duration, "_", cycle number, "_", relative orbit
disseminated in "frames" number, "_", frame along track coordinate
GGG Product Generating Centre - LN1 = Land OLCI Processing and Archiving
Centre
- LN2 = Land SLSTR and SYN Processing and
Archiving Centre
- LN3 = Land Surface Topography Mission
Processing and Archiving Centre MAR = Marine
Processing and Archiving Centre SVL = Svalbard
Satellite Core Ground Station
<class_id> identifies the class ID for - P indicates the platform (O for operational, F for
instrument data products with reference, D for development, R for reprocessing)
conventional sequence - XX indicates the timeliness of the processing
workflow (NR for NRT, ST for STC, NT for
NTC)
- NNN indicates the baseline collection or data
usage.

Page 5 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

1.2 Acronyms scheme


Please, note that Sentinel-3 products are provided according to the following acronyms scheme:

PRODUCT LINK TO EUMETSAT


LEVEL DESCRIPTION
TYPE PRODUCT NAVIGATOR
OLCI (Ocean and Land Colour Instrument)
- OLCI Level 1B Full
Full resolution top of Resolution in NTC
OL_1_EFR___ Level 1
atmosphere radiance. - OLCI Level 1B Full
Resolution in NRT
- OLCI Level 1B Reduced
Reduced resolution top of Resolution in NRT
OL_1_ERR___ Level 1
atmosphere radiance. - OLCI Level 1B Reduced
Resolution in NTC
- OLCI Ocean Colour Full
Full resolution water &
Resolution in NRT
OL_2_WFR___ Level 1 atmosphere geophysical
- OLCI Ocean Colour Full
products.
Resolution in NTC
- OLCI Ocean Colour Reduced
Reduced resolution water &
Resolution in NRT
OL_2_WRR___ Level 2 atmosphere geophysical
- OLCI Ocean Colour Reduced
products.
Resolution in NTC
SLSTR (Sea and Land Surface Temperature Radiometer)
- SLSTR Level 1B Radiances
and Brightness Temperatures
Brightness temperature and in NRT
SL_1_RBT___ Level 1
radiances. - SLSTR Level 1B Radiances
and Brightness Temperatures
in NTC
- SLSTR Sea Surface
Level 2P Sea Surface Temperatures (SST) in NRT
SL_2_WST___ Level 2
Temperature (GHRSST like) - SLSTR Sea Surface
Temperatures (SST) in NTC
SRAL (SAR Radar Altimeter)
Echos parameters for LRM, - SRAL Level 1B in NRT
SR_1_SRA___ Level 1 PLRM and SAR mode - SRAL Level 1B in NTC
(resolution 20Hz). - SRAL Level 1B in STC
- SRAL Altimetry Global in
1-Hz and 20-Hz Ku and C NRT
bands parameters - SRAL Altimetry Global in
SR_2_WAT___ Level 2
(LRM/SAR/PLRM), NTC
waveforms. Over Water. - SRAL Altimetry Global in
STC

Page 6 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

1.3 OLCI and SLSTR bands description


In the following paragraphs are described the information about the different bands for every
instrument.

1.3.1 OLCI
OLCI observation is performed simultaneously in 21 spectral bands, described in the following
table:

Band λ centre (nm) Width (nm) Description


Oa1 400 15 Aerosol correction, improved water constituent retrieval
Oa2 412.5 10 Yellow substance and detrital pigments (turbidity)
Oa3 442.5 10 Chl absorption max., biogeochemistry, vegetation
Oa4 490 10 High Chl, other pigments
Oa5 510 10 Chl, sediment, turbidity, red tide
Oa6 560 10 Chlorophyll reference (Chl minimum)
Oa7 620 10 Sediment loading
Oa8 665 10 Chl (2nd Chl abs. max.), sediment, yellow substance and
vegetation
Oa9 673.75 7.5 For improved fluorescence retrieval and to better account
for smile together with the bands 665 and 680 nm
Oa10 681.25 7.5 Chl fluorescence peak, red edge
Oa11 708.75 10 Chl fluorescence baseline, red edge transition
Oa12 753.75 7.5 O2 absorption/clouds, vegetation
Oa13 761.25 2.5 O2 absorption band/aerosol corr.
Oa14 764.375 3.75 Atmospheric correction
Oa15 767.5 2.5 O2A used for cloud top pressure, fluorescence over land
Oa16 778.75 15 Atmos. corr./aerosol corr.
Oa17 865 20 Atmos. corr./aerosol corr., clouds, pixel co-registration
Oa18 885 10 Water vapour absorption reference band. Common
reference band with SLSTR instrument. Vegetation
monitoring
Oa19 900 10 Water vapour absorption/vegetation monitoring
(max. reflectance)
Oa20 940 20 Water vapour absorption, atmos./aerosol corr.
Oa21 1 020 40 Atmos./aerosol corr.

1.3.2 SLSTR
SLSTR observation is performed simultaneously in 11 spectral bands, described in the following
table (please, note that F1 and F2 fire bands are based on the same detectors as S7 and S8 but
with an increased dynamic range to prevent saturation over fires):

λ centre Width Resolution


Band Description Comments
(nm) (nm) (m)
S1 0.555 0.02 Cloud screening, Visible Solar 500

Page 7 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

vegetation Near reflectance


monitoring, IR bands
aerosol
NDVI, vegetation
S2 0.659 0.02 monitoring,
aerosol
NDVI, cloud
S3 0.865 0.02 flagging, Pixel co-
registration
Cirrus detection
S4 1.375 0.015
over land
Cloud clearing,
Short-
ice, snow,
S5 1.61 0.06 Wave
vegetation
IR
monitoring
Vegetation state
S6 2.25 0.05
and cloud clearing
SST, LST, Active
S7 3.74 0.38
fire Thermal infra-red
SST, LST, Active Ambient bands (200
S8 10.85 0.9
fire K – 320 K) 1000
S9 12 1 SST, LST
F1 3.74 0.38 Active fire Thermal infra-red
F2 10.85 0.9 Active fire fire emission bands

Page 8 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

2 GRAPHICAL USER INTERFACE


To access EUMETSAT CODA GUI go to the link https://coda.eumetsat.int.
This is how CODA GUI appears:

User functions

Full text Search bar Save Search


Draw Region of
Interest / Navigate
Advanced Search bar Map

Select base map

Map Tool

About

Figure 1: CODA Graphical User Interface

In order to use CODA GUII functionalities it is necessary to have a Earth Observation Portal
user account.

2.1 Search Panel

Figure 2: CODA Search Panel

The Search Panel provide the user with two different search functionalities:
 Full text search: the user has just to write the keywords in the field.
 Advanced Search: the user can apply different filter parameters to the search and order
the results.

Page 9 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

Figure 3: CODA Advanced Search Panel

It is also possible to Sort the elements of the result list using different parameters (Ingestion
Date, Sensing Date, Cloud Cover) and then order the sorted list by ascending or descending.

2.2 Map tool


The map tool provides a geographical search feature. To define a region of interest click on the
icon to set "draw region of interest" modality and then click and drag on the map for drawing a
selection box. By clicking on the "Search" button the application will search for any product
whose footprint intersects the selected region.
Thanks to this geographic filter, the map tool can be combined with the full text search and the
advanced search to further restrict the results.

2.3 Search result


The Search results list provides all the products matching the submitted search query. Each
result consists of:

Page 10 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

 64x64 thumbnail (when available),


 product name,
 product URI,
 Mission name, the instrument name, the sensing date, the file size.

The footprints of the products matching the search query are displayed on the map. Each
footprint gets highlighted when hovering on the corresponding product in the search results list.
Red footprints show Sentinel-3 SLSTR products, blue footprints show Sentinel-3 OLCI products
and purple footprints show the SRAL products.
NOTE: the map tool shows only the footprints of the products in the current search list page. To
widen results you can change the page size (25, 50, 75, 100, 125, and 150).

Figure 4: Search results footprints

In case of searches that are recurrently performed, it is possible to save search’s parameters
clicking on the icon in order to save the search in the user profile and use them again the next
times.

For every product in the results list, the following options are displayed ( ):
 Select product,
 Zoom to product,
 View product details,
 Add product to Cart,
 Download product.

Page 11 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

Product Options

Figure 5: Search results – Product Options

When clicking on "View Product Details" icon, a window is open showing the product preview
with the following elements:
 Product name
 Product URL
 Footprint
 Quicklook
 Attributes(Summary, Product, Platform, Instrument)
 Inspection(Annotation, Measurement,Preview, Support, Manifest.safe)

From this window, it is possible to download the entire zipped file but also the single elements
of the zipped file, from the Inspector section (please, consider that when downloading a subset
of the entire bulk of bands, it is necessary always to download also the manifestfile and the
auxiliary files).

Page 12 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

Figure 6: Search results – Product Options

2.4 User Profile Panel


It is possible to access the User Profile Panel clicking on the ‘User Profile’ icon on the top
right of the web page.

Figure 7: User Profile settings

Page 13 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

From the User Profile Panel it is possible to check the allowed functions (in the case of the
Figure 7: Search function and Download function), to check the Cart and to check the Saved
Searches.

This is how User Cart appears:

Figure 8: CODA User Cart

It is possible to display the entire list of products that the user added to cart to be downloaded.
For every product, it is possible to check product details, remove it from the list or download the
file.

2.5 Full Text Search


Search queries in the rolling archive can be performed by entering a text query in the full-text
search bar. This query can be entered using also wildcards and operators.

2.5.1 Wildcards and Operators


Wildcards and Operators are used to restrict search queries. Wildcards, in particular, are useful
when performing a query on the product filename. Operators for combining different search
criteria. Admitted wildcards and operators are shown in the tables below:

Wildcard Description
* any sequence of zero or more characters
? any one character

Page 14 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

Operator Description
AND Narrow search and retrieve records containing all of
the words it separates.
OR Broaden search and retrieve records containing any of
the words it separates.
NOT Narrow search and retrieve records that do not
contain the term following it.
() Group words or phrases when combining Boolean
phrases and to show the order in which relationships
should be considered.

2.5.2 Search Keywords


It is also possible to perform full-text queries using search keywords. The syntax format to enter
in the Full text search bar is the following:
<keyword>:<values>.

Depending on the keyword, value(s) can be specified as a single value or range of values.
Search keywords can be combined with each other using Operators (for example
<keyword1>:<values> AND <keyword2>:<values>).

The following table contains the list of the keywords and their corresponding usage

Search Keyword Syntax and Examples


platformname: platformname:<platform name>
Search based on the Satellite Platform
name regardless of the serial identifier Examples:
(e.g. A, B, C ...) platformname:Sentinel-3
These three keywords are used with a time range expressed with
the following syntax:
beginposition:
A time interval search based on the <keyword>:[<timestamp> TO <timestamp>]
Sensing Start Time of the products.
The <timestamp> value can be expressed in one of the the
endposition: following formats:
A time interval search based on the  (ISO8601) yyyy-MM-ddThh:mm:ss.SSSZ
Sensing Stop Time of the products.  NOW
ingestiondate:  NOW-<n>MINUTE(S)
A time interval search based on the time  NOW-<n>HOUR(S)
of publication of the product on the Data
Hub.  NOW-<n>DAY(S)
 NOW-<n>MONTH(S)

Being n = 1,2,...,10,...,100,...

Examples of search keybord with timestamps:


- beginposition:[2017-01-01T00:00:00.000Z TO NOW]

Page 15 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

- beginposition:[2017-01-01T00:00:00.000Z TO NOW]
- beginposition:[2017-01-01T00:00:00.000Z TO 2017-02-
01T00:00:00.000Z]
- beginposition:[NOW-2DAYS TO NOW]
- endposition:[2017-01-01T00:00:00.000Z TO NOW]
- endposition:[2017-01-01T00:00:00.000Z TO 2017-02-
01T00:00:00.000Z]
- endposition:[NOW-1HOUR TO NOW]
- ingestiondate:[2017-01-01T00:00:00.000Z TO NOW]
- ingestiondate:[2017-01-01T00:00:00.000Z TO 2017-02-
01T00:00:00.000Z]
- ingestiondate:[NOW-30MINUTES TO NOW]

filename:<filename>

filename: Possible <filename> values are:


Search based on the product filename
- The full product file name expressed according to the
product naming convention:
MMM_BB_TTR_LFPP_YYYMMDDTHHMMSS_YY
YYMMDDTHHMMSS_OOOOO_DDDDD_CCCC
- Part of the filename using wildcards

Examples:
- filename: S3A_OL*
- filename:S3A_OL_1_EFR____20170317T080500_2017
0317T080717_20170317T104619_0137_015_263_4140
_MAR_O_NR_002
- filename:*3A_OL_1_?20170317T080500*
Syntax is the following:
footprint:"intersects(<geographic type>)"
footprint:
Geographical search of the products The <geographic type> value can be expressed as a polygon or
whose footprint intersects or is included as a point according to the syntax described below.
in a specific geographic type.  POLYGON:
<geographic type>=POLYGON((P1Lon P1Lat, P2Lon
P2Lat, …, PnLon PnLat, P1Lon P1Lat))
where P1Lon and P1Lat are the Longitude and Latitude
coordinates of the first point of the polygon in decimal degrees
(DDD) format (e.g. 2.17403, 41.40338) and so on.
The coordinates of the last point of the polygon must coincide
with the coordinates of the first point of the polygon.
The polygon describing the geographical area can have a
maximum of 200 points that must be within an area described by
10 degrees of latitude and 10 degrees of longitude.

Example:
The polygon of the example is a bounding box around the
Mediterranean Sea:
footprint:"Intersects(POLYGON((-4.53 29.85, 26.75 29.85, 26.75
46.80,-4.53 46.80,-4.53 29.85)))"

 POINT:
<geographic type>= Lat, Lon

Page 16 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

where the Latitude (Lat) and Longitude (Lon) values are


expressed in decimal degrees (DDD) format (e.g. 41.40338,
2.17403 ).

Examples:
footprint:”intersects(Lat, Lon)"

- Rome city centre - footprint:"intersects(41.9000, 12.5000)"


- Etna Volcano - footprint:"intersects(37.7550, 14.9950)"
- Bárðarbunga Volcano - footprint:"intersects(64.6300, -
17.5300)"
- Istanbul city centre - footprint:"intersects(41.0136, 28.9550)"
- Paris city centre - footprint:"intersects(48.8567, 2.3508)"
- Mexico City city centre - footprint:"intersects(19.4333, -
99.1333)"
- London city centre: footprint:"intersects(51.5072, 0.1275)"

These keywords can be used with a single value or with a range


of values.
orbitnumber:
Absolute orbit number of the oldest line The syntax is the following:
within the image data (the start of the  orbitnumber:<orbitnumber>
product).  lastorbitnumber:<lastorbitnumber>
 orbitnumber:[<orbitnumber> TO <orbitnumber>]
 lastorbitnumber:[<lastorbitnumber> TO <lastorbitnumb
er>]
lastorbitnumber:
Absolute orbit number of the most recent Possible values for <orbitnumber> and <lastorbitnumber> go
line within the image data (the end of the from 000001 to 999999.
product)
Examples:
- orbitnumber:000020 (or orbitnumber:20)
- lastorbitnumber:000510 (or lastorbitnumber:510)
- orbitnumber:[001020 TO 001021] (or orbitnumber:[1020
TO 1021])
orbitdirection: Possible values are:
Direction of the orbit (ascending, Ascending, Descending
descending) for the
oldest image data in the product (the start Example:
of the product). orbitdirection:Ascending
These keywords can be used with a single value or with a range
of values.
relativeorbitnumber:
Relative orbit number of the oldest line The syntax is the following:
within the image data (the start of the  relativeorbitnumber:<relativeorbitnumber>
product).  lastrelativeorbitnumber:<lastrelativeorbitnumber>
 relativeorbitnumber:[<relativeorbitnumber> TO <relati
lastrelativeorbitnumber: veorbitnumber>]
Relative orbit number of the most recent  lastrelativeorbitnumber:[<lastrelativeorbitnumber> TO
line within the image data (the end of the <lastrelativeorbitnumber>]
product)
Possible values:
for <relativeorbitnumber> and <lastrelativeorbitnumber> go
from 1 to 175.

Page 17 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

Examples:
- relativeorbitnumber:5
- relativeorbitnumber:10
- relativeorbitnumber:[25 TO 100]

TIP: when performing a query using the Advanced Search filters, the text of the query is
displayed above the list of results (see Fig. 9).
It is possible to copy this text (copy the entire text included the brackets, after “Request Done:”),
customize it adding new filters using Keywords and Operators as described in the tables above,
and then paste the query in the text search bar and perform a new enhanced search to limit the
number of results.

Figure 9: limit the number of results by using Keywords and Operarators

2.6 Batch products download from CODA GUI


Once the user has chosen the products to download and added them to his profile cart, it is
possible to perform a batch download of all the products at once.

One possible way to perform a batch load is a follows (Please, note that to do this, it is necessary
to use an updated version of Mozilla Firefox at least 49.02 ver.):

1) Install Firefox Plugin DownThemAll! (https://addons.mozilla.org/en-


US/firefox/addon/downthemall/).
2) Go to your User Cart page and click on the bottom right button DOWNLOAD CART.
This will automatically open a DownThemAll! plugin popup that will display the list of
products to download, the folder to save the files in and the mask to use to rename the
files.

Page 18 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

Figure 10: How to batch download files with DownThemAll! Firefox plugin

3) Click on ‘Start!’ and the plugin will start the download of the selected products in the
selected folder.

Figure 11: DownThemAll! Firefox plugin download window

Page 19 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

4) Once downloads are complete, it is possible to find the .zip files of the downloaded
products in the folder selected for the download.

2.7 APIs and Batch Scripting


CODA Web Services allows two dedicated Application Program Interfaces (API) for browsing
and accessing the EO data stored in the rolling archive. The APIs are:
• Open Data Protocol (OData)
• Open Search (Solr)
The OData interface is a data access protocol built on core protocols like HTTP and commonly
accepted methodologies like REST that can be handled by a large set of client tools as simple as
common web browsers, download-managers or computer programs such as cURL or Wget.

OpenSearch is a set of technologies that allow publishing of search results in a standard and
accessible format. OpenSearch is RESTful technology and complementary to the OData. In fact,
OpenSearch can be used to complementary serve as the query aspect of OData, which provides a
way to access identified or located results and download them.

Page 20 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

3 OPEN DATA PROTOCOL (ODATA)


The Open Data Protocol (OData) enables the creation of REST-based data services, which allow
resources, identified using Uniform Resource Identifiers (URIs) and defined in a data model, to
be published and consumed by Web clients using simple HTTP messages.
The OData protocol provides easy access to the CODA Web Service and can be used for
building URI for performing search queries and product downloads offering to the users the
capability to remotely run scripts in batch mode.

3.1 URI Components


A URI used by an OData service has up to three significant parts: the Service Root URI, the
Resource Path and the Query Options.
 the Service Root URI identifies the root of the OData service
 the Resource Path identifies the resource to be interacted with. The resource path
enables any aspect of the data model (CODA Web Service Products, CODA Web
Service Collections, etc.) exposed by the OData service
 the system Query Options part refines the results

Example of and OData URI exposed by the CODA Web Service Service broken down into its
component parts:

https://coda.eumetsat.int/odata/v1/Products?$skip=10&$top=50&$format=xml
\________________________________/\_______/\___________________________/
| | |
odata service root URI resource path query options

OData Service Root URI for the CODA Web Service:


https://coda.eumetsat.int/odata/v1

CODA Web Service Resource Paths:


 /Products
 /Collections

Query Options admitted by the CODA Web Service:


 $format: Specifies the HTTP response format of the record e.g. XML or JSON;
 $filter: Specifies an expression or function that must evaluate to true for a record to be
returned in the collection;
 $orderby: Determines what values are used to order a collection of records;
 $select: Specifies a subset of properties to return;
 $skip: Sets the number of records to skip before it retrieves records in a collection;
 $top: Determines the maximum number of records to return;

For examples, the result of the search of this OData URIs is a list of the records of the last 100
products published on CODA Web Service:
https://coda.eumetsat.int/odata/v1/Products?$orderby=IngestionDate desc&$top=100

Page 21 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

This search skips the first 100 records of the products published on the CODA Web Service and
then returns the next 100:
https://coda.eumetsat.int/odata/v1/Products?$orderby=IngestionDate
desc&$top=100&$skip=100

3.2 Responses
When users query the CODA Web Service via the URI, the request is sent to the CODA Web
Service OData service. This service provides the responses. The description of the responses is
provided here below focusing on the response body and not covering the standard HTTP
response envelope.
The default response format is Atom [RFC4287], an XML-based document format that describes
Collections of related information known as “feeds”. The responses containing a single Product
entity differ from those containing a collection of Product entities. Generally speaking, the single
Product entity is returned as a bare Atom entry element, while for a collection the same Atom
entries denoting the Product entities are wrapped into an Atom feed element.
The response format can however be controlled from the requests through the $format query
option already introduced above. The formats currently implemented by CODA Web Service
service are Atom (or XML) and JSON which is a non-standard output of OData but is an
experimental behaviour useful for EO context.
The following sub-sections describe the response types for Atom/XML and JSON output
formats. The very last sub-section deals with the specific responses returned in case of error.

3.3 XML Responses


The Atom/XML format is the default response format, though it can be forced by setting the
$format query option to “atom” or “xml” indifferently as in the following examples:
https://coda.eumetsat.int/odata/v1/Products?$format=xml

3.4 Service Metadata Document


In order to help clients discover the OData services, the CODA Web Service OData Service
Metadata Document exposes the Entity Data Model of the service including among others, the
Entities and Properties that can be queried. This document can be queried as with the following
URL:
https://coda.eumetsat.int/odata/v1/$metadata

The following example is extracted from the complete Service Metadata Document exposed by
CODA Web Service OData service. Some sections or XML Namespace declarations have been
removed for brevity:

Page 22 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

<edmx:Edmx Version="1.0">
<edmx:DataServices>
<Namespace="CODA">
<EntityType Name="Node" m:HasStream="true">
<Key>...</Key>
<Property Name="Id" Type="Edm.String" Nullable="false"/>
<Property Name="Name" Type="Edm.String"
m:FC_TargetPath="SyndicationTitle"/>
<Property Name="ContentType" Type="Edm.String"/>
<Property Name="ContentLength" Type="Edm.Int64"/>
<Property Name="ChildrenNumber" Type="Edm.Int64"/>
<Property Name="Value" Type="Edm.String"/>
...
</EntityType>
<EntityType Name="Product" m:HasStream="true">
<Key>
<PropertyRef Name="Id"/>
</Key>
<Property Name="Id" Type="Edm.String" Nullable="false"/>
<Property Name="Name" Type="Edm.String"
m:FC_TargetPath="SyndicationTitle"/>
<Property Name="ContentType" Type="Edm.String"/>
<Property Name="ContentLength" Type="Edm.Int64"/>
<Property Name="ChildrenNumber" Type="Edm.Int64"/>
<Property Name="Value" Type="Edm.String"/>
...
</EntityType>
<EntityType Name="Collection">
<Key>
<PropertyRef Name="Name"/>
</Key>

3.5 Using OData to discover products in the CODA Web Service archive

3.5.1 Querying the content of the products archive: usage of the /Products resource path
The following OData URI addresses the resource "Products" exposed by the CODA Web
Service which includes the records of all the products stored in the CODA Web Service archive.
Each product record includes the Universally Unique Identifier (UUID), the product name, the
link for download, the links for navigating through their nodes and attributes and some
properties.
The syntax is:

<ServiceRootUri>/Products

Example:
https://coda.eumetsat.int/odata/v1/Products

By default it provides a list of 50 records showing the properties of the latest 50 products
ingested by the CODA Web Service.

Page 23 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

Examples of properties are:


- IngestionDate: date on which the Product was ingested by the contacted CODA Web
Service instance. The date is given in UTC.
- ContentDate (Start and End): time period associated to the Product payload. This date
regards the period of the subject of the content and not the content itself. For example,
for an EO product, the ContentDate deals with the observation date and not to the
downlink or processing dates.
- ContentGeometry: footprint polygon coordinates.
- Id: The universally unique identifier (UUID) is a standard identifier used in software
construction to uniquely identify information without significant central coordination. A
UUID is a 16-octet (128-bit) number. In its canonical form, a UUID is represented by 32
lowercase hexadecimal digits, displayed in five groups separated by hyphens, in the form
8-4-4-4-12 for a total of 36 characters (32 alphanumeric characters and four hyphens).

3.5.2 Querying a single Product in the archive


The responses containing a single Product entity differ from those containing a collection of
Product entities. Generally speaking, the single Product entity is returned as a bare Atom entry
element, while for a collection the same Atom entries denoting the Product entities are wrapped
into an Atom feed element.

Syntax:
<ServiceRootUri>/Products(‘UUID’)

The following example is an actual response of a CODA Web Service OData service that
returned a single Product entity identified by the UUID: 4c6ec540-08ad-466e-9e5f-
120fa38a82fa.
Again, this snippet has been reformatted for readability purpose but nothing has been removed
from the actual response:
https://coda.eumetsat.int/odata/v1/Products('4c6ec540-08ad-466e-9e5f-120fa38a82fa')
Response:
<id>
http://coda.eumetsat.int/odata/v1/Products('4c6ec540-08ad-466e-9e5f-
120fa38a82fa')
</id>
<title type="text">
S3A_OL_1_ERR____20161218T073800_20161218T082207_20161219T141423_2646_012_149_
_____MAR_O_NT_002
</title>
<updated>2016-12-19T14:16:04.373Z</updated>
<category term="CODA.Product" scheme="http://schemas.microsoft.com/ado/2007/0
8/dataservices/scheme"/>
<link href="Products('4c6ec540-08ad-466e-9e5f-
120fa38a82fa')" rel="edit" title="Product"/>
<link href="Products('4c6ec540-08ad-466e-9e5f-
120fa38a82fa')/$value" rel="edit-media" type="application/octet-stream"/>
<link href="Products('4c6ec540-08ad-466e-9e5f-
120fa38a82fa')/Products"rel="http://schemas.microsoft.com/ado/2007/08/dataser
vices/related/Products" title="Products" type="application/atom+xml;type=feed

Page 24 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

"/>
<link href="Products('4c6ec540-08ad-466e-9e5f-
120fa38a82fa')/Nodes"rel="http://schemas.microsoft.com/ado/2007/08/dataservic
es/related/Nodes" title="Nodes" type="application/atom+xml;type=feed"/>
<link href="Products('4c6ec540-08ad-466e-9e5f-
120fa38a82fa')/Attributes"rel="http://schemas.microsoft.com/ado/2007/08/datas
ervices/related/Attributes" title="Attributes" type="application/atom+xml;typ
e=feed"/>
<link href="Products('4c6ec540-08ad-466e-9e5f-
120fa38a82fa')/Class"rel="http://schemas.microsoft.com/ado/2007/08/dataservic
es/related/Class" title="Class" type="application/atom+xml;type=entry"/>
<content type="application/octet-stream" src="Products('4c6ec540-08ad-466e-
9e5f-120fa38a82fa')/$value"/>
<m:properties>
<d:Id>4c6ec540-08ad-466e-9e5f-120fa38a82fa</d:Id>
<d:Name>
S3A_OL_1_ERR____20161218T073800_20161218T082207_20161219T141423_2646_012_149_
_____MAR_O_NT_002
</d:Name>
<d:ContentType>application/octet-stream</d:ContentType>
<d:ContentLength>742531500</d:ContentLength>
<d:ChildrenNumber>0</d:ChildrenNumber>
<d:Value m:null="true"/>
<d:CreationDate>2016-12-19T14:16:01.655</d:CreationDate>
<d:IngestionDate>2016-12-19T14:16:04.373</d:IngestionDate>
<d:EvictionDate m:null="true"/>
<d:ContentDate m:type="CODA.TimeRange">
<d:Start>2016-12-18T07:52:12.252</d:Start>
<d:End>2016-12-18T08:26:30.069</d:End>
</d:ContentDate>
<d:Checksum m:type="CODA.Checksum">
<d:Algorithm>MD5</d:Algorithm>
<d:Value>28B33FD16D16ED2390982A56D88FBD4A</d:Value>
</d:Checksum>

3.5.3 Querying the products (paging)


The URI to be used for paging the list of products in the archive shall follow the syntax below:

<ServiceRootUri> /Products?$skip='N'&$top='M'

Where:
- ?$skip='N' is the number of records to skip before it retrieves records in a collection,
- $top=’M’ is the maximum number of records to return.

For example this OData URI allows to list 50 products skipping the first 10:
https://coda.eumetsat.int/odata/v1/Products?$skip=10&$top=50

Note: $top accepts as maximum value 100. For higher values the maximum number of records
returned will still be 100.

3.5.4 Using OData to filter the products in the archive


It is possible to use the OData properties to perform search query to filter the products.

Page 25 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

3.5.4.1 Filtering the Products on time-based criteria


For metadata that are expressed in the UTC format such as
Filter Description
CreationDate For Future implementation
IngestionDate Time of the products archiving in the CODA
Web Service
EvictionDate For Future implementation
ContentsDate/Start and ContentDate/End TBW

Filters can be performed on the day and/or month and/or year.


Symbols are not allowed in the OData protocol but they can be substituted with the following
syntax:
Symbol Regular Expression Meaning
< lt Lower than
≤ le Lower or equal than
> gt Greated than
≥ ge Greater or equal than
= eq equal

Here below we provide some examples.

3.5.4.2 Filtering the products by Ingestion Date


To filter the products by Ingestion Date, the following syntax may apply:
<ServiceRootUri> /Products?$filter=year(IngestionDate) years[and
month(IngestionDate)][and day(IngestionDate)]

For example this URI selects the products that have been published in the CODA Web Service
on February 2017:
https://coda.eumetsat.int/odata/v1/Products?$filter=year(IngestionDate) eq 2017 and
month(IngestionDate) eq 02

This URI selects the products that have been published in the CODA Web Service after 22nd Feb
2017:
https://coda.eumetsat.int/odata/v1/Products?$filter=IngestionDate gt datetime'2017-02-
22T00:00:00'

3.5.4.3 Filtering the Products using the file name

The products file name can be used for filtering the products. It shall be noticed that this query
criteria is not based on Medatata indexed from the products content but the criteria is search
products matching a predefined string on the file name.

Page 26 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

In this case, Entity Data Model (EDM) strings are used for metadata like Name which indicates
the name of the product. Every metadata containing a string can be filtered using the substringof
filter.

For example, this OData URI lists the products having OL_1 (that indicates the OLCI files) in
the file name:
https://coda.eumetsat.int/odata/v1/Products?$select=Id&$filter=substringof(‘_OL_1’,Name)

3.5.4.4 Filtering the Products by Sensing Time (file name)

To filter the products by the Sensing Time (start and stop) the S1 product filename can be used,
using the filter substringof. Next section will describe how to make query based on indexed
metadata.

The syntax is:


<ServiceRootUri> /Products?$select=Id&filter=substringof('<string>', Name)

For example this OData URI lists the products having in the file name the string
20170203T154103. It means it returns the products with a predefined sensing time start (e.g.
2017-02-03, T154103):

https://coda.eumetsat.int/odata/v1/Products?$select=Id&$filter=substringof('20170203T154103',
Name)

3.5.5 Querying Product Attributes and Metadata Contents

OData can be used also for querying the values of products metadata content.

3.5.6 Get product UUID from product name

To retrieve the UUID of a predefined product, the syntax is:


<ServiceRootUri> /Products?$filter=Name <Regular Expression> '<Filename>'

In this example, this URI retrieves the UUID of the product named
S3A_OL_1_EFR____20170128T133750_20170128T134050_20170128T153137_0179_013_35
2_3240_MAR_O_NR_002:
https://coda.eumetsat.int/odata/v1/Products?$filter=Name eq
'S3A_OL_1_EFR____20170128T133750_20170128T134050_20170128T153137_0179_013_3
52_3240_MAR_O_NR_002'

Page 27 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

3.6 Download

OData URL can be used for download full products as well as partial products by using the
combination of the Nodes and Attributes indexed for the products and adding $value at the end
of the URI.

3.6.1 Download full product from its UUID

To download a full product the syntax is:

<ServiceRootUri> /Products('UUID')/$value

For example, this URI starts the download of the product with Id 52e48b83-c717-484a-a33a-
f4ebc941dd84:
https://coda.eumetsat.int/odata/v1/Products('52e48b83-c717-484a-a33a-f4ebc941dd84')/$value

3.6.2 Discover Product Nodes

Products from all processing levels (Level-1 and Level-2) are disseminated in SENTINEL-
SAFE format. The data delivered is packaged as a file structure containing a manifest file in
XML format listing general product metadata and subfolders for measurement data, annotations,
previews and support files. The SENTINEL-SAFE format wraps a folder containing image data
in a binary data format and product metadata in XML. This flexibility allows the exploration of
parts of the products without download the complete product.

In this section we will provide examples to how explore products nodes.


The following URI will return the XML file including the list of the first level nodes:

<ServiceRootUri> /Products('<UUID>')/Nodes

Example:
https://coda.eumetsat.int/odata/v1/Products('52e48b83-c717-484a-a33a-f4ebc941dd84')/Nodes

Generally the first node is the one whose name is [Product_Name.SAFE] and the URI to
visualize the XML schema of this node is the following:

<ServiceRootUri> /Products('<UUID>')/Nodes('[PRODUCT_NAME.SAFE]')/Nodes

Examples of the nodes of the Level-1 Sentinel Product are:


 Manifest
 Annotation
 Measurement
 Preview
 Support

Page 28 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

3.6.3 Download manifest file from the UUID

To download manifest file from the UUID the syntax is:

<ServiceRootUri>
/Products('UUID')/Nodes('Filename')/Nodes('manifest.safe')/$value
Example:
https://coda.eumetsat.int/odata/v1/Products('52e48b83-c717-484a-a33a-
f4ebc941dd84')/Nodes('S3A_OL_1_EFR____20170128T133750_20170128T134050_20170128
T153137_0179_013_352_3240_MAR_O_NR_002.SEN3')/Nodes('manifest.safe')/$value

3.6.4 Download of Sentinel-1 quick-look file knowing the product UUID

To download the quick-look file from the UUID the syntax is:

<ServiceRootUri>
/Products('UUID')/Nodes('Filename')/Nodes('preview')/Nodes('quick-
look.png')/$value

Example:

https://coda.eumetsat.int/odata/v1/Products('52e48b83-c717-484a-a33a-
f4ebc941dd84')/Nodes('S3A_OL_1_EFR____20170128T133750_20170128T134050_20170128
T153137_0179_013_352_3240_MAR_O_NR_002.SEN3')/Nodes('preview')/Nodes('quick-
look.png')/$value

3.6.5 Verifying Download integrity using the MD5 checksum

This can help to reveal if the download was incomplete.

Each product published on CODA Web Service provides an MD5 checksum of the
downloadable ZIP file. The Message Digit of the file can be discovered using the following
OData query:

https://coda.eumetsat.int/odata/v1/Products('UUID')/Checksum/Value/$va
lue

where UUID is the Universally Unique Identifier of the product.

Example:
https://coda.eumetsat.int/odata/v1/Products('0ae32ee3-efc8-4080-8e24-
cdc01f2ee118')/Checksum/Value/$value

provides the following MD5: 187C459878D55D3494304E21FD6AF8C5.

Page 29 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

The integrity of the downloaded product can be checked by comparing the MD5 value of the
product at the source with the MD5 of the product located on the users’s system. If they are
identical the download has been successful.

Different Operating Systems require different methods for verifying the checksum of the
downloaded products. Find below a list of the most common ones:

Linux

Open a terminal and type: md5sum path/filename

OS X

Open a terminal and type: md5 path/filename

Windows

The File Checksum Integrity Verifier (FCIV) utility does not come pre-installed on windows and
needs to be downloaded. Instructions can be found here.

Open a command prompt and type: FCIV -md5 -sha1 path\filename

OpenSSL

This method can be done on any system with OpenSSL installed (i.e. Windows, Linux and
MAC).

Open a command prompt or terminal and type: openssl md5 path/filename

Page 30 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

4 OPEN SEARCH
OpenSearch (Solr) is a set of technologies that allow publishing of search results in a standard
and accessible format. OpenSearch is RESTful technology and complementary to the OData. In
fact, OpenSearch can be used to complementary serve as the query aspect of OData, which
provides a way to access identified or located results and download them. The CODA Web
Service implementation uses the Apache Solr search engine.

4.1 URI Components


<CODAhostname>:<port>/<path>/search?q=<query>[&start=<page_start_value>][&rows=
<page_size>]

where:

 <CODA_hostname>:<port>/<path> is the Service Root (in our case CODA_hostname is


https://coda.eumetsat.int/ )
 /search?q=<query>[&start=<page_start_value>][&rows=<page_size>] is the Open
Search query

4.2 Using Open Search to discover products in the CODA Web Service archive

4.2.1 Discover the list of the products stored in the archive


The syntax is:
<CODA_hostname>:<port>/search?q=*

Example:
https://coda.eumetsat.int/search?q=*

The above URI returns an XML file including the list of the nodes of every products stored in
the CODA Web Service archive.

4.2.2 Paging results


A query can be completed with the pagination options. The available options are:
 rows=<page_size> , where page_size is the number of results listed per page
 start=<page_start_value>, where page_start_value identifies from which
result position starts the pagination.

If nothing is specified by default page_size and page_start_value are set to rows=10 and start=0 .
So the complete search will be:
<CODA_hostname>:<port>/<path>/search?q=*&rows= <N> &start= <N>

Page 31 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

Note: The maximum number of rows to be returned in a single query is set to 100. Requests for
more than the maximum supported number of rows will result in an error (http 500).

To display just the first 10 results of the previous query, the can be completed with
&rows=10&start=0

Results sets over the maximum can be obtained through paging of from different start values.
 Page 1: https://coda.eumetsat.int/search?start=0&rows=100&q=*
 Page 2: https://coda.eumetsat.int/search?start=100&rows=100&q=*
 Page 3: https://coda.eumetsat.int/search?start=200&rows=100&q=*

4.2.3 Sorting results


The list of results can be sorted using the option:
orderby=
possible values are:
 beginposition asc: sorts results by sensing date arranged in ascending order
 beginposition desc: sorts results by sensing date arranged in descending order
 ingestiondate asc: sorts results by ingestion date arranged in ascending order
 ingestiondate desc: sorts results by ingestion date arranged in descending order

Example:
https://coda.eumetsat.int/search?q=*&orderby=beginpositionasc asc

4.3 Discover the products over a predefined Area Of Interest (AOI): Geographical
Search
It is possible to search products on the basis of a geographical area of interest, e.g. get the list of
products over a geographic area delimitated by the polygon having vertices:

<CODA_hostname>:<port>/<path>/search?q=footprint:"Intersects( <geographic
type> )"

The <geographic type> value can be expressed as a polygon or as a point according to the syntax
described below.

Polygon:
<geographic type> =POLYGON((P1Lon P1Lat, P2Lon P2Lat, …, PnLon PnLat, P1Lon
P1Lat))

where P1Lon and P1Lat are the Longitude and Latitude coordinates of the first point of the
polygon in decimal degrees (DDD) format (e.g. 2.17403, 41.40338) and so on.
The coordinates of the last point of the polygon must coincide with the coordinates of the first
point of the polygon.

Page 32 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

The polygon describing the geographical area can have a maximum of 200 points that must be
within an area described by 10 degrees of latitude and 10 degrees of longitude.
Example:
https://coda.eumetsat.int/search?q=footprint:"Intersects(POLYGON((-4.53 29.85, 26.75 29.85,
26.75 46.80,-4.53 46.80,-4.53 29.85)))"
the AOI in this case is a bounding box around the Mediterranean Sea.

Point:
<geographic type>= Lat, Lon

where the Latitude ( Lat ) and Longitude ( Lon ) values are expressed in decimal degrees (DDD)
format (e.g. 41.40338, 2.17403 ).
Example:
https://coda.eumetsat.int/search?q=footprint:"Intersects(41.9000, 12.5000)"

Open Search Queries examples


The [query] in the open search URI will follow the same syntax used in the full text search. Here below
we provide some examples.

Example Open Search


Searches every product with https://coda.eumetsat.int/search?q=OL_1_EFR___
OL_1_EFR___ product type or
products containing the string
“OL_1_EFR___” in the metadata.
Search every products ingested in the https://coda.eumetsat.int/search?q=ingestionDate:[NOW-
last day 1DAYS TO NOW]
Search every products ingested in the https://coda.eumetsat.int/search?q=ingestionDate:[NOW-
last month 30DAYS TO NOW]
Search every products ingested in the https://coda.eumetsat.int/search?q=ingestionDate:[NOW-
last hour 1HOUR TO NOW]
Search every products having sensing https://coda.eumetsat.int/search?q=beginPosition:[NOW-
in the last three months 3MONTHS TO NOW] AND endPosition: [NOW-
3MONTHS TO NOW]
Search every products delimitated by https://coda.eumetsat.int/search?q=footprint:"Intersects(POL
the polygon vertices: -4.53 29.85, YGON((-4.53 29.85, 26.75 29.85, 26.75 46.80,-4.53 46.80,-
26.75 29.85, 26.75 46.80,-4.53 46.80,- 4.53 29.85)))"
4.53 29.85

Page 33 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

5 BATCH SCRIPTING

The above OData and OpenSearch URIs can be combined to create complex queries to be
executed in non-interactive scripts using programs like cURL and Wget.

5.1 Download via Curl


Using cURL it is possible to create a script to login to the CODA Web Service via the following
command line:
curl -u {USERNAME}:{PASSWORD} <URI_QUERY>

where:
<URI_QUERY> is a valid OData URI or OpenSearch URI.
-u <username>:<password> option to specify user and password to use when fetching

5.2 Download via Wget


It is also possible to download the products from the CODA Web Service archive using wget.

The following example shows how to download a single product, identified by its own CODA
Web Service universally unique identifier {UUID}, using an OData URI:
wget --no-check-certificate --continue --user={USERNAME} --password={PASSWORD}
"https://coda.eumetsat.int/odata/v1/Products('{UUID}')/$value"
(Please, note that the “-“ symbol corresponds to the Hyphen-Minus (U+002D). Pay attention to not confuse it with other symbols
or you will get an error).

The option --continue is very useful when downloads do not complete due to network problems.
Wget will automatically try to continue the download from where it left off, and repeat this until
the whole file has been retrieved.

The following example shows how to download the manifest file (identified by the universally
unique identifier {UUID}) of a Sentinel-1 product using and OData URI with wget:
wget --no-check-certificate --user={USERNAME} --password={PASSWORD}
"https://coda.eumetsat.int
/odata/v1/Products('{UUID}')/Nodes('{PRODUCT_FILENAME}')/Nodes('manifest.safe')/$value
"

where {UUID} is the value of the universally unique identifier of the product, and
{PRODUCT_FILENAME} is the filename of the product.

Page 34 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

5.3 Scripts Examples


Please, note that, since because those scripts are provided in a shell (.sh) file, they can be used
under a Unix/Linux environment.

5.3.1 dhusget script


dhusget.sh is a simple demo script illustrating how to use OData and OpenSearch APIs to query
and download the products from any CODA Web Service. It allows:
 Search products over a pre-defined AOI
 Filter the products by ingestion time, sensing time and coordinates
 Save the list of results in CSV and XML files
 Download the products
 Download the manifest files only
 Perform the MD5 integrity check of the downloaded products

You can download the script from here

Tip 1: once the shell file is downloaded, open it with a text editor, go to the section ‘Load input
parameter’ and change the values of USERNAME and PASSWORD with your username and
password. In this way it will be not necessary to pass them as arguments when running the
script.
Tip 2: once you downloaded the script, check the permission you have on the script. To make it
executable, use the following command: chmod +x dhusget.sh
Then you can run the script using the command ./dhusget.sh [other options]

5.3.1.1 USAGE:
# dhusget.sh [LOGIN OPTIONS]... [SEARCH QUERY OPTIONS]... [SEARCH RESULT
OPTIONS]... [DOWNLOAD OPTIONS]...

LOGIN OPTIONS:
-d <CODA URL> URL of the CODA Web Service Service to be polled;
-u <username> CODA Web Service username;
-p <password> CODA Web Service password provided after registration;
Search Query options
-i <instrument name> instrument name
-t <time in hours> search for products ingested in the last <time in hours> (integer) from the time of
execution of the script. (e.g. '-t 24' to search for products ingested in the last 24
Hours)
-f <file> search for products ingested after the date and time provided through the
input <file>. The file is updated at the end of the script execution with the ingestion
date of the last successful downloaded product.
-c <coordinates i.e.: coordinates of two opposite vertices of the rectangular area of interest
lon1,lat1:lon2,lat2>
-T <product type> product type of the product to search (for examples: OL_1_EFR___) ;
Search Result options
-l <results> maximum number of results per page [1,2,3,4,..]; default value = 25
-P <page> page number [1,2,3,4,..]; default value = 1
-q <XMLfile> write the OpenSearch query results in a specified XML file. Default file is
'./OSquery-result.xml'
-C <CSVfile> write the list of product results in a specified CSV file. Default file is './products-

Page 35 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

list.csv'
DOWNLOAD OPTIONS:
-o <option> what to download; possible options are:
 'manifest' to download the manifest of all products returned from the search or
 'product' to download all products returned from the search
 'all' to download both
-O <folder> save the Product ZIP files in a specified folder.
-N <1...n> set number of wget download retries. Default value is 5. Fatal errors like
'connection refused' or 'not found' (404), are not retried;
-D if specified, remove the products that have failed the MD5 integrity check from
disk. By deafult products are not removed;
-r <file> download the products listed in an input <file> written according to the following
format:
 One product per line.
 <space><one character><space><UUID><space><one
character><space><filename>.

-L <lock folder> by default only one instance of dhusget can be executed at a time. This is ensured
by the creation of a temporary lock folder /home/dhus/dhusget_tmp/lock which is
removed a the end of each run.
For running more than one dhusget instance at a time is sufficient to assign
different lock folders using the -L option (e.g. '-L foldername') to each dhusget
instance;
-n <1...n> number of concurrent downloads (either products or manifest files). Default value
is 2; this value doesn't override the quota limit set on the server side for the user
HELP
--help Help

Examples:
 ./dhusget.sh –l 100 –o products to download the latest 100
products

 ./dhusget.sh -l 100 -c '-4.530,29.850:26.750,46.800' to download


the latest 100 products intersecting the specified coordinates

5.3.2 Odata-demo.sh script


The script odata-demo is a demo script performing the following selective actions:

1. List the collections


2. List <n> products from a specified collection
3. List first 10 products matching part of product name
4. List first 10 products matching a specific ingestion date
5. List first 10 products matching a specific aquisition date
6. List first 10 products since last <n> days, by product type and intersecting an AOI
7. Get product id from product name
8. Get polarisation from a product id
9. Get relative orbit from a product id
10. Download Manifest file from a product id
11. Download quick-look from a product id

Page 36 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

12. Download full product from its id

You can download the script here

NOTE: It requires the installation of xmlstarlet.

Page 37 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

5.3.2.1 USAGE:
-h, --help displays a help message
-j, --json Use json output format for OData (default is xml)
-u, --user=Name Use Name as username for the DataHub Server;
-p, --password=PASSWORD Use PASSWORD as password for the DataHub Server;
-v, --verbose Display curl command lines and results
-V, --version Display the current script version

Page 38 of 39
EUM/OPS-SEN3/MAN/16/880763
v2 Draft, 24 January 2017

CODA user manual

6 KNOWN ISSUES AND USEFUL TIPS FOR CODA WEB SERVICE


In this paragraph we are going to list the already known issues about CODA Web Service, and
some useful tips to improve the usability of the application, meanwhile we are working on the
improvement of the service in order to give our users a better experience.
Please, take note of these limitations, and consider that we are working to fix them in the next
CODA Service updates.
KNOWN ISSUE WHAT USER CAN DO FOR NOW
When a search is performed, the map is not Map does not automatically update the centre and the
centred on the resulting images footprint, but it zoom based on search’s results. If you want to centre
remains the same. the map on one of the resulting products, click on one
of the results in the list, and then click on the icon
“Zoom to product” (see image below).

The same button has two functionalities: Please, note that when the Navigate on Map icon
- Navigate On Map that allows the user to is displayed it is possible to draw a rectangle on the
move on the base layer map
- Draw Region of Interest that allows the map and that when Draw Region of Interest icon
user to draw a rectangle on the map to is displayed it is possible to move the map.
filter the search results geographically. The icon represents the functionality that will be
This button seems to have the opposite function activated when the button is clicked.
with respect the icon it is displaying.
There are two ways to add a product to Cart: If you want to access your cart with the list of
- Select the product you want to add to products ready to be downloaded, click on ‘User
Cart then click on the icon ‘Add Product
Profile’ button and select ‘Cart’. This will lead
to Cart’ (see figure below)
you to the list of products you chose.

- Select one or more products you want to


add to Cart then click on the icon ‘Add
selected products to Cart’ displayed at
the bottom of the results list.

Please, note that the icon will not take you


to your list of products chosen for the download.

Page 39 of 39

Das könnte Ihnen auch gefallen