New in C13

 This paper discusses what is new. Please cite this paper when acknowledging use of Cloudy.

This page summarizes all major changes and improvements to Cloudy C13. You may also view the HotFixes and KnownProblems pages, return to the main RevisionHistory page, or go to the DownloadLinks page to download this version.

The  doxygen source code documentation for C13 is available  here.


Support has been added for the Oracle Developer Studio compiler version 12.5. For this compiler you need to compile in the sys_oraclestudio subdirectory. See also important remarks regarding potential problems when using this compiler on the CompilingCloudyC13 page.

Fixed warnings from modern versions of g++ and ar.

Fixed test suite botches on Mac Darwin with LLVM 8.0.0.

There are some small fixes in Hazy 1.


Released 2016 Jul 30 at revision r11214. This includes the following:

Correct fine optical depth calculation. Now uses the opacity for the current zone, rather than that from the previous zone calculated. The major effect of this bug was in the transmitted continuum predicted close to the front face of optically-thick calculations, for the second and later iterations. Reported by Jonathan Stern.

The compilation will now work more or less correctly on systems that only have LLVM (clang++) installed, and not GNU (g++). Both Mac Darwin and FreeBSD are moving in the direction of dropping g++ in favor of clang++. This makes it possible to build the code on a Mac with the command line tools and its version of LLVM.

From this version onwards we will no longer trap FPEs when using the LLVM (clang++) compiler. This makes debugging the code harder, but is necessary to get Cloudy to run with recent versions of Xcode. We do not recommend using LLVM for this reason.

We fixed a bug where Cloudy would not compile when using the Intel MPI implementation. Reported by Alex Arth.

We fixed a bug where Cloudy would not compile with very recent versions of the g++ standard template library.

An internal floor on level populations generated artificially strong metallic line emission at very low densities, now fixed. Reported by Orly Gnat.

A bug when optimizing emergent line ratios has been fixed. The flux ratio was wrong because the intrinsic flux for the normalizing line was used rather than the emergent flux. The syntax for the command has also been clarified in Hazy. Reported by Jim Smith.

A major bug has been fixed which affected the prediction of the optically thick free-free radio emission. Due the small energy of radio photons this bug had very little impact on other aspects of the simulation, but if you are interested in the optically thick radio continuum flux this can have a major impact on the predictions.

A bug has been fixed where line emissivities got stuck at a small value (e.g. in the output of SAVE LINES EMISSIVITY), when they should have decreased to zero. Reported by Janet Simpson.

We have changed our definition of the xi ionization parameter to be consistent with XSTAR. Through versions C13.03 we defined xi as the total luminosity in ionizing photons, the original Tarter definition. The X-ray community uses the Kallman & Bautista (2001) definition, which integrates the SED between 1 and 1000 Rydbergs. The 1 - 1000 Ryd definition is part of C13.04 and later versions of the code. This only makes a difference for very hard SEDs. Reported by Ildar Khabibullin.

We now only report intensities for the transferred lines in the emergent line intensity section. See the IntrincisEmergent page for more details.


Released 2014 Jan 14 at revision r8757. This includes the following:

Changes to the makefile to accommodates recent changes in OS X and its compilers.

 Shaw+05 describes our implementation of the H2 molecule, and the use of a g-bar approximation when no collision data are available. This approximation was not enabled by default for H2 - H2 collisions in C10 and C13. The g-bar approximation has been enabled. This raises the populations of high J levels for warm gas. Thanks for Miguel Pereira Santaella for reporting this.

Print more helpful comment when code stops with error PROBLEM ConvBase sets lgAbort since nPres2Ioniz exceeds limPres2Ioniz. The remedy is often to Reset this limit with the SET PRES IONIZ command.

If the density decreases as radius increases there are a family of sims where the ionization will increase with radius, which will become quite large, as described in Hazy 1, Sec 8.8.2, "Clouds extending to infinity". We fixed an fpe that could occur when this happens. (You should specify an outer radius for such models.)

Hazy 1 now explains that you cannot edit the SED file produced with the save transmitted continuum command.

Numerous small changes to Hazy 1.


Released 2013 June 25 at revision r7802. This includes the following:

Quick Start Guide updated to say where PDFs of documentation are located, how to compile original LaTeX source.

We fixed an incorrect setting for the method in Xspec additive tables.

We fixed the code to calculate the radiative recombination continuum strength, which could be wrong, especially in grids. This affected only the RRC printout, the quantity was not used elsewhere in the code.

Fixes to consistency between the chemistry sources and large H2 molecule, tightening convergence criteria somewhat to prevent oscillations in solver. This improves the code stability in PDR or molecular cloud sims which include the large model.

Update collisional suppression of dielectronic recombination to published version of Nikolic+13.

Numerical noise in three-body recombination rates for heavy elements could introduce convergence problems at temperatures below 100 K. Fixed by placing a cap on the minimum temperature used in evaluating that rate.

Update makefile with possible fix for mysterious compilation failures.

Update ambiguous documentation for SET DR, SET DRMIN, and SET DRMAX commands.

The set C12C13 command, and the default C12/C13 ratio, only worked on the first sim in grids. It was -1 in second and later sims in a grid.

Under extreme conditions the SAVE FITS command could result in a buffer overrun.

Fixed code with asserts disabled. Compiling the code with EXTRA=-DNDEBUG should now result in run times ~3% faster when averaged over the test suite, but with internal consistency checks removed.

Obsolete scripts for running the test suite (like have been removed. The file tsuite/auto/readme_tests.htm has been updated to reflect these changes.

Errors in the final states for four state-specific H2 - H2 collision rates were reported by Miguel Pereira Santaella and have been fixed. These produced very minor changes in H2 predictions.


Released 2013 Mar 20 at revision r7435. This includes the following:

Allow multiple save continuum emissivity commands.

Improve citations to JPL and CDMS molecules.

Define variables so that git can properly retrieve source with release status set. This release will have a git download option.

The no buffering command works again.

The set c12c13 command works again.

The save grain continuum command works again.

The cap to 1 has been removed on the return value of GrnVryDpth(). This had the effect of preventing user-provided grain abundance functions from increasing the grain abundance above its default value. Any positive value is now possible.

The emergent intensities for some [O II] and [S II] forbidden lines were not computed correctly.

Links to published version of C13 review  paper.

The problem with the Case B He I recombination line intensities has been fixed.


Released 2013 Feb 20 at revision r7301.

The simulations

There has been a major rewrite of the chemistry / ionization solvers. This has substantially improved internal consistency and robustness of convergence for coupled physics problems. The result is far greater stability for simulations that extend into molecular gas.

We include the Chianti, Lamda, and Stout databases for modeling emission and cooling from individual molecules and ions, including radiative transfer effects such as line trapping, pumping, and collisional deexcitation. As a result there has been a major increase in the number of lines predicted.

The atomic and molecular databases have been continuously updated. Cloudy continues to provide access to state of the art atomic and molecular physics.

Running Cloudy

The recommended syntax for running Cloudy is now

/path/to/cloudy.exe -r script

This will read input commands from and write output to script.out. For more details see the RunningC13 page.

The way Cloudy generates its return value has been modified. Also the return value of cdDrive() has been changed from int to bool. This enables us to give a more detailed and reliable overview of what went wrong in a grid run in the save grid output. For users that call Cloudy as a subroutine this implies that they need to modify their main program. See the program in tsuite/programs/template.cpp for the new way of calling Cloudy. Also the parameters of the routine cdGetLineList() have been modified to enable detecting memory leaks. See Hazy 2 for further details.

New commands or options

Cloudy has a new command line flag -h. If you type cloudy.exe -h you will get an overview of all supported command line flags.

All option on save line intensities command to save all lines, including those with zero intensity.

Print Voigt a=xxx command created.

set check energy every zone command created.

The grid command now accepts negative increments, allowing you to move from a high to a low value.

The set atomic data sulphur command has been removed.

The kludge option on the set dielectronic recombination command has been renamed mean.

There is a new command, set dielectronic recombination mean scale, that will multiply the estimates of the dielectronic recombination for ions with not data, by specified scale factors. This provides a simple way to judge the sensitivity of predictions to these uncertain rates.

The set dielectronic recombination Badnell print command is replaced with the print recombination command.

Most set dielectronic recombination options have been removed since we now use the Badnell database exclusively.

The abundances GASS10 command allows Cloudy to use the solar abundances from Grevesse et al. (2010).

The set collisional ionization X command has two options: Dima or Hybrid.

The set chianti levels X Y command sets the maximum number of Chianti energy levels to use for iron species, X, and all other species, Y.

The save cooling each command created to indicate the contribution of each element to the total cooling.

The save line list command now has a column option to report the results in column rather than row output. The results are the linear quantity rather than the log.

The save species labels command creates a list of the labels we use for atoms, ions, and molecules.

The Chianti, Stout, and Lamda databases are now controlled by the atom command. Adjust their use with atom Chianti, atom Stout, and atom Lamda.

Some options on the atom H-like and atom He-like commands have changed. When changing the number of levels it is necessary to specify collapsed or resolved.

The save line data command accepts the units option.

The range option on the save fine optical depths, save fine opacity, and save fine continuum commands now recognizes the units option.

The set electron fraction command sets the electron density to a fraction of the hydrogen density.

Grain physics

Two new refractive index files ph3n.rfi and ph3c.rfi have been added. These produce the opacities of neutral and charged PAHs, resp., following the prescription of Draine, B.T. & Li, A., 2007 ApJ, 657, 810. These files are temporary and will eventually be replaced by a single file that self-consistently determines the opacity from the actual charge of the PAH during execution. This however requires substantial changes to the code that are not yet complete. To produce opacity files from these refractive index files, you can e.g. use:

compile grains "ph3n.rfi" "ab08.szd" 10
compile grains "ph3c.rfi" "ab08.szd" 10

when inside the Cloudy data directory.

Stellar grids and other SEDS

We have added support for the  Rauch C/O white dwarf grid using the table star rauch co wd command.

The table Crab command now uses the SED from Hester (2008 ARA&A). The old SED, based on Davidson (1985 ARA&A) is available with the table Crab Davidson command.

The keywords stellar and nebular have been added to the compile stars command for Starburst99 files. The effect is to use only the stellar or the nebular component of the interstellar radiation field, rather than the sum of the two. The latter remains the default.

Improved physics and numerical methods

As described above, there has been a major rewrite of the chemistry / ionization solvers.

Parallel runs of the optimizer are now enabled by default on Mac and BSD systems (this was already done for Linux and other UNIX systems in an earlier release).

Cosmic ray background ionization rate updated to  Indriolo+07.

We have added 31 new molecules from the  CDMS and  JPL molecular spectroscopy databases.

The dielectronic and radiative recombination databases have been updated to the April 2011 versions on the Badnell web site. This includes the updated Argon isoelectronic sequence (Nikolic et al, 2010, A&A 516, A97).

The Badnell dielectronic recombination rates are updated to Abdel-Naby et al A&A v537, A40 (2012). This does the 13 electron iso sequence. Lines of S IV and S III are affected.

The Badnell dielectronic and radiative recombination database are now used exclusively.

We are now using the hybrid collisional ionization rate coefficients by default. Hybrid means that the original rates given by Voronov, G. S. 1997, At. Data Nucl. Data Tables, 65, 1 are multiplied by a scale factor. This scale factor is the collisional ionization rate coefficient at the center of the discrete temperature range given by Dere, K. P. 2007, A&A, 466, 771 divided by the collisional ionization rate coefficient given by Voronov at the same temperature.

The Chianti line database is now used for Fe VI through Fe XXIV and select species between phosphorus and zinc.

Dynamics and time-dependent cases

The options on the wind command have changed.

Other changes

Mean line optical depths are now printed in the main output. Previously we had printed line center optical depths.

Return to the RevisionHistory page.

Return to the StepByStep instructions.

Return to main wiki page

Return to