Version 3 (modified by Gary J. Ferland, 2 years ago) (diff)

dates of rc1 and 2

New in C17

C17.00 rc2

Released 2017 May 14 at revision r11558.

C17.00 rc1

Released 2016 Dec 22 at revision r11558.

This page summarizes all major changes and improvements to Cloudy that will be included in the next release. You may also view the HotFixes and KnownProblems pages, or return to the main RevisionHistory page.


The atomic emission models have been moved to external databases with far more lines now being predicted. In many cases line wavelengths have changed. Most line blends are now reported with the label Blnd.

We started to convert the save command output to report linear quantities. See below for further details.

Commas are no longer allowed to be embedded in numbers, they are treated as separators along with most other symbols. Standard exponential format 3.14159e16 can be used instead. Using commas embedded in numbers was deprecated since C10.

The set line precision command is renamed to print line precision.

The commands set 12C13C and set D/H have been removed. Please use the command element <name> isotopes instead. The command set isotopes all has also been removed.

Using the header file path.h to set the search path for Cloudy is now deprecated and will be removed in a future release. The search path will be automatically set when compiling the code with make. The search path can be modified using the environment variable CLOUDY_DATA_PATH as described in the EditPath page.

The save column densities command is now an option to the more flexible and general save species command, the original command has been removed.

When using Cloudy as a subroutine, you should open output files using a call to open_data() rather than fopen(). The latter will result in a compilation error. An example would be:

FILE* io = open_data("sample.out", "w");

With this routine there is no need to check for a NULL pointer on return as open_data() will have done that already.

We have fixed problems with the frequency mesh generation and improved the overall resolution of the standard mesh. As a result compiled stellar atmosphere grids and user-defined grain opacity files need to be recompiled to match the new frequency mesh if you want to continue using them. See below for further details.

The compiler options have been changed in such a way that Cloudy is now optimized for the specific hardware it is being compiled on. This was done to take full advantage of AVX vectorizing instructions on supporting hardware. This reduces the portability of the executable as it may no longer run on other hardware that doesn't support the same instruction set. In that case you will need to recompile the code.

We stopped testing on 32-bit platforms. We believe that only very few 32-bit systems are still in use today. In the unlikely case you have such a system, you can still try to use Cloudy (though switching to a 64-bit system is preferred). Chances are the code will still compile correctly, but the grid_h2coronal test case in the auto test suite will certainly fail due to single-process memory limitations on 32-bit systems (see also below).

The grid_h2coronal test case in the auto test suite may fail on systems with a limited amount of memory (4 GiB or less) due to memory exhaustion. This is true both on 32-bit and 64-bit systems (though on 32-bit systems the failure is guaranteed). This particular sim needs a large amount of memory because all model atoms are set to the maximum size. You can skip this sim when running the test suite by creating a file called tsuite/auto/skip.dat that contains only the text before starting the test suite.

Parallel execution of grids

In a previous release of Cloudy we added support for parallel execution of model grids using MPI. In this release we added support for parallel execution based on the fork() system call. The big advantage of this approach is that no external packages or support libraries are needed. The disadvantage is that this method can only work on a single shared-memory machine. We offer this possibility enabled by default on all UNIX, Mac and Cygwin systems. On those machines, grid runs will run parallel using all available threads unless the user alters this behavior. This can be done using the grid sequential and grid ncpus options described below. We will continue to support MPI-based grid runs. This will be the preferred method for very large grids requiring more threads than a single node can offer.

Grids on Macs. By default this will use all available physical cores even if hyperthreading is enabled. Tests on a MacBook Pro show that the machine will become unresponsive if all hyperthreads are used, so this is not done by default. You can still set the number of cores using the grid ncpus option.

For very large MPI-based grid runs, gathering the main output files into a single (enormously large) output file can become a significant burden. We have therefore parallelized this part of the code using MPI I/O. There is also a new option grid separate described below which causes this step to be skipped.

The code is faster!

There is a significant performance improvement, approaching a factor of two compared with C13.

New commands or options

The monitor departure coeffcients command now accepts levels as part of the input species., e.g., monitor departure coefficients "C+4[3]".

The table HM12 command has been added implementing the Haardt & Madau (2012) grid of background continua. The command works the same way as the table HM05 command, except that the keyword quasar is not supported (since data files for the quasar-only case do not exist). This command uses the stellar grid infrastructure under the hood to do the interpolation. The table HM05 command has also been moved over to use this infrastructure, but this should be transparent to the user.

The table star "somegrid.ascii" <par1> <par2> ... and table star list "somegrid.ascii" commands can now work directly on ascii files without the need to compile them first. They continue to work on binary files as well.

The command set UTA off may be used to disable all UTA emission lines. The command set UTA Gu06 is now obsolete; the Behar & Netzer data have been removed. The command print UTA references reports, for each ionic species, citations to the original UTA atomic data used in the simulation.

The command print arrays levels may be used to report the matrices that enter the level solvers for any species. The command print arrays has been renamed print arrays ionization.

The commands

save feii optical depths
save feii continuum

are obsolete. The generalized equivalent commands

save species optical depths
save species continuum

must be used instead. In addition, the command save species bands has been introduced to permit the summation of species' line emission over user-defined bands.

The coronal command now accepts the time init option to simulate the cooling of a parcel of gas with time. By default the cooling occurs under conditions of constant density (isochoric).

With the command no isotropic continua report, the output spectra produced by the relevant save continuum commands, as well as the fluxes through the continuum bands do not include the contribution of any (attenuated) isotropic radiation. The option no isotropic to the save continuum, save continuum NLTE, and save continuum transmitted commands provides this functionality when the no isotropic continua report command has not been issued.

The command set atomic data H2 collisions is now an option to the command database H2.

All zero intensity lines are reported with a default log intensity of -37, uniformly across the code (used to be -38 in the main block of lines). The set line log zero command is provided to customize the default to a lower value, if -37 falls within the range of non-zero intensity. When a linear value is printed, the code reports 10 raised to the given value. Note that for very low values the result underflows to zero.

The print line faint off command has been modified to report neither the process contributions to, nor the inward directed fractions of line intensities. The print line everything command will print the entire line stack along with process contributions and inward intensities. It is a shorthand for the commands

print line faint off
print line all
print line inward

The print iso collapsed command is now enabled by default and disabled with an additional off keyword. This change was motivated by a significant improvement to the treatment of collapsed levels in H-like and He-like isoelectronic sequence models. Note, however, that predictions from collapsed levels are still generally unreliable below the critical density for L-mixing at a particular principal quantum number.

Commas are no longer allowed to be embedded in numbers, they are treated as separators along with most other symbols. Standard exponential format 3.14159e16 can be used instead to make the scale of a number clear. This use of embedded commas has been deprecated for several versions, with warning prints issued.

The save species departure coefficients commands saves departure coefficients for any resolved species.

The save data sources command creates a list of atomic and molecular data sources.

The save fine opacities and save fine optical depths have an all option to report all points, even zeros.

The built-in abundance sets have been exported to external files located in the cloudy/data/abundances directory. These are much easier to add or change since updates no longer require editing the C++ source. There is no change in the abundances type commands which use these files.

The default composition, which will be used if nothing else is specified, is specified by the file cloudy/data/abundances/default.abn. The default composition can be updated by changing this file.

A new abundance "filename" command has been introduced. The chemical composition will be read from filename, which may be located in the current directory or in cloudy/data/abundances.

The abundance "filename" command has a print option to report grain types and abundances used.

The command crash bounds vector has been added to test array bounds violations in standard STL containers like e.g. vector.

When computing very large grids, gathering the main Cloudy output into a single output file can become a significant burden (and the resulting output file can become unmanageably large). To alleviate this problem, we have added the keyword SEPARATE to the grid command. This will cause the gathering of the main output files to be skipped (and the run to finish quicker). They will remain in files with names like: grid000000000_yoursimname.out, etc. If you still want to create the single output file later, this can be done with the command

cat grid*_yoursimname.out >> yoursimname.out

The new option grid sequential forces grids to be run on a single thread. This reverts the code to the behavior of C13 and before.

With the new option grid ncpus <n> you can choose how many threads the grid command will use while executing the grid. The default is to use all available threads.

The database Lamda, database Chianti, and database Stout commands now have similar options to adjust or report which models are in place.

The species "name" command allows individual species to be adjusted: at the moment, molecular species can be fully disabled, and the number of levels included for species modelled using Chianti, Lamda or Stout data can be set.

The commands

print lines intrinsic off
print lines emergent off
print lines off

omit printing of the intrinsic, the emergent, or both blocks of lines in the main output, respectively. In parallel grids, the latter command has been found to lead to a great reduction in the size of the output file, and also to modest speed-ups.

From roughly 1983 through C13 the save continuum output gave luminosities relative to the inner area of the cloud, to avoid limits on processors. These commands now give proper luminosities in the luminosity case. The set save luminosity old will cause the old style to be used.

By default, line intensities are now corrected for pumping by incident isotropic continuua. The command no lines subtract isotropic may be issued to forego the correction.

The command abundances isotopes may be used to specify isotope fractions for the isotopes of astrophysical interest. By default, the isotope abundances of Asplund+09 are used, with a couple of modifications (see data/abundances/default-iso.abn).

The command element <name> isotopes may be issued to modify the default isotopic abundances to user-specified values. For instance, the commands to specify isotope fractions for the hydrogen and carbon are now:

element hydrogen isotopes (1, 1) (2, 2e-5)
element carbon isotopes (12, 29) (13, 1)

The commands set 12C13C and set D/H have been removed.

By default we report line wavelengths in air for wavelengths longward of 2000A. The print line vacuum command will use vacuum wavelengths throughout.

The set line precision command is renamed to print line precision.

The command element <name> isotopes [on, off] can be used to enable the use of isotopes with molecules. The command set isotopes all has been removed.

The AGN command now has a vary option to change the Big Bump temperature.

The chemistry reaction off command allows individual chemical reactions to be disabled, to study the impact of the reaction on the overall network.

The print voigt command has been merged into the drive voigt command, the user can now specify the filename used to save the results (or give no name for in-line output).

The drive gaunt check command has been added. This exercises the routine for generating the Gaunt free-free factors and checks if it produces any discontinuities.

The compile gaunt factors command has been removed. This functionality has now been taken over by an external program. The trace gaunt option has also been removed as the output it produced wasn't very helpful.

The stop column density "species" command will allow the column density or any species, atom, ion, or molecule, to be specified.

The tlaw command now has a table option, similar in function to the existing dlaw table command.

The table read command now has a scale option allowing the intensity of the continuum to be set by re-scaling the output from the previous calculation.

The drive pointers command has been removed.

Linear quantities in the save output

We are converting the save command output to report linear quantities. The save output had reported a mix of log and linear quantities. A log option has been added to report quantities in the old style, for backwards compatibility. The following commands now produce linear output:

  • save overview
  • save averages

Linear internal absolute intensities with cdLine() and cdLine_ip()

Thus far, the functions cdLine() and cdLine_ip() reported the log of the absolute intensities/luminosities, using a default value of -37 in lieu of zero values. These functions have now been modified to report linear values. For backward compatibility, monitored values are still reported as logarithms, with zero values set to -37.

Casual users should not be affected by this change. However, this change is significant for programs that invoke Cloudy as a function to solve (subgrid) micro-physics.

Grain physics

The default H2 grain formation rate has been updated to the formalism quoted by Rollig+ 2013, A&A, 549, A85, which includes the Eley-Rideal process.

Support has been added for alpha-SiC grains. The refractive index data were taken from Laor & Draine (1993) ApJ 402, 441 and the enthalpy function from Chekhovskoy (1971) J. Chem. Thermodynamics, 3, 289.

The AC1 and BE1 amorphous carbon refractive index files have been updated. An incorrect beta=2 extrapolation of the laboratory data has been removed. The opacity will now have an expected slope close to beta=1 towards long wavelengths.

Finding lines in the output

Previous versions had found the first line that came "close" to a specified line, we now go over the entire set of lines and find the "best" match.

As a result the line "H2 2.121m" would find a very faint high-v line rather than the expected 1-0 S(0) transition. We have added a "Blnd 2.121m" that is the sum of these three H2 lines, with intensities given in a typical H2 model

H2 2.12057m -22.528 0.0003
H2 2.12099m -20.696 0.0197
H2 2.12125m -18.991 1.0000

Default wavelength precision changed

The default wavelength precision has been changed from 4 significant figures to 6. The script tsuite/auto/ is provided to aid with updating wavelengths in older input scripts to the new precision. This Perl script parses the output file for wavelength mismatches, and updates the input script, as well as any ini files and linelists invoked by the input script, to the higher precision wavelengths.

Stellar grids and other SEDs

The built-in SEDs have been exported to external files located in the cloudy/data/SED directory. These are much easier to add or change since updates no longer require editing the C++ source. There is no change in the table name commands which use these SEDs files.

A new table SED "filename" command has been introduced. The SED will be read from filename, which may be located in the current directory or in cloudy/data/SED.

Improved physics and numerical methods

The Lique 2015 H2 collision data are available but not enabled by default at this time.

O III collision strengths updated to Storey+14

The method for generating the frequency mesh has been rewritten from scratch. This should solve the long-standing problem where generating a frequency mesh with non-standard parameters would lead to obscure failed asserts while running the code. Since this change invalidates all existing compiled stellar atmosphere and grain opacity files on its own, we decided to combine it with a lowering of the lower frequency limit to 10 MHz (this is the lowest frequency LOFAR can observe). We also increased the standard resolving power to 300 and extended the range where this resolving power is used to 900 Ryd so that all atomic lines are included in that range. As a result, the number of frequency cells has risen from 5277 to 8228 in the standard setup.

Primordial abundances updated: He/H updated to Planck concordance, (2014, A&A, 571, A16 . Other light elements updated to Steigman arXiv:1208.0032.

The value of the Thomson cross section used in the code has been updated from 6.65e-25 cm2 to a more accurate value, approximately 6.6524587e-25 cm2, determined from other fundamental constants which are already stored and consistent with the CODATA recommended value.

The fundamental constants have been updated to the CODATA 2014 values.

"Species" and the atomic/molecular databases

This version has a major reworking of the atomic database. We have removed our internal database and replace with with a mix of data from Stout (our own internal database) or Chianti.

Chianti has been updated to version 7.1.4.

The atom xxx commands have been renamed species xxx, although the atom command will be accepted.

The Gaunt free-free factors have been updated. The old data used to have discontinuities, and also weren't terribly accurate in some places. The new data are calculated using relativistic theory and have a relative accuracy of 0.3% or better everywhere after interpolation (not including errors due to approximations in the theory).

The treatment of electron-electron brems radiation has been updated using the expressions given in Nozawa et al., 2009, A&A 499, 661 and Itoh et al., 2002, Il Nuovo Cimento, 117B, 359. This gives improved expressions for the e-e brems cooling, and also adds the e-e brems diffuse emission and opacity in the model.

The rate coefficient for S2+ - S+ dielectronic recombination has been updated to Badnell+2015 and is larger, resulting in stronger [S II] and weaker [S III] emission.

HD cooling now comes from Flower et al. 2000, MNRAS, 314, 753 . Previous versions had used Puy, D., Grenacher, L, & Jetzer, P., 1999, A&A, 345, 723

H2 cooling now comes from Glover & Abel 2008, MNRAS, 388,1627, instead of the older fits by Lepp & Shull 1983, ApJ, 270, 578. For more accurate results, use of the detailed H2 model is still recommended (enabled with the command database H2).

The species print command will summarize all species, the number of levels used, and the original database. The species Stout print, species Chianti print, and species Lamda print, commands will summarize the species and number of levels used from each database.

All ions of S are now treated with external databases. S 4 through S 14 come from Chianti. S 2 and S 3 use our new Stout format. Collision strengths for IR lines in the ground term of S 3 are from Hudson C.E., Ramsbottom C.A., Scott M.P., 2012, ApJ, 750, 65 and are substantially different. This changes the electron temperature in some H II regions.

Fe III has been added to our Stout database.

All Chianti species have been updated from 7.0 to 7.1

The following Chianti species are now enabled by default:

  • Fe IV, V
  • S IV - XIV
  • Ni II
  • Na III - Na IX
  • Al II, III, V - XI

We are rationalizing our treatment of lines blends. They are now indicated by the label Blnd and a wavelength. The replaces the ad hoc method that had been used before, where the blends were often, but not always, indicated by TOTL.

The following lines have slightly changed wavelength due to improved data or are now listed as blends.


Before After
S 21256ABlnd1256A
S 24074ABlnd4074A
S 26720ABlnd6720A
S 21.033mBlnd1.033m
S II4070AS 24068.6A
S II4078AS 24076.35A
S II6716AS 26716.44A
S II6731AS 26730.82A
S II1.029mS 21.02867m
S II1.032mS 21.03205m
S II1.034mS 21.03364m
S II1.037mS 21.03705m
S 31198ABlnd1198A
S 31720ABlnd1720A
S 33722ABlnd3722A
S 36312AS 36312.06A
S 39069AS 39068.62A
S 39532AS 39530.62A
S 318.67mS 318.7078m
S 333.47mS 333.4704m
S 41398AS 41398.04A
S 41405AS 41404.81A
S 41406AS 41406.02A
S 41417AS 41416.89A
S 41424AS 41423.84A
S 410.51mS 410.5076m
S 51188AS 51188.28A
S 51198AS 51199.14A
S 5786.473AS 5786.470A
S 6933.378AS 6933.380A
S 6944.523AS 6944.524A
S 91.252mS 91.25201m
S 93.754mS 93.75414m
S 111.92010mS 111.91960m
S 111.39270mS 111.39238m


Fe 31125.79AFe 3Removed
Fe 73586.00AFe 73586.32A
Fe 73759.42AFe 73758.92A
Fe 74698.74AFe 74698.24A
Fe 74893.87AFe 74893.37A
Fe 74942.98AFe 74942.48A
Fe 74989.85AFe 74988.55A
Fe 75159.39AFe 75158.90A
Fe 75276.88AFe 75276.38A
Fe 75721.21AFe 75720.71A
Fe 76087.00AFe 76086.97A


V 71.304mV 71.30376m


Ca 52413ACa 52412.87A
Ca 53998ACa 53997.88A
Ca 55309ACa 55309.11A
Ca 56086ACa 56086.37A
Ca 54.157mCa 54.15739m
Ca 511.48mCa 511.4792m


Na 15891.94ABlnd5892A
Na 37.320mNa 37.31706m
Na 49.039mNa 49.03098m
Na 421.29mNa 421.3162m
Na 614.40mNa 614.3228m
Na 68.611mNa 68.61836m


Sc 52.310mSc 52.31119m


Al 22660AAl 22660.35A
Al 31855AAl 31854.72A
Al 31863AAl 31862.79A
Al 52.90520mAl 52.90450m
Al 63.660mAl 63.65799m
Al 69.116mAl 69.13828m
Al 83.690mAl 83.69722m
Al 85.848mAl 85.82933m


Ar 26.980mAr 26.98337m
Ar 37135AAr 37135.79A
Ar 37751AAr 37751.11A
Ar 39.00mAr 38.98898m
Ar 321.83mAr 321.8253m
Ar 44740AAr 47135.79A
Ar 47331AAr 47751.11A
Ar 57005AAr 57005.83A
Ar 58.000mAr 57.89971m
Ar 513.1mAr 513.0985m
Ar 64.530mAr 64.52800m


Si 21263.32ASi 21264.74A
Si 21307.66ASi 21309.28A
Si 21531ASi 21533.43A
Si 21813.99ASi 21816.93A
Si 234.8140mSi 234.8046m
Si 31207ASi 31206.50A
Si 31883ASi 31882.71A
Si 31892ASi 31892.03A
Si 41394ASi 41393.75A
Si 41403ASi 41402.77A
Si 61.96310mSi 61.96247m
Si 72146.73ASi 72146.64A
Si 72.481mSi 72.48071m
Si 76.492mSi 76.51288m
Si 92.584mSi 92.58394m
Si 93.929mSi 93.92820m


Ne 212.81mNe 212.8115m
Ne 315.55mNe 315.5503m
Ne 336.0140mNe 336.0132m
Ne 33869ANe 33868.75A
Ne 31814.56ANe 31814.63A
Ne 33342.18ANe 33342.42A
Ne 44720ANe 44724.17A
Ne 514.32mNe 514.3228m
Ne 524.31mNe 524.2065m
Ne 51141ANe 51136.51A
Ne 53426ANe 53426.03A
Ne 67.652mNe 67.64318m
Ne 8770.404ANe 8770.41A
Ne 8780.324ANe 8780.325A
Ne 42424.28Ablnd2424


Cl 28579ACl 28578.70A
Cl 33354ACl 33353.17A
Cl 48047ACl 48045.62A
Cl 97334ACl 97335.27A


Mg 44.485mMg 44.48712m
Mg 55.610mMg 55.60700m
Mg 513.52mMg 513.5464m
Mg 75.503mMg 75.50177m
Mg 79.033mMg 79.00655m
Mg 83.030mMg 83.02765m


C  1369.7mC 1370.269m
C  1609.2mC 1609.590m
C  2157.6mC 2157.636m
C  31176C 31175.99
C  41548C 41548.19
C  41551C 41550.78


N 15200n 15200.26
n 110398n 110398.2
n 21085N 21085.1
n 22141n 22142.78
N 25755n 25754.61
n 26584n 26583.45
n 2121.7mn 2121.767m
n 2205.4mn 2205.244m
n 357.21mn 357.3238m
N 41485N 41486.5
n 51239N 51238.82
n 51243N 51242.8
Coll5755N 25754.61


O 16300O 16300.3
O 163.17mO 163.1679m
O 31666blnd1666
O 34959O 34958.91
O 35007O 35006.84
O 351.80mO 351.8004m
O 388.33mO 388.3323m
O 425.88mO 425.8832m

Co II collision strengths and transition probabilities have been updated using

Co III collision strengths and transition probabilities have been updated using

Enhancements for time-dependent cases

Other changes

Return to the RevisionHistory page.

Return to the StepByStep instructions.

Return to main wiki page

Return to