FORCE v. 3.4.0

Release: 03.08.2020

  • General changes

    • FORCE no longer uses the terms white-list, master, and slave. These were replaced (in code and docs) with allow-list, base, and target.

    • Bandnames were added to all output products.

  • Changes for Docker

    • In Docker, retrieving the user credentials was problematic, i.e. the user/password for force-level2-sentinel2 and force-lut-modis. We have now solved it by adding an environment variable. These two programs will look for an environment variable FORCE_CREDENTIALS, which the Docker user can specify with s.th. like this:

      docker run --env FORCE_CREDENTIALS=/app/credentials fegyi001/force env
      

      In this directory, you should place the .scihub and .laads files.

      If the environment variable is not set, FORCE will look in the user’s home directory (as before). Thus, for non-Docker users, nothing changes (although you can choose the environment variable, too).

      Thanks to Haili Hu and Gergely Padányi-Gulyás for developing this solution.

  • FORCE L2PS

    • Due to the ban of the term “master”, the DIR_MASTER and MASTER_NODATA tags have changed to DIR_COREG_BASE and COREG_BASE_NODATA.

  • FORCE HIGHER LEVEL

    • added new sub-module to force-higher-level:

      library-completeness LIB. This submodule takes a feature table (e.g. spectral library used for training a machine learning classifier), and tests each feature vector against the image features. The output is a minimum MAE map, which indicates if your library is complete - or if there are e.g. landcovers that you do not have any samples for (likely your classification/regression will be worse there). It is suggested to not use this sub-module on the native spatial resolution, but on 100m or similar. force-parameter has a new option to generate a LIB parameter file. Thanks to Franz Schug for prototyping this method.

    • in force-higher-level, most sub-modules:

      Added a new parameter OUTPUT_EXPLODE. If FALSE, multi-band images are written (as before). If TRUE, the output is exploded into single-band images. Note that this can result in an extremely large number of files.

    • in force-higher-level, various sub-modules:

      Explicitly added the nodata value for output products, which formerly caused strange behaviour when there only was nodata within the processing mask of one block. Thanks to Stefan Ernst for reporting this issue.

    • in force-higher-level, sampling sub-module:

      The limitation of only having one response variable was lifted. Accordingly, the input table can have more than 3 columns, i.e. 1) X-, 2) Y-coordinates, and 3+) response variables. The output response file will hold all response variables. Some improvements were made w.r.t. performance, i.e. the input table is only read once, and a “we-already-have-sampled-this-coordinate” is used to skip finished samples.

    • in force-higher-level, CSO sub-module:

      Fixed a critical memory error related to the CSO nodata value.

    • in force-higher-level, machine learning sub-module, random forest classification:

      Random Forest class probabilities can now be output. The Random Forest classification margin can now be output. Two new parameters were added: OUTPUT_RFP & OUTPUT_RFM. Thanks to Benjamin Jakimow for suggesting this improvement.

    • in force-higher-level, machine learning sub-module:

      Added a check if all provided models do exist. Thanks to Stefan Ernst for reporting this bug.

    • in force-higher-level, TSA sub-module:

      Added additional spectral indices: Normalized Difference Tillage Index, and Normalized Difference Moisture Index Thanks to Benjamin Jakimow for suggesting this improvement.

    • in force-higher-level, TSA sub-module:

      Fixed a bug in the outlier detection, which caused some unexpected behaviour when multiple snowy observations were ommitted in the L2 QAI screening

  • FORCE AUX