IRBEM provides routines to transform positions between 15 geophysical and heliospheric coordinate systems, covering everything from Earth-centered frames (GEO, GSM, GSE, SM) to deep-space heliospheric frames (HEE, HAE, HEEQ). Because the orientations of most frames depend on the Sun–Earth geometry and Earth’s rotation, all transforms are time-dependent — every routine requires the year, day of year, and universal time in seconds.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/PRBEM/IRBEM/llms.txt
Use this file to discover all available pages before exploring further.
COORD_TRANS_VEC — Generic Vectorized Transform
COORD_TRANS_VEC is the recommended entry point for batch transforms. It converts an array of ntime positions from any input coordinate system to any output coordinate system in a single call.
Parameters
Number of time points to transform.
Key identifying the input coordinate system. See the coordinate systems reference for allowed values and string aliases.
Key identifying the output coordinate system.
Year for each time point.
Day of year for each time point. January 1st is
idoy = 1.Universal time in seconds of day for each time point.
Position array in the input coordinate system.
Output
Position array in the output coordinate system, with the same units as
xIN (Re for geocentric systems, AU for heliospheric systems).Call Sequences
Python — Coords.transform
The Python Coords class wraps coord_trans_vec1 with an idiomatic interface that accepts datetime objects and coordinate system name strings directly.
A single
datetime.datetime object or a list/array of them, one per position point.Position(s) in the input coordinate system. For a single point, a length-3 list or array. For multiple points, shape
(nT, 3).Input coordinate system name string (e.g.
'GEO', 'GSM', 'GDZ') or integer key.Output coordinate system name string or integer key.
Available coordinate system identifiers
| Key | Name | Description |
|---|---|---|
| 0 | GDZ | Geodetic — altitude (km), latitude (deg), East longitude (deg) |
| 1 | GEO | Geographic cartesian (Re) |
| 2 | GSM | Geocentric Solar Magnetospheric cartesian (Re) |
| 3 | GSE | Geocentric Solar Ecliptic cartesian (Re) |
| 4 | SM | Solar Magnetic cartesian (Re) |
| 5 | GEI | Geocentric Equatorial Inertial cartesian (Re) |
| 6 | MAG | Geomagnetic cartesian (Re) |
| 7 | SPH | Geographic spherical — radial distance (Re), latitude (deg), East longitude (deg) |
| 8 | RLL | Radial–latitude–longitude (Re, deg, deg) — preferred over SPH |
Example
Coords.coords_transform() is deprecated. Use Coords.transform() instead.Geographic Pair Transforms
The following single-point routines convert between specific pairs of coordinate systems. They are lower-level primitives; for multi-point batch work preferCOORD_TRANS_VEC.
All single-point routines accept scalar
iyr, idoy, and UT inputs and return a single transformed position. For time-series inputs use COORD_TRANS_VEC (Fortran/IDL) or Coords.transform (Python).GEO ↔ GSM
GEO2GSM — transforms Geographic (GEO) to Geocentric Solar Magnetospheric (GSM) coordinates. Returns the position and the dipole tilt anglepsi.
Year.
Day of year (January 1st = 1).
Time in seconds of day.
Cartesian position in GEO (Re).
Dipole tilt angle for the GSM system (rad).
Cartesian position in GSM (Re).
Year.
Day of year (January 1st = 1).
Time in seconds of day.
Cartesian position in GSM (Re).
Dipole tilt angle (rad).
Cartesian position in GEO (Re).
GEO ↔ GSE
GEO2GSE — transforms GEO to Geocentric Solar Ecliptic (GSE) coordinates.Year.
Day of year.
Time in seconds.
Cartesian position in GEO (Re).
Cartesian position in GSE (Re).
Year.
Day of year.
Time in seconds.
Cartesian position in GSE (Re).
Cartesian position in GEO (Re).
GEO ↔ GDZ
GEO2GDZ — converts GEO Cartesian to Geodetic (GDZ: altitude, latitude, longitude). Note: this routine takes individual scalar coordinates rather than a 3-vector.x component of GEO position (Re).
y component of GEO position (Re).
z component of GEO position (Re).
Geodetic latitude (deg).
East longitude (deg).
Altitude above the WGS84 ellipsoid (km).
Geodetic latitude (deg).
East longitude (deg).
Altitude (km).
x in GEO (Re).
y in GEO (Re).
z in GEO (Re).
GEO ↔ SM
GEO2SM — transforms GEO to Solar Magnetic (SM) coordinates.Year.
Day of year.
Time in seconds.
Cartesian position in GEO (Re).
Cartesian position in SM (Re).
Year.
Day of year.
Time in seconds.
Cartesian position in SM (Re).
Cartesian position in GEO (Re).
GEO ↔ GEI
GEO2GEI — transforms GEO to Geocentric Equatorial Inertial (GEI) coordinates.Year.
Day of year.
Time in seconds.
Cartesian position in GEO (Re).
Cartesian position in GEI (Re).
Year.
Day of year.
Time in seconds.
Cartesian position in GEI (Re).
Cartesian position in GEO (Re).
GEO ↔ MAG
GEO2MAG — transforms GEO to Geomagnetic (MAG) coordinates. This transform depends only on the year (epoch of the dipole model), not on UT.Year (used to define the geomagnetic pole position).
Cartesian position in GEO (Re).
Cartesian position in MAG (Re).
Year.
Day of year.
Time in seconds.
Cartesian position in MAG (Re).
Cartesian position in GEO (Re).
GSM ↔ SM
GSM2SM — transforms GSM to SM coordinates.Year.
Day of year.
Time in seconds.
Cartesian position in GSM (Re).
Cartesian position in SM (Re).
Year.
Day of year.
Time in seconds.
Cartesian position in SM (Re).
Cartesian position in GSM (Re).
Spherical / RLL Utilities
SPH2CAR — converts spherical coordinates (r, latitude, East longitude) to Cartesian.Radial distance in arbitrary units.
Latitude (deg).
East longitude (deg).
Cartesian coordinates in the same units as
r.Cartesian coordinates.
Radial distance.
Latitude (deg).
East longitude (deg).
Geocentric radial distance (Re).
Latitude (deg).
East longitude (deg).
Geodetic altitude (km).
Heliospheric Transforms
The routines below convert between geocentric and heliospheric frames, and between heliospheric frames. Positions in heliospheric frames are in AU; geocentric positions remain in Re.GSE ↔ HEE
GSE2HEE — transforms Geocentric Solar Ecliptic (GSE) to Heliocentric Earth Ecliptic (HEE, also known as Heliospheric Solar Ecliptic, HSE).Year.
Day of year.
Time in seconds.
Cartesian position in GSE (Re).
Cartesian position in HEE (AU).
Cartesian position in HEE (AU).
Cartesian position in GSE (Re).
HEE ↔ HAE
HEE2HAE — transforms Heliocentric Earth Ecliptic (HEE) to Heliocentric Aries Ecliptic (HAE, also known as Heliospheric Solar Ecliptic, HSE).Year.
Day of year.
Time in seconds.
Cartesian position in HEE (AU).
Cartesian position in HAE (AU).
Cartesian position in HAE (AU).
Cartesian position in HEE (AU).
HAE ↔ HEEQ
HAE2HEEQ — transforms HAE to Heliocentric Earth Equatorial (HEEQ, also known as Heliospheric Solar, HS).Year.
Day of year.
Time in seconds.
Cartesian position in HAE (AU).
Cartesian position in HEEQ (AU).
Cartesian position in HEEQ (AU).
Cartesian position in HAE (AU).