This container provides a python luigi workflow that processes a swath of raw Sentinel 2 granules from ESA to a set of Analysis Ready Data (ARD) products utilising the ARCSI tool developed by Dr Pete Bunting.
It takes a set of raw inputs (ESA zip files or Mundi folders) and a Digital Elevation Model and produces ARD rasters, as well as a GEMINI 2.3 metadata XML file.
The luigi workflow can run standalone or with a luigi central scheduler.
This container derives from the petebunting/au-eoed container that includes ARCSI and GDAL.
The source code for the s2-ard-processor container is on github. You can find more details on the workflow parameters and folder setup in the workflow readme.
This ARD processor consumes and generates large amounts of data and this may require you to mount external file systems to account for this. For this reason there are a number of locations in the container file system that you may wish to mount externally.
The command line is of the format
docker <docker parameters> jncc/s2-ard-processor FinaliseOutputs <luigi-parameters>
FinaliseOutputs is the luigi task that requires all processing steps to be run and moves the output files to the output folder.
docker run -i -v /data/input:/input -v /data/output:/output -v /data/state:/state -v /data/static:/static -v data/working:/working jncc/s2-ard-processor FinaliseOutputs --dem=dem.kea --outWkt=outwkt.txt --projAbbv=osgb --metadataConfigFile=metadata.config.json --metadataTemplate=metadataTemplate.xml --oldFilenameDateThreshold=2023-01-01 --noStateCopy --local-scheduler
These parameters are relevant to the luigi worker running inside the container: See Luigi docs for more information a full list of relevant options
By default the workflow will run ARCSI in non-MPI mode but MPI is also supported. You'll need to do two additional things to enable it:
--arcsiCmdTemplate=/app/workflows/process_s2_swath/templates/arcsimpi_cmd_template.txt (Note this will use the built in arcsimpi.py command template but you can specify your own if needed.)Following a successful run the output folder will contain the following file structure:
../output
2022
└── 06
└── 20
└── S2B_20220620_latn527lonw0007_T30UXD_ORB137_20220620115229_utm30n_osgb
├── S2B_20220620_latn527lonw0007_T30UXD_ORB137_20220620115229_utm30n_osgb_clouds.tif
├── S2B_20220620_latn527lonw0007_T30UXD_ORB137_20220620115229_utm30n_osgb_clouds_prob.tif
├── S2B_20220620_latn527lonw0007_T30UXD_ORB137_20220620115229_utm30n_osgb_sat.tif
├── S2B_20220620_latn527lonw0007_T30UXD_ORB137_20220620115229_utm30n_osgb_toposhad.tif
├── S2B_20220620_latn527lonw0007_T30UXD_ORB137_20220620115229_utm30n_osgb_valid.tif
├── S2B_20220620_latn527lonw0007_T30UXD_ORB137_20220620115229_utm30n_osgb_vmsk_sharp_rad_srefdem_stdsref.tif
├── S2B_20220620_latn527lonw0007_T30UXD_ORB137_20220620115229_utm30n_osgb_vmsk_sharp_rad_srefdem_stdsref_meta.xml
└── S2B_20220620_latn527lonw0007_T30UXD_ORB137_20220620115229_utm30n_osgb_vmsk_sharp_rad_srefdem_stdsref_thumbnail.jpg
Content type
Image
Digest
sha256:988252b34…
Size
2.9 GB
Last updated
about 2 years ago
docker pull jncc/s2-ard-processor