Sentinel-3 SLSTR Level-2 LST Cloud Mask


I have downloaded Sentinel-3 Level-2 data to acquire LST information. I checked all bands and masks with word ‘cloud’ name of it and I found mask called ‘cloud_in_visible’ which represents clouds the best in my opinion. I want to use that mask to remove all clouds from LST layer but I can’t find any way to do it.
I found that mask ‘cloud_in_visible’ is linked with band ‘cloud_in’ but I don’t know how to extract that mask from this band.

Maybe there is layer which represents clouds better than mask I described above.

I’ll be grateful for all the help!
Greetings, Adam.

Hi Adam,

in order to get rid of the clouds you can set the valid-pixel expression of the LST band.
Right-click on the band and select properties. There you can edit the expression.

As expression you can use: not cloud_in_visible

To visualise the effect better, I have overlayed the cloud_in_visible in purpule just partly.

Unfortunately the edit field is not very convenient.
To find a good expression you can create a new mask layer for the LST band in the Mask Manager.

There you get an editor and you can better experiement with the expression.
Maybe it is good if you also exclude the thin cirrus (cloud_in_thin_cirrus)

In the end you could use as valid-pixel expression

 not cloud_in_visible && not cloud_in_thin_cirrus

It could also be good to use a threshold on the LST_uncertainty value in the expression if you not only want to exclude clouds but also ensure a certain quality.

not cloud_in_visible && not cloud_in_thin_cirrus && LST_uncertainty < 0.182

Thank you so much for your response! It worked :slight_smile:
One more question. Is there any possibility to extract to geotiff cloud mask created based on expression:
not cloud_in_visible && not cloud_in_thin_cirrus && LST_uncertainty < 0.182 ??

I would like to create automatic process of getting temperature data from Sentinel-3 so I need cloud mask at outer format (e.x. GeoTIFF). I use Python to it so maybe it would be possible with snappy? :slight_smile:

Yes, you can create a subset of you product containing only the created mask. And then you can export to GeoTiff.

From snappy this is also possible. The simplest way is to use
GPF.createProduct(‘Subset’, parameters, sourceProduct). Afterwards, the resulting product can be written by ProductIO.writeProduct().
Please look for some related posts in the forum or in the examples provided with snappy.
right now I can’t spend the time to provide an example.

Maybe someone else has already such a script or similar and can provide it?

1 Like

Thank you for that hint. I am going to try to solve that on my own :slight_smile:

Of course, I’ll be grateful for any other suggestions you may have !