Skip to content

Products

The [product] section of pppx.ini selects a satellite-product source and the path to each file. For where to download them, see Data Sources.

[product]
src = precise ; opt: brdc/precise
nav = ./products/BRDC00IGS_R_-YEAR--DOY-0000_01D_MN.rnx ; broadcast ephemeris (brdc)
sp3 = ./products/COD0MGXFIN_20221000000_01D_05M_ORB.SP3 ; precise orbit (precise)
clk = ./products/COD0MGXFIN_20221000000_01D_30S_CLK.CLK ; precise clock (precise)
erp = ./products/COD0MGXFIN_20221000000_03D_12H_ERP.ERP ; earth rotation parameters (precise)
obx = ./products/COD0MGXFIN_20221000000_01D_15M_ATT.OBX ; satellite attitude (precise)
bia = ./products/COD0MGXFIN_20221000000_01D_01D_OSB.BIA ; satellite bias (precise)
ion = ./products/codg-DOY-0.-YR-i ; global ionospheric map (common)
vmf = ./products/VMFG_-YEAR--DOY- ; VMF1 grid (common)

Every solution mode offers the same two options, selected with [product] src:

  • brdc — orbits and clocks are computed from the broadcast ephemeris (nav), which must be a valid path. Products labelled precise are then ignored entirely.
  • precise — orbits and clocks come from IGS precise products. sp3 is required; every other precise product is optional. Using precise also requires the igsatx table file.
  • Only sp3 is mandatory for precise. If clk is missing, the clock corrections carried by the SP3 file are used instead.
  • ion and vmf are mandatory only when the corresponding model is selected — ion for a GIM-based [model] iono = IONEX, and vmf for [model] trop = VMF1.
  • Precise orbits and clocks can be used for SPP, but the Differential Code Bias (DCB) is not handled for single-frequency SPP — set [model] iono = IF in that case.
  • For PPP specifically:
    • broadcast ephemeris also works for PPP, in which case no precise product is used;
    • the nominal attitude is used if obx is missing;
    • bia is used when [estimation] ppp_ar = yes;
    • pole-tide corrections are skipped if erp is missing — fine for most applications.

Product paths may contain placeholders that PPPx fills from [session] date (or the first RINEX epoch), which makes multi-day processing easy:

PlaceholderMeaning
-YEAR-4-digit year
-YR-2-digit year
-DOY-day of year
-WEEK-GPS week
-DOW-day of GPS week