ValueError: shape mismatch: objects cannot be broadcast to a single shape
Posted: Tue Jun 15, 2021 5:53 pm
Hi Quinten-
I’ve got an issue similar to that above (shape mismatch at the start of L2 processing). The acolite version I’m using automatically retrieves LUTs (per your last post in this thread).
I’ve listed a S2B tile (from ESA directly) in the example below, but I get the same error for data I’ve acquired from USGS (S2, Landsat8, Landsat7). Processing completes, however, for Landsat8 data acquired from AWS or gsutil. Any advice?
-brian
> wget --content-disposition --continue --user={UN} --password={PW} "https://scihub.copernicus.eu/dhus/odata/v1/Products('f1d7015e-fa08-43ab-b1ee-d1a1879fcf01')/\$value"
> unzip S2B_MSIL1C_20210609T160509_N0300_R054_T17RNJ_20210609T204554.zip
> conda activate ACOLITE_BBB
#[Note, this conda env was created as specified in the acolite git repo].
> python3 /shares/cms_optics/apps/acolite_20210114/acolite/launch_acolite.py --cli --settings /work/b/bbarnes4/processing/working3/E2021160160509/acolite.cfg
Running generic ACOLITE processing - Generic Version Public Beta - April 2021
Run ID - 20210615_120315
/work/b/bbarnes4/processing/working3/E2021160160509/S2B_MSIL1C_20210609T160509_N0300_R054_T17RNJ_20210609T204554.SAFE/
/work/b/bbarnes4/processing/completed/E2021160160509.L2/acolite_run_20210615_120315_l1r_settings.txt
Starting conversion of 1 scenes
Starting conversion of /work/b/bbarnes4/processing/working3/E2021160160509/S2B_MSIL1C_20210609T160509_N0300_R054_T17RNJ_20210609T204554.SAFE/
Importing metadata from L1C_T17RNJ_A022245_20210609T160548
Reading per pixel geometry
Computing per detector geometry
Detector 2
/shares/cms_optics/apps/acolite_20210114/acolite/acolite/sentinel2/l1_convert.py:359: RuntimeWarning: Mean of empty slice
ave_vza = np.nanmean(ave_vza, axis=2)
/shares/cms_optics/apps/acolite_20210114/acolite/acolite/sentinel2/l1_convert.py:360: RuntimeWarning: Mean of empty slice
ave_vaa = np.nanmean(ave_vaa, axis=2)
Detector 6
Detector 7
Detector 4
Detector 5
Detector 3
Wrote raa
Wrote vza
Wrote sza
Writing geolocation lon/lat
(2232, 3033)
Wrote lon
(2232, 3033)
Wrote lat
Converting bands
Converting bands: Wrote rhot_442 ((2232, 3033))
...
Converting bands: Wrote rhot_2186 ((2232, 3033))
Conversion took 17.6 seconds
Created /work/b/bbarnes4/processing/completed/E2021160160509.L2/S2B_MSI_2021_06_09_16_06_14_T17RNJ_L1R.nc
Running acolite for /work/b/bbarnes4/processing/completed/E2021160160509.L2/S2B_MSI_2021_06_09_16_06_14_T17RNJ_L1R.nc
Scene too recent to get ancillary data
Using DSF atmospheric correction
Processing with 24 tiles (4x6)
Writing lon
Wrote lon
Writing lat
Wrote lat
1 rhot_442
Traceback (most recent call last):
File "/shares/cms_optics/apps/acolite_20210114/acolite/launch_acolite.py", line 64, in <module>
launch_acolite()
File "/shares/cms_optics/apps/acolite_20210114/acolite/launch_acolite.py", line 58, in launch_acolite
ac.acolite.acolite_run(args.settings, inputfile=inputfile, output=output)
File "/shares/cms_optics/apps/acolite_20210114/acolite/acolite/acolite/acolite_run.py", line 108, in acolite_run
ret = ac.acolite.acolite_l2r(l1r, settings = setu, verbosity = verbosity)
File "/shares/cms_optics/apps/acolite_20210114/acolite/acolite/acolite/acolite_l2r.py", line 414, in acolite_l2r
tmp = lutdw[lut]['rgi'][b]((gem.data_mem['pressure'+gk],
File "/shares/cms_optics/etc/shared_conda/ACOLITE/lib/python3.9/site-packages/scipy/interpolate/interpolate.py", line 2496, in __call__
xi = _ndim_coords_from_arrays(xi, ndim=ndim)
File "interpnd.pyx", line 157, in scipy.interpolate.interpnd._ndim_coords_from_arrays
File "interpnd.pyx", line 168, in scipy.interpolate.interpnd._ndim_coords_from_arrays
File "<__array_function__ internals>", line 5, in broadcast_arrays
File "/shares/cms_optics/etc/shared_conda/ACOLITE/lib/python3.9/site-packages/numpy/lib/stride_tricks.py", line 538, in broadcast_arrays
shape = _broadcast_shape(*args)
File "/shares/cms_optics/etc/shared_conda/ACOLITE/lib/python3.9/site-packages/numpy/lib/stride_tricks.py", line 420, in _broadcast_shape
b = np.broadcast(*args[:32])
ValueError: shape mismatch: objects cannot be broadcast to a single shape
>>> print(ac.config['data_dir'])
/shares/cms_optics/apps/acolite_20210114/acolite/data
>>> print(rsrd.keys())
dict_keys(['PlanetScope_0d06', 'L8_OLI', 'WorldView3', 'PHR1A', 'L5_TM', 'VENµS_VSSC', 'S2B_MSI', 'RapidEye', 'PlanetScope_0d05', 'PlanetScope_0e', 'L7_ETM', 'WorldView2', 'PHR1B', 'L8_TIRS', 'SPOT6', 'L8_OLI_ORANGE', 'PlanetScope_0f', 'L7_ETM_B6', 'PlanetScope_0c', 'S3A_OLCI', 'SPOT7', 'S3B_OLCI', 'L5_TM_B6', 'PlanetScope_22', 'S2A_MSI'])
>>> print(ac.shared.nc_gatts(l1r_file))
{'generated_by': 'ACOLITE', 'generated_on': '2021-06-15 12:03:20 EDT', 'contact': 'Quinten Vanhellemont', 'product_type': 'NetCDF', 'metadata_profile': 'beam', 'metadata_version': '0.5', 'auto_grouping': 'rhot:rhorc:rhos:rhow:Rrs', 'Conventions': 'CF-1.7', 'sensor': 'S2B_MSI', 'isodate': '2021-06-09T16:06:14.435177+00:00', 'global_dims': array([2232, 3033]), 'sza': 17.2653337075683, 'vza': 4.752444361204014, 'raa': 6.171068634648037, 'se_distance': 1.0151026255835212, 'mus': 0.9549405487090699, 'granule': 'L1C_T17RNJ_A022245_20210609T160548', 'mgrs_tile': 'T17RNJ', 'acolite_file_type': 'L1R', 'tile_code': 'T17RNJ', 'oname': 'S2B_MSI_2021_06_09_16_06_14_T17RNJ', 'ofile': '/work/b/bbarnes4/processing/completed/E2021160160509.L2/S2B_MSI_2021_06_09_16_06_14_T17RNJ_L1R.nc', '1_wave': 442.2312743651042, '1_name': '442', '1_f0': 18739.930412260506, '2_wave': 492.1349288237099, '2_name': '492', '2_f0': 19597.906236233655, '3_wave': 558.9524402572151, '3_name': '559', '3_f0': 18249.439122035074, '4_wave': 664.9400107071172, '4_name': '665', '4_f0': 15128.02312147004, '5_wave': 703.8279778656998, '5_name': '704', '5_f0': 14254.082494018856, '6_wave': 739.1263016544829, '6_name': '739', '6_f0': 12907.275347038803, '7_wave': 779.7278300593489, '7_name': '780', '7_f0': 11754.386815639207, '8_wave': 832.9490246389458, '8_name': '833', '8_f0': 10411.810614390462, '8A_wave': 863.9808438697365, '8A_name': '864', '8A_f0': 9537.54087863298, '9_wave': 943.1826634691346, '9_name': '943', '9_f0': 8176.350245943502, '10_wave': 1376.8832493303946, '10_name': '1377', '10_f0': 3653.9462660045874, '11_wave': 1610.419203764768, '11_name': '1610', '11_f0': 2470.7582160831216, '12_wave': 2185.699149849077, '12_name': '2186', '12_f0': 877.4766514889386, 'scene_xrange': array([499980., 609770.]), 'scene_yrange': array([2900040., 2790250.]), 'scene_proj4_string': '+proj=utm +zone=17 +datum=WGS84 +units=m +no_defs ', 'scene_pixel_size': array([ 10., -10.]), 'scene_dims': array([10980, 10980]), 'sub': array([6034, 8496, 3033, 2232]), 'limit': array([ 25.25, -80.4 , 25.45, -80.1 ]), 'xrange': array([560320., 590640.]), 'yrange': array([2815080., 2792770.]), 'proj4_string': '+proj=utm +zone=17 +datum=WGS84 +units=m +no_defs ', 'pixel_size': array([ 10., -10.])}
> cat /work/b/bbarnes4/processing/working3/E2021160160509/acolite.cfg
inputfile=/work/b/bbarnes4/processing/working3/E2021160160509/S2B_MSIL1C_20210609T160509_N0300_R054_T17RNJ_20210609T204554.SAFE/
## settings for cropping
region_name=
limit=25.25,-80.4,25.45,-80.1
polygon=None
merge_tiles=False
merge_zones=True
extend_region=False
## new output settings
output_geolocation=True
output_xy=False
output_geometry=True
output_rhorc=False
## Sentinel-2 per pixel geometry
geometry_type=grids_footprint
geometry_res=60
## Sentinel-3 options
smile_correction=True
use_tpg=True
## WorldView only (optional)
inputfile_swir=None
## TACT settings
tact_run=False
tact_output_atmosphere=False
tact_output_intermediate=False
tact_map=True
## printout verbosity
verbosity=5
## test cropped scenes for blackfill coverage
blackfill_skip=True
blackfill_max=1.0
blackfill_wave=1600
## copy datasets from L1R to L2R
copy_datasets=lon,lat
## output l2w parameters
l2w_parameters=Rrs_*,rhorc_*,chl_oc3,fai
l2w_mask=True
l2w_mask_wave=1600
l2w_mask_threshold=0.0215
l2w_mask_water_parameters=True
l2w_mask_negative_rhow=True
l2w_mask_negative_wave_range=400,900
l2w_mask_cirrus=True
l2w_mask_cirrus_threshold=0.005
l2w_mask_cirrus_wave=1373
l2w_mask_high_toa=True
l2w_mask_high_toa_threshold=0.3
## smooth datasets before masking (get rid of some speckle in the masks)
l2w_mask_smooth=True
l2w_mask_smooth_sigma=3
## flag settings
flag_exponent_swir=0
flag_exponent_cirrus=1
flag_exponent_toa=2
flag_exponent_negative=3
flag_exponent_outofscene=4
## atmospheric correction settings
aerosol_correction=dark_spectrum
## minimum gas transmittance to allow aot retrieval in that band
min_tgas_aot=0.85
## minimum gas transmittance to allow surface reflectance retrieval in that band
min_tgas_rho=0.75
## generic options
ancillary_data=True
gas_transmittance=True
uoz_default=0.3
uwv_default=1.5
pressure=None
elevation=None
lut_pressure=True
## DEM options
dem_pressure=False
dem_pressure_resolved=True
dem_pressure_percentile=25
dem_pressure_write=False
## correction for sky reflectance on water surface
sky_correction=True
sky_correction_option=default
sky_correction_lut=RSKY-202102
wind=2
## glint correction
glint_correction=False
glint_force_band=None
glint_mask_rhos_wave=1600
glint_mask_rhos_threshold=0.05
glint_write_rhog_ref=False
glint_write_rhog_all=False
## dark spectrum fitting options
dsf_path_reflectance=tiled
## options darkest, percentile, intercept
dsf_spectrum_option=intercept
dsf_percentile=1
dsf_intercept_pixels=1000
## apply median filter to TOA data
dsf_filter_toa=False
dsf_filter_percentile=5
dsf_filter_box=5,5
dsf_filter_aot=False
# smooth retrieved aot for resolved processing
dsf_smooth_aot=True
dsf_smooth_box=20,20
#
dsf_full_scene=False
dsf_model_selection=min_drmsd
#dsf_list_selection=intercept
#dsf_tile_dimensions=None
dsf_min_tile_cover=0.10
dsf_min_tile_aot=0.01
dsf_plot_retrieved_tiles=True
dsf_plot_dark_spectrum=True
dsf_write_tiled_parameters=False
dsf_wave_range=400,2500
dsf_exclude_bands=,
dsf_write_aot_550=False
extra_ac_parameters=False
## fixed aot option
dsf_fixed_aot=None
dsf_fixed_lut=ACOLITE-LUT-202102-MOD2
## exponential options
exp_swir_threshold=0.0215
exp_fixed_epsilon=True
exp_fixed_epsilon_percentile=50
exp_fixed_aerosol_reflectance=True
exp_fixed_aerosol_reflectance_percentile=5
exp_wave1=1600
exp_wave2=2200
exp_alpha=None
exp_alpha_weighted=True
exp_epsilon=None
exp_gamma=None
exp_output_intermediate=False
##
s2_target_res=10
l8_output_bt=False
l8_output_lt_tirs=False
resolved_geometry=False
resolved_geometry_write=False
## output of xy easting and northing
output=/work/b/bbarnes4/processing/completed/E2021160160509.L2
## gain settings
gains=False
gains_toa=None
# output RGB / L2W maps
rgb_rhot=False
rgb_rhos=True
map_l2w=False
# mapping options
map_title=True
map_dpi=300
map_ext=png
limit=25.25,-80.4,25.45,-80.1
## map colour bar options
map_colorbar=False
map_colorbar_orientation=vertical
map_auto_range=False
map_auto_range_percentiles=1,99
map_fill_outrange=False
map_fill_color=LightGrey
map_default_colormap=viridis
# RGB options
rgb_red_wl=650
rgb_green_wl=560
rgb_blue_wl=480
rgb_min=0.0,0.0,0.0
rgb_max=0.15,0.15,0.15
rgb_pan_sharpen=False
# more mapping options for 'projected image'
map_projected=False
map_raster=True
map_pcolormesh=False
map_scalebar=True
map_scalepos=UL
map_scalecolor=White
map_scalecolor_rgb=White
map_scalelen=None
map_colorbar_edge=True
map_max_dim=1000
map_points=None
# NetCDF output options
l1r_nc_compression=True
l2r_nc_compression=True
l2w_nc_compression=True
# NetCDF deletion options
l1r_nc_delete=False
l2r_nc_delete=False
l2w_nc_delete=False
# Convert reflectance floats to scaled integers
l2w_nc_scaled=False
l2w_nc_scaled_offset=0.02
l2w_nc_scaled_factor=0.0001
# GeoTIFF export options
l2r_export_geotiff=False
l2w_export_geotiff=False
export_geotiff_coordinates=False
# LUTs
luts=ACOLITE-LUT-202102-MOD1, ACOLITE-LUT-202102-MOD2
slicing=False
I’ve got an issue similar to that above (shape mismatch at the start of L2 processing). The acolite version I’m using automatically retrieves LUTs (per your last post in this thread).
I’ve listed a S2B tile (from ESA directly) in the example below, but I get the same error for data I’ve acquired from USGS (S2, Landsat8, Landsat7). Processing completes, however, for Landsat8 data acquired from AWS or gsutil. Any advice?
-brian
> wget --content-disposition --continue --user={UN} --password={PW} "https://scihub.copernicus.eu/dhus/odata/v1/Products('f1d7015e-fa08-43ab-b1ee-d1a1879fcf01')/\$value"
> unzip S2B_MSIL1C_20210609T160509_N0300_R054_T17RNJ_20210609T204554.zip
> conda activate ACOLITE_BBB
#[Note, this conda env was created as specified in the acolite git repo].
> python3 /shares/cms_optics/apps/acolite_20210114/acolite/launch_acolite.py --cli --settings /work/b/bbarnes4/processing/working3/E2021160160509/acolite.cfg
Running generic ACOLITE processing - Generic Version Public Beta - April 2021
Run ID - 20210615_120315
/work/b/bbarnes4/processing/working3/E2021160160509/S2B_MSIL1C_20210609T160509_N0300_R054_T17RNJ_20210609T204554.SAFE/
/work/b/bbarnes4/processing/completed/E2021160160509.L2/acolite_run_20210615_120315_l1r_settings.txt
Starting conversion of 1 scenes
Starting conversion of /work/b/bbarnes4/processing/working3/E2021160160509/S2B_MSIL1C_20210609T160509_N0300_R054_T17RNJ_20210609T204554.SAFE/
Importing metadata from L1C_T17RNJ_A022245_20210609T160548
Reading per pixel geometry
Computing per detector geometry
Detector 2
/shares/cms_optics/apps/acolite_20210114/acolite/acolite/sentinel2/l1_convert.py:359: RuntimeWarning: Mean of empty slice
ave_vza = np.nanmean(ave_vza, axis=2)
/shares/cms_optics/apps/acolite_20210114/acolite/acolite/sentinel2/l1_convert.py:360: RuntimeWarning: Mean of empty slice
ave_vaa = np.nanmean(ave_vaa, axis=2)
Detector 6
Detector 7
Detector 4
Detector 5
Detector 3
Wrote raa
Wrote vza
Wrote sza
Writing geolocation lon/lat
(2232, 3033)
Wrote lon
(2232, 3033)
Wrote lat
Converting bands
Converting bands: Wrote rhot_442 ((2232, 3033))
...
Converting bands: Wrote rhot_2186 ((2232, 3033))
Conversion took 17.6 seconds
Created /work/b/bbarnes4/processing/completed/E2021160160509.L2/S2B_MSI_2021_06_09_16_06_14_T17RNJ_L1R.nc
Running acolite for /work/b/bbarnes4/processing/completed/E2021160160509.L2/S2B_MSI_2021_06_09_16_06_14_T17RNJ_L1R.nc
Scene too recent to get ancillary data
Using DSF atmospheric correction
Processing with 24 tiles (4x6)
Writing lon
Wrote lon
Writing lat
Wrote lat
1 rhot_442
Traceback (most recent call last):
File "/shares/cms_optics/apps/acolite_20210114/acolite/launch_acolite.py", line 64, in <module>
launch_acolite()
File "/shares/cms_optics/apps/acolite_20210114/acolite/launch_acolite.py", line 58, in launch_acolite
ac.acolite.acolite_run(args.settings, inputfile=inputfile, output=output)
File "/shares/cms_optics/apps/acolite_20210114/acolite/acolite/acolite/acolite_run.py", line 108, in acolite_run
ret = ac.acolite.acolite_l2r(l1r, settings = setu, verbosity = verbosity)
File "/shares/cms_optics/apps/acolite_20210114/acolite/acolite/acolite/acolite_l2r.py", line 414, in acolite_l2r
tmp = lutdw[lut]['rgi'][b]((gem.data_mem['pressure'+gk],
File "/shares/cms_optics/etc/shared_conda/ACOLITE/lib/python3.9/site-packages/scipy/interpolate/interpolate.py", line 2496, in __call__
xi = _ndim_coords_from_arrays(xi, ndim=ndim)
File "interpnd.pyx", line 157, in scipy.interpolate.interpnd._ndim_coords_from_arrays
File "interpnd.pyx", line 168, in scipy.interpolate.interpnd._ndim_coords_from_arrays
File "<__array_function__ internals>", line 5, in broadcast_arrays
File "/shares/cms_optics/etc/shared_conda/ACOLITE/lib/python3.9/site-packages/numpy/lib/stride_tricks.py", line 538, in broadcast_arrays
shape = _broadcast_shape(*args)
File "/shares/cms_optics/etc/shared_conda/ACOLITE/lib/python3.9/site-packages/numpy/lib/stride_tricks.py", line 420, in _broadcast_shape
b = np.broadcast(*args[:32])
ValueError: shape mismatch: objects cannot be broadcast to a single shape
>>> print(ac.config['data_dir'])
/shares/cms_optics/apps/acolite_20210114/acolite/data
>>> print(rsrd.keys())
dict_keys(['PlanetScope_0d06', 'L8_OLI', 'WorldView3', 'PHR1A', 'L5_TM', 'VENµS_VSSC', 'S2B_MSI', 'RapidEye', 'PlanetScope_0d05', 'PlanetScope_0e', 'L7_ETM', 'WorldView2', 'PHR1B', 'L8_TIRS', 'SPOT6', 'L8_OLI_ORANGE', 'PlanetScope_0f', 'L7_ETM_B6', 'PlanetScope_0c', 'S3A_OLCI', 'SPOT7', 'S3B_OLCI', 'L5_TM_B6', 'PlanetScope_22', 'S2A_MSI'])
>>> print(ac.shared.nc_gatts(l1r_file))
{'generated_by': 'ACOLITE', 'generated_on': '2021-06-15 12:03:20 EDT', 'contact': 'Quinten Vanhellemont', 'product_type': 'NetCDF', 'metadata_profile': 'beam', 'metadata_version': '0.5', 'auto_grouping': 'rhot:rhorc:rhos:rhow:Rrs', 'Conventions': 'CF-1.7', 'sensor': 'S2B_MSI', 'isodate': '2021-06-09T16:06:14.435177+00:00', 'global_dims': array([2232, 3033]), 'sza': 17.2653337075683, 'vza': 4.752444361204014, 'raa': 6.171068634648037, 'se_distance': 1.0151026255835212, 'mus': 0.9549405487090699, 'granule': 'L1C_T17RNJ_A022245_20210609T160548', 'mgrs_tile': 'T17RNJ', 'acolite_file_type': 'L1R', 'tile_code': 'T17RNJ', 'oname': 'S2B_MSI_2021_06_09_16_06_14_T17RNJ', 'ofile': '/work/b/bbarnes4/processing/completed/E2021160160509.L2/S2B_MSI_2021_06_09_16_06_14_T17RNJ_L1R.nc', '1_wave': 442.2312743651042, '1_name': '442', '1_f0': 18739.930412260506, '2_wave': 492.1349288237099, '2_name': '492', '2_f0': 19597.906236233655, '3_wave': 558.9524402572151, '3_name': '559', '3_f0': 18249.439122035074, '4_wave': 664.9400107071172, '4_name': '665', '4_f0': 15128.02312147004, '5_wave': 703.8279778656998, '5_name': '704', '5_f0': 14254.082494018856, '6_wave': 739.1263016544829, '6_name': '739', '6_f0': 12907.275347038803, '7_wave': 779.7278300593489, '7_name': '780', '7_f0': 11754.386815639207, '8_wave': 832.9490246389458, '8_name': '833', '8_f0': 10411.810614390462, '8A_wave': 863.9808438697365, '8A_name': '864', '8A_f0': 9537.54087863298, '9_wave': 943.1826634691346, '9_name': '943', '9_f0': 8176.350245943502, '10_wave': 1376.8832493303946, '10_name': '1377', '10_f0': 3653.9462660045874, '11_wave': 1610.419203764768, '11_name': '1610', '11_f0': 2470.7582160831216, '12_wave': 2185.699149849077, '12_name': '2186', '12_f0': 877.4766514889386, 'scene_xrange': array([499980., 609770.]), 'scene_yrange': array([2900040., 2790250.]), 'scene_proj4_string': '+proj=utm +zone=17 +datum=WGS84 +units=m +no_defs ', 'scene_pixel_size': array([ 10., -10.]), 'scene_dims': array([10980, 10980]), 'sub': array([6034, 8496, 3033, 2232]), 'limit': array([ 25.25, -80.4 , 25.45, -80.1 ]), 'xrange': array([560320., 590640.]), 'yrange': array([2815080., 2792770.]), 'proj4_string': '+proj=utm +zone=17 +datum=WGS84 +units=m +no_defs ', 'pixel_size': array([ 10., -10.])}
> cat /work/b/bbarnes4/processing/working3/E2021160160509/acolite.cfg
inputfile=/work/b/bbarnes4/processing/working3/E2021160160509/S2B_MSIL1C_20210609T160509_N0300_R054_T17RNJ_20210609T204554.SAFE/
## settings for cropping
region_name=
limit=25.25,-80.4,25.45,-80.1
polygon=None
merge_tiles=False
merge_zones=True
extend_region=False
## new output settings
output_geolocation=True
output_xy=False
output_geometry=True
output_rhorc=False
## Sentinel-2 per pixel geometry
geometry_type=grids_footprint
geometry_res=60
## Sentinel-3 options
smile_correction=True
use_tpg=True
## WorldView only (optional)
inputfile_swir=None
## TACT settings
tact_run=False
tact_output_atmosphere=False
tact_output_intermediate=False
tact_map=True
## printout verbosity
verbosity=5
## test cropped scenes for blackfill coverage
blackfill_skip=True
blackfill_max=1.0
blackfill_wave=1600
## copy datasets from L1R to L2R
copy_datasets=lon,lat
## output l2w parameters
l2w_parameters=Rrs_*,rhorc_*,chl_oc3,fai
l2w_mask=True
l2w_mask_wave=1600
l2w_mask_threshold=0.0215
l2w_mask_water_parameters=True
l2w_mask_negative_rhow=True
l2w_mask_negative_wave_range=400,900
l2w_mask_cirrus=True
l2w_mask_cirrus_threshold=0.005
l2w_mask_cirrus_wave=1373
l2w_mask_high_toa=True
l2w_mask_high_toa_threshold=0.3
## smooth datasets before masking (get rid of some speckle in the masks)
l2w_mask_smooth=True
l2w_mask_smooth_sigma=3
## flag settings
flag_exponent_swir=0
flag_exponent_cirrus=1
flag_exponent_toa=2
flag_exponent_negative=3
flag_exponent_outofscene=4
## atmospheric correction settings
aerosol_correction=dark_spectrum
## minimum gas transmittance to allow aot retrieval in that band
min_tgas_aot=0.85
## minimum gas transmittance to allow surface reflectance retrieval in that band
min_tgas_rho=0.75
## generic options
ancillary_data=True
gas_transmittance=True
uoz_default=0.3
uwv_default=1.5
pressure=None
elevation=None
lut_pressure=True
## DEM options
dem_pressure=False
dem_pressure_resolved=True
dem_pressure_percentile=25
dem_pressure_write=False
## correction for sky reflectance on water surface
sky_correction=True
sky_correction_option=default
sky_correction_lut=RSKY-202102
wind=2
## glint correction
glint_correction=False
glint_force_band=None
glint_mask_rhos_wave=1600
glint_mask_rhos_threshold=0.05
glint_write_rhog_ref=False
glint_write_rhog_all=False
## dark spectrum fitting options
dsf_path_reflectance=tiled
## options darkest, percentile, intercept
dsf_spectrum_option=intercept
dsf_percentile=1
dsf_intercept_pixels=1000
## apply median filter to TOA data
dsf_filter_toa=False
dsf_filter_percentile=5
dsf_filter_box=5,5
dsf_filter_aot=False
# smooth retrieved aot for resolved processing
dsf_smooth_aot=True
dsf_smooth_box=20,20
#
dsf_full_scene=False
dsf_model_selection=min_drmsd
#dsf_list_selection=intercept
#dsf_tile_dimensions=None
dsf_min_tile_cover=0.10
dsf_min_tile_aot=0.01
dsf_plot_retrieved_tiles=True
dsf_plot_dark_spectrum=True
dsf_write_tiled_parameters=False
dsf_wave_range=400,2500
dsf_exclude_bands=,
dsf_write_aot_550=False
extra_ac_parameters=False
## fixed aot option
dsf_fixed_aot=None
dsf_fixed_lut=ACOLITE-LUT-202102-MOD2
## exponential options
exp_swir_threshold=0.0215
exp_fixed_epsilon=True
exp_fixed_epsilon_percentile=50
exp_fixed_aerosol_reflectance=True
exp_fixed_aerosol_reflectance_percentile=5
exp_wave1=1600
exp_wave2=2200
exp_alpha=None
exp_alpha_weighted=True
exp_epsilon=None
exp_gamma=None
exp_output_intermediate=False
##
s2_target_res=10
l8_output_bt=False
l8_output_lt_tirs=False
resolved_geometry=False
resolved_geometry_write=False
## output of xy easting and northing
output=/work/b/bbarnes4/processing/completed/E2021160160509.L2
## gain settings
gains=False
gains_toa=None
# output RGB / L2W maps
rgb_rhot=False
rgb_rhos=True
map_l2w=False
# mapping options
map_title=True
map_dpi=300
map_ext=png
limit=25.25,-80.4,25.45,-80.1
## map colour bar options
map_colorbar=False
map_colorbar_orientation=vertical
map_auto_range=False
map_auto_range_percentiles=1,99
map_fill_outrange=False
map_fill_color=LightGrey
map_default_colormap=viridis
# RGB options
rgb_red_wl=650
rgb_green_wl=560
rgb_blue_wl=480
rgb_min=0.0,0.0,0.0
rgb_max=0.15,0.15,0.15
rgb_pan_sharpen=False
# more mapping options for 'projected image'
map_projected=False
map_raster=True
map_pcolormesh=False
map_scalebar=True
map_scalepos=UL
map_scalecolor=White
map_scalecolor_rgb=White
map_scalelen=None
map_colorbar_edge=True
map_max_dim=1000
map_points=None
# NetCDF output options
l1r_nc_compression=True
l2r_nc_compression=True
l2w_nc_compression=True
# NetCDF deletion options
l1r_nc_delete=False
l2r_nc_delete=False
l2w_nc_delete=False
# Convert reflectance floats to scaled integers
l2w_nc_scaled=False
l2w_nc_scaled_offset=0.02
l2w_nc_scaled_factor=0.0001
# GeoTIFF export options
l2r_export_geotiff=False
l2w_export_geotiff=False
export_geotiff_coordinates=False
# LUTs
luts=ACOLITE-LUT-202102-MOD1, ACOLITE-LUT-202102-MOD2
slicing=False