CRT – initialisation file


The initialization file (‘ini-file’) contains various parameters that can be used to scale the cloud model (e.g., size and density), specifies the dust species included, sets various options that affect the way calculations are carried out, and specifies output files that are to be written. The name of the ini-file must be given on command line, e.g.,

CRT my.ini

The file consists of lines which start with a keyword followed by one or more arguments. Comment lines starting with # are ignored. Here is a sample of an ini-file.


CRT keywords


abundance filename

  • Specified a file that contains, cell by cell, relative abundances for the dust component that was last specified with the keyword dust. For a 1D cloud this is an ascii file with two columns: the index of the cell (running index starting with 1) and the relative abundance. In the case of a 3D cloud the file is a binary file containing one 4 byte floating point number for each cell. The file does not start with the dimensions of the cube but only contains as many floats as there are cells. If all relative abundances are set to 1.0, the result will be the same as when the abundance keyword is not used.


  • With this option program will save results – spectra and (for grains at an equilibrium temperature) dust temperatures to text files. See description of temperature files and spectrum files.



  • Number of photon packages sent from background per iteration and frequency.




  • Number of photon packages sent from the dust medium per iteration and frequency.

centreweight float (1D clouds only)

  • Weighted distribution of initial positions of photon packages created inside the cloud volume
  • <-100000: normal distribution but excluding emission from those parts of the cells where optical depth to closest cell boundary exceeds 15. Requires that the program was compiled with the option WITH_REFERENCE_FIELD
  • -999…-90: same number of packages sent from each shell, distribution within shell is normal
  • -90…-10: normal spatial distribution p(r)~r^2
  • >-10: spatial probability distribution p(r)~r^float

clip float

  • Ignore cells with density below the given limit (in raytracing and when temperatures are updated).

cloud1d/cloud2d/cloud3d filename

  • Specifies the name of the file containing description of the cloud model


  • Tells the program to assume that all dust abundances are constant throughout the cloud (=1!), so that one does not have to allocate large arrays for optical depths and the asymmetry parameter. Currently works only with onlyscattering.

coredirection gamma

  • Weighting of angular distribution of photon packages send inside the cloud
  • gamma<-99: normal isotropic distribution
  • -99<gamma<-10: preferentially towards closest cell boundary, p(theta)~exp(-theta) with angle theta from the shell normal
  • -10<gamma: preferentially towards cloud centre, p(theta)~exp(-gamma*theta) with angle theta from the direction of the cloud centre


density f1 f2

  • A linear scaling is applied to densities initially read from the cloud definition so that values will fit in the interval [f1,f2]. If second number is negative densities are multiplied directly with factor f1.

diffuse [f1]

  • Diffuse emission is read from the file The file should contain the diffuse emission in each cell and at each frequence in units of photons emitted from 1 cm^3 in one second in 1Hz band. Unlike in and, the frequency axis runs slowest [(x=0,y=0,z=0,f=0), (1,0,0,0) … (NX-1,0,0,0), (0,1,0,0) … (NX-1,NY-1,NZ-1,0), (0,0,0,1) … (NX-1,NY-1,NZ-1,NFREQ-1)]. The emission read from the file is scaled by factor f1 (default=1.0).

direction theta phi

  • Specify the direction towards the observer for spectrum calculations. theta is an angle from positive z-axis towards positive x-axis and phi rotation around z. Angles are given in degrees.

dsc [filename]

  • Use a tabular scattering function instead of relying on the Henyey-Greenstein approksimation. Requires file DSC.dat in the data directory that is specified at compile time or overwritten by the option rootdir. The name of the file can also be given after the dsc keyword. The file must still reside in the same ‘root directory’ (that may be different from the current working directory!).

dust filename

  • Gives the name of a file defining a dust species (see CRT definition of dust model). At the moment an ini-file can contain keyword dust a maximum of 10 times, i.e., define 10 different dust species to be included in the model.


  • Use DustEM for dust emission calculations. Requires GRAIN_<prefix>.DAT and GRAIN.DAT files in the DustEM les_DAT directory.


  • With this option a file incoming.dump is created, containing the estimated intensity for each cell in cgs-units. The intensity is calculated based on the total number of photons that do enter the cell, i.e., it is the average incoming intensity on the border on each cell (not intensity at the centre of the cell – this may be slightly different, if the cell is optically thick). If cell contains a discrete source, those photons are also calculated so that actually incoming.dump reflects the total influx of energy into the cell. See also Other CRT files.



frequencyfile string

  • Name of a file containing list of frequencies used in the simulation. This is an ascii file containing a list of frequencies, one per line. The first line already contains the first frequency and not the number of frequencies.


  • Use forced first scattering method to improve sampling of scattered flux in optically thin models. Works at least when keyword onlyscattering is used.


gridlength f1

  • Defines the physical size [pc] of the cloud: for 1D model this is the radius of the cloud and for 3D models the size of an individual cell.




  • Currently applicable only to 2D models, makes the cylinder infinite in length. This applies to the actual calculations but images (emission, scattered light) are still affected by the finite length of the model (= at non-zero inclination angles the intensity will not be correct for the lines-of-sight that cross either cap of the finite cylinder that one would have without this keyword).

inside x y z radius type arg scaling

  • Define an internal radiation source. The position (x,y,z)is given in grid coordinates where for 1D and 2D clouds the radius 1.0 units and for 3D models the cell size is 1.0 units. The coordinates (0.0,0.0,0.0) correspond to the centre of a 1D cloud, symmetry axis at the bottom of a 2D cylindrical cloud (at cloud surface), and a corner of a 3D cloud (the corner cell corresponds to coordinates 0.0-1.0 along each axis). The the source radius is given in cm. The type can be one of the following:
    • blackbody, followed by arg giving the black body temperature
    • table. The argument arg is the name of a text file containing intensity values: first line gives the number of frequency values and each of the following lines contains one frequency value [Hz] followed by the corresponding intensity value [erg/s/sr/hz].
  • The last parameter scaling is used to scale the intensity. Default value is scaling=1.0.

inside x y z theta phi xi radius type arg scaling

  • As previous but with an anisotropic source. Radiation leaves from the source towards direction (theta,phi) within a cone with opening angle xi (=angle from the symmetry axis to the border of the cone).

iterations #

  • Sets number of iterations made during one run




libfreq n1 f1 n2 f2 ...

  • Specify reference frequencies (f1, f2,...) for the library method. The parameters n1, n2, ... are the number of intensity bins used at the corresponding reference frequency.

libload prefix

  • Load existing library files with the given prefix and use them in the spectrum calculations.




  • Dust temperatures and dust emission is not calculated. However, if file exists, it will be read and used in the simulations (provided that argument of cellpackets is positive). The option can be used if one has calculated the emission from each cell by other means, and only wants to do the radiative transfer part in order to either estimate the intensity in different parts of the model cloud (e.g., together with the keyword dumpincoming) or to calculate the spectra observed from such a model.



  • Do not solve dust temperatures. Faster in case only scattered intensity needs to be calculated.

opacity {{filename}}

  • Write out a binary file of cell opacities (absorption + scattering). The binary file starts with two integers (4 bytes), the number of cells and the number of frequencies (= number of frequencies in the simulation). These are followed by floating point numbers (4 bytes) that give cell opacity per ‘grid unit’ (cloud radius in 1d models, cell size in 3d models). Opacities are listed for all cells and all transitions, the values of one cell being consecutive. The order of the cells is the same as in the cloud definition. This option can be used to produce a file that, through Python script, can be used as input for Cppsimu runs (see Cppsimu option Cppsimu Ini-file#C).

opencl wgs #

  • GPU/OpenCL accelerated calculations of scattered light. The first argument is the batch size (how many rays are used in a single GPU kernel call). The program will use either CPU (second argument equal to 0) or the first GPU (second argument equal to 1). The keyword is only available in development version (and the syntax may change).

outcoming ...

  • Specify how outcoming scattered flux is stored. Examples are:
    • outcoming 10 0.2 5.0*** Store 10×10 element array of intensities, each pixel corresponding to 0.2 times the ‘grid unit’. The intensities are calculated counting photon coming out from the cloud surface within a 5 degree cone toward the observer. The plane is perpendicular to the direction toward the observer (see direction). The ‘grid unit’ is either the cloud radius (in case of a 1D or 2D cloud) or the cell size (3D cloud). For example, if the the product of the first two parameters equals 2.0 (as in the example), the resulting map will exactly cover the area of a 1D cloud (diameter = 2 x radius = 2.0 grid units). If calculations are done with the ‘peel-off’ option, the opening angle of the cone must still be given, but will not be used.
    • outcoming 20 -1 0.3*** Store outcoming intensity as the function theta from the direction of the observer, there are 20 bins for cos(theta). Outcoming photons are registered only if projected distance from cloud centre is below 0.3 in grid units (i.e., for a 1D model distance less than 0.3 times the cloud radius). The second parameter not used but must be negative (separates this from the previous case).

outside ...

  • Specifies the external radiation source. Examples are
    • outside blackbody 5000.0 1e-5
      • 5000K blackbody background diluted by a factor of 1e-5
    • outside isrf2 0.5*** normal interstellar radiation field scaled by 0.5
      • isrf = Mathis et al. 1983, A&A 128, 212
      • isrf2 = Mezger, Mathis, Panagia 1982, A&A 105, 372
      • isrf3 = Draine & Anderson 1985, ApJ 292, 494
    • outside table BISRF.dat 1.0
      • read intensities from external table (number of frequencies followed by one frequency and intensity per line{{ units Hz and erg/cm2/sr/s/Hz)}}
    • outside 180.0 0.0 10.0 isrf2 2.0
      • source in direction theta=180 and phi=0.0 degrees, opening angle 10 degrees (=diameter on the sky 20 degrees and source is at an infinite distance), interstellar radiation field with twice the normal intensity
    • outside 0.01 0.01 179.99 healpix wham_velocity.fits 1.0
      • sky brightness given by an all-sky healpix file (a single frequency!), the first two numbers give the rotation of the sky wrt the cloud coordinate system (not relevant for 1D models) and the third number should be ~180 (=full sky).
      • It also is possible to weight the sampling according to the intensity and direction on the sky. You can add three numbers to indicate the weighting with intensity (probability of emission of photon packages is proportional to intensity^number), weighting with direction (probability proportional to (1+cos(angle))^number), and the minimum probability of an healpix pixel relative to the mean probability. The angle is by default measured so that largest weight is given for emission from behind the cloud. However, the preferred direction can be specified with two additional parameters that by default correspond to the arguments of the direction keyword.
      • The following line weights directly relative to the square root of intensity and proportionally to (1+cos(angle))^2 with the direction measured from positive x-axis (theta=90, phi=0). The minimum weight is limited not to be less than 0.001 times the average weight of a healpix pixel.
        outside 0.01 0.01 179.99 healpix test.fits 1.0    0.5 2.0 1.0e-3   90.0 0.0 

Note that the number of photons packages for isotropic sources is define with the keyword bgpackets and for non-isotropic sources with sourcepackets.



  • At each position of scattering calculate separately the intensity that is scattered towards observer and does exit the cloud without being extincted. Reduces significantly the noise of computed maps of scattered radiation. May require use of the keyword onlyscattering  .

perspective  x y z

  • Write spectra for an observer inside the model volume. The three parameters are the location of the observer in grid units. By default this results in a 2D map in cylinder projection where the number of longitude and latitude points is defined by the keyword points. The map covers full 360 degrees in longitude. The latitude range is defined by an requirement that the pixels are square at latitude zero. Thus, the second argument of points should be less or equal to half of the second parameter.

photonlimit float

  • Simulation of a photon package is stopped once it’s size has decreased by the given fraction. Works at least together with the keyword onlyscattering. The default value is 1e-14.

points nx ny

  • Specify the number of output spectra produced. There will be <math>nx \times ny</math> spectra computed at intervals defined with the keyword step.

prefix string

  • Prefix for output file names.



random mzran seed

  • Selection of a random number generator and initialization with selected seed number (float). The recognised generators are called rand (system generator drand48), mzran with synonym pseudo, HD (Hoerman & Deflinger; with integer seed), TLE (Tezuka & L’Ecuyer), MTW (Marsenne twister), and quasi (quasi random number generator, not recommended!)


  • Reset random number generators after each iteration. May be needed if one wants to use ngaccel.

rootdir directory

  • Specify a directory for auxiliary files (apart from the default one). This directory contains, e.g., the dust properties for calculations with the Li & Draine dust model.


savetemp suffix

  • Save computed dust temperatures to file with the name consisting of the name of the dust and of the given suffix. This applies only to calculations with models with equilibrium temperature dust. For 1d models, when the keyword ascii is used, the result is a simple ascii file (the second column are the temperatures). Otherwise the result is a binary file with one 4 byte float per cell.

scattercore gamma

  • Weighting of the angular distribution of scattered photon packages
  • gamma<-9.9: no weighting
  • gamma>-9.9: use modified probability distribution p(theta)~exp(-gamma*theta)
    for directions of scattered photons{{ theta is angle from the direction of the
    cloud centre}}


  • Number of photon packages sent from discrete sources per iteration and frequency.

spectrum string

  • Specifies what components are included in the computed spectra. The string may contain ‘E’, ‘S’, and/or ‘B’ for dust Emission, Scattered light and emission from the Background sky.

spelib prefix

  • Calculation is used to produce library files for the included dust species with the given prefix. In the following runs the computed libraries can be loaded by using the keyword loadlib instead of spelib.

step float

  • Gives the step (in parsecs) between the positions for which output spectrum is calculated.


  • Perform peeloff at each cell boundary (not recommended: usually detrimental to accuracy / runtime).


targetcore beta

  • Weighting of spatial distribution of background packages entering the cloud.
    • beta<-90: same number of packages towards each annulus as defined by the
      radial discretization{{ positions within the annuli are random in the normal
    • -90<beta<-10: normal case, distribution of impact parameters is p(d)~r
    • -10<beta: weighted distribution, p(d)~r^beta

taus filename wavelength

  • Save optical depths at given wavelength um to the named file for each sightline for which a spectrum was computed.

tdistributions prefix

  • Dump temperature distributions for transiently heated grains. The resulting binary files will be named prefix.name_of_dust.Tdust. The format of the file is the following: three integers (4 byte each) giving the number of cells, grain sizes, and enthalpy bins, followed by the grain temperatures (one four byte float per each size and energy), followed by the relative number of grains in each enthalpy bin (one eight byte double for each cell, grain size, and enthalpy).



wavelength a b

  • Restrict calculation of the output spectra to wavelength range [a,b] given in units of um.