How to calculate Sentinel 3 absolute orbit number from filename?

I am hoping someone can help me determine the (absolute) orbit number for Sentinel 3 given only the relative orbit and cycle numbers in the filename. (I know that this is stored within the manifest .xml file, but I no longer have those for the files I downloaded.)

From documentation online (e.g. ) my understanding is 385 orbits per cycle. However on downloading a “fresh” file, I can’t reverse-engineer the formula, so must be missing something.

For example, file S3A_OL_1_ERR____20190815T045631_20190815T054045_20190816T083001_2654_048_119______LN1_O_NT_002 metadata says:

<sentinel-safe:orbitNumber type=“start” groundTrackDirection=“ascending”>18187</sentinel-safe:orbitNumber>
<sentinel-safe:relativeOrbitNumber type=“start” groundTrackDirection=“ascending”>119</sentinel-safe:relativeOrbitNumber>

The 119 and 48 match what’s in the filename. So from these I should be able to get orbit number 18187.

However, 48*385 + 119 = 18599 which does not match.
I then thought maybe cycles start from 1 not 0, in which case (48-1)*385+119 = 18214 which is closer but also doesn’t match.

Does someone know (and preferably can link to the source) for the correct calculation? I couldn’t find it in the reference documents linked above, or via a Google search.


The point is that the early phase of the mission is not regular (in terms of orbit). This was particularly true for S3B which was in tandem phase during 5 months, but with one transition phase to reach it definitive orbit.

I have set up the 2 formulas for S3A and S3B which are:
S3A: AO=(CCC-2)*385+RO+358
S3B: AO=(CCC-20)*385+3352+RO

where CCC is the cycle number and RO the relative orbit (from 1 to 385)

I have an excel file which also computes the inverse (RO and cycle from the AO) that I attach to this post.S3_AO-RO-CCC.xlsx (25.7 KB)

1 Like

Thanks so much! This makes sense about the early-on irregularities. I appreciate these formula, and the spreadsheet.