New in C17
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 grid_h2coronal.in 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".
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.
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.
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.
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/fix_input_scripts_wl.pl 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 http://adsabs.harvard.edu/abs/2014A%26A...571A..16P) . 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.
|S II||4070A||S 2||4068.6A|
|S II||4078A||S 2||4076.35A|
|S II||6716A||S 2||6716.44A|
|S II||6731A||S 2||6730.82A|
|S II||1.029m||S 2||1.02867m|
|S II||1.032m||S 2||1.03205m|
|S II||1.034m||S 2||1.03364m|
|S II||1.037m||S 2||1.03705m|
|S 3||6312A||S 3||6312.06A|
|S 3||9069A||S 3||9068.62A|
|S 3||9532A||S 3||9530.62A|
|S 3||18.67m||S 3||18.7078m|
|S 3||33.47m||S 3||33.4704m|
|S 4||1398A||S 4||1398.04A|
|S 4||1405A||S 4||1404.81A|
|S 4||1406A||S 4||1406.02A|
|S 4||1417A||S 4||1416.89A|
|S 4||1424A||S 4||1423.84A|
|S 4||10.51m||S 4||10.5076m|
|S 5||1188A||S 5||1188.28A|
|S 5||1198A||S 5||1199.14A|
|S 5||786.473A||S 5||786.470A|
|S 6||933.378A||S 6||933.380A|
|S 6||944.523A||S 6||944.524A|
|S 9||1.252m||S 9||1.25201m|
|S 9||3.754m||S 9||3.75414m|
|S 11||1.92010m||S 11||1.91960m|
|S 11||1.39270m||S 11||1.39238m|
|Fe 3||1125.79A||Fe 3||Removed|
|Fe 7||3586.00A||Fe 7||3586.32A|
|Fe 7||3759.42A||Fe 7||3758.92A|
|Fe 7||4698.74A||Fe 7||4698.24A|
|Fe 7||4893.87A||Fe 7||4893.37A|
|Fe 7||4942.98A||Fe 7||4942.48A|
|Fe 7||4989.85A||Fe 7||4988.55A|
|Fe 7||5159.39A||Fe 7||5158.90A|
|Fe 7||5276.88A||Fe 7||5276.38A|
|Fe 7||5721.21A||Fe 7||5720.71A|
|Fe 7||6087.00A||Fe 7||6086.97A|
|V 7||1.304m||V 7||1.30376m|
|Ca 5||2413A||Ca 5||2412.87A|
|Ca 5||3998A||Ca 5||3997.88A|
|Ca 5||5309A||Ca 5||5309.11A|
|Ca 5||6086A||Ca 5||6086.37A|
|Ca 5||4.157m||Ca 5||4.15739m|
|Ca 5||11.48m||Ca 5||11.4792m|
|Na 3||7.320m||Na 3||7.31706m|
|Na 4||9.039m||Na 4||9.03098m|
|Na 4||21.29m||Na 4||21.3162m|
|Na 6||14.40m||Na 6||14.3228m|
|Na 6||8.611m||Na 6||8.61836m|
|Sc 5||2.310m||Sc 5||2.31119m|
|Al 2||2660A||Al 2||2660.35A|
|Al 3||1855A||Al 3||1854.72A|
|Al 3||1863A||Al 3||1862.79A|
|Al 5||2.90520m||Al 5||2.90450m|
|Al 6||3.660m||Al 6||3.65799m|
|Al 6||9.116m||Al 6||9.13828m|
|Al 8||3.690m||Al 8||3.69722m|
|Al 8||5.848m||Al 8||5.82933m|
|Ar 2||6.980m||Ar 2||6.98337m|
|Ar 3||7135A||Ar 3||7135.79A|
|Ar 3||7751A||Ar 3||7751.11A|
|Ar 3||9.00m||Ar 3||8.98898m|
|Ar 3||21.83m||Ar 3||21.8253m|
|Ar 4||4740A||Ar 4||7135.79A|
|Ar 4||7331A||Ar 4||7751.11A|
|Ar 5||7005A||Ar 5||7005.83A|
|Ar 5||8.000m||Ar 5||7.89971m|
|Ar 5||13.1m||Ar 5||13.0985m|
|Ar 6||4.530m||Ar 6||4.52800m|
|Si 2||1263.32A||Si 2||1264.74A|
|Si 2||1307.66A||Si 2||1309.28A|
|Si 2||1531A||Si 2||1533.43A|
|Si 2||1813.99A||Si 2||1816.93A|
|Si 2||34.8140m||Si 2||34.8046m|
|Si 3||1207A||Si 3||1206.50A|
|Si 3||1883A||Si 3||1882.71A|
|Si 3||1892A||Si 3||1892.03A|
|Si 4||1394A||Si 4||1393.75A|
|Si 4||1403A||Si 4||1402.77A|
|Si 6||1.96310m||Si 6||1.96247m|
|Si 7||2146.73A||Si 7||2146.64A|
|Si 7||2.481m||Si 7||2.48071m|
|Si 7||6.492m||Si 7||6.51288m|
|Si 9||2.584m||Si 9||2.58394m|
|Si 9||3.929m||Si 9||3.92820m|
|Ne 2||12.81m||Ne 2||12.8115m|
|Ne 3||15.55m||Ne 3||15.5503m|
|Ne 3||36.0140m||Ne 3||36.0132m|
|Ne 3||3869A||Ne 3||3868.75A|
|Ne 3||1814.56A||Ne 3||1814.63A|
|Ne 3||3342.18A||Ne 3||3342.42A|
|Ne 4||4720A||Ne 4||4724.17A|
|Ne 5||14.32m||Ne 5||14.3228m|
|Ne 5||24.31m||Ne 5||24.2065m|
|Ne 5||1141A||Ne 5||1136.51A|
|Ne 5||3426A||Ne 5||3426.03A|
|Ne 6||7.652m||Ne 6||7.64318m|
|Ne 8||770.404A||Ne 8||770.41A|
|Ne 8||780.324A||Ne 8||780.325A|
|Cl 2||8579A||Cl 2||8578.70A|
|Cl 3||3354A||Cl 3||3353.17A|
|Cl 4||8047A||Cl 4||8045.62A|
|Cl 9||7334A||Cl 9||7335.27A|
|Mg 4||4.485m||Mg 4||4.48712m|
|Mg 5||5.610m||Mg 5||5.60700m|
|Mg 5||13.52m||Mg 5||13.5464m|
|Mg 7||5.503m||Mg 7||5.50177m|
|Mg 7||9.033m||Mg 7||9.00655m|
|Mg 8||3.030m||Mg 8||3.02765m|
|C 1||369.7m||C 1||370.269m|
|C 1||609.2m||C 1||609.590m|
|C 2||157.6m||C 2||157.636m|
|C 3||1176||C 3||1175.99|
|C 4||1548||C 4||1548.19|
|C 4||1551||C 4||1550.78|
|N 1||5200||n 1||5200.26|
|n 1||10398||n 1||10398.2|
|n 2||1085||N 2||1085.1|
|n 2||2141||n 2||2142.78|
|N 2||5755||n 2||5754.61|
|n 2||6584||n 2||6583.45|
|n 2||121.7m||n 2||121.767m|
|n 2||205.4m||n 2||205.244m|
|n 3||57.21m||n 3||57.3238m|
|N 4||1485||N 4||1486.5|
|n 5||1239||N 5||1238.82|
|n 5||1243||N 5||1242.8|
|O 1||6300||O 1||6300.3|
|O 1||63.17m||O 1||63.1679m|
|O 3||4959||O 3||4958.91|
|O 3||5007||O 3||5006.84|
|O 3||51.80m||O 3||51.8004m|
|O 3||88.33m||O 3||88.3323m|
|O 4||25.88m||O 4||25.8832m|
Co II collision strengths and transition probabilities have been updated using http://adsabs.harvard.edu/abs/2016MNRAS.456.1974S
Co III collision strengths and transition probabilities have been updated using http://adsabs.harvard.edu/abs/2016MNRAS.459.2558S
Enhancements for time-dependent cases
Return to the RevisionHistory page.
Return to the StepByStep instructions.
Return to main wiki page
Return to nublado.org