CDPP 3DView Data Provider
CDPP 3DView (Centre de Données de la Physique des Plasmas 3DView) provides planet, spacecraft, and comet trajectories, each available in a choice of coordinate frames. Its integration into Speasy makes it easy to get trajectory data for various missions on any time range.
Note
This provider is enabled by default as of speasy 1.8. It previously shipped disabled while its web
service had known issues; those are now mostly resolved, and broader use helps surface what’s left. If
you hit problems, you can disable it again via disabled_providers, see Disabling data providers.
Basics: Getting data from Cdpp3dView module
All the trajectories available are discoverable using speasy dynamic inventory, they are organized by
body type then body name (e.g. Trajectories.SPACECRAFT.MEX); the coordinate frame is not part of the
inventory tree, it’s a keyword argument to get_data() (see coordinate_frame below, default J2000):
>>> import speasy as spz
>>> trajectories = spz.inventories.tree.cdpp3dview.Trajectories
>>> trajectories
<SpeasyIndex: Trajectories>
>>> mex_traj = spz.get_data(spz.inventories.tree.cdpp3dview.Trajectories.SPACECRAFT.MEX, "2010-01-02", "2010-01-03")
>>> mex_traj
<speasy.products.variable.SpeasyVariable object at ...>
>>> mex_traj.shape
(144, 3)
>>> mex_traj.columns
['x', 'y', 'z']
>>> # Optional parameters: coordinate_frame and sampling (in seconds)
>>> mex_framed = spz.get_data(spz.inventories.tree.cdpp3dview.Trajectories.SPACECRAFT.MEX, "2010-01-02", "2010-01-03",
... coordinate_frame="ECLIPJ2000")
>>> mex_framed
<speasy.products.variable.SpeasyVariable object at ...>
>>> mex_sampled = spz.get_data(spz.inventories.tree.cdpp3dview.Trajectories.SPACECRAFT.MEX, "2010-01-02", "2010-01-03",
... sampling="60")
>>> mex_sampled
<speasy.products.variable.SpeasyVariable object at ...>
Coordinate frames
3DView supports far more frames than the other providers, and the list comes from the server rather than from Speasy, so this is always the authoritative check:
>>> frames = spz.cdpp3dview.get_frames()
>>> 'ECLIPJ2000' in frames
True
Passing a frame the server doesn’t know raises
Cdpp3dViewWebException, and the message lists the frames that
are available.
Note
coordinate_system (the kwarg name used by the SSCWeb provider) is accepted as an alias for
coordinate_frame here too, so switching between SSCWeb and 3DView doesn’t require renaming
a kwarg. Passing both with different values raises
Cdpp3dViewWebException rather than silently picking one.
UiowaEphTool has no such kwarg at all — its coordinate system is chosen by browsing the
inventory tree instead, see its own page.
The table below is generated automatically from the server every time these docs are built, so it needs no manual updates and cannot go stale the way a hand-written list would. If the server couldn’t be reached during the build, a note below says so and a cached snapshot is shown instead:
The live query to the 3DView server failed during this build (HTTP Error 502: Proxy Error); showing a cached snapshot captured on 2026-07-22 instead. Build attempted on 2026-09-18 16:06 UTC. Run spz.cdpp3dview.get_frames() yourself for the current list.
Frame |
Centered on |
Description |
|---|---|---|
|
Sun |
Earth mean equator, dynamical equinox of J2000 |
|
Sun |
Ecliptic coordinates based upon the J2000 frame |
|
Sun |
Heliocentric Earth Ecliptic |
|
Sun |
Heliocentric Earth Equatorial |
|
Sun |
Heliocentric Inertial |
|
Sun |
Body-Fixed Frame |
|
Mercury |
Mercury-centric Solar Orbital |
|
Mercury |
EME2000 centered on Mercury |
|
Mercury |
ECLIPJ2000 centered on Mercury |
|
Mercury |
Mercury-centric Solar Ecliptic |
|
Mercury |
Mercury-centric Solar Equatorial |
|
Mercury |
Body-Fixed Frame |
|
Venus |
Venus-centric Solar Orbital |
|
Venus |
Venus Mean Equator |
|
Venus |
Body-Fixed Frame |
|
Earth |
Geocentric Solar Ecliptic |
|
Earth |
Earth Mean Equator and Equinox |
|
Earth |
Geocentric Solar Equatorial |
|
Earth |
Earth Mean Ecliptic and Equinox |
|
Earth |
Geomagnetic coordinate system (definition not valid after 31/12/2014) |
|
Earth |
Geocentric solar magnetospheric system (definition not valid after 31/12/2014) |
|
Earth |
Solar magnetic coordinates (definition not valid after 31/12/2014) |
|
Earth |
Body-Fixed Frame |
|
Moon |
Moon-centric Solar Ecliptic |
|
Moon |
Moon Mean Equator |
|
Moon |
Body-Fixed Frame |
|
Mars |
Mars-centric Solar Orbital |
|
Mars |
Mars Mean Equator |
|
Mars |
Body-Fixed Frame |
|
Phobos |
Phobos-centric Solar Ecliptic |
|
Phobos |
Phobos Mean Equator |
|
Deimos |
Deimos-centric Solar Ecliptic |
|
Deimos |
Deimos Mean Equator |
|
Jupiter |
Jovian Solar Orbital Coordinates |
|
Jupiter |
EME2000 centered on Jupiter |
|
Jupiter |
ECLIPJ2000 centered on Jupiter |
|
Jupiter |
Jovian Solar Magnetospheric |
|
Jupiter |
System 3 |
|
Jupiter |
Body-Fixed Frame using IAU 2009 constants |
|
Io |
Io phio |
|
Europa |
Europa phio |
|
Ganymede |
Ganymede phio |
|
Callisto |
Callisto phio |
|
Saturn |
Kronocentric Solar Orbital Coordinates |
|
Saturn |
EME2000 centered on Saturn |
|
Saturn |
ECLIPJ2000 centered on Saturn |
|
Saturn |
Kronocentric Solar Magnetospheric |
|
Saturn |
Body-Fixed Frame |
|
Mimas |
EME2000 centered on Mimas |
|
Mimas |
ECLIPJ2000 centered on Mimas |
|
Mimas |
Mimas Inter-action coordinate System |
|
Enceladus |
EME2000 centered on Enceladus |
|
Enceladus |
ECLIPJ2000 centered on Enceladus |
|
Enceladus |
Enceladus Inter-action coordinate System |
|
Tethys |
EME2000 centered on Tethys |
|
Tethys |
ECLIPJ2000 centered on Tethys |
|
Tethys |
Tethys Inter-action coordinate System |
|
Dione |
EME2000 centered on Dione |
|
Dione |
ECLIPJ2000 centered on Dione |
|
Dione |
Dione Inter-action coordinate System |
|
Rhea |
EME2000 centered on Rhea |
|
Rhea |
ECLIPJ2000 centered on Rhea |
|
Rhea |
Rhea Inter-action coordinate System |
|
Titan |
EME2000 centered on TItan |
|
Titan |
ECLIPJ2000 centered on TItan |
|
Titan |
TItan Inter-action coordinate System |
|
Hyperion |
EME2000 centered on Hyperion |
|
Hyperion |
ECLIPJ2000 centered on Hyperion |
|
Hyperion |
Hyperion Inter-action coordinate System |
|
Iapetus |
EME2000 centered on Iapetus |
|
Iapetus |
ECLIPJ2000 centered on Iapetus |
|
Iapetus |
Iapetus Inter-action coordinate System |
|
Phoebe |
EME2000 centered on Phoebe |
|
Phoebe |
ECLIPJ2000 centered on Phoebe |
|
Phoebe |
Phoebe Inter-action coordinate System |
|
Helene |
EME2000 centered on Helene |
|
Helene |
ECLIPJ2000 centered on Helene |
|
Helene |
Helene Inter-action coordinate System |
|
Telesto |
EME2000 centered on Telesto |
|
Telesto |
ECLIPJ2000 centered on Telesto |
|
Telesto |
Telesto Inter-action coordinate System |
|
Uranus |
EME2000 centered on Uranus |
|
Uranus |
ECLIPJ2000 centered on Uranus |
|
Uranus |
Uranus-centric Solar Orbital Coordinates |
|
Uranus |
Body-Fixed Frame |
|
Neptune |
EME2000 centered on Neptune |
|
Neptune |
ECLIPJ2000 centered on Neptune |
|
Neptune |
Neptune-centric Solar Orbital Coordinates |
|
Neptune |
Body-Fixed Frame |
|
Pluto |
EME2000 centered on Pluto |
|
Pluto |
ECLIPJ2000 centered on Pluto |
|
Pluto |
Pluto-centric Solar Orbital Coordinates |
|
Pluto |
Body-Fixed Frame |
|
Churyumov-Gerasimenko |
EME2000 centered on comet churyumov gerasimenko |
|
Churyumov-Gerasimenko |
Comet solar oriented centered on comet churyumov gerasimenko |
|
Lutetia |
EME2000 centered on asteroid LUTETIA |
|
Lutetia |
Comet solar oriented centered on asteroid LUTETIA |
|
Steins |
EME2000 centered on asteroid STEINS |
|
Steins |
Comet solar oriented centered on asteroid STEINS |
|
Halley |
EME2000 centered on asteroid HALLEY |
|
Halley |
Comet solar oriented centered on asteroid HALLEY |
|
Grigg-Skjellerup |
EME2000 centered on asteroid GRIGG-SKJELLERUP |
|
Grigg-Skjellerup |
Comet solar oriented centered on asteroid GRIGG-SKJELLERUP |
|
Didymos |
Body-Fixed Frame |
|
Didymos |
EME2000 centered on asteroid DIDYMOS |
|
Didymos |
Comet solar oriented centered on asteroid DIDYMOS |
The naming follows a consistent pattern across bodies, so you can usually guess an unfamiliar one:
IAU_<body>— body-fixed frame (rotates with the body), as defined by the IAU.<X>SO— “X Solar Orbital”: a GSE-style, Sun-body-line frame generalized to body X.Warning
Guessing
<X>SOframes has a collision: Mars isMSObut Mercury isMESO(and the Moon has noSOframe at all). A wrong guess that happens to be a real frame yields perfectly valid data for the wrong planet, with no error — when in doubt, check the table above.<X>SM— “X Solar Magnetic”: likeSM/GSM, referenced to body X’s magnetic dipole (in 3DView’s frame list, only defined for three of the solar system’s magnetized planets: Earth, Jupiter, Saturn). For Earth specifically, theSM/GSM/MAGframes are not valid after 31/12/2014, as the generated table above mentions; the table is the authoritative check for other bodies.<X>ECLIP/<X>EME— inertial frames centred on body X, referenced to the ecliptic or to Earth’s mean equator/equinox (the same convention asECLIPJ2000/J2000) respectively.<BODY>_CSO/<BODY>_EME— the comet/asteroid equivalents of theSOandEMEframes, spelled with the full body name as a suffix:67PCG_CSO,LUTETIA_CSO,HALLEY_CSO,67PCG_EME, …
get_data() also accepts if_newer_than=... to only fetch data newer than a given
timestamp (it sends an If-Modified-Since header to the server).