C2RCC for MSI using NASA ancillary data (ozone and pressure)


I am using SNAP V6.0 and I m trying to use ancillary data in the C2RCC processor for Sentinel-2 MSI products.

I download AURAOMI and NCEP data from ‘[https://oceandata.sci.gsfc.nasa.gov/Ancillary/Meteorological/]’, and I use the .hdf files downloaded as input for the c2rcc processor.

The processor works fine, however, the outputs from c2rcc have now the resolution of my ancillary data ~1degree. Am I doing something wrong? Should I use other ancillary products?

Thanks for your help!

Did you solve this? I would like to test using the ncep ancillary data myself.
Can I ask you how you included these data? Do you do anything particular with the files when using them with c2rcc? It needs to be in .hdf format?

Best regards

I didn’t really solve this.
As a workaround, and because my AOI was quite small (less than a km2) I just input the averaged values .
Good luck

Hi, I have the same issue. Does someone know how to use the ECMWF data inluded in the S2 product, withing the C2RCC operator? Is there a way not to have to set the values manually for each image?

Also, regarding the oher parameters, I need to process multiple images and I have set my parameters in GUI and then saved them to .xml but there seems no way how to import them to the gpt, short of copy pasting them into a graph. Does someone know a way?

Hi @Tereza_S,

as far as I know there is no ECMWF data available in a Sentinel-2 L1C product.
Even if there would be ancillary the processor doesn’t support it at the moment.

Regarding the processing of multiple products, you might be interested in the following guide:
Bulk Processing with GPT
In this guide, a properties file is mentioned and used with the -p option, but you can also use the parameters stored via the GUI.

Hi @marpet,

Thank you! I have never noticed this -p parameter, that is indeed great.

Regarding the meteorological data, each S2 product should contain ancillary meteorological data interpolated from raw ECMWF global forecast datasets. https://sentinel.esa.int/web/sentinel/technical-guides/sentinel-2-msi/level-1/adfs
Unfortunatelly, there seems to be no way to access them or pass them to the operator.

Any idea what other source of metheorological could be used here - there is a Atmospheric Aux Data Path option in the Processing Parameters tab. What formats/data does it accept?

The missing ECMWF data needs to be adressed by the S2TBX Team (@MartinoF, can you check this?)

The atmospheric aux data path defines a location for the TOMSOMI and NCEP data specified on the IO tab. If data can be found in this directory it is not downloaded again.

Ah sorry I was not clear, the ECMWF data is not missing. They are present but you, have mentioned that they can not be used. It would indeed be very nice of the processor could be addapted to use them since they are suplied with the S2 data already. I have finally managed to access them but not to pass them to the operator automatically.

What I meant was that I was wondering if any other data can be used for S2 in order to process automatically. The problem is that the TOMSOMI (AURAOMI) and NCEP data cause the output to be resampled to 1 degree pixel size, which is not usefull for S2 data of course.

Hi, I’m running into a similar problem with not being able to access the ECMWF data. It looks like I might have the file under S2B_MSIL1C…/GRANULE/L1C…/AUX_DATA/AUX_ECMWFT, but can’t access the data itself.

Did you figure out how to access the data, even if it’s manually?

The ECWMF data included in S2 data products is not supported by the S2 reader. This will be included in SNAP/S2TBX v9.
But even then the C2RCC processor needs to make use of it. Which will probably not be the case at the time of the version 9 release. It might come in a later update.

To use ozone and pressure you need to use TOMSOMI and NCEP data at the moment.

You can either specify the products for each source product in the processor parameters or you pre-download the data an put it into a directory and specify this directory as parameter.

The directory structure, when created manually needs to follow this convention:

  - {year}
    - {doy}
      - {files for this day}

So the path to a file would be would be for example: "H:\c2rcc_ancillary\2020\172\N202017200_O3_AURAOMI_24h.hdf"
As parameter you would specify: "H:\c2rcc_ancillary"

Unfortunately the automatic download does not work at the moment.
[SIIITBX-369] Auxillary data is not automatically downloaded anymore in C2RCC - JIRA (atlassian.net)

The processing output will have the same resolution as the input.
The resolution of the ECMWF data contained in the Sentinel-2 products is also low. There are 9x9 pixels for the scene ~10980x10980 pixels at 10m resolution.

hi @marpet,

Thanks for the information! I tried what you suggested and it worked perfectly.

Just to confirm, when you mention that ‘the processing output will have the same resolution as the input’, you mean that it will have the same resolution as the S2 scene? This is the case for me, but I guess this has been an update to the C2RCC processor since the original post was made in 2018?

Actually the output always had the resolution of the S2 product. I guess that Tereza_S was referring to the resolution of the auxdata not being useful, or something else went wrong.

Ah sorry, I misunderstood their comment.

Just to provide more information in this thread, I was originally under a similar impression since I was following a tutorial published by RUS Copernicus Training (time 43:00 - 43:35, https://www.youtube.com/watch?v=Fx01Jtif884&t=3210s) and the instructor mentioned that the scene would be resampled to the resolution of the aux data specified in the I/O parameters.

Either way, I’m specifying the TOMSOMI and NCEP ancillary data in the I/O parameters and the final product is retaining the resolution of the input S2 data, which seems to be a different result from Tereza_S’s last post from Mar '20

1 Like

Dear @marpet,

I have been running c2rcc.msi with the S2TBX Version: 8.0.7 lately.
I was very surprised, but it seems that the processor takes into account ECMWF ancillary data included in the L1C product now (which would be very nice).

Am I correct?

Thank you.


Hi Guillaume,

No, the ECMWF data is not yet used. The ECMWF data has only been provided by the reader since, I think, October. Thus, the C2RCC has not yet been updated. But we should do. I’ve created a ticket for it ( [SIIITBX-413] C2RCC for MSI should make use of provided ECMWF data - JIRA (atlassian.net))

Hi Marco,
Thank you!

Dear @marpet ,

Has the ticket (SIIITBX-413) on JIRA been forwarded to S2TBX so that it is taken into account for sentinel 2 toolbox?
Thank you for your help.


No, this must be done by the S3TBX team. Because C2RCC is part of the S3TBX toolbox, regardless of the sensor.

All right.
Thank you.