robintw / Py6S

A Python interface to the 6S Radiative Transfer Model
GNU Lesser General Public License v3.0
191 stars 105 forks source link

S3A OLCI narrow bands relative spectral response functions #49

Closed MarcYin closed 5 years ago

MarcYin commented 5 years ago

The Sentinel 3 OLCI has some very narrow bands and the predefined 2.5 nm is too broad to capture the exact shape of them (showing in the figure below):

image

There seems to be no simple way to change the spectral resolution in 6S from 2.5nm to 1nm. Suggested method to get around with it would be to compute variables (such as reflectance) at 2.5nm, and interpolated to 1nm, then do a multiplication of bandpass for Sentinel 3 narrow bands. Or, try at least to adapt Predefined wavelengths to have the same peak as the original Sentinel 3 RSRs...

But the above suggestions are only based on intuitive understandings, and further quantitative analysis is needed....

Marc.

robintw commented 5 years ago

Interesting issue, thank you for raising it.

Yes, there is no easy way to change the 6S resolution: it is deeply integrated into the 6S code, and a lot of the ancillary data is provided at 2.5nm resolution too.

I think the best way forward would probably be to manually alter the predefined 2.5nm S3A wavelengths to make sure the peaks are in the right place. A more advanced solution with interpolation would be a reasonable amount of work, and we'd have to think about where exactly that fits in Py6S (and how it applies to other sensors etc).

Would you be happy to have a go at altering the predefined S3A wavelength (at 2.5nm resolution) to get them to match the higher-resolution ones more sensibly? If you're able to submit a pull request then that'd be great. If not, I can try and have a go, but there would be a bit of a delay as I'm very busy at the moment.

Thanks!

MarcYin commented 5 years ago

I have updated it and added the new S3B RSRs.

Cheers,

Marc.

robintw commented 5 years ago

Fixed by #50.