Instruction are provided separately for each OS:

The support for MacOS will be added in future.

Alternatively, sen2r can be used in a Docker container.

On Linux systems

Installing dependencies

Before installing sen2r, it is recommended to check R (v. 3.4.4 or higher) and the following libraries to be present:

Other binaries are required (or suggested), since they are used in runtime by the package:

  • GDAL (with support for JP2OpenJPEG format): this is a mandatory dependency, needed for all the processing operations and to retrieve metadata from SAFE products;
  • sen2cor is used to perform atmospheric correction of Sentinel-2 Level-1C products: it is required by the package, unless you choose not to correct products locally (using only Level-1C – TOA products or dowloading directly Level-2A products).
  • aria2 is an alternative downloader which can be used to faster the download of SAFE archives; it can be optionally installed and used.

To install both package dependencies and runtime binaries (excepting sen2cor, which is installed by sen2r):

  • On Debian and Ubuntu:

    sudo apt-get install -y r-base gdal-bin python-gdal aria2 libpython-dev libudunits2-dev libgdal-dev libjq-dev libprotobuf-dev protobuf-compiler libv8-dev libssl-dev libcairo2-dev

    On Debian, proj-epsg is also required:

    sudo apt-get install -y proj-epsg

    On Ubuntu 16.04 LTS Xenial and 14.04 LTS Trusty, the repositories ubuntugis and opencpu must be added before installing the packages:

    sudo add-apt-repository -y ppa:opencpu/jq
    sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
    sudo apt-get update -q
    Installation was tested over Debian 9 Stretch and Ubuntu 18.04 LTS Bionic; newer versions (Ubuntu > 18.04, Debian > 9) should work, like Ubuntu 16.04 LTS Xenial and 14.04 LTS Trusty should also do. Other releases (Debian ≤ 8; Ubuntu non-LTS < 18.04; Ubuntu LTS ≤ 12.04) are not supported.
  • On Fedora:

    sudo yum install R gdal gdal-python aria2 python-devels gdal-devel proj-devel geos-devel udunits2-devel jq-devel protobuf-devel v8-devel openssl-devel cairo-devel libcurl-devel netcdf-devel libxml2-devel
    Installation was tested over Fedora 29.
  • On ArchLinux:

    sudo pacman -S --noconfirm r base-devel gcc-fortran python-gdal wget aria2 jq protobuf git
    cd /tmp; git clone https://aur.archlinux.org/gyp-git.git
    cd gyp-git; makepkg -si --noconfirm
    cd /tmp; git clone https://aur.archlinux.org/v8-3.14.git
    cd v8-3.14; makepkg -si --noconfirm
    cd /tmp; git clone https://aur.archlinux.org/udunits.git
    cd udunits; makepkg -si --noconfirm

    Installation was tested on date 2018-11-21.

Installing sen2r

Before proceeding, it is suggested to update the existing R packages:

update.packages(ask = FALSE)

Doing that, the following warning could appear:

Warning in install.packages(update[instlib == l, "Package"], l, contriburl = contriburl,  :
  'lib = "/usr/lib/R/library"' is not writable
Would you like to use a personal library instead?  (y/n)

If so, press y and continue. Moreover, if no personal libraries already exist, it is asked to create a new one: ask y and continue.

After that, the package can be installed from GitHub with the R package remotes. To do it:

  1. install the package remotes, if missing:

    install.packages("remotes")
  2. load it and install sen2r:

    library(remotes)
    install_github("ranghetti/sen2r")

This will install the R package along with its package dependencies, containing all the functions necessary to preprocess data.

Finally, sen2cor can be installed from R:

On Windows

Installing sen2r

R must be installed before proceeding.

In the case it was already installed, it is suggested to update the existing R packages:

update.packages(ask = FALSE)

sen2r can be installed from GitHub with the R package remotes. To do it:

  1. install the package remotes, if missing:

    install.packages("remotes")
  2. load it and install sen2r:

    library(remotes)
    install_github("ranghetti/sen2r")

This will install the R package along with its package dependencies, containing all the functions necessary to preprocess data.

Installing runtime dependencies

To run the functions correctly, some external dependences are required:

  • GDAL (with support for JP2OpenJPEG format): this is a mandatory dependency, needed for all the processing operations and to retrieve metadata from SAFE products (to avoid incompatibilities, it is strongly recommended to use a GDAL installation provided with the OSGeo4W intaller);
  • sen2cor is used to perform atmospheric correction of Sentinel-2 Level-1C products: it is required by the package, unless you choose not to correct products locally (using only Level-1C – TOA products or dowloading directly Level-2A products).
  • Wget is the downloader used by the package; it is required to work online.
  • aria2 is an alternative downloader which can be used to faster the download of SAFE archives; it can be optionally installed and used.

These dependences can be graphically checked launching the function

This function opens a GUI which help to check that they are satisfied; if some of them are missing, the GUI allows to install them directly.

On MacOS

The support for MacOS will be added in future.