Skip to main content

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.

The International Radiation Belt Environment Modeling (IRBEM) library is a comprehensive set of source codes dedicated to radiation belt modeling and space environment analysis. It provides researchers with a unified toolkit for computing magnetic coordinates, tracing field lines, transforming between coordinate systems, and evaluating empirical models of Earth’s radiation environment — all through a single compiled shared library callable from Fortran, C, Python, MATLAB, or IDL.

Installation

Build IRBEM on Linux, macOS, or Windows using gfortran and the provided Makefile.

Quickstart

Compute L* and run coordinate transforms in Python in under five minutes.

Magnetic Coordinates

Compute L, L*, MLT, Bmin, Blocal, and the second adiabatic invariant XJ for any spacecraft position.

Language Interfaces

Native Fortran and C interfaces, plus Python, MATLAB, and IDL wrapper packages included in the distribution.

What is IRBEM?

IRBEM is a Fortran 77 library that centralises the most widely used magnetic field models, coordinate transforms, and empirical radiation environment models into one consistent API. A single compiled shared object (.so on Linux/macOS, .dll on Windows) is linked against by user code; higher-level wrappers for Python, MATLAB, and IDL ship alongside the library so that researchers at any level of the stack can access identical physics. The library performs the heavy numerical work — field-line tracing, drift-shell integration, particle mirror-point finding — while exposing clean subroutine interfaces. All arrays follow column-major (Fortran) ordering, and every routine accepts 32-bit integers and double-precision (64-bit) floating-point numbers unless otherwise stated.

History

IRBEM was first developed and released in 2003 under the name ONERA-DESP-LIB by the DESP department (the space environment department) of the French aerospace laboratory, ONERA. As the project grew through international collaborations, it was decided at the 2008 COSPAR Assembly in Montreal to rename the library to IRBEM-LIB to reflect its broadened, multinational authorship. The project is now maintained under the umbrella of the COSPAR Panel on Radiation Belt Environment Modeling (PRBEM), a neutral scientific body, and is freely distributed as open-source software.

What IRBEM Computes

Magnetic Coordinates and Field-Line Geometry

IRBEM’s core capability is the computation of magnetic coordinate quantities at any spacecraft position given a choice of internal and external magnetic field models:
QuantityDescription
LmMcIlwain L parameter
L*Roederer L* (or Φ = 2π B₀/L*)
MLTMagnetic Local Time (hours)
BminMagnetic field magnitude at the equatorial mirror point (nT)
BlocalMagnetic field magnitude at the spacecraft position (nT)
XJSecond adiabatic invariant I (Re), related to the bounce motion
Additional routines provide full drift-shell tracing, drift-bounce orbit integration, field-line tracing, mirror-point finding, and footpoint mapping.

Coordinate Transformations

IRBEM can transform positions between eight coordinate systems at any epoch using high-fidelity IGRF-based rotation matrices:
  • GDZ — Geodetic (altitude km, latitude °, longitude °)
  • GEO — Geographic Cartesian (Re)
  • GSM — Geocentric Solar Magnetospheric Cartesian (Re)
  • GSE — Geocentric Solar Ecliptic Cartesian (Re)
  • SM — Solar Magnetic Cartesian (Re)
  • GEI — Geocentric Equatorial Inertial Cartesian (Re)
  • MAG — Geomagnetic Cartesian (Re)
  • SPH / RLL — Spherical geographic (Re, °, °)

Radiation Belt Models

IRBEM includes the classical empirical particle flux models used across the radiation belt community:
  • AE8 MIN / AE8 MAX — NASA electron flux models (solar-minimum and solar-maximum variants)
  • AP8 MIN / AP8 MAX — NASA proton flux models
  • CRRES models — provided by D. Brautigam, covering the Combined Release and Radiation Effects Satellite dataset
Flux can be returned as differential flux, integral flux, or flux within an energy range.

Atmospheric Models

Three generations of the MSIS neutral atmosphere model are available for density and temperature lookups:
  • MSIS-86 — Mass-Spectrometer-Incoherent-Scatter 1986
  • MSISE-90 — Extended version incorporating shuttle-era data
  • NRLMSISE-00 — NRL empirical model, the current community standard

Orbit Propagation

IRBEM wraps the SGP4 (Simplified General Perturbation-4) orbit propagator, accepting Two-Line Element (TLE) sets or classical orbital elements to generate spacecraft positions over time.

External Magnetic Field Models

The kext parameter selects the external field model used for all magnetic coordinate computations. Available options include:
kextModel
0No external field (internal only)
4Tsyganenko [1989c] — T89
5Olson & Pfitzer Quiet [1977] — OPQ77
7Tsyganenko [1996] — T96
9Tsyganenko [2001] — T01
11Tsyganenko [2004] storm — T04
13Tsyganenko [2007] — T07
See the general information API reference for the full kext table and the maginput parameters each model requires.

Language Interfaces

IRBEM is written in Fortran 77, making it directly callable from any Fortran code. The distribution also ships ready-to-use wrappers:

Fortran

Call subroutines directly by linking against liboneradesp.a (static) or libirbem.so/libirbem.dll (shared). Use -loneradesp -Lpath at compile time.

C

The shared library exposes a C-compatible interface. Include the appropriate header and link the shared object.

Python

The python/IRBEM package provides the MagFields and Coords classes, using ctypes to call the shared object. Install with python3 -m pip install -e . from the python/ directory.

MATLAB & IDL

MATLAB scripts using onera_desp_lib_* wrappers and IDL call_external bindings are included in the matlab/ and idl/ subdirectories of the distribution.

Acknowledgment and Citation

When publishing research that used IRBEM, include the following acknowledgment in your paper, replacing XXX as appropriate:
We acknowledge the use of the IRBEM library (XXX), the latest version of which can be found at https://doi.org/10.5281/zenodo.6867552.
  • Official release: replace XXX with "version X.Y.Z" — find the version number on the GitHub releases page.
  • Repository version: replace XXX with "repository version YYY" where YYY is the output of git rev-parse --short HEAD.
Proper citation supports continued development of IRBEM as a community resource. Please include the acknowledgment in any work — journal articles, conference papers, technical reports, and theses — where IRBEM results appear.

License

IRBEM is free software distributed under the GNU Lesser General Public License v3 or later (LGPL-3.0+). You may redistribute and/or modify it under the terms of that license as published by the Free Software Foundation. The library is distributed without warranty of any kind. See http://www.gnu.org/licenses/ for the full license text. COSPAR does not warrant or assume any legal liability or responsibility for the accuracy, completeness, or usefulness of any information or software made available from the IRBEM library.

Contributing and Bug Reports

IRBEM is an international community effort and welcomes contributions of all kinds — bug fixes, new magnetic field models, additional wrappers, or documentation improvements.
  • Bug reports, usage questions, and feature requests: open an issue on the GitHub Issues page.
  • Pull Requests: fork the repository, create a dedicated branch, and submit a PR against the main branch. See the forking guide if you are new to this workflow.

Build docs developers (and LLMs) love