Inconsistent results from rnx2rtkp

I’ve compiled the command-line tools from the source using the steps posted by @darrynjordan in RTKLIB Command Line Processing in Linux - #3 by tatiana.andreeva
which is v 2.4.3 b33
I’ve created bash scripts that use convbin for rover (ubx) and base (rinex) files, followed by rnx2rtkp to process the solution.
The trouble is, running the exact same script with the exact same raw files multiple times sometimes produces different results. In my sample data set, I can get 100% fix 4, but sometimes it generates 100% fix 5 results.
It seems to me rnx2rtkp should be deterministic - same input, same configuration file, same sequence of steps should produce the same output every time, right?
Is it possible that rtklib uses multi-threading (I have an 8-core NUC) and there are subtle race conditions affection the calculations?
I’ve captured debug trace files (-x 3) to compare both “good” and “bad” outcome cases, and they’re identical from the beginning up to a point, then the numeric values it contains start to differ more and more.
Has anyone else encountered such behavior? Any ideas for troubleshooting would be appreciated.
Thanks!

Hi @henning,

The results from the RTKLib should be repeatable with the same set of data. However, I’m afraid we can’t be of much help with the specifics of the script and its workflow.

May I ask you if you have tried the GUI version of RTKLib? Have you compared the results obtained by processing the data with the script and by using our RTKLib QT apps?

It’d be great if you could share your data with us. It’d be possible to check them with the GUI version as well.

1 Like

Hi @polina.buriak,
thanks for getting back to me. Yes, I have tried the GUI version and don’t believe I’ve seen the issue there. I could send you the data files for both a “good” and “bad” result, but they’re each about a 56MB zip file due mostly to the size of the base station observations (obtained from the NOAA CORS ftp server). Both were created by the same script, using same config file, just minutes apart. Comparing the data sets side-by-side, it looks like the input files are identical (except for a creation timestamp difference from convbin extracting the rover binex data). But the NMEA output files start to diverge after the first 2 lines. I’ve also included the trace (-x 3) files that start out looking identical (showing input files read etc) but then eventually the numeric values of the calculations start to diverge.
What would be the best way to get these zip files to you?
Thanks,
Henning

You could use Dropbox

Hi Henning,

You can use any file exchanger, for example, WeTransfer, Google Drive or, as Bryan suggested, Dropbox.

1 Like

Actually I think I found the problem. It appears to be related to using wildcards for input files on the rnx2rtkp command line, such as *.nav, *.gnav etc. when there are no matching files present.
Once I changed my script to only supply a list of actual existing files, the problem went away.

1 Like

Hi Henning,

Good to know you were able to identify the cause of the issue! Thanks for sharing your solution :slight_smile: