Skip to content

File Loading

gwbres edited this page Aug 24, 2024 · 11 revisions

File Loading interface

RINEX-Cli supports both simple and advanced operations.

A single RINEX does not allow advanced operations like post processed navigation, so several options were introduced to rinex-cli to fulfill this requirement. Precise navigation requires other input products like SP3 files, therefore rinex-cli accepts more than RINEX input products as well.

Command line interface

  • Use --fp to load a single file. You can load as many as you need.
  • Use -d to load one directory recursively. By default, we tolerate a maximal depth of 5. If that is not enough, you can increase that with --depth, which will apply to all -d instances. Once again, you can load as many directories as you need.

File naming conventions

Our tools do not care about filenames conventions. They can process files that do not follow standard naming conventions.

When generating output, our tool will generate files that do follow naming conventions. This has two consequences

  • you can use our file generation interfaces to follow naming conventions (from inputs that do not)
  • when working with modern files (long V3 RINEX like filenames), we cannot entirely form a valid RINEX filename if your inputs do not follow naming conventions. That's simply because some information are only described by the filename itself.

File compression

  • CRINEX (Compressed OBS RINEX) Files are supported natively.
  • Gzip compressed files are supported natively but their names must be terminated by .gz.
  • ⚠️ Z compressed files are not supported. They must be manually decompressed first.

Observation RINEX special mention ⚠️

rinex-cli is not 100% RTK or differential navigation oriented yet.
We do have differential operations like diff but it is very specific.
The navigation solver is about to unlock RTK navigation, so you will see new interfaces appear but it is not yet fully completed.

When working on single (1D) operations, like pure PPP navigation or RINEX context analysis, your RINEX Observations must come from a unique single receiver. Otherwise, your context is not valid.

Context compliancy

You can use our Summary Report to understand what your context may and may not allow.

Process more than 24h of data

Our tools adapt to the input data and are not limited to one RINEX of one kind.
You can load 48h of RINEX observations for example. You can navigate for more than 24h without theoretical limitation. Checkout this part of our tutorials.

Precise Products

Our tools support RINEX, include Clock RINEX and SP3 input products. This means they are compatible with precise navigation. The applications will automatically adapt to the forwarded data.

⚠️ in theory precise products should not be mixed. It is recommnded to use precise products that were published by the same agency. But that may only truly apply to applications targetting the best precision.

Loading single files

Use --fp to load your dataset, one file at a time. --fp does not have a shortened version, for the reason that it is already quite short, and -f has a total different meaning.

rinex-cli \
    --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz

Form a PPP compliant context with 3 files:

rinex-cli \
  --fp test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \
  --fp test_resources/NAV/V3/ESBC00DNK_R_20201770000_01D_MN.rnx.gz \
  --fp test_resources/SP3/GRG0MGXFIN_20201770000_01D_15M_ORB.SP3.gz

Recursive loader

-d is most convenient when loading many files.

Input / Output and Behavior

rinex-cli follows a few simple yet fundamental points:

  1. the application will not deploy without at least 1 input product, whatever its kind
  2. it will always synthesize a report, except when running a File Operation: because they generate data instead
  3. Opmodes are exclusive: you can only perform one operation per run. To differentiate opmodes from other command line options, opmodes are the only options that do not require a --hyphen, for example: ppp or diff are one of those
  4. Command line orders never matter but:
  • we recommend passing the -P Filter Designer first
  • options that apply to the opmode need to be passed after said opmode. For example, this is a basic ppp run:
rinex-cli --fp /tmp/obs.txt --fp /tmp/nav.txt ppp

If you want to apply a custom PPP setup with -c you need to define it after ppp

rinex-cli --fp /tmp/obs.txt --fp /tmp/nav.txt ppp -c /tmp/preset.json

Otherwise, this is either invalid or is not the -c option that you intend:

rinex-cli --fp /tmp/obs.txt --fp /tmp/nav.txt -c /tmp/preset.json ppp 

What's next

Clone this wiki locally