-
Notifications
You must be signed in to change notification settings - Fork 0
NewC10
This page summarizes all major changes and improvements to Cloudy that are included in this release. You may also view the HotFixes and KnownProblems pages, or return to the main RevisionHistory page.
The doxygen source code documentation is available here.
_Cloudy now uses a configure script_. For people using the [MakefileDescription make utility] to compile Cloudy, this change will be completely transparent since the Makefile will run the script automatically for you. However, users compiling Cloudy by hand will need to run the configure script first before starting the compilation. See CompilingCloudy for further details. This script helps us deal with platform dependencies and idiosyncrasies of certain compilers.
_The routines cdInp() and cdOutp() have been removed from the code_. This will affect people who have their own main program that calls Cloudy as a subroutine and who use these routines to redirect I/O. Please use the much safer versions cdInput() and cdOutput() instead. See Hazy 2 for a discussion of how the new routines should be used.
_The format of the continuum_mesh.ini file has changed._ This file now contains the resolving power instead of the resolution. However, _existing user-modified versions of this file in the old format are still recognized_ and can be copied into the data directory unmodified. See Hazy 2 for further details on the new format.
_Strong checks have been added on the frequency mesh in Cloudy generated files._ As a result, all existing binary stellar atmosphere grid files, custom-made grain opacity files, and the output files from the _save transmitted continuum_ command will have to be recompiled in order to work with this version of Cloudy. See below for details.
The _punch_ command has been renamed _save. The C10 version continues to recognize _punch but this may be removed in future versions.
The _save optical depths_ and _save opacity_ commands how have the _every_ option to save results for every zone.
There is a new _help_ command which prints basic help about which commands are available. More details will follow: try the help command to find out!
Command options _starting with a letter must now follow a non-letter_. This removes the (confusing) need to specify explicitly that certain options have a leading space, i.e. all the _ISM
business: in essence, this is now true of all options. The code is now also stricter about checking for NO QH
rather than O QH
for the NO QHEAT
option.
The use of _commas when specifying numbers (e.g. 37,600
) will now generate a warning_; it is planned to remove support for this syntax in subsequent versions. Large values can be specified using exponential notation instead (e.g. 37.6e3
). Multiplication *
and exponentiation ^
operators are now implemented where numeric values are read (e.g. 37.6*1000
or 10^4.58
).
The command previously described in Hazy as either _set PunchLWidth_ or _set punch line width_ must now take the second form. We have also added an alternative form _set punch resolution_ which allows the user to enter a spectral resolution directly. A new keyword _suppress_ has been added which completely suppresses emission lines in the saved spectral energy distribution. When combined with the keyword _absorption, absorption lines will also be suppressed. The default behavior of the command has been changed to conserve the flux in absorption and emission lines by matching the spectral resolution to the resolution of the coarse Cloudy mesh. The new forms _set save line width and _set save resolution_ are of course also recognized.
The _print line emergent command has been removed. Most commands that report emission-line intensities or emissivities now have _optional keywords to report either intrinsic or emergent intensities. Intrinsic intensities are reported by default.
The _save lines emissivity and save lines cumulative commands now have the option to report either the intrinsic or emergent line intensity_. They will report the intrinsic intensity by default. If the keyword emergent appears then that emissivity is reported.
A new command _save lines emissivity_ has been added. This saves the volume emissivity and absorption and scattering opacity at a specified frequency as a function of radius. This is useful if you want to do more specialized RT in an external code.
The functionality of the _aperture command_ has been improved and many bugs were fixed in the process. Two new commands _aperture size_ and _aperture covering factor_ have been added. These allow the user to specify the slit width or the surface area of the pencil beam and a separate covering factor for the area observed through the aperture. These will be used when calculating the flux observed at the earth.
At the end of the main output _blocks of quantities averaged over area have been added_. These would be appropriate to compare to quantities (e.g. an [O III] temperature) derived from integrated long slit observations that run over the center of the nebula. Until now only radial and volume averages were reported.
The _assert command has been renamed to monitor_. This is to prevent confusion with the C assert macro, which the code uses extensively, and to better reflect the fact that the command monitors changes in the listed quantity.
The _save diffuse continuum_ command now has a _zone_ option to report the total line and continuous emission coefficient for every zone.
The _grid _ command now accepts the keyword _linear_ which will cause the code to take equidistant steps in linear parameter space.
The _save grid_ command now includes the grid point index in the output. This is useful to identify files when saving to separate files for each grid point (see _save fits_ below).
When the _save fits_ command is used in a grid run, the output will now be placed in separate files for each grid point. If the name file.out was chosen as the file name in the input script, then these files will have names grid000000000_file.out, grid000000001_file.out, etc. The meaning of the embedded grid index is defined in the output of the _save grid_ command.
All _save_ commands now accept the _separate_ keyword, meaning that the output will be saved to separate files for each grid point in a grid run. The names of these files will be generated in a way that is identical to scheme used in the _save fits_ command described above.
The _save fits_ will now implicitly assume that the keyword _last_ was included on the command line. This is needed since it is not legal FITS to concatenate multiple spectra in one file.
The _CMB_ command has two new options: _density_ and _time. The first sets the hydrogen density to the cosmological value at that redshift. The second adds a time dependence in the same manner as other spectral types. The usual scale factors are used unless the _cosmology command appears, which then invokes the appropriate redshifting and dilution as a function of time. This command remains experimental.
The _cosmology_ command has been added for the cosmological recombination problem, although some aspects may be more generally applicable in the future. The cosmological recombination problem is activated regardless of any additional keywords. Current keywords include _omega_ (followed by _baryon, _radiation, _matter, _lambda, and _curvature) for setting the corresponding cosmological parameters of a lambda-CDM cosmology, and _hubble for setting the Hubble factor (in units of 100 km/s/Mpc, typically 0.71). This command remains experimental.
The _save tegrid_ command has been removed since it is largely redundant. Use the _save temperature history_ command instead.
The _set nFnu add_ command has been added. This allows the user to add extra wavelength or frequency points to the output of the _print continuum_ command without any hassle.
The _set temperature solver_ and _set eden solver_ commands have been removed since they no longer serve any purpose. These solvers have been rewritten and the old solvers have been removed. See below for further details.
The _set dr, set drmin, set drmax_ commands now accept the keyword _relative_ to set a stepsize that is a relative fraction of the current radius. This is useful in highly spherical models.
The _set drmin, set drmax_ commands now accept the keyword _linear_.
The _stop radius_ command has been added. It works just like the stop thickness command, except that it sets the outer radius rather than the thickness of the cloud. This is useful if you want to vary the inner radius, but want to keep the outer radius fixed. If you do so, make sure that you set an appropriate optimization range for the inner radius so that the optimizer cannot move it beyond the outer radius.
The _stop continuum flux_ command has been added. This allows stopping the calculation when a prescribed continuum flux at an arbitrary wavelength inside the Cloudy wavelength range has been reached. This is useful for stopping calculations that go into the molecular region e.g. on a prescribed IRAS 100 micron flux. This command is very flexible in that it accepts a wide range of wavelength / frequency units, as well as flux or surface brightness units. This should largely eliminate the need for unit conversions.
The _range option on the intensity, luminosity, phi(H), and Q(H) commands has been slightly modified_. The numbers will now always be interpreted as typed (i.e., 0 will be interpreted as 0). If you want to use the default upper limit of the code, you can either omit the second parameter, or type a very large number. If you want to use the default lower limit, you can type a very small number (e.g., 0 if you are using linear quantities, or -10 if you are using logs). Any value outside the default Cloudy range will be reset to the appropriate limit. See Hazy for further details. This change makes it safe to use the range option in combination with the log keyword in optimizer runs.
The _monitor set error 0.1 command will change the default error used in monitors_.
The number is the fractional error allowed before a failed monitor is declared.
The _monitor Tu xx command checks the energy density temperature of the total radiation field_ in the last zone. The number is the temperature in K.
The _monitor mpi_ command has been added. It monitors that the code is running in MPI mode. It has no further options and is used in the mpi test suite.
The _monitor xxx grid_ commands now read the monitored values from an external file, the name of which needs to be supplied between double quotes on the command line. This avoids overly long command lines for larger grids.
The _optimize diameter_ command has been added. This allows optimizing the diameter of the ionized region in arcsec (if the distance is set), or in cm. This is useful if the diameter of the source has been measured in Halpha or radio emission, but you want to model the neutral region as well (e.g., to get predictions for molecular lines or the dust emission).
The _optimize continuum flux_ command has been added. This allows optimizing an observed continuum flux at any wavelength inside the Cloudy wavelength range. This is useful if you want to optimize dust continuum measurements and/or radio continuum detections. The syntax is very similar to the _stop continuum flux_ command. In particular, it accepts the same wide range of units for the wavelength / frequency, and flux / surface brightness.
The _distance_ command now accepts the keyword _vary_.
As a general rule, the _vary option on commands now recognizes all of the keywords_. There are some exceptions to this rule that are listed in Hazy 1.
The _default number of optimizer iterations has been increased from 20 to 400_.
The _optimizer no longer has any limitation on the number of observables_.
The _set dielectronic recombination kludge_ command has been altered. Only two forms of this command are still recognized: _set dielectronic recombination kludge off_ to disable the low-temperature DR guesstimates for elements with no good data, and _set dielectronic recombination kludge noise [ dispersion ]_ to add gaussian noise to the DR guesstimates. All other forms of the command have been retired.
The iso sequence error generation commands now accept a _pessimistic_ option which chooses the largest of two standard deviations for each piece of atomic data. The full command would look something like _atom he-like error generation pessimistic 5_ where the number is the seed for the random number generator. Without the _pessimistic_ keyword the default optimistic values are used.
The _atom H-like lyman lines pumping scale xx command now has the log option_ to force interpretation of the number as the log of the scale factor. If the log keyword does not appear it will be interpreted as a log if it is less than or equal to zero. This is a change in functionality since 0 is now interpreted as the log of 1.
The _following commands now accept a log option_ to force interpretation of the number as a log: _blackbody_ (for the energy density parameter), _brems, _constant temperature, _coronal, _energy density, _power law_ (for the cutoff temperatures), _print line faint, and _set floor temperature.
The _turbulence command has been slightly modified._ If you want to supply an F-parameter in conjunction with the _equipartition_ option, it is no longer necessary to add a bogus turbulent velocity in front of the F-parameter. Several bugs in the parsing of the command have been fixed, meaning that erroneous forms of the command that used to pass will now generate errors. See Hazy 1 for further details.
The _atom H-like lyman lines pumping scale xx command now has the vary option_.
Predictions from collapsed levels of the iso sequences are not predicted by default. The _new print line iso collapsed command_ will print these predictions.
There is now a _trace option on the coronal, time, and wind commands_, to turn on trace printout to follow time dependent calculation.
The _save line pressure will identify all significant contributors to the line radiation pressure_ for each zone.
A _range option was added to the save XSPEC command_. The energies must be in keV. The units option is not recognized.
There are _new Case A and Case C commands_.
They have the same options as the Case B command but set the La optical depth to a small value,
10^-5^, by default.
The _print every command has been renamed to print zone_. The old command will still be recognized.
The keywords _0n341, 0n682_ of the _compile grains_ command have been renamed to _c15, c120_, resp.
An _abundances Crab Nebula_ command has been added. This uses the filament composition deduced in model M1 of Pequignot & Dennefeld, 1983, A&A, 120, 249. Grains, which are known to exist in Crab Nebula filaments, are not included with this command and must be added separately.
Many of the built-in composition sets that are accessed with the _abundances_ command have very small numbers for elements with no known abundances. The _abundances_ command will now turn off these elements to avoid computing their ionization, opacity, heating, and cooling.
_The fireball command is removed._ Use the CMB command instead.
The _blackbody_ command now has a _disk_ option to easily specify a multicolor disk (as in Mitsuda et al. 1984). Two numbers must be specified, the inner and outer temperatures. These can be in either order. The higher temperature will automatically be regarded as the inner temperature.
The _element XXX ionization_ command now forces particle conservation. Previously you could enter any set of ionization fractions. If they did not add up to unity the effect was to change the abundance of an element. The command now renormalizes the ionization fractions to unity to insure particle conservation.
_MPI support for parallel grid or optimizer runs has been added._ Support for parallel execution of grid runs is completely new, while support for parallel optimizer runs only existed for shared-memory machines running some variant of UNIX/Linux. The new code can be run on any distributed memory cluster or shared memory machine that supports MPI 2. This exiting new development allows large grids to be calculated on massively parallel systems, while the capabilities of the parallel optimizer have been enhanced. Parallel optimizer runs are only supported with the _optimize phymir_ command.
_The script run_parallel.pl for running the test suite on multi-core systems has been rewritten._ It no longer depends on the "make" utility to run Cloudy in parallel on multiple CPUs, but now has its own built-in routines to do that. This enabled us to add limited support for doing parallel runs on distributed memory clusters. If you know beforehand what machines you will be using (i.e. when there is no batch system) you can supply the machine names in a file and type:
run_parallel.pl <executable> static
where the first parameter has its usual meaning. The machines should be set up for passwordless ssh. If you have a batch system, you can submit a job that contains the following:
run_parallel.pl <executable> bcx
This executes code that is specifically set up for our IBM xSeries cluster running Moab+Slurm. It will likely not work for you, but you may be able to modify the perl script to run on your cluster using the bcx code as a template.
_Two new refractive index files ph2n.rfi and ph2c.rfi have been added._ These produce the opacities of neutral and charged PAHs, resp., following the prescription of Li, A., & Draine, B.T. 2001 ApJ, 554, 778. 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 "ph2n.rfi" "ab08.szd" 10
compile grains "ph2c.rfi" "ab08.szd" 10
when inside the Cloudy data directory.
_A new type of size distribution file for specifying the number of carbon atoms in a PAH has been added._ Two example files called _c15.szd_ and _c120.szd_ are included in the data directory. They should be trivial to modify to suit your needs. To create opacity files for single-sized PAHs, you could e.g. use (assuming you created a file called c40.szd for a PAH with 40 carbon atoms):
compile grains pah "c40.szd"
They can of course also be combined with the Li & Draine refractive index files.
_The data files for single-sized small and large PAHs have been renamed._ The old names were _pah1_0n341.opc_ and _pah1_0n682.opc. The new names are _pah1_c15.opc and _pah1_c120.opc_, resp.
_The behavior of the PAHs defined by pah1.rfi (the Volk PAHs) has been modified._ For grain radii larger than 50 A there will be a gradual change from PAH-like to graphite-like behavior, using a slightly altered version of Eqs. 2 & 3 of Li & Draine, 2001, ApJ, 554, 778. The Martin & Rouleau (1991) prescription of graphite is used. All opacity files in the data directory that were derived from pah1.rfi have been updated to the new prescription.
_The format of the grain opacity files has been modified_ to enable more stringent checking of the frequency mesh used in the files. The new format is incompatible with the old one, and the code will issue an error message if you try to use an old opacity file. Hence all custom-made grain opacity files will have to be recompiled. All standard grain opacity files in the distribution are of course already up-to-date.
_The rules for setting up user-defined grids have been relaxed._ This allows you to include a far wider range of data in Cloudy, e.g. a grid of combined Starburst99 or PopStar runs with different metallicities, enabling you to interpolate simultaneously in age and metallicity. The changes have no implications for existing grids, they will work exactly the same as before. Thanks to Christophe Morisset for suggesting this change.
_Support has been added for merged Tlusty OSTAR2002/BSTAR2006 grids._ These combined grids have a temperature coverage between 15 and 55 kK. See the StellarAtmospheres page for further details.
_The format of the binary stellar grids has been modified_ to enable more stringent checking of the frequency mesh used in the files. The new format is incompatible with the old one, and the code will issue an error message if you try to use an old binary grid. Hence all binary stellar grid files will have to be recompiled. The procedure is described on the StellarAtmospheres page.
_The LAMDA molecular database is now included_.
_Atomic data for O updated._ Transition probabilities are from Froese Fischer, C. & Tachiev, G., 2004, At. Data Nucl. Data Tables, 87:1–184 for [O II] and [O III]. These values should be definitive. The _set atomic data ion oxygen 2 As_ command is redundant and is deleted. The [O II] collision strengths have been updated to Kisielius, R.; Storey, P. J.; Ferland, G. J.; Keenan, F. P. 2009, 2009MNRAS.397..903K
_Atomic data for N updated._ [N II] transition probabilities are from Froese Fischer, C. & Tachiev, G., 2004, At. Data Nucl. Data Tables, 87:1–184 and the collision strengths have been updated to Hudson, C.E. & Bell, K.L. 2004, MNRAS, 348, 1275 and A&A, 430, 725
_Atomic data for Ne updated._ Transition probabilities are from Froese Fischer, C. & Tachiev, G., 2004, At. Data Nucl. Data Tables, 87:1–184 for [Ne III]. The [Ne III] collision strengths have been updated to McLaughlin, B. M., & Bell, K. L. 2000, Journal of Physics B Atomic Molecular Physics, 33, 597
_Atomic data for S updated._ Transition probabilities are from Podobedova, L.I., Kelleher, D.E., & Wiese, W.L. 2009, JPCRD, 38, 171 for [S II] and[S III]. The [S II] collision strengths have been updated to Ramsbottom, C.A., Bell, K.L., Stafford, R.P. 1996, At. Data Nucl. Data Tables, 63, 57 while the [S III] collision strengths have been updated to Tayal, S.S., and Gupta, G.P. 1999 ApJ 526, 544
_The atomic data for several Fe XVII level 2 lines have been updated._ They are now based on CHIANTI and NIST data. The [Fe XVII] 17.1 A M2 line has been added as a level 1 line.
_The phymir method is now the default optimizer._ This used to be the Subplex method. But since the phymir method has built-in support for parallel optimization runs (either using MPI or UNIX system calls), and Subplex does not, it makes more sense to make phymir the default.
_The H,,2,, - H,,2,, collision rates have been updated to Lee et al. (2008)._ Lee, T.-G.; Balakrishnan, N.; Forrey, R. C.; Stancil, P. C.; Shaw, G.; Schultz, D. R.; Ferland, G. J. 2008, ApJ, 689, 1105 available here.
_Several solvers for the physical state of the gas have been improved._ The temperature and electron density solvers have been completely rewritten. They are now based on the van Wijngaarden-Dekker-Brent method. This should improve the quality of the solution. The method for converging the line optical depths when iterating to convergence has also been rewritten and now uses bracketing and bisection search. This should lead to improved convergence when the optical depths are oscillating, which can happen in high-density models.
_The Badnell unresolved transition array (UTA) line data have been included._ This is a vast set of UTA line data that treats K, L1, as well as L2 inner shell excitation for all elements of all iso-electronic sequences upto and including the Mg-sequence. UTA lines have an autoionizing upper level, which can notably enhance the ionization rate of the ion. Currently only UTA lines from the ground level are included. Since this set completely supersedes the Behar & Netzer (2002) data set, the latter has been removed. These changes will affect all sims with a hard input spectrum, such as AGN and hot PN models. The changes will be most notable for ions that did not have UTA line data before (e.g. the lower ionization stages of Mg and Si).
_The average dielectronic recombination (DR) rates have been updated._ For ions for which no good low-temperature DR rates exist, we use the logarithmic average of the Badnell DR rates for other elements of the same ionization stage as a guesstimate. The old procedure for calculating that average produced large discontinuities as a function of temperature. This was an artifact of the algorithm. We now altered the algorithm so that the data are always continuous. Typically the rates below 1000K will be substantially lower now (by 1-2 dex or more below 100K), while the new rates are somewhat higher in X-ray plasmas (by factors up to 3-10). Moderate changes to high-temperature simulations are expected. Low-temperature simulations will see only very small changes since DR is not an important process at these temperatures.
Despite claims to the contrary in Hazy, the Ali et al. (1991) low-temperature DR guesstimates were still in effect in C08. They have now been removed from the code. So now the average Badnell DR rates will be used for all ions for which no good DR rates exist (unless the recombination is from a closed shell to an alkali-like ion, in which case the rate is set to zero). This change will have a moderate effect on the predictions for lower stages of ionization (typically upto 4+), most notably for iron.
_Manual Bautista updated the transition probabilities used for the lower 16 levels of FeII._ Manual writes ''I input the A-values of Quinet et al. for the lowest 16 levels. The previous file used Quinet et al. SST results for some transitions, some "fudged" numbers for other transitions, and a lower limit 1.e-5 where A-values had not been provided. Here I chose the Quinet et al. HFR results instead because it is a superior atomic method and the results actually agree better with those of Nussbaumer & Storey. I discussed some of the inconsistencies in the Quinet et al. SST results in Bautista & Pradhan (1998; 1998ApJ...492..650B). The lower bound assigned to the A-values is now 1.e-6.''
_Yago Ascasibar added (self-) gravity to the constant pressure command._
This is described in Ascasibar and Diaz MNRAS in press (2009).
Ye Wang added the SS
option to the hextra
command, to 'add heating due to an alpha model
Shakura Sunyaev (A&A, 24, 337) accretion disk'.
The _stop temperature_ command now has a _time_ option.
This sets the lowest or highest temperature to allow before stopping time steps.
Since each iteration is a time step this has the effect of limiting the number of iterations
to be performed. The pair of commands
iteration 1000
stop temperature 10000K time
in a time-dependent simulation would tell the code to keep doing time steps until 1000 iterations were performed or the temperature in the last zone fell below 10000K.
print line cumulative will print the time integrated emission-line spectrum in addition to the spectrum computed for each iteration.
_The routine cdLine_ now accepts a new optional last parameter which indicates whether to 'report intrinsic (the default) or emergent intensities'. The other routines which are modeled on cdLine also have this option.
_The format of the save transmitted continuum output has been modified_ to enable more stringent checking of the frequency mesh used in the files. The new format is incompatible with the old one, and the code will issue an error message if you try to use an old file. Hence all these files will have to be generated again.
The _coronal command_ no longer specifies a very faint brems continuum. It _now uses a faint laser_ near the high energy limit of the radiation field. This will not appear in normal emission plots and should not interact with even low-density matter.
Chris Richardson, Jack Baldwin, & Ed Loh _added following filters in support of Spitzer observations_:
# Spitzer MIPS bands at 24, 70, and 160 microns.
# The documentation can be found here:
# http://irsa.ipac.caltech.edu/data/SPITZER/docs/mips/mipsinstrumenthandbook/6/#_Toc288032270
# See Rieke et al. 2004, ApJS, 154, 25.
#
MIPS 24m 20.8m 26.1m
MIPS 70m 61.0m 80.0m
MIPS 160m 140.0m 174.0m
#
# Spitzer IRAC bands 1, 2, 3, and 4 at 3.6, 4.5, 5.8, and 8.0 microns.
# The documentation can be found here:
# http://irsa.ipac.caltech.edu/data/SPITZER/docs/irac/iracinstrumenthandbook/6/#_Toc288480947
# See Hora et al. 2008, PASP, 120, 1233.
IRAC 3.6m 3.16m 3.92m
IRAC 4.5m 4.00m 5.02m
IRAC 5.8m 5.00m 6.40m
IRAC 8.0m 6.50m 9.30m
The integrated energy over the wavelength band indicated by the last pair of numbers will be entered into the emission line predictions with the line label given by the first four characters and the line wavelength given by the first number.
Return to the RevisionHistory page.
Return to the StepByStep instructions.
Return to main [WikiStart wiki] page