Sentinel-download

Automated download of Sentinel-2 L1C data from ESA (through wget) :http://olivierhagolle.github.io/Sentinel-download

  • Owner: olivierhagolle/Sentinel-download
  • Platform:
  • License:: GNU General Public License v2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Sentinel-download

(I share tools I develop for my needs. These days, I am downloading data through The French Sentinel mirror site using another tool I developped Peps_download.
From my computer, PEPS is much faster than Copernicushub.I have therefore not much time to maintain that one. Volunteers are welcome to take over its maintenance).

Description

Tool to download Sentinel data from ESA (using the wget or aria2 downloaders). This tool can download whole products or only one tile per product, with the -t option (http://olivierhagolle.github.io/Sentinel-download). It should work both on windows and linux.

The ESA Sentinel distribution website allows you to perform catalog searches through http requests. This blog post shows a few examples.

Sentinel-download searches the ESA apihub catalog and downloads the products which fit the criteria defined in the command line. You can select products by :

  • coordinates of a point, or of a rectangle
  • path number (sometimes, a point can be observed from several paths
  • date, of course

This tool was written thanks to ESA well documented scihub API : https://scihub.copernicus.eu/userguide/5APIsAndBatchScripting.

To use this tool, you need a scihub account obtained a long time in advance (see below). If you do not have such an account, or if you want to try a faster access, you might consider downloading the products from the French collaborative ground segment PEPS.

wget /aria2

To use it, you need either to have wget or aria2 installed. I guess it goes with any linux distribution. For windows users, first install aria2 (https://aria2.github.io).
If your download stops for a network issue, you can restart S2-download, as wget knows how to resume without havind to download everything again. Wget doesnot download the products already fully downloaded (unlesss you have unzipped them).

wget is the downloader by default, If you want to use aria2, add --downloader aria2 in your command line

Proxy

In case your download must be done through a proxy, you have to setup the https_proxy variable in your.bashrc file or in your .profile.

Proxy with password :

export https_proxy = http://uname:passwd@proxy.truc.fr:8080

Proxy without password :

export https_proxy = http://proxy.truc.fr:8080

Examples

S2 examples

Here are a few examples for Sentinel-2

  • To download all the products over Toulouse

python %s --lat 43.6 --lon 1.44 -a apihub.txt (scene)"%sys.argv[0]

  • To download all products over Toulouse taken from Path 51

python Sentinel_download.py --lat 43.6 --lon 1.44 -a apihub.txt -o 51 -s S2

  • To download all L2A products over Toulouse

python Sentinel_download.py --lat 43.6 --lon 1.44 -a apihub.txt -l L2A -s S2

  • To download all products over Toulouse taken from Path 51 with aria2 for windows

python Sentinel_download.py --downloader aria2 --lat 43.6 --lon 1.44 -a apihub.txt -o 51 -s S2

  • To see all products over Toulouse taken from Path 51, but without downloading, thanks to -n option

python Sentinel_download.py --lat 43.6 --lon 1.44 -a apihub.txt -o 51 -n -s S2

  • To see all products in a rectangle and download only those with a small percentage of clouds :

python Sentinel_download.py --latmin 43 --latmax 46 --lonmin -1 --lonmax 2 -a apihub.txt -o 94 -m 23 -d 2015-12-06 -n -s S2

  • to download all products above Toulouse acquired after 2015-12-26 (December 26th) and before 2016-01-01

python Sentinel_download.py --lat 43.6 --lon 1.44 -a apihub.txt -d 20151226 -f 20160101 -s S2

  • to download all products above Toulouse ingested in November 2016 (note thedate format is different)

python Sentinel_download.py --lat 43.6 --lon 1.44 -a apihub.txt --id 2016-11-01 --if 2016-12-01 -s S2

  • to download all products above Toulouse acquired after 2015-12-26 (December 26th)

python Sentinel_download.py --lat 43.6 --lon 1.44 -a apihub.txt -o 51 -d 20151226 -s S2

  • you may also change the output directory with the -w option

python Sentinel_download.py --lat 43.6 --lon 1.44 -a apihub.txt -o 51 -d 20151226 -w /mnt/data/Sentinel-2/ -s S2

  • and finally, you may download only one tile from the product (the one which contains Toulouse for instance)
    python Sentinel_download.py --lat 43.6 --lon 1.44 -a apihub.txt -o 51 -t 31TCJ

S1 examples :

  • To download Sentinel-1 SLC products above a rectangle in France

python Sentinel_download.py --latmin 43 --latmax 46 --lonmin -1 --lonmax 2 -a apihub.txt -s S1A*SLC

  • for other examples see Sentinel-2 examples

authentification

The scihub site accepts the "guest" account and "guest" password, as provided in the apihub.txt file. But only two downloads at the same time are allowed worldwide on the same account. So do not forget to enter your own account and password in the password file provided in the -a option.

However, please also note that ESA has currently limited the acces to users registered some time ago.

In December :
The API Hub Access is currently available only for users registered before the 20th of November 12:00 UTC, the user credentials as of the 20th November are valid to access this site.

In January :
The API Hub Access is currently available only for users registered on SciHub before the 21st of December 16:46 UTC. The same user credentials are valid to access this site.

If you do not have such an account, you might consider downloading the products from the French collaborative ground segment PEPS.

Issues

Maximum of concurrent flows
  • One of my accounts always yields the same message :
    `wget --no-check-certificate --user="hagolle" --password="very_secret" --continue --output-document=./S2A_OPER_PRD_MSIL1C_PDMC_20160119T202641_R008_V20160119T105107_20160119T105107.SAFE.zip "https://scihub.copernicus.eu/apihub/odata/v1/Products('bcf1f9a1-c43d-4e2d-8924-f90662acdc49')/$value"

2016-01-30 17:09:02 ERREUR 500: Internal Server Error. `

If I use the URL in firefox, I get the following message, which is not true, I have no other download on-going.

<error><code/><message xml:lang="en">An exception occured while creating a stream : Maximum number of 2 concurrent flows achieved by the user "hagolle"</message></error>

I have found a workaround with the --dhus option.

Main metrics

Overview
Name With Ownerolivierhagolle/Sentinel-download
Primary LanguagePython
Program languagePython (Language Count: 1)
Platform
License:GNU General Public License v2.0
所有者活动
Created At2015-12-06 15:38:25
Pushed At2018-09-30 17:19:55
Last Commit At2018-09-30 19:19:54
Release Count0
用户参与
Stargazers Count191
Watchers Count27
Fork Count111
Commits Count106
Has Issues Enabled
Issues Count37
Issue Open Count14
Pull Requests Count4
Pull Requests Open Count1
Pull Requests Close Count2
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private