(A)ATSR SST Processor Algorithm

I am trying to extract SSTs from AATSR products and would like to use SNAP’s SST Processor for AATSR. I was wondering, however, whether there is any way of changing the algorithm that it uses in order to get these SSTs?

Thanks for your help!

Or does anyone have any suggestions for how I can do this m?

You can get the sources for SNAP and S3TBX (includes AASTR SST processor).
In the Wiki are the steps described you should follow.
https://senbox.atlassian.net/wiki/spaces/SNAP/pages/10879039/How+to+build+SNAP+from+sources

And here is described how you can setup the IDE:
https://senbox.atlassian.net/wiki/spaces/SNAP/pages/24051775/IntelliJ+IDEA

This is the class you would need to adapt:

You could also create your own plugin and reuse only the AATSR SST code.
https://senbox.atlassian.net/wiki/spaces/SNAP/pages/24051787/How+to+integrate+a+new+processor

Thanks for your help. As I’m relatively new to coding in general, I have decided to stick with mosaicing my products with the masks that I want after which I will extract the SST using band maths (I think this is more or less what SST processor does).

However I am having a problem with the mosaicing. I am trying to add a condition
Conds= jpy.array('org.esa.snap.core.gpf.common.MosaicOp$Condition',1)
Conds[0]=Condition("cloud_land_mask", "not cln_cloudy and not cln_land", "false")
to my list of parameters for mosacing, however when python reads Conds[0]=Condition("cloud_land_mask", "not cln_cloudy and not cln_land", "false"), I get the error: RuntimeError: no matching Java method overloads found.

Would you be able to help with this?

If you change the last paramter “false” to False. It should work.
This is documented in the API documentation:

You can also possible have a look at the code:

Thanks again for your help - it’s very useful. Unfortunately, I am still getting the same error even with the updated expression - could there be another problem?

The line looks like this? You have removed the quotes?

 Conds[0]=Condition("cloud_land_mask", "not cln_cloudy and not cln_land", False)

I have actually solved this issue by doing this:

Condition=jpy.get_type('org.esa.snap.core.gpf.common.MosaicOp$Condition')
Conds= jpy.array('org.esa.snap.core.gpf.common.MosaicOp$Condition', 1)
Cond=Condition()
Cond.setName("cloud_filter")
Cond.setExpression("not cln_cloudy and not cln_land")
Conds[0]=Cond

Thanks for your help again!

1 Like