Acolite DSF results over Barnets Sea
Acolite DSF results over Barnets Sea
Hi,
I have applied Acolite DSF method on Sentinel-2 scenes over the Barents Sea waters. After comparing with the insitu_Rrs, there is a obvious offset in all the bands. Acolite DSF is overestimating Rrs. Any suggestions, please? The setting file is :
inputfile=
output=
##limit=
mid_lat=
mid_lon=
l2w_parameters=Rrs_*, chl_oc2, chl_oc3
l2w_export_geotiff=True
aerosol_correction=dark_spectrum
dsf_path_reflectance=fixed
gains=False
## output resolution (S2 only 10, 20, or 60 m)
s2_target_res=60
ancillary_data=True
dsf_residual_glint_correction=True
dsf_residual_glint_correction_method=alternative
dsf_residual_glint_wave_range=860,870
glint_mask_rhos_threshold=0.05
merge_tiles=False
l2w_mask_negative_rhow=True
rgb_rhot=False
rgb_rhos=False
map_l2w=False
map_l2r=False
map_title=False
map_colorbar=False
##map_colorbar_orientation=vertical
l1r_nc_compression=True
l2r_nc_compression=True
l2w_nc_compression=True
l2w_export_geotiff=True
Regards
Asim
I have applied Acolite DSF method on Sentinel-2 scenes over the Barents Sea waters. After comparing with the insitu_Rrs, there is a obvious offset in all the bands. Acolite DSF is overestimating Rrs. Any suggestions, please? The setting file is :
inputfile=
output=
##limit=
mid_lat=
mid_lon=
l2w_parameters=Rrs_*, chl_oc2, chl_oc3
l2w_export_geotiff=True
aerosol_correction=dark_spectrum
dsf_path_reflectance=fixed
gains=False
## output resolution (S2 only 10, 20, or 60 m)
s2_target_res=60
ancillary_data=True
dsf_residual_glint_correction=True
dsf_residual_glint_correction_method=alternative
dsf_residual_glint_wave_range=860,870
glint_mask_rhos_threshold=0.05
merge_tiles=False
l2w_mask_negative_rhow=True
rgb_rhot=False
rgb_rhos=False
map_l2w=False
map_l2r=False
map_title=False
map_colorbar=False
##map_colorbar_orientation=vertical
l1r_nc_compression=True
l2r_nc_compression=True
l2w_nc_compression=True
l2w_export_geotiff=True
Regards
Asim
- Attachments
-
- comparison_Rrs.png (41.2 KiB) Viewed 87440 times
Re: Acolite DSF results over Barnets Sea
Hi Asim
There are several reasons why the results could be off, and they could be scene and matchup specific (sun zenith angle, amount of surface effects, haze, time difference, in situ method). This is something that I cannot assess from a scatter plot alone.
As for your settings, you should be aware that the glint correction does have a larger uncertainty, and that fixing the AOT over a whole S2 scene may not always be appropriate. If you are using the latest GitHub code or binary (https://github.com/acolite/acolite/rele ... 20210802.0) this is now set using a slightly different keyword:
Quinten
There are several reasons why the results could be off, and they could be scene and matchup specific (sun zenith angle, amount of surface effects, haze, time difference, in situ method). This is something that I cannot assess from a scatter plot alone.
As for your settings, you should be aware that the glint correction does have a larger uncertainty, and that fixing the AOT over a whole S2 scene may not always be appropriate. If you are using the latest GitHub code or binary (https://github.com/acolite/acolite/rele ... 20210802.0) this is now set using a slightly different keyword:
- dsf_aot_estimate=fixed for fixing the AOT over the whole scene
- dsf_aot_estimate=tiled for tiled AOT processing
Quinten
Re: Acolite DSF results over Barnets Sea
Hi,
Thanks for the quick response.
1. The time difference between insitu and satellite overpass is < 3hours.
2. The satellite overpass is 10 to 12 am. The solar zenith angle is less than 60 degrees.
3. Do you suggest the new python version? I am using the previous python version of Acolite.
4. Should I avoid using glint correction?
Regards
Asim
Thanks for the quick response.
1. The time difference between insitu and satellite overpass is < 3hours.
2. The satellite overpass is 10 to 12 am. The solar zenith angle is less than 60 degrees.
3. Do you suggest the new python version? I am using the previous python version of Acolite.
4. Should I avoid using glint correction?
Regards
Asim
Re: Acolite DSF results over Barnets Sea
The overestimation is in all the bands not only the blue band. Does Acolits DSF method use any gains?
Regards
Asim
Regards
Asim
Re: Acolite DSF results over Barnets Sea
Hi Asim
At present no gains are applied, although the possibility is there to provide TOA gain factors. There are some indications that the positive offset of ACOLITE/DSF are the result of underestimation of the aerosol optical depth, possibly as a result of noise or (low) TOA calibration in certain bands. I have computed some gains based on PANTHYR and AERONET-OC matchups, but these are a work in progress.
I assumed you were using the generic version, since you are using keywords from the generic version. Are you using the code from https://github.com/acolite/acolite or from https://github.com/acolite/acolite_ls2 ?
Whether to use the glint correction is up to you, if your have scenes that you want to use, but that are heavily glinted then you perhaps have no other option. There are other processors that may be able to deal with the glint better (POLYMER, C2RCC) if your targets are well represented by the water models they use. Keep in mind the main intended use of ACOLITE/DSF is the processing of (very) turbid coastal and inland waters!
I hope this helps!
Quinten
At present no gains are applied, although the possibility is there to provide TOA gain factors. There are some indications that the positive offset of ACOLITE/DSF are the result of underestimation of the aerosol optical depth, possibly as a result of noise or (low) TOA calibration in certain bands. I have computed some gains based on PANTHYR and AERONET-OC matchups, but these are a work in progress.
I assumed you were using the generic version, since you are using keywords from the generic version. Are you using the code from https://github.com/acolite/acolite or from https://github.com/acolite/acolite_ls2 ?
Whether to use the glint correction is up to you, if your have scenes that you want to use, but that are heavily glinted then you perhaps have no other option. There are other processors that may be able to deal with the glint better (POLYMER, C2RCC) if your targets are well represented by the water models they use. Keep in mind the main intended use of ACOLITE/DSF is the processing of (very) turbid coastal and inland waters!
I hope this helps!
Quinten
Re: Acolite DSF results over Barnets Sea
Hi Quinteen,
Thanks for replying to my question. Yes I am using the generic version of Acolite.
I am working on the spectral consistency evaluation of Sentinel-2 and Landsat-8 over the high latitude waters. My results indicate that Acolite driver Rrs (Sentinel 2 and Landsat-8) is more consistent than C2RCC and Polymer-derived Rrs. But when I compared Acolite Rrs with the insitu Rrs, there is a positive offset. I was wondering Can you please process one scene for us and share the settings file? Also, can you provide those preliminary gains?
S2A_MSIL1C_20210626T130711_N0300_R081_T33XWH_20210626T151136.SAFE
Best Regards
Asim
Thanks for replying to my question. Yes I am using the generic version of Acolite.
I am working on the spectral consistency evaluation of Sentinel-2 and Landsat-8 over the high latitude waters. My results indicate that Acolite driver Rrs (Sentinel 2 and Landsat-8) is more consistent than C2RCC and Polymer-derived Rrs. But when I compared Acolite Rrs with the insitu Rrs, there is a positive offset. I was wondering Can you please process one scene for us and share the settings file? Also, can you provide those preliminary gains?
S2A_MSIL1C_20210626T130711_N0300_R081_T33XWH_20210626T151136.SAFE
Best Regards
Asim
Re: Acolite DSF results over Barnets Sea
Hi,
Is it possible to share the preliminary gains? Maybe the positive offset is minimized by doing so.
Regards
Asim
Is it possible to share the preliminary gains? Maybe the positive offset is minimized by doing so.
Regards
Asim
Re: Acolite DSF results over Barnets Sea
Hi Asim
I don't have them at hand, and would prefer to share something I am more confident about, which will take a bit more investigation on my end.
I did process the scene but have not yet been able to investigate what could cause the overestimation of Rrs. There is a lot of snow/ice nearby which may cause adjacency effects mainly in the visible bands, but perhaps also the presence of mountains causes an underestimation of the aerosol optical depth. (Less atmosphere above the mountains may skew the aerosol estimate towards lower values if surface pressure is assumed.)
Perhaps it is worth processing once with dsf_aot_estimate=fixed, then extracting the ac_model and ac_aot_550 values from the NetCDF attributes, and running a second time with a higher fixed aot. You can perhaps try multiplying the orignal aot by x1.5 or x2.0 and check if the results are better. For the second run you can then specify in your settings, the dsf_fixed_aot the extracted ac_aot_550 increased by a certain amount, and dsf_fixed_lut the ac_model both from the first run, e.g.:
Let me know how this goes!
Quinten
I don't have them at hand, and would prefer to share something I am more confident about, which will take a bit more investigation on my end.
I did process the scene but have not yet been able to investigate what could cause the overestimation of Rrs. There is a lot of snow/ice nearby which may cause adjacency effects mainly in the visible bands, but perhaps also the presence of mountains causes an underestimation of the aerosol optical depth. (Less atmosphere above the mountains may skew the aerosol estimate towards lower values if surface pressure is assumed.)
Perhaps it is worth processing once with dsf_aot_estimate=fixed, then extracting the ac_model and ac_aot_550 values from the NetCDF attributes, and running a second time with a higher fixed aot. You can perhaps try multiplying the orignal aot by x1.5 or x2.0 and check if the results are better. For the second run you can then specify in your settings, the dsf_fixed_aot the extracted ac_aot_550 increased by a certain amount, and dsf_fixed_lut the ac_model both from the first run, e.g.:
Code: Select all
dsf_fixed_aot=0.2
dsf_fixed_lut=ACOLITE-LUT-202102-MOD1
Quinten
Re: Acolite DSF results over Barnets Sea
Thanks a lot! So if I understand correctly I should use this option:
dsf_write_aot_550=True
Run DSF method using dsf_aot_estimate=tiled and note the value of aot_550. And then use dsf_aot_estimate=fixed and multiply the estimated aot (previously) by 1.5/2.
Best Regards
Asim
dsf_write_aot_550=True
Run DSF method using dsf_aot_estimate=tiled and note the value of aot_550. And then use dsf_aot_estimate=fixed and multiply the estimated aot (previously) by 1.5/2.
Best Regards
Asim
Re: Acolite DSF results over Barnets Sea
Hi Asim
First run:
Second run:
With AOT value ("ac_aot_550" multiplied by a given factor) and LUT name ("ac_model") from the first run. You can get these parameters "ac_aot_550" and "ac_model" from the NetCDF global attributes, via Python code or the command line:
Hope this helps!
Quinten
First run:
Code: Select all
dsf_aot_estimate=fixed
dsf_fixed_aot=None
Code: Select all
dsf_aot_estimate=fixed
dsf_fixed_aot=AOT value
dsf_fixed_lut=LUT name
Code: Select all
ncdump -h " /path/to/run1_L2R.nc" | grep ac_aot_550
ncdump -h " /path/to/run1_L2R.nc" | grep ac_model
Quinten