S3TBX - Forel–Ule color classification

I would like to process MODIS and Sentinel-3 data (coastal waters of the Indo-Pacific region) using the Forel–Ule color classification implemented in the S3TBX. I was wondering what Sentinel and MODIS data products are supported by this tool? I suppose the OLCI Level-2 water products for Sentinel 3, but what Modis product should I use as an input for the FU classification ?

Thanks for your help,
Best regards

The processor has been extended for MODIS in the SNAP 6 preview. Maybe you want to try this one.
Now it supports also the MODIS-500 (M[O|Y]D09) data. Before it was only MODIS (1km LAC OC).
For Sentinel-3 OLCI the Level2 water products are needed as you have already supposed.
Also, Sentinel-2 MSI L1C data is now supported.

Hi. Thanks and sorry for the delayed answer.

I will try using the MODIS-500 MYD09 data. However, I am wondering if the atmospheric correction of the MYD09 product (originally developed for land applications) will be appropriate for coastal applications ? Is there a documentation somewhere available on the best way to use the Forel-Ule classification processor ?

Also, I have tried using the Graph builder to process a Sentinel-3 OLCI Level2 water into a FU-scale sentinel image, but I have the following error message. Does that mean that the FU Classification processor cannot be used with the graph builder

Thanks for your help,
Best regards

Unfortunately, the FU Classification is not usable in the Graph Builder, But you can save the graph disk, modify it and use it with gpt on the commandline
Regarding the documentation. There are some papers referenced in the user manual.
In addition there is also this paper: Hue-Angle Product for Low to Medium Spatial Resolution Optical Satellite Sensors (http://dx.doi.org/10.3390/rs10020180)

Hi Marco and thanks for your answer. I will have a look at the papers you mentioned.
However, when I try to save the graph I have the following error:

"unable to write graph to C:\Users.snap\graphs\User Graphs\Forel_Ule.xml.
FUClassification BAseOperatorUI: no converter found for parameter SOURCE_PRODUCT

I have a similar error when I try to display the graph xml

Am I doing something wrong?

Oh, I didn’t know that also the storing the graph to a file does not work.
In upcoming version of SNAP, also these Operators shall work with the Graph Builder.

I made a graph file for you. In the header of the file you can find an example how it can be called from the command line with gpt. fuGraph.xml (1.8 KB)

Also these two guides might be helpful for you if you want to process multiple files.

Thanks a lot ! I will have a look at this asap and get back in touch if I have any question in relation to the processing of multiple files.
Best regards,

Hi Marco,

I have tried using the FU processor with one MODIS 500m data (MYD09GA) but I got the following error message
Am I using the right MODIS product ?


Hi Marco,
I have questions in relation to the graph file you created for me (thanks again!).

  1. What crs have you defined in the reproject operator ? I would like if possible to reproject into UTM WGS 84.
    And do you I need to define the other parameters :
  1. I would like to export the FU outputs into Geotiff format so I can open them in a GIS software. Is it possible to keep only the FU band (using resample ?) and then to export into geotiff ?

  2. I still haven’t managed to use MODIS 500m data (MYD09GA) data with the FU tool in SNAP (see message above). Any idea of what I doing wrong ?

Thanks a lot,

Hi Marco,
Thanks again for the graph file. I have managed to use it and Bulk process several images - that is great!
I am still wondering what MODIS500 product should be used with the FU processor in snap. As explained above, I got the following error message when I try to use MYD09GA data.

Any suggestion would be greatly approciated !
Thanks for the great support offered in this forum,



Hi Car

you are using the correct data but the band names are not expected. They should not end with “_1
If you remove it from band sur_refl_b01, sur_refl_b03 and sur_refl_b04 it should work.
Where does this “_1” come from?

Hi Marco, and thanks for your answer.

I have downloaded this MODIS 500 data from the NASA Earthdata search website. I haven’t changed the name of the bands, so I am not sure why I have this _1…

Thanks anyway, I have modified the name of the MODIS bands and I have been able to run the FU classification tool on the MODIS 500 data.

I don’t seem however to be able to use the SNAP Reprojection tool with the MODIS-500 FU output (or even using the original MYD09GA data) ? Do you have any clue ?

Thanks again for the support and this great forum!

Best regards,

That’s true it is not working. Unfortunately. There is no specialised reader for the MODIS-500 reader. Only a generic one is used. That’s why the special geo-information is not interpreted.

What you could do if you are only working with a few scenes, you could add some GCPs and attach your own geo-coding.

I’ve created an issue (SNAP-916), but I can’t tell you when it will be done. Currently, this has not a high priority. :frowning_face:

Alright, thanks for letting me know. If I used the FU processor on the MODIS 1 km LAC OC data rather than the MODIS 500 would I be able to use the SNAP Reprojection tool on the MODIS-1000 FU output ?
Thanks :slight_smile:

Yes, this is working. I just tried it:

Ok, great! I will have a look at this option.
Thanks for everything!

Hi, I have produced 1 year of FU Sentinel-3 maps (from Sentinel 3- OLCI) data for a specific study area in Australia and noticed that pixels of different orbits do not overlap perfectly - i.e., from one day to another the center of each respective pixel is not located at the exact same place / lat, lon … Is it normal or did I do something wrong when I processed the FU Sentinel maps ?
Thank you

That’s normal I would say. As long you don’t see a shift over several pixels.

In this report, you can read about the geolocation accuracy. Page 30, section 2.5 Geometric Calibration/Validation

The difference in the centroid location for a specific pixel, across several weeks, seems to be less than 1 pixels in distance (along and across), but it is quite hard to measure this accurately as I have a lot of images :slight_smile:

Is the path always the same for different orbits ? Is it also possible to know the revisit time of Sentinel-3 for a specific area of the world ?

Sorry I am not sure if I am clear here …

The revisit time should be almost the same for a specific location.
Maybe this page helps you: https://sentinel.esa.int/web/sentinel/user-guides/sentinel-3-olci/coverage