Skip to content

Product Registry

The product registry provides declarative configuration for 37 SP3 and CLK products from 17 analysis centres. Products are defined in TOML — no hardcoded URLs in the processing code.


Product Types

  •   Final


    Latency 14–21 days · Accuracy cm-level

    Highest quality. Use for scientific research, reprocessing campaigns, and publication-quality VOD products.

  •   Rapid


    Latency 17–24 hours · Accuracy near-final (cm-level)

    Available the following day. Use for near-real-time processing when final products have not yet been released.

  •   Ultra-rapid


    Latency 3–9 hours · Accuracy few cm (predicted half)

    Partially predicted. The predicted half has lower accuracy. Use only when rapid products are insufficient.

Type Latency Orbit accuracy Clock accuracy
Final 14–21 d < 2.5 cm < 75 ps
Rapid 17–24 h < 2.5 cm < 75 ps
Ultra-rapid (observed) 3–9 h < 3 cm < 150 ps
Ultra-rapid (predicted) 0 h < 5 cm < 3 ns

Available Agencies

Agency Code Products
Center for Orbit Determination in Europe CODE Final, Rapid
GeoForschungsZentrum Potsdam GFZ Final, Rapid
European Space Agency ESA Final, Rapid, Ultra-rapid
Jet Propulsion Laboratory JPL Final
International GNSS Service IGS Final, Rapid, Ultra-rapid
NASA CDDIS FTP mirror for most products

Automatic fallback

The pipeline tries the primary agency first; if the FTP connection fails or the file is not yet available, it falls back to the NASA CDDIS mirror automatically.


Usage

from canvod.auxiliary import get_product_spec

spec = get_product_spec("CODE", "final")
print(spec.latency_hours)      # 336 (14 days)
print(spec.ftp_server)         # ftp.aiub.unibe.ch
print(spec.requires_auth)      # False
from canvod.auxiliary import Sp3File
from datetime import date

sp3 = Sp3File.from_url(date(2024, 1, 1), agency="CODE", product="final")
ds = sp3.to_dataset()

# ds.dims: {'epoch': 96, 'sv': 32}
# ds.data_vars: X, Y, Z, Vx, Vy, Vz
auxiliary:
  agency:       ESA
  product_type: final
  cache_dir:    /data/aux_cache

The pipeline reads these keys automatically — no manual product lookup needed.


Registry Format

Products are declared in packages/canvod-auxiliary/src/canvod/auxiliary/products/registry.toml:

[CODE.final]
sp3_url_template = "ftp://ftp.aiub.unibe.ch/CODE/{yyyy}/COD{gpsweek}{dow}.EPH.Z"
clk_url_template = "ftp://ftp.aiub.unibe.ch/CODE/{yyyy}/COD{gpsweek}{dow}.CLK.Z"
latency_hours    = 336
ftp_server       = "ftp.aiub.unibe.ch"
requires_auth    = false

[ESA.rapid]
sp3_url_template = "..."
clk_url_template = "..."
latency_hours    = 18
ftp_server       = "navigation.esa.int"
requires_auth    = false

URL templates support: {yyyy}, {doy}, {gpsweek}, {dow} (day-of-week within GPS week).