Release notes

Version 1.2.0

v1.2.0 Breaking changes

  • Compatibility to OTB 7.x (and even 8.x) is no longer activelly pursued. S1Tiling may work with older version of OTB, but with no guarantees. (#164).

v1.2.0 Improvements

  • Use precise orbit files, downloaded on-the-fly, to compute Local Incidence Angle maps (#151).

  • Support eodag 3 (#170).

Version 1.1.0

This version integrates 3 main improvements:

  • it can support DEM from any sources (Copernicus DEM, RGE Alti DEM…),

  • it supports OTB 8 (and OTB 9) applications (while staying backward compatible with OTB 7.4.2),

  • it improves the quality and the processing performances of LIA/\(σ^0_{RTC}\) NORMLIM calibration.

v1.1.0 Improvements

  • Improve API (separate CLI from computing functions) (#96) – contributed by CS Group FRANCE.

  • Support DEM files from other origins (Copernicus…). Their footprints, organization on disk… need to be deduced from a DEM database. (#18) – contributed by CS Group FRANCE.

  • Add support for OTB 8 applications (#105) – contributed by CS Group FRANCE.

  • Add support for OTB 9 applications as well (#152).

  • Support DEM databases in any spatial reference (they are not restricted to WGS84 anymore) (#149).

  • Change LIA workflow in order to minimize occurrences of artefacts in rugged areas, and to speed-up performances (#149).

  • Product output directory can be configured through dname_fmt.* options (#148).

  • Product encoding/compression options can be configured through creation_options.* options (#66).

  • GEOID file is also copied alongside DEM data when [Processing].cache_dem_by option is on. (#123).

v1.1.0 Bugs fixed

  • Noise correction post-processing shall not transform wide no-data sides from Sentinel-1 IPF 2.90+ products into minimal signal value. (#159).

  • Handling of nodata values has been improved. (#159, (#160).

v1.1.0 Breaking changes

  • ACQUISITION_DATETIME image metadata is now in UTC format (e.g. 2020:01:08T04:41:50Z). In previous versions it used to have the same format as TIFFTAG_DATETIME (i.e.: 2020:01:08 04:41:50)

Version 1.0.0

This version is a major improvement over v 0.3.x versions. A few breaking changes have been made in parameters, internal API…

v1.0.0 Improvements

  • This new version can automatically produce Local Incidence Angle Maps over requested S2 tiles thanks to S1LIAMap, or generate S2 products calibrated with \(σ^0_{RTC}\) NORMLIM calibration described in [Small2011]. (#56, #119).

  • Correctly update image metadata, and fill in particular the list of Sentinel-1 INPUT_FILES used to produce tiles, as well as the full list of ACQUISITION_DATETIME_{id} (#25).

  • New filters can be used to select input products: platform_list, orbit_direction, relative_orbit_list and tile_to_product_overlap_ratio. (#83, #110, #133.

  • Null values obtained after the optional denoising done during the calibration wil be set to a minimal signal value > 0. The objective is to keep 0 as the nodata value. (#87).

  • Spatial Speckle Filtering is supported (#116).

  • Improve the reporting of search or download failures. Also give another chance to download products after download timeouts (in case other products have successfully been downloaded afterward the last timeout) (!89 | #139)

  • On search timeout, S1Tiling will insist a few times (5 by default, can be overridden through CLI option). This is meant as a workaround of EODAG issue #908. (#140).

v1.0.0 Bugs fixed

  • Offline S1 products are now correctly detected and processed (#71, #93, #108):

    • their associated (and available) products won’t be used to produce a S2 product,

    • the final report will list the S1 products that could not be retrieved,

    • and the exit code exits.OFFLINE_DATA (68) will be used.

  • Discard download failure errors from previous tiles (#139)

  • Logging will be done in DEBUG mode only if required. Logging code has also been simplified and cleaned. (#132)

v1.0.0 Breaking changes

  • [DataSource].eodagConfig has been renamed eodag_config, to follow snake_case. Old naming scheme is still supported, but deprecated. (#129).

Version 0.3.2

Improvements over version 0.3

v0.3.2 Improvements

  • Avoid downloading of already processed S1 images (#107).

Version 0.3.1

Bug fixes for version 0.3

v0.3.1 Bugs fixed

  • Don’t produce partial products when complete ones already exist for a given S2 tile at a requested time (#104).

Version 0.3.0

This version is a minor release with critical but non trivial fixes before version 1.0.0

v0.3.0 Improvements

  • Don’t remove timestamp from final products when no concatenation is done (#69). Up to now timetag was always changed to txxxxxx

  • Update to support noise removal which has been fixed in OTB 7.4.0. This processing is now disabled with prior versions of OTB (#89, #95).

  • Dask cluster and client handles are always closed. This avoids memory leaks from other programs that wish to use S1Tiling as a library. (!50)

  • Permit also to filter polarisation only on VV, VH, HV, or HH (#92).

v0.3.0 Optimizations

  • Downloading and unzipping of Sentinel-1 products is done in parallel (!31)

  • Support copying or symlinking SRTM files into a local temporary directory. Previously, SRTM files were always symlinked. (#94).

Version 0.2

This version is a major release where the project architecture has been completely changed to enable multiple improvements and optimizations.

v0.2 Improvements

  • Provide the possibility to use linear interpolation for orthorectification step

  • Support OTB 7.3

  • Various return code after execution are now provided (#72)

  • Improved architecture to help maintenance

  • Project stability has been improved

    • Non-regression tests has been added

    • OTB applications write into temporary files that are renamed after completion

  • Most temporary files are automatically removed

    • Files that are detected to be no longer required (#38)

    • SRTM symlinks (#21)

    • To ignore unrelated files

  • Start-over on process interruption has been fixed (#23)

    • to not use incomplete files

    • to analyse start-over situation once (#22)

  • Sentinel-1 products can be retrieved from many providers thanks to eodag (#7, #12)

  • Syntax of request configuration files been simplified (#36)

  • Installation can be done with pip

  • Documentation has been written

  • Improved logs (#2)

    • Multiple log files are produced.

    • They can be sent by mail (though configuration)

    • Log level are supported

    • A summary of the successfully of failed computations is provided.

v0.2 Bugs fixed

  • Fix thermnal noise usage ((#84)

  • Fix pylint error ((#82)

  • Improve the srtm tiles database to avoid to request srtm tile which don’t exist ((#81)

  • Work on the more complete product when there are multiple overlapping products (#47)

  • Multiple errors related to temporary files have been fixed (#6…)

  • List of requested S2 tiles syntax has been relaxed (https://github.com/CNES/S1Tiling/issues/2)

v0.2 Optimizations

  • Disk usage has been minimized: most OTB applications are chained into memory (#4, #10, #52)

    • This reduces stress on IO that often are a bottleneck on clusters

  • Dedicated and optimized OTB applications have been written for cutting and calibration

  • Execute only the processes that are needed to produce the requested products

  • Parallelization is done with dask (#11)

    • This permits to parallelize computations of different types

  • When there is only one file to concatenate, it’s simply renamed (#24).

v0.2 Breaking changes

  • Previous configuration files will need to be updated:

    • snake_case is used for option names

    • a few options have changed ([DataSource] section)

  • No script is provided yet to run S1Tiling on several nodes

  • Multitemporal speckle filtering has been removed from S1Tiling processing. Users have to apply their own speckle filtering, according their needs (for example with OTB applications OTBDespeckle or with remote modules OTBMultitempFilterOutcore and OTBMultitempFilterFiltering)

  • The config key srtm_shapefile is no more available to users.