The IRBEM library (International Radiation Belt Environment Modeling) is a set of scientific routines for radiation belt physics. It computes magnetic coordinates (L, L*, MLT), traces magnetic field lines, transforms between 15 geophysical coordinate systems, evaluates particle flux models, and propagates orbits — all from a single compiled shared library callable from Fortran, C, Python, MATLAB, and IDL. Originally developed in 2003 as ONERA-DESP-LIB by the French aerospace lab ONERA, IRBEM is now maintained as an international collaboration under the COSPAR Panel on Radiation Belt Environment Modeling (PRBEM).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.
Installation
Build IRBEM from source on Linux, macOS, or Windows with gfortran
Quickstart
Compute your first L* and coordinate transform in minutes
Python Interface
Use the MagFields and Coords classes to call IRBEM from Python
API Reference
Browse all routines: magnetic coordinates, models, and utilities
What IRBEM Does
IRBEM provides routines in five functional areas:Magnetic Coordinates
Compute McIlwain L, Roederer L*, second invariant I, Bmin, and MLT for any spacecraft position using a choice of internal and external field models
Coordinate Transformations
Transform between 15 geophysical and heliospheric coordinate systems: GDZ, GEO, GSM, GSE, SM, GEI, MAG, HEE, HAE, HEEQ, J2000, TEME, and more
Field Line Tracing
Trace magnetic field lines, locate mirror points and the magnetic equator, and find conjugate foot points at any target altitude
Radiation Belt Models
Fly a spacecraft through NASA AE8/AP8, CRRES, and IGE-2006 particle flux models to compute electron and proton fluxes
Atmospheric Models
Evaluate MSIS-86, MSIS-E-90, and NRLMSISE-00 neutral atmosphere density and temperature profiles
Orbit Propagation
Propagate NORAD TLE sets with the SGP4 algorithm and output geodetic position time series
Supported Interfaces
IRBEM compiles to a shared library (.so on Linux/macOS, .dll on Windows) that is callable from multiple languages:
Python
High-level
MagFields and Coords wrapper classes via ctypes — no manual array formatting requiredFortran & C
Direct
CALL to any subroutine; link against libirbem.a (static) or libirbem.so (shared)MATLAB
Vectorized
.m wrapper functions prefixed onera_desp_lib_*, with keyword string inputs for field model selectionIDL
Access via
CALL_EXTERNAL with the shared library; all inputs must be declared with correct typesKey Concepts
External Field Models
Choose from 14 external magnetic field models including the Tsyganenko series (T87, T89, T96, T01, T04, T07), Olson-Pfitzer, and Alexeev models
Coordinate Systems
15 supported systems with full descriptions of origin, orientation, and applicable distance units
Options Array
A 5-element integer array controlling L* computation, IGRF update frequency, field-line resolution, drift-shell resolution, and internal field model selection
Magnetic Input (maginput)
A 25-element array supplying Kp, Dst, solar wind parameters, and model-specific coupling coefficients to external field models
Citation
When publishing research that used IRBEM, acknowledge the team:We acknowledge the use of the IRBEM library (version X.Y.Z), the latest version of which can be found at https://doi.org/10.5281/zenodo.6867552.
version X.Y.Z with the release version used, or repository version <git-short-hash> for a development checkout.