New in Cloudy 94

This page summarizes all major changes and improvements to C94. In some cases
the summary includes a link to the Hot Fixes page. Hot
Fixes are minor changes to the coding to correct problems not yet fixed in
the distributed source. These fixes will be incorporated in the next release of
the code Changes in Hazy that have occurred since its last printing (Oct
1997) are described here. Here is a list of
known problems with the current version of the
code.
The next release will be C96, a few months after the Lexington meeting on
Astrophysics of Photoionized
Plasmas. That meeting will serve to identify sources of differences in
results among various codes and atomic data that have changed and Cloudy will
improve as a result. The following section outlines changes that have been
made since C94.00 was released in December of 1999.

Fixes to C94
The values of the reflected continuum in the output could
be orders of magnitude too large, due to division by an inappropriate
variable. The reflected emission predicted in the punch continuum commands
is correct however. This mainly affected continuum points below the Lyman
edge. A correction for C94.00 is on the Hot
Fixes page. Thanks to Kirk Korista for discovering this problem.
00 Dec 02.
Some of the continuum points printed with the print diffuse continuum
command were designed to lie on either side of major edges. In some cases
the nearest continuum bin could occur on the wrong side of a edge,
resulting in surprising intensities. The continuum energies has been
adjusted so that they always lie on the correct side of major edges.

C94.00 1999 Dec 24
Internal testing found that the code could crash for some optically
thin models. A correction is on the Hot Fixes
page. 2000 Jan 01
The output from the punch transmitted continuum is incorrect.
This will be fixed on the next revision. The short-term fix is to use
column 5 of the punch continuum output rather than the punch
transmitted continuum command (they should be the same). Thanks to
Stefan Kimeswenger for uncovering this problem 2000 Jan 03

 | Much of the code is now double precision. As a result the
code will work for a broader range of densities than before.
Densities well below 10-6 cm-3 or above 1017
cm-3 can be computed without under/over flow. In particular,
very low density IGM models should now have no problem with underflow. |
 | The hextra command has an optional dependence on depth into the cloud.
The form of this dependence tended to infinity at the illuminated face.
The radius dependence has been changed to exp(-depth/Rscale) with 94.01.
Thanks for Ivan Hubeny for pointing out this problem. |
 | Two additional sets of stellar atmospheres are available
- the CoStar windy O-star grids, and the Rauch low-metallicity grid.
|
 | All hydrogenic species, the thirty ions from HII through
Zn XXXI, are treated with a common model atom that uses a single code base.
This atom reproduces accurate hydrogenic emissivity to within the
uncertainties in the atomic data. The 30 hydrogenic ions can have up to
400 levels, limited mainly by the processor speed and amount of memory
available. Most of the differences between predictions of C90 and C94 are due
to the improved He+ ion. |
 | The continuum now extends down to 1E-8 Ryd. This is
needed because the continuum must extend to the energy of the 400 - 399
transition of hydrogen. If the continuum entered does not also extend
down to 1E-8 Ryd the code will complain but still compute the model with the
intensity of the unspecified portion set to zero. |
 | Previous versions used simple approximations for the hydrogenic
ionization and level balance for temperatures too low to compute a
NLTE departure coefficient. The new version determines level populations
for low temperatures rather than departure coefficients, so low temperature
predictions are as valid as high temperature results. |
 | The recombination continua of all stages of ionization of the first
30 elements are now included in the output produced by the punch continuum
command. These were included in the calculation but not in the punch
output in previous versions. |
 | The code is now strict ANSI/ISO 89 C. As a result
Cloudy is now exceptionally GNU gcc and Linux friendly. After this version is
released the development version will move to C++ as gcc evolves onto the
ANSI/ISO C++ standard and the C++ standard template library matures.
C94 is "clean C", meaning that it has been compiled and
tested as a C++ code by renaming the *.c files as *.cpp. My notes on
converting a large Fortran program into C are
here. |
 | All large storage items are dynamically allocated at run
time, taking only the needed memory. As a result, in its default state,
C94 actually takes less memory than C90, but C94 can bring any machine to its
knees by making the hydrogenic sequence of atoms very large. |
 | The ionization/thermal kernel has been totally rewritten
to incorporate all the lessons learned from known convergence problems.
As a result C94 is more stable than C90, with far better convergence
properties. |
 | C94 is slightly faster than C90, although it does more
work, because the kernel is cleaner and convergence more efficient. This
is the first time in the history of Cloudy that the code has not gotten vastly
slower with a major new release. All previous releases were about
three times slower than its predecessor. |
 | All previous versions only considered ionization stages that could
be produced by the incident continuum. This limit has been
lifted, so collisional or coronal equilibrium models can be computed with very
soft incident continua. It is no longer necessary to specify a very hard
but faint continuum to get the code to behave as expected in the collisional
ionization limit. |
 | The assert command has been introduced. This tells
the code to verify that its predictions agree (within a stated
uncertainty) with a known result, and will cause the code to terminate with an
error condition if it does not. The test cases make extensive use of
this feature, which provides an automatic way to validate the code.
Today, the entire test suite of standard models is recomputed and verified
every single night. |