Frequently asked questions
Answers to frequently encountered issues will be documented here. Please get in touch with any issues that you would like answered!
NaNs and infinities appearing in output
In some of the benchmark input files, the nPhotons parameter is specified in scientific notation. Whether Fortran can interpret this as an integer or not is compiler-specific; if it fails to do so, the model ends up having no photons and so unexpected results occur. If you give the value as a simple integer (e.g. 1000000
instead of 1e6
), the model should run correctly.
Fortran runtime error: End of file
Standard UNIX text editors always put an end-of-line character at the end of all lines in the file, including the last one. Files created on other operating systems may lack an EOL at the end of the final line, which causes problems when fortran tries to read it in. If you get an end-of-file runtime error, try editing all of your input files and ensuring the final line has an end-of-line character at the end. This can be achieved by adding a blank line to the end of the file.
All emission line fluxes are zero
If all emission line fluxes are zero, you may wish to check that the gas in the model is actually ionised - see the output file ionratio.out. If the ionisation fraction is very low you may also find that some line fluxes are reported as "Inf" or "NaN". Either way, try fixing the model parameters so that the gas becomes ionised.
Temperature does not change from the Testart value
If you run the standard version of mocassin, but the atomic data directory contains files from the X-ray version of mocassin, you may find that for gas models, the values in temperature.out are unchanged from the value specified in Testart. This is caused by slightly differing data formats used in the different versions. To solve the problem, reinstall the atomic data files, ensuring that no extra files are present. This can be achieved from the source code directory with
sudo make uninstall && sudo make install
Using more processors results in longer runtime
The mpirun
command can be provided by different implementations of the Message Passing Interface. If you use mpirun
from a different implementation to that used to compile mocassin, unexpected behaviour may occur. The pre-compiled linux binaries are built using MPICH.