|
|
|
|
|
This page summarizes all major changes and improvements to Cloudy that are included in C08.
|
|
|
You may also view the HotFixes and KnownProblems pages, or return to the main RevisionHistory page.
|
|
|
|
|
|
-----
|
|
|
|
|
|
|
|
|
## The C08.01 service release
|
|
|
|
|
|
Version C0.01 was released on 2010 Nov 19.
|
|
|
This version contains all bug fixes through this date.
|
|
|
|
|
|
|
|
|
----
|
|
|
|
|
|
|
|
|
## Important Caveat
|
|
|
|
|
|
Cloudy will no longer compile correctly with g++ compilers from the 3.4.x series due to a serious compiler bug in this series. *All g++ versions except 2.96 and 3.4.x will work OK*. The compiler will now issue an error when you try to compile with a g++ compiler form the 3.4.x series. For Linux users this will usually not be a problem since modern installations usually have 4.1.x or 4.2.x compilers which work fine. Users with an old Linux installation that contains a g++ 3.4.x compiler will have to upgrade to a newer g++ version, or use another compiler, like e.g. the [Sun Studio compiler](http://developers.sun.com/sunstudio/downloads/) for Linux. For other UNIX systems you can either use the native compiler, or upgrade to a newer g++ version.
|
|
|
|
|
|
For Cygwin users the situation is more serious. There g++ 3.4.4 is the standard compiler and no newer versions are available. *Cygwin users are strongly advised to downgrade their g++ compiler to version 3.3.3* which is being offered by Cygwin as an alternative.
|
|
|
|
|
|
To find out what version of g++ you have, issue the command "g++ -v".
|
|
|
|
|
|
----
|
|
|
|
|
|
|
|
|
## Important Caveat
|
|
|
|
|
|
*Main programs that call Cloudy as a subroutine need to be modified.* Starting with version C08, Cloudy can generate C++ exceptions that need to be caught. This needs to be done in the main program. If they are not caught your program will crash on an unhandled exception and *part of your output may be lost*! The solution is to surround the code in your current main program with a try / catch clause. A template showing how this can be done is included in the tsuite/programs directory of your distribution and is called template.cpp. See also the chapter on Cloudy as a subroutine in Hazy 3.
|
|
|
|
|
|
----
|
|
|
|
|
|
|
|
|
## Performance
|
|
|
|
|
|
The new version is roughly a factor of 2 slower than C07.02.
|
|
|
This is mostly due to a major expansion in the physics of the H-like iso-sequence.
|
|
|
The l-levels of the H-like sequence are now fully resolved, making these atoms formally correct,
|
|
|
much like the treatment of the He-sequence outlined
|
|
|
in Porter et al (ApJ 622L, 73 and ApJ 644, 586).
|
|
|
The predicted H~I emission line spectrum has changed as a result.
|
|
|
|
|
|
Models using the large H_2 models atoms will run considerably faster, in about half the time, due to improvements in
|
|
|
the memory layout.
|
|
|
|
|
|
Constant-temperature molecular models, such as the Leiden F series of PDR simulations, will take longer. This is because the code now approaches the molecular limit using small temperature steps. This allows the new version to converge simulations that are fully
|
|
|
molecular at the illuminated face. The code had trouble doing this before.
|
|
|
|
|
|
Models using grains in a hard X-ray radiation field will also consume more CPU time and
|
|
|
memory due to the improved X-ray grain physics.
|
|
|
The current implementation parallels that described in Weingartner, Draine, & Barr, 2006, ApJ, 645, 1188
|
|
|
with only minor modifications.
|
|
|
|
|
|
The code is more stable. This is due to improvements in some of the solvers and several bug fixes.
|
|
|
|
|
|
----
|
|
|
|
|
|
|
|
|
## Version numbers
|
|
|
|
|
|
*_The version numbering has changed*_
|
|
|
|
|
|
The middle two digits from the C07 numbering scheme have been dropped.
|
|
|
The major version is still the year, so the C08 version was released in 2008.
|
|
|
The next number indicates the subversion, where C08.00 is the original release of version C08,
|
|
|
C08.01 is the first bug-fix roll-up release, etc. In other words, the last two digits have the
|
|
|
same meaning as the last two digits in the C07 numbering scheme.
|
|
|
|
|
|
Starting with the C08 release series we will
|
|
|
post UNIX-style patch files for each hot-fix. Each of these will bump up the patch level of the code,
|
|
|
which will also be printed in the output. So version "C08.00 (patch level 1)" will have the
|
|
|
first set of patches on the initial C08.00 release installed. Please quote the full version
|
|
|
string including patch level (if present) in any publication presenting Cloudy results.
|
|
|
|
|
|
-----
|
|
|
|
|
|
|
|
|
## Updates to the simulations and commands
|
|
|
|
|
|
*_The code no longer accepts multiple density commands.*_ This was never useful as density commands are mutually exclusive. This is now checked by the code and Cloudy will refuse to execute any script that contains multiple density commands. Currently there are 4 density commands: HDEN, DLAW, GLOBule, and FLUCtuations (_without_ the ABUNdances keyword). Please alter your script if it contains more than one of these.
|
|
|
|
|
|
The *_new assert Case B H-like xxxx yy command will check the code's predictions*_
|
|
|
against the Hummer & Storey Case B values.
|
|
|
The xxxx can be the name of any element between and including hydrogen and oxygen.
|
|
|
yy is the the relative error.
|
|
|
The command makes a list of all lines included in the output and compares their intensities with the Case B predictions.
|
|
|
If any differ by more than yy then a botched assert is declared.
|
|
|
You still have to step up a proper Case B calculation, and disable the extra physics Cloudy does,
|
|
|
to do a meaningful comparison with Case B.
|
|
|
|
|
|
The *_atom H-like levels and atom He-like levels commands now have a print option*_. The number of resolved and
|
|
|
collapsed levels for all atoms of all iso-sequences will be printed. The number of levels is not changed by
|
|
|
this version of the command since it is intended as a way to discover the number of levels for all members
|
|
|
of the iso-sequences.
|
|
|
|
|
|
The *_grid command has a new repeat option*_. If the keyword repeat appears then the value of the parameter
|
|
|
will not be incremented. The same value will be repeated for each step in the grid.
|
|
|
The number of grid steps is not affected. It will be the number that would have been done had
|
|
|
the increment been taking place.
|
|
|
|
|
|
The *_punch line populations command now has an off option*_, to turn off the limit of printing only positive level populations. If used, all lines will have their upper and lower level populations printed, even those with a population density of zero.
|
|
|
|
|
|
The *_punch H2 levels*_ command now *_includes*_ the sum of the transition probabilities out of each level, and the
|
|
|
*_critical density*_ for each of the colliders.
|
|
|
|
|
|
The *_syntax for the hextra command has changed*_. There are three optional keywords. *Depth* will make the heating depend on depth into the cloud - this was the only option in previous versions. *Density* will make the heating scale with density. *Time* will allow the heating to vary with time.
|
|
|
|
|
|
The *_syntax for entering numbers*_ in the input files has changed. The input parser will now recognize any number that is correctly formatted according to C-style syntax. This means that you can use exponential notation, i.e. you can enter numbers like 1.e+40 into the input file. Note that Fortran-style syntax like 1.d+40 is _not_ recognized!
|
|
|
|
|
|
The *_new command element limits off -6*_ will turn off all elements that have an abundance by number relative to hydrogen that is less than the limit set by the number on the line.
|
|
|
|
|
|
The *_crash exception*_ command will cause the code to throw an exception, which should be caught by the handler in the main program.
|
|
|
|
|
|
The *_ charge transfer rate*_ coefficient for the process O^0^ + He^+^ => O^+^ + He^0^ is *_updated*_ to Zhao et al., ApJ, 615, 1063
|
|
|
|
|
|
--------
|
|
|
|
|
|
The *_grain treatment*_ has been updated to include inner-shell photoionization, as well as the subsequent Auger cascade and emission of secondary electrons. This has important consequences for grains in X-ray environments. The treatment largely follows Weingartner, Draine, & Barr, 2006, ApJ, 645, 1188 with only minor modifications.
|
|
|
|
|
|
There is a new command *_no grain x-ray treatment*_ that reverts the treatment back to the old one described in Weingartner & Draine, 2001, ApJS, 134, 263.
|
|
|
|
|
|
There is a new command *_assert grain potential*_ to check on the potential of a grain bin.
|
|
|
|
|
|
There are new commands *_punch grain abundance*_ and *_punch grain d/g ratio*_ to punch the grain abundance in g/cm^3^ or the dust-to-gas mass ratio as a function of radius.
|
|
|
|
|
|
--------
|
|
|
|
|
|
*_Ryan Porter extended the H-iso sequence to be parallel to the He-like sequence*_. The l-levels are now resolved. The precision of the H-like lines is improved greatly as a result. Some of the atom H-like and atom He-like commands have changed as a result. These include
|
|
|
|
|
|
*_atom He-like Bengamin*_ no longer exists.
|
|
|
|
|
|
The *_compile He-like*_ command has been *_renamed compile recombination coefficients with the options H-like and He-like.*_ This computes large tables of state-specific recombination coefficients for use by the model atoms of the iso-sequences.
|
|
|
|
|
|
The option to *_print He-like emissivities*_ rather than intensities has been *_removed*_.
|
|
|
|
|
|
---------
|
|
|
|
|
|
The *_collision rate coefficients for H - H,,2,,*_ have been *_updated to Wrathmall, S. A.; Gusdorf, A.; Flower, D. R., 2007, MNRAS, 382, 133*_. These are often substantially larger than the previous values.
|
|
|
|
|
|
The punch lines structure and punch lines emissivity commands have long been the same code.
|
|
|
The *_punch lines structure command has been removed*_.
|
|
|
The quantity that is reported is an emissivity so this will remove a source of confusion.
|
|
|
|
|
|
There are now *_two sets of collision data sets*_, He-H,,2,, and H-H,,2,,, for the hydrogen molecule. They are *_selected with the set atomic data molecule cs command*_.
|
|
|
|
|
|
The *_test command*_ now has the *_molecular option*_, to do a smoke test in the cold molecular limit.
|
|
|
|
|
|
The *_coronal equilibrium command*_ now *_has*_ the *_vary option*_.
|
|
|
|
|
|
*_Dielectronic and radiative recombination*_ rate coefficients for the *_Mg-like sequence*_ have been *_updated*_ to Altun et al A&A, 474, 1051 (2007. This changed the ionization distribution of some species by
|
|
|
significant amounts.
|
|
|
|
|
|
*_More than one line can occur within a continuum cell in the output produced by the punch continuum command*_. The new *_print line cell xx*_ command will print the label for every line that falls into a particular continuum cell. The number of the cell, with the lowest energy cell being 1, must appear.
|
|
|
|
|
|
The *_ionization distribution and H I emission spectrum of an unconverged one-iteration model will be different*_. The code had tried to guess total Lyman optical depths for the first iteration so that transfer through the cloud could be done. This often inhibited convergence when the guess was wrong. It now only includes the effects of gas between the continuum source and a zone during the first iteration. All effects are included during later iterations. This change has no effect on a converged simulation.
|
|
|
|
|
|
The *_Haardt & Madau 2005 continuum*_ did not extend to the low-energy limit of the code. At high redshift the CMB filled inthis
|
|
|
continuum but there was an obvious break in the continuum at at z = 0. Their table will be __'extrapolated to long wavelengths
|
|
|
assuming a Rayleigh-Jeans energy distribution__'.
|
|
|
|
|
|
The *_hextra command now has the vary option*_.
|
|
|
|
|
|
The *_ionization fractions*_ option of the *_punch averages command*_ will give the *_hydrogen molecular fraction*_, 2_n_(H,,2,,)/_n_(H,,_tot_,,), if ionization stage zero of element hydrogen is requested.
|
|
|
|
|
|
The *_BOUNDS_CHECK macro*_ makes it possible to *_do array bounds checking*_ on multi-dimensional arrays. The *crash bounds multi* command checks that it works for direct access to the array. If the keyword *iter* is added, it will check if bounds checking works for access through iterators (pointers).
|
|
|
|
|
|
Ryan Porter enhanced the *_H-like isoelectronic sequence*_ so that it now *_resolves l-levels*_.
|
|
|
|
|
|
The *_set drmin and set drmax*_ commands now accept *_linear radius*_, and the keyword log.
|
|
|
|
|
|
Cloudy now supports the *most recent version of the Rauch hydrogen-only grid*. If you have the older version installed (prior to Nov 2006), you will need to upgrade. Simply delete the rauch_hydr.ascii and rauch_hydr.mod files, download the new grid, and recompile the ascii and binary atmosphere files. For links and more detailed instructions, see the StellarAtmospheres page.
|
|
|
|
|
|
The *_limit keyword*_ has been *_removed from the atom H-like command*_. This is part of the merge of the H- and He-like iso-sequences, which will lead to a fully resolved model of the H-like ions.
|
|
|
|
|
|
The *_punch line list command now has a ratio option*_, which will give the ratio of the lines listed in the file the command reads. There must be an even number of lines in the file, and *_the code will find the ratio of the first over the second*_. As an example, if the file linelist.dat contains the following:
|
|
|
|
|
|
```
|
|
|
o 3 5007
|
|
|
totl 4363
|
|
|
```
|
|
|
|
|
|
The following input script
|
|
|
|
|
|
```
|
|
|
c following three commands do H and O-only, and set O
|
|
|
c ionization so that no O+3 is present (to prevent formation
|
|
|
c of 4363 by recombination).
|
|
|
init "honly.ini"
|
|
|
element oxygen on
|
|
|
element oxygen ionization 1 1 1 0.01
|
|
|
c set the continuum
|
|
|
blackbody 40,000K
|
|
|
ionization parameter -2
|
|
|
c next 4 commands vary kinetic temperature and density
|
|
|
constant temperature 4 vary
|
|
|
grid 4000 17000 3000
|
|
|
hden 4 vary
|
|
|
grid 2 6.1 1
|
|
|
c must stop this constant temperature model
|
|
|
stop zone 1
|
|
|
punch line list "test.pun" "linelist.dat" ratio no hash
|
|
|
punch grid "test.grd"
|
|
|
```
|
|
|
|
|
|
will create two files, test.grd with the densities and temperatures given, and line ratios in test.pun.
|
|
|
The following shows the [O III] 5007 / 4363 ratio as a function of density and temperature:
|
|
|
|
|
|
![](O3LineRatio.jpg)
|
|
|
|
|
|
A new command, *_print version*_, will print the code and compiler version numbers.
|
|
|
|
|
|
The *_atom he-like levels huge*_ and *_atom he-like benjamin*_ commmands will no longer be available.
|
|
|
|
|
|
The *_new stop velocity command*_ will stop a wind model when the velocity falls below the entered value.
|
|
|
|
|
|
Photoexcitation of upper levels of split ground terms by the UV radiation field is included using the "level2 lines", a large set of optically allowed transitions that D. Verner brought in from the Opacity Project. This pumping will not be included if the "no level2 lines" command is entered, since these lines are not computed. The code will *_no longer print column densities of excited levels if the level2 lines are disabled*_.
|
|
|
|
|
|
The physics of *_cosmic ray interactions with molecular hydrogen*_ has been improved. We now treat excitation to singlets by scaling electric dipole transition probabilities by a plane-wave collision cross section. Cosmic ray excitations to the triplets are treated following Dalgarno et al. (1999, ApjS, 125, 237). This results in more cosmic ray dissociation of molecular hydrogen than the previous treatment. This is described in further detail in Shaw et al. (2007; ApJ submitted).
|
|
|
|
|
|
*_Energies for lower levels of FeII*_ updated to Aldenius & Johansson 2007, A&A, 467, 753
|
|
|
|
|
|
The routines *_cdPressure_depth and cdPressure_last now include all forms of pressure*_ in the total pressure
|
|
|
rather than just the gas and line radiation pressure.
|
|
|
|
|
|
The *_set dynamics start*_ command has been *_renamed*_ to *_set dynamics relax*_. The argument is still the number of static iterations to perform in a dynamical or time dependent calculation. These allow the solution to relax to the correct geometry before changes are tracked. The default is still two iterations. This applies to both the dynamics and time-variable options.
|
|
|
|
|
|
The dynamical and time variable solutions will not permit the simulation to go deeper than it did during the first static iterations as set with the set dynamics relax command. The prevents the advection of material that is off the grid in the upstream direction from entering the modeled region and causing unphysical effects.
|
|
|
|
|
|
The *_set atomic data*_ command now has the option *_sulphur DR*_ to change the treatment of S dielectronic recombination. This change was merged into the C07.02.01 release. The guesses which are used when no DR data are available are now the mean of the logs of the DR rates. This is better due to the large dispersion in rate coefficients. Accurate DR rates do not now exist for low stages of ionization of S at photoionization temperatures. The relative [S III] / [S II] ratio is an important diagnostic indicator of conditions in many nebulae. This ratio depends on the DR rates chosen. This command changes the DR rates assumed for the lowest four ionization stages of S. The default, which can also be set with the keyword *__mix*_, is to use the larger of the Badnell (1991; ApJ, 379, 356 ) or guessed rates. The keyword *_pure*_ says to use only the Badnell rates. The keyword *_scale*_ says to use scaled oxygen DR rates. In this case one to four scale factors, one for each ionization stage, will be parsed off the command line. If fewer than four numbers occur then the last number entered will be used for the missing scale factors. The DR rate for ions of S will be equal to the DR rate for the same ionization stage of O multiplied by its scale factor.
|
|
|
|
|
|
The *_column density*_ command now has the keyword *_linear*_ to force that interpretation.
|
|
|
|
|
|
The *_ionization parameter*_ command now has the keyword *_linear*_ to force that interpretation.
|
|
|
|
|
|
The *_ionic emission measures*_ in the standard output *_now includes C+*_.
|
|
|
|
|
|
The dielectronic recombination rate coefficient for Fe^+14^ forming Fe^+13^ has been updated to Lukic et al. (2007, astro-ph 0704.0905).
|
|
|
|
|
|
It is possible to change the temperature units on the `constant temperature` command. The default is Kelvin but the keywords ` eV ` and ` keV ` are accepted.
|
|
|
|
|
|
The ORNL H,,2,,-He collision data set is now the default. The sets of collision data are available, Le Bourlot, J., Pineau des Forets, G., & Flower, D.R. 1999, MNRAS, 305, 802, and the ORNL data (Lee et al in preparation). These are selected with the `commands atom H2 He collisions [ORNO or Le Bourlet]`.
|
|
|
|
|
|
The punch helium line wavelengths command will produce a file with the wavelengths of all lines produced by the n=2 complex of the He-like species.
|
|
|
|
|
|
The punch line labels command includes a comment explaining the origin of the line.
|
|
|
|
|
|
-------
|
|
|
|
|
|
Return to the RevisionHistory page.
|
|
|
|
|
|
Return to the StepByStep instructions.
|
|
|
|
|
|
Return to main [WikiStart wiki] page
|
|
|
|
|
|
------ |