Revisions to the October 1997 version of Hazy, for C94
It was not possible to update Hazy during the upgrade from C90 to C94. The two versions of the code function nearly identically (by design) so the October 1997 version of Hazy is still largely OK. The following section supplement that version of Hazy to define how C94 works.
A new version of Hazy will be released with the release of C94.01, early in 2001.
Changes needed for C90 scripts to run with C94
punch commands no longer have Fortran io units, so it is always necessary to specify a file name for the punch output. This file name must appear between two pairs of double quotes, as in "name.txt". Single quotes are no longer supported. The keyword file is no longer needed, since the file name must always appear.
The end-of-line characters have changed. These denote the end of data on an input command line, and the start of a comment. The only characters now recognized are "//" (double slash as in a C++ comment), ";" (as in the end of a line in C), and "%". The ":" character cannot be used to end a command line. (As a corollary, PC paths such as "C:/cloudy" now do work.)
The continuum now extends to 1e-8 Ryd, so scripts that use the interpolate command will have to be extended to this lower limit.
The indices on the fudge command are now on the C, not Fortran, scale. fudge(0) will return the first number on the fudge line.
The hydrogenic levels command now adjusts the number of levels for all hydrogenic ions. The default number of levels is still 15, and can be anything up to n=400. (Beware, the memory requirements go as n2, and the compute time as n3). Three additional keywords are recognized: small will set the number of levels to 10, large to 50, and limit to 400. If one of these keywords is used the number of levels does not need to be specified.
Hydrogenic sequence ions. HeII emission lines are now part of the large model hydrogenic atom and are far more precise than before. The labels for all now reflect the spectroscopic designation of the line. For instance, the HeII 4686 line is now He 2 4686. (it was TOTL 4686 in previous versions). Many more HeII lines will appear in the output and the predicted spectrum is very close to the Hummer and Storey calculations.
default path can be set in routine path.c. The code needs to know where to find data and initialization files. This can be done with the path command, but this would have to appear in every input stream. The default path can be established by editing the file path.c, which contains the path as a string.
The low-energy continuum extends to 1E-8 Ryd. In previous versions it had extended only to 1e-5 Ryd. This is necessary to include the energy of the hydrogen n=400 to 399 transition.
compile stars now has the keyword only. If this appears the code will then search for the name of one of the stellar atmospheres. Only that atmosphere will be compiled. This is convenient if you do not want to use all of the available atmospheres.
Phymir optimization method added by Peter van Hoof. This is used if the "optimize phymir" command is entered.
compile opacities - This command tells the code to generate the set of opacities it needs, and then store this as a binary file. If this file lies on the path (either set in path.c or with the path command) then the compiled opacities will be used instead of generating new opacities. On my PC this saves about 4 seconds. This may actually be slower on your machine if you have a fast cpu but a slow network connection, so that the compiled opacities come over the NFS.
The no buffering command was introduced. If a C code throws an exception the standard IO buffers are not flushed when the system recovers control. As a result much of the output can be lost when the code crashes. The no buffering command sets the IO mode to write directly to disk. This is much slower than using IO buffers but insures that all output is kept.