options_default.json 10.1 KB
Newer Older
Daniel Scheffler's avatar
Daniel Scheffler committed
1
{
2
    "global_opts": {
3
4
        "inmem_serialization": false,  /*If "true", all intermediate processing results are kept in memory. This avoids
                                         disk I/O but requires a lot of RAM. Implemented for execution via Flink.*/
5
        "parallelization_level": "scenes", /*"scenes" or "tiles"*/
6
7
8
9
        "spatial_index_server_host": "localhost",  /*name of the host that runs the spatial index mediator server
                                                     NOTE: The host that runs the GeoMultiSens database has to be
                                                           CLI frontend or to the set_config function directly!*/
        "spatial_index_server_port": 8654,  /*"port used for connecting to the spatial index mediator server"*/
10
        "CPUs": "None",  /*number of CPU cores to be used for processing (default: "None" -> use all available)*/
11
        "CPUs_all_jobs": "None",  /*total number of CPU cores to be used for all GMS jobs running on a single host
12
13
14
                                    NOTE: This may be set to avoid CPU/RAM overload in case multiple GMS jobs are
                                          running on the same host (only usable in case the GMS is not executed via
                                          Apache Flink).*/
15
        "delete_old_output": false,  /*whether to delete previously created output of the given job ID*/
16
17
18
19
20
21
        "max_parallel_reads_writes": 0,  /*number of parallel disk read/write processes (integer).
                                           0: no limit;
                                           1: only 1 read/write process is allowed, all others are put into a queue.
                                           NOTE: Do NOT SET A LIMIT if GMS is executed on a cluster with a shared
                                                 storage mount point. On a single server hosting its own HDD storage,
                                                 setting a limit might be useful to overcome IO bottlenecks.*/
22
        "allow_subMultiprocessing": true,  /*allow multiprocessing within multiprocessing workers*/
23
24
25
26
27
28
29
30
31
32
33
        "disable_exception_handler": false,  /*enable/disable automatic handling of unexpected exceptions*/
        "log_level": "INFO",  /*the logging level to be used (choices: 'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL';*/
        "tiling_block_size_XY": [
            2048,
            2048
        ],  /*X/Y block size to be used for any tiling process*/
        "is_test": false,  /*whether the current job represents a software test job (run by a test runner) or not*/
        "profiling": false, /*enable/disable code profiling*/
        "benchmark_global": false /*enable/disable benchmark of the whole processing pipeline*/
    },

34
35
36
37
38
    "paths": {
        "path_fileserver": "",
        "path_archive": "", /*input path where downloaded data are stored*/
        "path_procdata_scenes": "", /*output path to store processed scenes*/
        "path_procdata_MGRS": "", /*output path to store processed MGRS tiles*/
39
40
41
        "path_tempdir": "",  /*temporary directory. CAUTION: This will be deleted when the job is finished!
                                                    So always choose a NEW directory that is ONLY used for
                                                    GeoMultiSens!*/
42
43
44
45
46
47
48
49
50
        "path_benchmarks": "",
        "path_job_logs": "",  /*output path to store job log files*/
        "path_spatIdxSrv": "",
        "path_SNR_models": "",
        "path_SRFs": "",
        "path_dem_proc_srtm_90m": "",
        "path_earthSunDist": "",
        "path_solar_irr": "",
        "path_cloud_classif": "",
51
        "path_custom_sicor_options": "",
52
53
        "path_ECMWF_db": "",
        "path_spechomo_classif": ""
54
55
56
    },

    "processors": {
57

58
59
60
61
        "general_opts": {  /*configuration parameters needed in all processors*/
            "skip_thermal": true,
            "skip_pan": true,
            "sort_bands_by_cwl": true,
62
63
            "target_radunit_optical": "BOA_Ref", /*'Rad' / 'TOA_Ref' / 'BOA_Ref'*/
            "target_radunit_thermal": "Rad", /*'Rad' / 'Temp'*/
64
            "scale_factor_TOARef": 10000,
65
66
67
            "scale_factor_BOARef": 10000,
            "mgrs_pixel_buffer":  10,  /*pixel buffer to apply to each mgrs tile polygon when clipping output data*/
            "output_data_compression":  false  /*compress output data*/
Daniel Scheffler's avatar
Daniel Scheffler committed
68
        },
69
70

        "L1A": {  /*Level 1A processing: Data import and metadata homogenization*/
71
72
73
74
75
76
            "run_processor": true,
            "write_output": true,
            "delete_output": true,
            "SZA_SAA_calculation_accurracy": "coarse",  /*"coarse" or "fine"*/
            "export_VZA_SZA_SAA_RAA_stats": true
        },
77
78

        "L1B": {  /*Level 1B processing: calculation of geometric shift*/
79
80
81
            "run_processor": true,
            "write_output": true,
            "delete_output": true,
82
83
84
85
86
87
            "skip_coreg": false,
            "spatial_ref_min_overlap": 20,  /*minimum overlap of reference scene in percent*/
            "spatial_ref_min_cloudcov": 0,  /*minimum cloud cover of reference scene in percent*/
            "spatial_ref_max_cloudcov": 20,  /*maximum cloud cover of reference scene in percent*/
            "spatial_ref_plusminus_days": 30,  /*maximum time interval between target and reference scene in days*/
            "spatial_ref_plusminus_years": 10,  /*maximum time interval between target and reference scene in years*/
88
89
            "coreg_band_wavelength_for_matching": 550,  /*optimal wavelength [nm] of the spectral bands used for matching*/
            "coreg_max_shift_allowed": 5,  /*maximum shift distance in reference image pixel units (default: 5 px)*/
90
91
            "coreg_window_size": [256, 256],
            "spathomo_estimate_accuracy": false
92
        },
93
94

        "L1C": {  /*Level 1C processing: atmospheric correction*/
95
96
97
98
99
100
101
102
103
104
105
106
            "run_processor": true,
            "write_output": true,
            "delete_output": true,
            "cloud_masking_algorithm": {
                "Landsat-4": "FMASK",
                "Landsat-5": "FMASK",
                "Landsat-7": "FMASK",
                "Landsat-8": "FMASK",
                "Sentinel-2A": "SICOR",
                "Sentinel-2B": "SICOR"
            },  /*'FMASK', 'Classical Bayesian', 'SICOR'*/
            "export_L1C_obj_dumps": false,
107
108
109
110
111
112
            "auto_download_ecmwf": false,
            "ac_fillnonclear_areas": false,  /*whether to fill non-clear areas with TOA Reflectance values or not*/
            "ac_clear_area_labels": ["Clear", "Snow", "Water", "Shadow"],
                /*Defines to which area labels SICOR is applied. Full list:
                ["Clear", "Snow", "Water", "Shadow", "Cirrus", "Cloud"] => whole image is atmosperically corrected*/
            "ac_scale_factor_errors": 255,
113
            "ac_max_ram_gb": 20,  /*maximum amount of RAM to be allocated for atmospheric correction [gigabytes]*/
114
115
116
            "ac_estimate_accuracy": false,  /*whether to produce an 'AC errors' and a 'mask confidence' array*/
            "ac_bandwise_accuracy": false  /*if true, the 'AC_errors' array is produced bandwise, otherwise bands are
                                             averaged using median*/
117
        },
118
119

        "L2A": {  /*Level 2A processing: geometric homogenization*/
120
121
122
123
            "run_processor": true,
            "write_output": true,
            "delete_output": true,
            "align_coord_grids": true,  /*allows to force deactivation of image resampling*/
124
125
126
127
128
            "match_gsd": true,
            "spatial_resamp_alg": "cubic",  /*the resampling algorithm to be used if neccessary
                                            (valid algorithms: nearest, bilinear, cubic, cubic_spline, lanczos,
                                                               average, mode, max, min, med, q1, q3)*/
            "clip_to_extent": true  /*whether to clip the output to its actual corner coordinates*/
129
        },
130
131

        "L2B": {  /*Level 2B processing: spectral homogenization*/
132
133
            "run_processor": true,
            "write_output": true,
134
            "delete_output": false,
135
136
            "spechomo_method": "LR",  /*Method used for spectral homogenization.
                                      /*LI: Linear interpolation; LR: Linear regression; RR: Ridge regression*/
137
            "spechomo_estimate_accuracy": false,  /*whether to produce pixel- and bandwise information about estimation
138
139
                                                    acurracy of spectral homogenization
                                                    NOTE: only possible if 'spechomo_method' is not linear interpol.*/
140
141
            "spechomo_bandwise_accuracy": true  /*if true, the spectral homogenization accuracy array is produced
                                                  bandwise, otherwise accuracy information is averaged using median*/
142

143
        },
144
145

        "L2C": {
146
147
148
149
            /*Level 2C processing: accurracy assessment and MGRS tiling*/
            "run_processor": true,
            "write_output": true,
            "delete_output": false
Daniel Scheffler's avatar
Daniel Scheffler committed
150
151
        }
    },
152

153
    "usecase": {  /*NOTE: These options will be not respected in the WebApp! Use the WebApp GUI instead.*/
154

155
156
157
158
159
        "virtual_sensor_id": 11,   /*"None": use WebApp input;
                                      1:  Landsat-8,
                                      10: Sentinel-2A 10m
                                      11: Sentinel-2A 20m
                                      12: Sentinel-2A 60m*/
160
        "datasetid_spatial_ref": 249, /*"None": use WebApp input*/
Daniel Scheffler's avatar
Daniel Scheffler committed
161
162
163
164
165
166
167
168
169
170
        "datasetid_spectral_ref": 249,   /*249=Sentinel-2A*/
        "target_CWL": [

        ],  /*list of central wavelength positions of target sensor. Empty list means: use WebApp input.*/
        "target_FWHM": [

        ],  /*list of band widths of target sensor. Empty list means: use WebApp input.*/
        "target_gsd": [

        ], /*X/Y pixel size of target sensor as list with two float/integer values*/
171
        "target_epsg_code": "None",  /*target projection as EPSG code. "None": use projection of input data.*/
Daniel Scheffler's avatar
Daniel Scheffler committed
172
173
174
175
176
        "spatial_ref_gridx": [

        ],  /*target sensor x-coordinate-grid. e.g. [15, 45]*/
        "spatial_ref_gridy": [

177
        ]  /*target sensor y-coordinate-grid. e.g. [15, 45]*/
Daniel Scheffler's avatar
Daniel Scheffler committed
178
179
    }
}