ICOR for S3 using GPT on SNAP

Hello, I’m using ICOR-S3 for atmospheric correction for olci 1b data, then subset and reprojection by gpt, this is my xml:
OLCI_subset_reproject_ICOR.xml (6.9 KB)
Then the command line prompted this error information:
error_message.txt (3.1 KB)
Could you please help me find the cause of the problem, thank you!

Note that I used format like:<![CDATA[txet]]> since XML parser does not allow tag names to contain spaces.

My system: windows 10
SNAP version: 9.0
Python version: 3.6

Can you try the processing without the use of the advanced options in the Read operator?

Because of the subsetting due to the enabled advanced options, the source product does not have a file location anymore. It is now a new in memory product. But the ToolAdapter for iCOR is asking for this location. And this causes the NullPointerException
As you use the whole product, the advanced options do not provide any benefit.
You could remove the read node completely and provide the source product directly as to the iCOR-SENTINEL-3-OLCI operator.

@diana_harosa @kraftek I think this is an issue which should be considered.

EOMasters_icon_60 Marco from EOMasters - Mastering Earth Observation - Kofi_cup_40x30


Jira ticket SNAP-3725 created

1 Like

Thank you! The progress looks better by removing the read node completely. However, it still returns some error information after atmospheric correction was done, which maybe caused by other nodes?. Here is new error message
error_message2.txt (22.1 KB)

I used this command code in CMD and it works:
C:\Program Files\VITO\iCOR\icor.bat --keep_intermediate false --cloud_average_threshold 0.23 --cloud_low_band B02 --cloud_low_threshold 0.2 --aot false --aerosol_type RURAL --aot_window_size 100 --simec false --bg_window 1 --aot_override 0.1 --ozone true --aot_override 0.1 --ozone_override 0.33 --watervapor true --wv_override 2.0 --water_band B18 --water_threshold 0.06 --output_file E:\OLCI_AERONET\AAOT\icor\S3B_OL_1_EFR____20180516T095537_20180516T095837_20200125T213014_0179_003_150_2160_MR1_R_NT_002_processed_1.tif --sensor S3 --apply_gains false --glint_cor false --inlandwater false --productwater false --keep_land false --keep_water true --project false --working_folder C:\Users\10455\AppData\Local\Temp E:/OLCI_AERONET/AAOT/unzipped/S3B_OL_1_EFR____20180516T095537_20180516T095837_20200125T213014_0179_003_150_2160_MR1_R_NT_002.SEN3/xfdumanifest.xml

The main reason for I to use gpt is to save time(by subsetting), but it still takes 1h to process an OLCI image. Maybe I should just use command line first, then do subsetting and reprojection.

It seems part of the reason for the error is that you have not provided the targetProductFile parameter.

But actually, the code should also check if it is provided and handle this case, because it is allowed to be null.

As you said it might be better to split the single graph into two graphs.

And ICOR can’t work on subsets.

1 Like

Thank you! Yes, actually if I provide ‘targetProductFile’ parameter, there is no meaning to add other nodes, and then the gpt task works.

1 Like