galprop: Users Manual
main program: galprop.f90
Routines with suffix .f90: compile with f90 -c -O3 *.f90
Routines with suffix .f: compile with f90 -c -O3 -fixed *.f
First modify configure.f90 to set the directory structure to your liking
Then compile all f90 modules with f90 -c *module*.f90
Do the previous step twice since some modules use others.
uses FITSIO package for all FITS dataset access (available from HEASARC/GSFC)
for naming conventions of parameter files and datasets see here
file galprop_startup to obtain parameter file ID, galprop_startup assumed to be in same directory as executable program
variable galdef_dir in read_galdef.f90 determines directory containing
configuration of directories for FITS files and control ('galdef') files is controlled centrally in one routine: configure.f90. This is the only routine which has to be modified for porting.
typical CPU times: hours to days, depending on parameter table
fast test runs can be made by reducing the number of iterations per stepsize, or reducing difference between start and end stepsize
cross sections for secondary production are for 12C primary weighted for CNO relative abundances. They allow for He/H = 1/9 by number. Values are in particle_properties.f90 and are due to be updated. Energy dependence not yet included.
Convection: adiabatic losses not yet included, important for dynamical winds.
Files with suffix .pro are IDL routines for displaying the output datasets. viewfits.pro is the most general.
How does galprop work?
Numerical solution of diffusion-reacceleration-convection-energy-loss equation
coordinates (R,z,p) = radius, height, momentum/particle
Method: Crank-Nicolson with operator splitting
alternating direction implicit (ADI) option
CR Primaries first, then these used for secondary source function, then secondaries propagated
Large time steps decreasing by factor to small time steps: this ensures both long and short time-scales come into equilibrium. User can control this.
gamma rays computed at end only if electrons, p, He were computed
synchrotron computed at end only if electrons were computed
How does galprop represent spectra and in what units?
All spectra are scaled based on the normalizations of p,He and electrons given in the galdef file and have the UNITS defined below. Exceptions: C,B and Be which have are not normalized since they are only used for ratios
B/C, 10Be/9Be etc.
Since the propagation equation is formulated in terms of density per total particle momentum the whole of galprop represents spectra n(R,z,p) in units of
More precisely, n is scaled by a factor (c/4pi) and the quantity
n * (c/4pi) is used internally and is output to the FITS files.
To obtain fluxes use for spectrum with momentum per nucleus:
I(p) = beta * n * (c/4pi) ...... cm^-2 sr^-1 s^-1 (MeV/c/nucleus)^-1 [where beta=v/c]
or for flux per [kinetic energy/nucleon Ek] for mass number A:
I(Ek) = A n * (c/4pi) ........ cm^-2 sr^-1 s^-1 (MeV/nucleon)^-1
[since d/dEk = (A/beta) d/dp]
Last update 24 June 1998 (AWS)