Model Overview



MHD Model of Solar Corona. Model domain: 1 - 30 solar radii.

Model Authors/Developers: J. Linker, Z. Mikic, R. Lionello, P. Riley Science Applications International Corporation (SAIC) San Diego, California


Adapt3D is a Solar model on an unstructured tetrahedral mesh. Details may be found here.


From Spicer et al. “A New 3D, Fully Parallel, Unstructured AMR MHD High Order Godunov Code for Modeling Sun-Earth Connection Phenomena” (preprint)


ENLIL is a time-dependent 3D MHD model of the heliosphere. It solves for plasma mass, momentum and energy density, and magnetic field, using a Flux-Corrected-Transport (FCT) algorithm.

Model Authors/Developers: D. Odstrcil - University of Boulder, Colorado



BATS-R-US, the Block-Adaptive-Tree-Solarwind-Roe- Upwind-Scheme, was developed by the Computational Magnetohydrodynamics (MHD) Group at the University of Michigan, now Center for Space Environment Modeling (CSEM).

The BATS-R-US code solves 3D MHD equations in finite volume form using numerical methods related to Roe’s Approximate Riemann Solver. BATSRUS uses an adaptive grid composed of rectangular blocks arranged in varying degrees of spatial refinement levels. The magnetospheric MHD part is attached to an ionospheric potential solver that provides electric potentials and conductances in the ionosphere from magnetospheric field-aligned currents.

More details can be found on the ccmc website here.


The UCLA/NOAA Geospace General Circulation Model (GGCM) open_ggcm: was originally developed as a magnetohydrodynamic ( MHD ) model of Earth’s magnetosphere at UCLA in the early 1990’s by J.Raeder.


The Lyon-Fedder-Mobarry global MHD model solves the 3D MHD equations for the Eath’s magnetosphere using a stretched logically spherical grid.



We are in the process of folding the SWMF Ionospheric interpolator into the main development branch. In the meantime, you may access the beta version of the SWMF Ionosphere here:

  1. Download the following files:
    • fortran_test.tar.gz
    • A few timesteps from SWMF_CDF/E.2001.243/ for testing
  2. Unzip fortran_test

  3. cd into cdf35_0-dist and complile the CDF library (see Help.all for information on setting OS and ENV variables within the Makefile): make all

  4. Follow these instructions contained in the fortran_test/README:

Included in this directory are CDF files containing the ionospheric component 
of SWMF for the 2006 December event and the example fortran test code to 
access and interpolate the data. The CDF files each contain one timestep.

The example fortran code can be compiled by extracting fortran_test.tar.gz and 
modifying the Makefile to select the appropriate configure options for your 
operating system. The compilation has been tested on Linux and OSX.

1. Edit Makefile  
   CDF_OPTIONS and KAMELEON_PLUS_CONFIGURE must be defined to the correct 
   variables for the operating system  
   F77, CC, and CXX must point to the system fortran, c, and c++ compilers
   NJOBS should be set to the number of cores on the system. If this is left 
   blank, an infinite number of parallel jobs are used during compilation.
2. make all

If your compiler does not support the -Ofast option, replace it with -O3 -ffast
-math or -O3 or your preferred compiler optimizations (replace all instances)

The example fortran program, fortran_test, opens a CDF file and interpolates 
the selected variable (such as 'ep' [electric potential]) onto a 181x181 grid 
to standard output. The default missing value is -1.09951163E+12

./fortran_test CCMC_CCMC_052312_1.swmf.i_e20061213-000500-000.cdf ep
Model name: 'swmf'
 done opening file
loading ep
 done loading variable ep                                                                                                  
 created interpolator
  lat:    90.0000000      mlt:    12.0000000      interpolated value:   -1.09951163E+12
  lat:    89.0000000      mlt:    12.0000000      interpolated value:   -6.34560013    
  lat:    88.0000000      mlt:    12.0000000      interpolated value:   -6.66540003    
  lat:    87.0000000      mlt:    12.0000000      interpolated value:   -6.97889996   
  lat:   -87.0000000      mlt:    12.0000000      interpolated value:  -0.790960014    
  lat:   -88.0000000      mlt:    12.0000000      interpolated value:  -0.625360012    
  lat:   -89.0000000      mlt:    12.0000000      interpolated value:  -0.470510006    
  lat:   -90.0000000      mlt:    12.0000000      interpolated value:   -1.09951163E+12

NOTE: the SWMF ionospheric electrodynamics files do not have values at the poles.

main.f and kameleon_f.f show how to use the time interpolator using a 
directory of timestep files. 
In this example, the directory path and prefix of all files is hardcoded in 
kameleon_f.f, so this
must be updated to reflect the actual location of the CDF files.


You must also choose an interpolation time to be within the range of time 
steps to be loaded; set the following variables in main.f:

         itime(1)= 2001      ! year
         itime(2)= 08        ! month
         itime(3)= 29        ! day
         itime(4)= 04         ! hour
         itime(5)= 0        ! min
         itime(6)= 0        ! sec

If you have questions, please contact MARSHALL SWINDELL (