Last Updated: 12/08/2023


Version: 1.0

OSPREI is a model for the Sun-to-Earth (or wherever) evolution of CMEs that combines three different CME models. ForeCAT simulates the coronal deflection and rotation of CMEs based on the magnetic forces from the solar background. ANTEATR simulates the interplanetary propagation of a CME and has quite a few different options that can be turned on and off. FIDO generates in situ profiles of the CME as it passes over a synthetic satellite. At this point, ANTEATR and FIDO run simultaneously so that the CME continues evolving as it passes over the satellite. OSPREI includes the option to run all three components together, a single component, or ForeCAT-ANTEATR or ANTEATR-FIDO combinations. A detailed walkthrough of all the OSPREI features is available at but this demo is written for running OSPREI locally. The exact steps may be applicable to running on the CCMC servers, but it does demonstrate the general model behavior.


OSPREI produces a wide number of outputs, similar to what may be capable with a fluid or MHD simulation one should keep in mind that is actually a series of strategically-simplified analytic models. It should reproduce the general, global behavior of a CME (and sheath), which is what is shown in automatically-generated figures. One could use the information in the results files to calculate additional properties but caution should be used before reading too much into very specific, localized results (e.g. the normal vector to the CME front at a specific angle). Any calculated values are probably not wildly inaccurate, but likely less accurate than the large scale simulation results.


The following lists the OSPREI inputs. We separate them based upon required (8 parameters), optional (9 parameters), and hidden “expert” parameters (32 parameters) that are unlikely to specified in most scenarios. All the optional and expert parameters have default values, which are shown in brackets at the end of each entry. The second entry within the brackets represents the allowed range for that parameter. The basic information is provided here, further details are included in the Appendix of the OSPREI demo, particularly for the Expert parameters.

------Required------- Models - Set which components to run. OSPREI takes ‘ALL’, ‘noB’ (ForeCAT and ANTEATR), ‘IP’ (ANTEATR and FIDO), ‘FC’ (ForeCAT only), ‘ANT (ANTEATR only)’, and ‘FIDO’ (FIDO only)

Satellite - Set the satellite for which OSPREI simulates arrival time and in situ profiles. Can select as many as 10 to simulate simultaneously. Not needed for ForeCAT only.

Magnetogram Source - Observatory to use for the magnetogram that generates the background PFSS magnetic field. Not required if ForeCAT is not run.

CMElat - Starting latitude of the CME in degrees relative to solar equator. [None, ±90°]

CMElon - Starting longitude of the CME in degrees. When ForeCAT is included this needs to be in Carrington coordinates as that places it within the PFSS background. Otherwise, Stonyhurst coordinates (relative to the Earth) should be used.

CMEtilt - The tilt of the CME, measured in degrees counterclockwise from solar west (right limb of Sun). This may be hard to measure but even a rough guess (e.g. 0° vs 90° vs ±45°) is better than nothing. [None, ±90°]

CMEvr - For every case except for the FIDO-only case, this is the maximum speed of the CME in the outer corona. The CME is at this speed by the end of the ForeCAT portion and/or at the beginning of ANTEATR portion. For the FIDO-only case, this should be the speed at the time of first contact with the satellite. [None, <0 km/s]

CMEAW - For every case except for the FIDO-only case, this is the face-on angular width (AW) of the CME in the outer corona. The CME is at this AW by the end of the ForeCAT portion and/or at the beginning of ANTEATR portion. For the FIDO-only case, this should be the AW at the time of first contact with the satellite. Note that this is technically the half-width, which is how AWs are commonly reported both in the literature and in reconstruction tools. [None, >5°]

------Optional------ Start - the start time of the simulation. It should be appropriate for whatever the first model used it. This means the start of the eruption for ForeCAT, the time at 21.5 Rs (or whatever starting distance) for ANTEATR, or the arrival time for FIDO. The model can be run in arbitrary time (e.g. generic simulation time) versus using actual dates.

Suffix - a string tag to add to the model result file names, which can be useful for distinguishing between different runs. This is more useful when runs are run locally on your own system as runs on request will automatically generate a unique ID. It may still be useful to use a short descriptive tag (e.g ‘fast’ and ‘slow’ cases).

nRuns - number of runs to perform. If greater than 1 it will perform an ensemble with randomly varying input values. The parameters to vary and their range can be specified by the user. [1,1-200]

CMEr - starting radial distance of the CME, which sould be appropriate for whatever the first model used is. The defaults and allowed ranges vary with starting model: ForeCAT [1.1 Rs, 1.05-2.5 Rs], ANTEATR [21.5 Rs, 10-50 Rs], FIDO [initial satellite radius, 1.05-1100 Rs]

CMEyaw - yaw angle of the CME, which is the angle between the normal at the CME nose and the radial direction. It should probably be a small angle (few to ten degrees) if not zero. This will change if simYaw is set to True in the Expert settings. [0°,±90°]

CMEAWp - perpendicular or edge-on angular width of the CME. It is analogous to CMEAW, but the different orientation can make it harder to reconstruct. [⅓ CMEAW, ±90°]

CMEM - CME mass in the outer corona (end of ForeCAT/start of ANTEATR). The mass is difficult to measure from a coronagraph, particularly in real-time cases, so we set a default based off of CMEvr. [f(CMEvr), >0.1x1015 g]

CMEdelAx - aspect ratio of the toroidal axis of the CME. Calculated as the radial length divided by the perpendicular length. [0.75, 0.1-1.5]

CMEdelCS - aspect ratio of the cross section of the CME. Calculated as the radial length divided by the perpendicular length. [0.75, 0.1-1.5]

------Expert------ These are only visible if Show Hidden is selected. See the OSPREI demo and it's appendix for further details on each parameter.

PFSS scale, sunRSS, nCoeffs, FCrmax, FCraccel1, FCraccel2, FCvrmin, FCAWmin, FCAWr, FCrmaxM, SWCdp, FRpol, FRB, FRT, FRtau, FRCnm, doPUP, simYaw, flagScales, IVDf, Gamma, SWn, SWB, SWT, SWCd, doMH, MHarea, MHdist, obShstart, obsFRstart, obsFRend


OSPREI returns as many as six output files (plain text .dat files), depending on which models are included and whether an ensemble is run. It also can generate a standardized set of figures using these results. The following lists the files, a brief description, and the definitions of the columns (by number). The files will be saved as the given name+TAG.dat with TAG representing the unique run ID combining the runs on request ID and any user-specified suffix.

------ForeCATresults------ Full profiles of the ForeCAT results for each ensemble member 0 ensemble member number, 1 time (min), 2 distance (Rs), 3 latitude (°), 4 longitude (°), 5 tilt (°), 6 face on AW (°), 7 edge on AW (°), 8 vFront (km/s), 9 vEdge (km/s), 10 vBulk (km/s), 11 vExp (CS in rad dir, km/s), 12 vExp (CS in perp dir, km/s), 13 vExp (axis in rad dir, km/s), 14 vExp (axis in rad dir, km/s), 15 vDef (km/s), 16 δAx, 17 δCS, 18 δCA (ratio of CS to ax, not really used anymore)

------ANTEATRresults------ Full profiles of the ANTEATR results for each ensemble member. This shows specifically the CME evolution. The sheath evolution (if included) is in PUPresults. 0 ensemble member number, 1 time (days), 2 distance (Rs), 3 face on AW (°), 4 edge on AW (°), 5 δAx, 6 δCS, 7 δCA, 8 vFront (km/s), 9 vEdge (km/s), 10 vBulk (km/s), 11 vExp (CS in rad dir, km/s), 12 vExp (CS in perp dir, km/s), 13 vExp (axis in rad dir, km/s), 14 vExp (axis in rad dir, km/s), 15 n (cm-3), 16 Cnm, 17 tau, 18 B (nT) , 19 log(T) (K), 20 yaw, 21 rotational speed (°/hr), 22 0.5*rot accel * 1 hr (estimate of acceleration in an hour, °), 23 v at center of CS at nose (km/s)

------PUPresults------ Full profiles of the PUP results for each ensemble member. This shows the sheath evolution, the CME evolution is in ANTEATR results. 0 ensemble member number, 1 shock speed (km/s), 2 compression ratio, 3 Alfvenic Mach number, 4 sheath width (Rs), 5 sheath duration (hr), 6 sheath mass (1015 g), 7 sheath density (cm-3), 8 log(T) (K), 9 temperature ratio (sheath/SW), 10 B (nT), B angle (°), 12 transverse flow speed (km/s), 13 reached sheath flag (1=yes, 0=no)

------SITresults------ Properties of the shock/sheath at the time of first contact with the satellite. There is a single line for each ensemble member. One SIT file will be generated for each satellite. Note that the sheath speed is the speed within the sheath region whereas the shock speed is the speed of the shock itself. 0 ensemble member number, 1 sheath duration (hr), 2 compression ratio, 3 Mach number, 4 sheath density (cm-3), 5 sheath speed (km/s), 6 B (nT), 7 shock speed (km/s), 8 log(T) (K)

------FIDOresults------ Full in situ profiles for all ensemble members for each satellite. Each satellite will have its own FIDO file. In the case of Earth, the B vector will be in GSE coordinates instead of RTN. 0 ensemble member number, 1 time (days), 2 B (nT), 3 BR (nT), 4 BT (nT), 5 BN (nT), 6 v (km/s), 7 n (cm-3), 8 log(T) (K), 9 region code (quiescent/sheath/FR/MEOW-HiSS HSS regions)

------EnsembleParams------ This is not an output so much as a record of the inputs used for the randomly varied ensemble members. The top row lists the properties that were varied and the following rows give the corresponding values for each ensemble member. This is important for reproducibility and potentially for looking more closely at a specific case after the ensemble run.

The figures are have the format figTAG_figtype.png where figtype represents one of the option below. For a single/non-ensemble run it generates

CPA - evolution of the Central Position Angle (latitude, longitude, and tilt) within ForeCAT DragLess - evolution of the CME from ANTEATR (AWs, aspect ratios, yaw, propagation and expansion velocity, internal B, and T).

ANTPUP - evolution of the CME-driven sheath and CME properties from ANTEATR (when doPUP is set to True). Includes distance vs time, angular widths, aspect ratios, velocities, widths, number densities, Bs, and Ts)

IS - in situ profiles from FIDO (B, B vector, v, T, and n)

For an ensemble run the above will still be generated using the ensemble information but the outputs will also include.

CPAhist - same as CPA figure but including a histogram of the final position

ANThist - histogram of CME properties from ANTEATR

FIDOhist - histogram of CME properties from FIDO

allIShist - histogram including the most relevant properties about the CME/sheath impact

allPerc - similar to the IS figure but shows a heat map of probabilities

Contours - map of the average (over the ensemble) properties of the CME projected onto latitude and longitude at the satellite distance.

ENS - correlation between the varied inputs and OSPREI output.

Further details about these figures can be found in the OSPREI demo.

Model is time-dependent.


  • Solar
  • Heliosphere / Inner Heliosphere

Space Weather Impacts

  • Near-earth radiation and plasma environment (aerospace assets functionality)


  • Coronal Mass Ejections
  • Coronal Mass Ejections Propagation



Code Languages: Python

Public Repository:


Publication Policy

Please acknowledge Kay, Mays, and Collado-Vega (2022) for any published works making use of OSPREI results.

In addition to any model-specific policy, please refer to the General Publication Policy.