galprop: Users Manual

Version 19

  • Language:fortran90
  • 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 parameter files
  • 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.
  • UNITS: 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 cm^-3 (MeV/c/nucleus)^-1.
    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)