Welcome to Gábor Tóth's home page

Position: Bram van Leer Collegiate Research Professor

Address:  Center for Space Environment Modeling
          Dept. of Climate and Space
          University of Michigan
          2455 Hayward,
          Ann Arbor MI, 48109

Office:   1424-C, Space Research Bldg
Tel:      +1 (734)-615-5362
Fax:      +1 (734)-647-3083
E-mail:   gtoth at umich dot edu

Degree:   Ph.D. in astrophysics (Princeton University, 1993)


SWMF              CRASH

Space Weather Modeling Framework and Code for Radiative Shock Hydrodynamics

Publicly available software for space physics and high energy density plasma modeling. Developed at the Center for Space Environment Modeling and the Center for Radiative Shock Hydrodynamics.

The SWMF has been selected (based on a thorough model comparison by Pulkkinen et al. 2013) and transitioned to operation as the first physics-based geospace model at the Space Weather Prediction Center of the U.S. National Weather Service. See an interview about the selection. The SWMF Geospace model now runs 24/7 at SWPC and provides global and local predictions for magnetic activity.


Versatile Advection Code

A freely available general simulation software for hydro- and magnetohydrodynamics. Originally developed as part of the Massively Parallel Programming, Computational Magneto-Fluid Dynamics project in the Netherlands from 1994-1997. The related MPI-AMRVAC code has adaptive mesh refinement.


List of publications

Publications on Google Scholar, ORCID, and RESEARCHERID

Publications and conference papers related to the Versatile Advection Code.


FDIPS -- Finite Difference Iterative Potential-field Solver

A public domain Fortran 90 code to calculate a potential field solution from a magnetogram using a finite difference scheme. This can provide better results than the usual method based on spherical harmonics. See our paper (PDF). The FDIPS code is available here .

ELTEX -- EL-vá-lasz-tó TEX

A public domain Perl program for translation of any Hungarian accent notation to TeX/Latex notation and for hyphenation according to Hungarian grammar. This preprocessor can do hyphenation about as well as the Babel package without needing a reconfiguration of Latex. For big projects (e.g. a book or a chapter in Hungarian) the Babel package is recommended.

Fortran compilers

GNU Fortran compiler

To install the gfortran compiler with openmpi, do the following as super user (assuming you are using MacPorts). Remember to replace X with an actual version number, for example 12:
# Install gcc + gfortran version X with openmpi:
port install gccX +cxx +fortran +openmpi   # use gcc12 for Sonoma (13 may fail)
port install openmpi +gccX +fortran        # needed on Big Sur, Monterey
port select --set mpi openmpi-gccX-fortran # Mojave
port select --set mpi openmpi-mp-fortran   # Catalina, Big Sur, Monterey
cd /opt/local/bin
ln -s gfortran-mp-X gfortran              
If installing openmpi fails (as on Sonoma 14.1.1) then you can use the tar file of hand-compiled OpenMPI 4.1.6. Note: Sonoma 14.3.1 works for openmpi coming from MacPorts.

Alternatively (or in addition), install MPICH with gcc version X:

port install mpich-gccX +fortran
# to make MPICH the default MPI library:
port select --set mpi mpich-mp-fortran
If MPICH is intended for nagfor, then you can use a tar file from here.

To be able to switch between MPICH and OpenMPI, link the mpich binaries from a directory that can be added to the beginning of the path:

cd; mkdir mpich; cd mpich
ln -s /opt/local/bin/mpicc-mpich-gcc11 mpicc
ln -s /opt/local/bin/mpixx-mpich-gcc11 mpixx
ln -s /opt/local/bin/mpiexec-mpich-gcc11 mpiexec
ln -s /opt/local/bin/mpif90-mpich-gcc11 mpif90
and define
alias load_mpich    'setenv PATH ".:${HOME}/mpich:${PATH_TAIL}"'
alias load_openmpi  'setenv PATH ".:${PATH_TAIL}"'
in .cshrc or equivalent.

To use Apple's clang with gfortran using OpenMPI set

setenv OMPI_CC clang
setenv OMPI_CXX clang++
or for MPICH set
setenv MPICH_CC clang
setenv MPICH_CXX clang++
To use GNU's gcc together with gfortran and OpenMPI use
unsetenv OMPI_CC
unsetenv OMPI_CXX
or for MPICH use
unsetenv MPICH_CC
unsetenv MPICH_CXX
The CommandLineTool needs to be up-to-date to make GNU's gcc work, although CommandLineTool 15 does not work with OSX 13 (CommandLineTool 14 does). CommandLineTool 15 is needed for OSX 14.

NAG Fortran compiler

For debugging and code development purposes it is recommended to use the NAG Fortran compiler together with the MPICH library (OpenMPI suppresses error messages during abort). Note that you have to have a valid licence. The department of CLASP bought a permanent floating license. See Share/NAGFOR for installation instructions.

Switching between Fortran compilers

To switch between the two compilers (both using OpenMPI), define the following aliases in .cshrc (or similar for bash, zsh):
alias load_gfortran 'unsetenv OMPI_FC; unsetenv OMPI_F77; unsetenv MPICH_FC'
alias load_nagfor 'setenv OMPI_FC nagfor; setenv OMPI_F77 nagfor; setenv MPICH_FC nagfor'
setenv OMPI_FFLAGS ' '
setenv OMPI_FCFLAGS ' '
The OMPI_FFLAGS and OMPI_CFLAGS switch off some compiler flags that OpenMPI is trying to use, but nagfor does not know about. The two aliases simply set the appropriate Fortran compiler.

OpenMPI and MPICH libraries

Click here: Share/MPI.


Occasionally IDL fails to access the university license server. Try deleting these files

rm -f /Applications/harris/license/flexera*/*

bbftpd for fast file transfer from super computers to your Mac

Click here: Share/BBFTPD.


Use tkdiff to compare files. Install it with port install tkdiff
Last modified: March 14, 2024

Valid HTML 3.2!    Viewable With Any Browser