Sencast is a toolbox to download and derive water quality parameters from satellite images. It acts as a framework for the use a variety of processors such as Idepix, Polymer, Sen2Cor and Acolite. It supports ESA satellites Sentinel 2 and Sentinel 3 and USGS satellite Landsat 8.
It is developed and maintained by the SURF Remote Sensing group at Eawag.
Anaconda and Snap Desktop are required to install Sencast
git clone [email protected]:eawag-rs/sencast.git
conda env create -f ~/sencast/sencast.yml
Then create your environment file (use environments/example.ini as a template) and test your installation as follows:
cd ~/sencast
conda activate sencast
python main.py -t
This will output a log of which processors are functioning. After the above steps it is normal that only the image download functions. For installation of the processors refer to the full documentation below:
Full documentation is available at ReadTheDocs.
python main.py
Parameter | Default | Description |
---|---|---|
-t --tests | False | run test processing to check setup |
-x --delete_tests | False | delete previous test run |
-p --parameters | Required | link to the parameters.ini file (required when not running tests) |
-e --environment | ${machine-name}.ini | link to the environment.ini file |
-d -–downloads | 1 | number of parallell downloads |
-p --processors | 1 | number of parallell processors |
-a --adapters | 1 | number of parallell adapters |
SenCast: Copernicus Satellite Data on Demand
D. Odermatt, J. Runnalls, J. Sturm, A. Damm
German English
Manual installation of all the processors is challenging and can be simplified through the use of a docker container.
As this container contains non-open source code, the pre-build image is only available internally at Eawag. However, external parties can build the image
themselves by including docker_dependencies/polymer-v4.15.tar.gz
in the repository.
Users should first ensure they have a functioning docker installation.
The docker image can be built using the following command:
docker build -t eawag/sencast:0.0.1 .
In order to test the setup is working the following command can be run which will output a report on the functioning of the processors. This must be run from inside the sencast repository.
The option -v /DIAS:/DIAS
maps the input/ output folders to a location outside the container. This should be updated to
the appropriate location, e.g. -v /home/user/DIAS:/DIAS
docker run -v /DIAS:/DIAS -v $(pwd):/sencast --rm -it eawag/sencast:0.0.1 -e docker.ini -t
-e
name of the environment file in sencast/environments
-t
flag to indicate a test should be run
In order to run a parameters file it can be passed to the command as follows using the -p
flag.
docker run -v /DIAS:/DIAS -v $(pwd):/sencast --rm -it eawag/sencast:0.0.1 -e docker.ini -p example.ini
-p
name of the parameter file in sencast/parameters
Sometimes it is desirable to interact directly with the container, this can be achieved with the following command:
docker run -v /DIAS:/DIAS -v $(pwd):/sencast --rm -it --entrypoint /bin/bash eawag/sencast:0.0.1