We used FORCE using Docker (version 20.10.17 build 100c701) to work on a "prebuilt image" which can be "easily" pulled on a Linux-based system. We used Ubuntu 21.10 for our processing. Prior to downloading the data we made sure of sufficient storage for mass processing of the data heavy satellite images. Reference - Frantz, D. (2019): FORCE – Landsat + Sentinel-2 Analysis Ready Data and beyond: Remote Sensing 11, 1124. http://doi.org/10.3390/rs11091124 For a detailed force installation tutorial refer to https://force-eo.readthedocs.io/en/latest/ Please exchange and adjust everything to your specific system and filenames depending of you are using Docker or not. ############################################### Pulling a docker image of latest force version (We used davidfrantz/force:3.7.7 version) ############################################### sudo docker pull \ davidfrantz/force ############################################### Running force ############################################### sudo docker run \ davidfrantz/force ############################################### Dependencies and requirements ############################################### A list of dependencies and requirements specific to Force should be installed. Refer to these links below 1.https://force-eo.readthedocs.io/en/latest/setup/depend.html 2.https://force-eo.readthedocs.io/en/latest/setup/requirements.html ##################################### # 1. set up the working environment ##################################### cd /home/myproject #create all kind of needed directories mkdir -p level1/level1-datapool/Landsat mkdir -p level1/meta/ mkdir level2 mkdir catalog mkdir param mkdir log mkdir misc mkdir temp mkdir level2/base # Download metadata catalog once before first use force-level1-csd -u catalog/ ## prior to data download either a. Save the study area shapefile in misc directory or b. select the tilenames (for Sentinel-2) and path/row numbers (for Landsat) ##################################################### # 2. Download level 1 Sentinel2 and Landsat data ##################################################### #2.1 download sentinel 2 data for 2017 to 2021 using study area shapefile # Note: First Docker command needs to use the Docker credentials sudo docker run -v /home/myproject:/opt/data --user "$yourusername" --env FORCE_CREDENTIALS=/app/credentials -v $HOME:/app/credentials davidfrantz/force force-level1-csd -c 0,75 -d 20170101,20211231 -s S2A,S2B /opt/data/catalog/ /opt/data/level1/level1-datapool/ /opt/data/level1/level1-datapool/queue.txt /opt/data/misc/mystudyarea_shapefile.shp #2.2 download landsat data using landsatlinks ## --> make an account and request permission to download e.g. get "machine to machine" API ## create a file with your user credentials ## a simple .txt file first row username, second row password ### think of special character readability ## save the study area shapefile in the misc directory ## we used landsatlinks version 1.0.0 https://github.com/ernstste/landsatlinks # 2.2.1 create file with download links for Landsat using landsatlinks: landsatlinks search /home/myproject/misc/mystudyarea_shapefile.shp /home/myproject/misc -s OLI -d 20220101,20221231 -m 1,2,3,4,5,6,7,8,9,10,11,12 -c 0,75 --secret /home/myproject/misc/landsatlink.txt -q /home/myproject/misc/landsat_download_links.txt -d = daterange -m = month -s = sensor -c = cloud cover -q = queue file --secret = path to the login credentials (Earth Explorer login) Reference to the landsatlinks github repository: https://github.com/ernstste/landsatlinks #2.2.2 In the misc folder access the download URLS written as a .txt file: cat /home/myproject/misc/urls_landsat_OLI_20230130T143754.txt| xargs -n 1 -P 50 wget -q -P /home/myproject/level1/level1-datapool/Landsat/landsatlinks --content-disposition ATTENTION: Please note, that the TXT file needs to be exchange for your project related file. This is just an example file mentioned here! #2.2.3 Unzip all the downloaded .tar files in the respective landsatlinks folder: cd /home/myproject/level1/level1-datapool/Landsat/landsatlinks for f in *.tar; do y=${f%.tar} mkdir $y sudo tar -xf "$f" -C $y; done ################################### # 3. Landsat ARD ################################### # 3.1 DEM # provide a DEM for enhanced cloud and cloud shadow detection, atmospheric correction, and to perform the topographic correction # download DEM of your choice, we recommend ASTER/SRTM 1-arc second (30m) global from USGS earthexplorer or NASA Earthdata # built vrt with force find misc/dem/ -name '*.tif' > misc/dem/srtm.txt gdalbuildvrt -input_file_list misc/dem/srtm.txt misc/dem/srtm.vrt # 3.2 Download parameter file sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-parameter /opt/data/param/landsat_level2.prm LEVEL2 ## The sample parameter file is attached with the data (landsat_level2.prm) # 3.3 create a queue file (.txt format) in the following structure: /opt/data/level1/level1-datapool/landsat/landsatlinks/name_of_landsat_file QUEUED ## update the path of the queue file in the parameter file # 3.4 Force Level2 processing sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-level2 /opt/data/param/landsat_level2.prm #################################### # 4. Landsat base image #################################### # 4.1 Download parameter file sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-parameter /opt/data/param/ls_base.prm TSA # 4.2 get Tile extent ## get the coordinates for the TSA prm file sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-tile-extent /opt/data/misc/mystudyarea_shapefile.shp /opt/data/level2/ /opt/data/level2/base/TSA_extent_info.txt ## The sample parameter file is attached with the data (ls_base.prm) # 4.3 Force Level3 ## add additional tile extent in the params file so all folders are read in 2 extra in each direction sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-higher-level /opt/data/param/ls_base.prm # 4.4 base image mosaic sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-mosaic /opt/data/level2/base/ #################################### # 5. Sentinel2 Level2 ARD #################################### # 5.1 Download parameter file sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-parameter /opt/data/param/sentinel_level2.prm LEVEL2 # 5.2 Force level 2 and coregistration sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-level2 /opt/data/param/sentinel_level2.prm ## The sample parameter file is attached with the data (sentinel_level2.prm) # 5.3 Create report sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-level2-report /opt/data/log/ ######################################## # 6. Sentinel2 Time-Series-Analysis (TSA) and indices Level3 ######################################## #6.1 parameter file TSA sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-parameter /opt/data/param/sentinel_level3.prm TSA # 6.2 Force Sentinel Level3 TSA monthly aggregates #add additional tile extent in the params file so all folders are read in 2 extra in each direction sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-higher-level /opt/data/param/sentinel_level3.prm ## for monthly aggregates use FBM = TRUE ## for yearly aggregates use FBY = TRUE (here date range is only one year) ## for multi annual aggregates FBY = TRUE AND! ##Under "PROCESSING TIMEFRAME" adjust to more than one year ##DATE_RANGE to 2017-01-01-2021-12-31 ## The sample parameter file is attached with the data (sentinel_level3.prm) #################################### # 7. Sentinel2 mosaic/vrt #################################### sudo docker run -v /home/myproject:/opt/data davidfrantz/force force-mosaic /opt/data/level3/