Hi. I am using the gpstk python binding for processing COSMIC radio occultation data. Unfortunately, the sp3 data for the COSMIC is often not covering a whole day which means, that the file ends up earlier. However, I want to process 24h datasets and if there is a sp3 gap just pass it. Which function from the SP3EphemerisStore can I use to check if a position at a specific time can be interpolated?

In my example the sp3 file covers COSMIC positions up to 21:54:00 in 1 min sampling. When I want to calculate the position at 21:50:01 I get an exception and the process exits for the reason that the interpolation needs more data after 21:54:00.

I hope you can help me. Thanks in advance!

Best regards, Marco

-- MarcoLimberger - 14 Feb 2014


ALERT! If you answer a question - or have a question you asked answered by someone - please remember to edit the page and set the status to answered. The status is in a drop-down list below the edit box.

Hello Marco,

Sorry for the delayed response. Is this question still valid? If so, let me know and I will follow up with an appropriate answer.

Thanks for your interest in the GPS Toolkit.

-- BryanParsons - 27 Mar 2014

Hello Marco and Bryan,

I ran into similar problem and observed that loading additional sp3 (as well as clk files in my case) from both the previous and the next day helped.


-- AlexanderKuna - 01 Apr 2014

Hi Bryan,

I haven't checked the postings here since nearly one year. Sorry for that! In the meantime I used to include the previous and following day sp3 files according to A. post.

However, for those days, where the center day contains a large gap, I still run into problems from time to time and skip the process for these cases.

I am open for any suggestion how to handle such gaps.

All the best, Marco

-- MarcoLimberger - 28 Jan 2015


I suspect that the problems are generated by the PositionSatStore::getPosition function that throws InvalidRequest in certain cases as explained by lines 160-162 from

However, class gpstk::TabularSatStore ( allows you to disableDataGapCheck(), setGapInterval(), disableIntervalCheck() or setMaxInterval() ... see lines 00709 to 00731 (

Be aware how these possible changes may affect the LagrangeInterpolation (LI) procedure that usually requires a 10 order polynomial interpolation. This generates the exceptions you mentioned in the first post because it needs sp3 records/epochs before and after the epoch to execute the interpolation. Thus for daily data we need sp3 epochs from the day before in order to correctly interpolate at 00:00:00 and epochs from the day after correct interpolation at 23:59:59.

Hopefully, my comments shed some light.

-- OctavianAndrei - 05 Feb 2015

Thanks a lot for your support! I will play with the functionalities to see the effect on my procedures.

Best regards! Marco

-- MarcoLimberger - 10 Feb 2015 No such template def TMPL:DEF{PROMPT:supportquery}

Topic revision: r6 - 10 Feb 2015, MarcoLimberger

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback