Using EOP without IERS bulletin


In the frame of Sentinel2 , we use IERS bulletinA through EOP loader in processing chain to preform location function :

File[] files = iersDir.listFiles();
				if (files != null) {
					for (File file : files) {
						String fileName = file.getName();
						FramesFactory.addDefaultEOP2000HistoryLoaders(null, null, null, null, fileName);

					if (files.length > 0) {
						DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(iersDir));

// When using a single IERS A bulletin some gaps may arise : to allow the use of such bulletin, 
			// we fix the EOP continuity threshold to one year instead of the normal gap ...

We save one UT1-UTC, POLE x y directly from IERS bulletin in metadata (at the line corresponding to acqusition date).
These products are fomatted at the end of L1B chain.

We want to reload the geometric model to ehance L1B products with location grids. However we have only access to one EOP value (UT1-UTC, POLE x y at acquisition date), and not to IERS bulletin.

Is there a way to use directly this EOPEntry, and how if it is possible ? (without precision loss ?)

Does orekit perform an EOP interpolation at acquisition date using IERS bulletin ?

Thanks a lot


You can try to use FramesFactory.getEOPHistory. It will return the full history read from the bulletins.

Thanks a lot Luc,

Do you know if it is possible to add directly EOPEntry with specific eop values without IERS bulletin ?

It is possible, but not straightforward.
You can look at the Orekit unit tests. If you look for example at ITRFProviderTest.testAASReferenceLEO, you will see it uses a hard-coded list for EOP (in this test, all values in the list are identical, this was in fact done because the published results did not interpolate EOP but Orekit always performs interpolation, so a list of constant EOP allowed to work around this difference).

What is used under the hood by this test is just calling FramesFactory.addEOPHistoryLoader with a custom EOPHistoryLoader that stored the user-provided EOPEntry list. So you can do the same.

Beware that you should do this early when your program starts, otherwise the EOP will already have been filled in with data from your default configuration.