Home Up C94.00 Other versions Revision history The future etcetera Acknowledgements Contacts, Mailing list Links Site map, search




Cloudy 90 Revision History

This page summarizes all major changes and improvements to C90. In some cases the summary includes a link to the Hot Fixes page. Hot Fixes are minor changes to the coding to correct problems not yet fixed in the distributed source. These fixes will be incorporated in the next release of the code  Changes in Hazy that have occurred since its last printing (Oct 1997) are described here


wpe1.jpg (17162 bytes)


This plot shows the lifetime in days, of each sub-version of version 90 of the code.  For example, C90.01 was released about 40 days after the original version, C90.00, which lived for 37 days.   C90.01 was replaced after 100 days.  For versions 90.00 through 90.03 each new release was marked by the discovery and correction of fairly significant errors in the code.  C90.04 was over 500 days old when it was replaced by C90.05 and no significant problems were uncovered.  C90.05 fixed a few small things that have been uncovered and incorporate some major changes in atomic data, and is the last Fortran version of the code.

C90.05 1999 July 9

Better fits to Shull and van Steenberg iron radiative recombination rate coefficients.  Their rate coefficients do not have the correct low and high temperature behavior.  Dima Verner has refit them with the correct formula, and instructions for this update are on the hot fixes page.  Thanks for Daniel Savin for pointing out this problem with the Shull and van Steenberg fits. 

New collision data for transitions within the ground term of CI and OI.  Thanks to Rene Liseau for originally making these changes, and to Peter van Hoof for putting them into C90.05.

punch ages command added.  The resulting output will give the depth into the cloud, and timescales (seconds) for (col2) cooling, (col3) H2 formation,   (col4) CO formation, and (col5) hydrogen recombination.

Charge transfer energy exchange added, as described in Kingdon & Ferland (1999).

Improved treatment of HeI Lya transport, with significant in the predicted intensity of the HeI 2.06 mm line.  A paper has appeared in the ApJ describing this (the ADS), and the small change to the code that incorporates this is on the Hot Fixes page.

Rauch halo abundance PN central stars atmospheres are now included.  Both halo and solar grids are available, and the temperature range now extends to 1,000,000 K.  The installation is described in this new version of the stars' installation guide.

There is now an option to compile only a few of the available stellar atmospheres continua.  This is the "only" keyword followed by the name of the author of the stellar atmosphere, as described in the stars' installation guide.

Diffuse continuum bin added near 1585A.  This appears within the emission line printout.

Outwardly transmitted lines were not added properly into the continuum for some punch and print commands.  punch continuum was ok, but the punch transmitted continuum command was affected by this problem.  A correction is on the  Hot Fixes page.  Thanks to Peter van Hoof for discovering this problem.

C90.04 1997 November 21

Problem with *.ini file and interpolate command.  An ini file is a file with frequently-used commands, used with the ini command.  If this file contains the interpolate command to read in an interpolated continuum, and the set of continue lines was followed by exactly one more command line, the counter to the next command line would not be reset properly.  The program would loop until it had read in the ini file 10 times, when it would stop saying that the limit to the number of continua had been exceeded.  The correction requires editing several files and will be in place if/when another revision to C90 is released.  For now the solution is to not follow the interpolate/continue set with exactly one more command.  The program will work properly if no further commands follow, or if two more more commands follow.   1997 Dec 23.  Thanks to Emmanuel Moy for uncovering this problem.

Crash on Ultra Sparc for very low temperature models.   The code has not been extensively tested on Ultra Sparcs, although it has been developed on a Sparc 20.  Some details of the floating point handling appear to be different on the two CPUs.  In particular the code crashed in routine level3 for one set of models.  A correction is posted on the Hot Fixes page.  1997 Dec 29.  Thanks to Anton Koekemoer for uncovering this problem.

Numerical discontinuity in H_2 populations in PDR calculations.   The rate for the reaction H2+ + H => H2 + H+ was taken from the H2 + H+ rate and the LTE populations of H2 and H2+.  Both involved very large exponentials, that cancel out.  This became numerically unstable when the exponentials were very large.   This caused discontinuities in the temperature when H2 cooling was significant.   The correction in the Hot Fixes page is to avoid the exponentials by canceling them before they occur.   1998 Jan 2.

Common block needed to use fabden was commented out.   FABDEN is a function that can generate a hydrogen density from an analytical law.   It communicates with the command DLAW through a common block that was commented out in the source.  It needs to be replaced to work.  A correction is posted on the Hot Fixes page.  1998 Feb 27.  Thanks to Dick Henry for uncovering the problem.

Changes to C90.03

Changes that do not appear in the Hot Fixes page will appear in C90.04.

bulletResolution of the continuum binning in the 1 to 10 micron range has been improved. This was inspired by recent NICMOS data. As a result of the change in the energy grid it will be necessary to recompile the stellar atmospheres, and recompute any transmitted continua used in the table read command.
bulletThe code could crash due to overflow when the hydrogen column density scale length exceeded 10^38 cm.  Protection is described in the Hot Fixes page.
bulletIR lines of FII, PII, and PIII added.
bulletContinuum normalization was not exact for interpolate command continuum shapes.  The intensity could be off by 5 percent, if the continuum had a great deal of structure.
bulletThe punch lines intensity every command did not punch results from the first zone when the every option was larger than 100. 
bulletKevin Volk incorporated the large grid of Rauch stellar atmospheres into the code. These are for several gravities and many temperatures, extending from hot O stars through the range of PN nuclei.
bulletAll emission lines are now in the continuum array. The plots of the predicted spectrum produce by the punch continuum command are now more spectacular, especially if the line contrast is increased with the set PunchLWidth command.
bulletResolution of the optical continuum has been improved.  This was largely to better resolve the large number of lines now present.
bulletCharge transfer rate coefficient for Si3+ + He has been updated to Fang, Z., & Kwong, V., 1997, ApJ 483, 527.  It is now about 30% faster.
bulletLine radiation pressure has been expanded to include all lines. Radiation pressure due to trapped lines is included as described ApJ 285, L11-L14 and ApJ 305, 35-44. Lya is generally the dominant contributor. The original implementation included only a dozen or so of the stronger lines in addition to Lya. When the permitted lines were moved to the current line transfer arrays the stronger lines were split into multilevel atoms. The ratio of level populations was not calculated properly by level3, the routine that handled such lines as CIV 1549 and MgII 2798 (thanks to Weihsueh Chiu for catching this problem). The original coding, which handled each line on a case by case basis, was removed and all 10^4 transferred lines are now included in the line radiation pressure. The effect of these many lines is to increase the total radiation pressure, in some cases by orders of magnitude.
bulletThe program could have trouble converging a 2000 K cloud exposed to hard x-rays. A correction is in the Hot Fixes page.
bulletAn argument to routine tabden had the incorrect type. A correction is in the Hot Fixes page.
bulletAll collision data for HeI atom, singlets and triplets, updated to Sawey and Berrington, Atomic Data & Nucl. Data Tables, 55, 81. The Lya collision rate is somewhat smaller than the previous value.
bulletCO matrix inversion routine could fail when OH abundance became small in fully molecular limit. A correction is in the Hot Fixes page.
bulletHydrogen three body recombination rate was multiplied by the wrong variable. This affected the approach to exact LTE at very high densities. A correction is in the Hot Fixes page.
bulletThe punch lines intensity command produced output on the wrong file when more than one punch command was entered. A correction is in the Hot Fixes page.
bulletEnergy exchange due to HeI and HeII 1s-2s collisions not calculated. Heating and cooling due to collisional exchange between the 1s and 2s levels of the helium singlets and ion were not included. This had a significant effect for certain situations where the Lya transition of helium was a significant heating or cooling agent, but had no effect on the standard test cases. A correction is in the Hot Fixes page.
bulletSeveral instabilities were encountered in grain-free low density HII regions. These mostly had to do with the gas opacity being very small in the Balmer continuum, and the resulting interactions with strong lines such as Lya.
bulletLogic error in electron density predictor-corrector inhibited convergence. A correction is in the Hot Fixes page.
bulletCooling derivatives for HeI and HeII lines not computed. These were not calculated within the appropriate heating-cooling loop. The only effect was to inhibit the code's convergence.
bulletLya -- HeI 2^3S oscillations could occur for dust-free models. A correction is in the Hot Fixes page.
bulletData statement out of order in hypho.f. This was flagged as a Fortran error in some compilers but had no other effect. The fix is in the Hot Fixes page.
bulletLines added with print all command not rescaled with normalize command, if normalization factor was not unity. The correction is in the Hot Fixes page.
bulletC90.03a Typo in nWerner in block data. This had no effect in Lexington but did effect the table star werner command for Brian Espey. The correction is in the Hot Fixes page, and has been made to the source in the web site.
bulletCollision strength for SIII 1194 changed to Tayal 1997, ApJ 481, 550, about 2x larger than previous number.
bulletAcknowledgments: Many thanks to Dana Balser, Jane Charlton, Weihsueh Chiu, Brian Espey, Jim Kingdon, George Jacoby, Vincent Le Brun, Valentina Luridiana, Bhaswati Mookerjea, Rafael Reyes, Ravi Sankrit, Henrik Spoon, Michele Thornley, Karen Vanlandingham, and Bob Williams for finding problems or making improvements with C90.03.

90.03, 1997 May 9

This should will be the next to final version of C90. The final version of C90 will be released at the end of the summer to clean up whatever remaining problems are uncovered. Hazy will be reprinted at that time, to reflect changes and additions to the code since the original release of C90.

Fixes and changes to C90.02 - these are also described in the C90.02 Hot Fixes page.

bulletMissing factor of electron density in diffuse heavy element recombination rates. This caused the contribution to the diffuse fields due to the elements heavier than helium to be underestimated for electron densities greater than one, and overestimated for electron densities less than one. In extreme cases energy was not conserved as a result (the code's sanity checked caught that).
bulletAll recombination lines of C, N, and O added from Nussbaumer and Storey (A&AS 56, 293) and Pequignot, D., Petitjean, P., and Boisson, C., 1991, A&A 251, 680.
bulletAll collisional ionization rate coefficients updated to Voronov, G.S., 1997, ADNDT 65, 1.
bulletAdded [NaV] 1365, 2067, 4017, [ArIII] 3109, 5192, and several [FeII] lines coming from the highest term in the 16 level atom.
bulletIncorrect index on evaluation of heating derivative. This did not affect results but did hinder convergence.
bulletWrong ion stage appeared multiplying the cooling due to the helium singlets. The
bulletWrong temperature used in rate coefficient for ionic recombination onto grain surfaces. The grain temperature was used, and the electron temperature should have been. The
bulletZoning became too large near illuminated face of the cloud. This introduced noise at the five percent level in predicted intensities of high ionization lines. The problem was introduced in C90.02 and did not affect previous versions.
bulletAbundances of rare species in ISM and HII Region mixes were updated with values from Table 5 of Savage and Sembach 1996, Ann Rev 34, 279
bulletCharge transfer recombination of highly ionized species onto atomic hydrogen was added using A. Dalgarno's new rate coefficient (Ferland, Korista, Verner, and Dalgarno, ApJ Let submitted).
bulletThe [Ar IV] model atom was increased to the five lowest levels, and the collision data updated to Ramsbottom, Bell, and Keenan, 1997, MNRAS 284, 754
bulletCollision strengths for [FeX], [FeXI], and [FeXIV] coronal lines changed to unity. Morisset and Pequignot (A&A 313, 611) outline the many serious problems with collision strengths for lines of these ions. They simply are not known to factors of 3.
bulletContinuum mesh was too coarse near the 4 Ryd He ionization edge. The star files will have to be recompiled if this change is made.
bulletThe format of the punch element command was expanded to give one more significant figure.
bulletCollision strengths for [Fe VII] 6087, 5722, were too small by a ratio of statistical weights. They should have been 2.96 times larger.
bulletEscape probabilities were not computed on second and later iterations if the first iteration was fully ionized. This caused the continuum pumping rate to be overestimated for these models.
bulletEnergies and wavelengths of the FIR line list has been updated using ISO wavelengths (Feuchtgruber et al. A&A ISO results issue. Two [FeVII] FIR lines, 9.51 and 7.81 microns, were added.
bulletSix [Ca VII] lines, 4.09, 6.15 microns, and 5620, 4941, 2112, 3688A, were added.
bulletRoutine level3 was not fully protected against round off errors. Under some extreme circumstances negative level populations would result. This was successfully trapped by the code, which then stopped.
bulletArnaud and Rothenflug (A&AS 60, 425) fits to collisional ionization rates were discontinuous. This is only a problem when the expansion to E1 proposed by AR is used. Routine colfit has been modified to use a more exact representation of E1. The problem affected all versions of C90, as well as all codes that use the original Arnaud and Rothenflug expansion. It introduced discontinuities in the ionization, heating, and cooling of some models, causing temperature failures to occur.
bulletSeveral small problems related to the convergence of the code, including numerical estimates of temperature derivatives of several quantities, have been fixed.
bulletThe collision strength for [Ar VI] 4.53 m was entered incorrectly.
bulletThe collision strength for [S IV] 10 micron line updated to Saraph, Storey, and Tully, Meudon Conf. poster paper.
bulletThe normalize command now has an optional label to insure that the desired line is actually matched. There was a possible degeneracy when more than one line had the same integer wavelength.
bulletThe dlaw command now has an option to read in a table of radii and densities, and then interpolate the density structure from this table. The original version of this code was provided by Kevin Volk.
bulletThe table stars atlas command had interpolated on the linear stellar flux to obtain continua at temperatures not in the original Kurucz grid. This produced some curvature in the interpolated continuum in the Wien tail. The attached figure shows the number of helium-ionizing photons (greater than 4 Ryd) as a function of stellar temperature. The dark blue points indicate the interpolated values resulting from the algorithm used in versions 84 through 90.02. This was changed to interpolation in the log of the flux by Kevin Volk for version 90.03. The resulting interpolated results are shown as the lighter colored curve.

Acknowledgments: Many thanks to Mike Brotherton, Simon Casassus, John Houck, James Kingdon, Anthony Leonard, Valentina Luridiana, Tino Oliva, Enrique Perez, Sandra Savaglio, Jon Slavin, Henrik Spoon, and Kevin Volk for finding problems or making improvements with C90.02.

90.02, 1996 Nov 1

Fixes and changes:

bulletCertain subshells had zero photoionization cross section Three ions, CaI, CaII, and KI, have no 3d shell, the electronic structure goes from 3p to 4s. Cloudy detected the empty 3d shell by the resulting zero photoionization cross section. Because of these empty shells with zero cross section, it was not possible to include a general sanity check that all photoionization cross sections were positive. The 1996 version of PHFIT incorporates Opacity Project (OP) photoionization data where possible (Verner et al. ApJ, 465, 487). OP results often show very strong electron correlation so it is not meaningful to separate the cross sections for adjacent shells (this is generally true for the 2s and 2p shells). As a result certain subshells have zero photoionization cross section over the energy range where OP data were used. Cloudy thought these were empty shells and so ignored them, resulting in an underestimation of the photoionization rate. The bug is apparent from the output of the punch opacity element command, and affected the ionization balance of most elements to some extent, especially for energetic continua. Besides fixing the problem, Cloudy now includes a general sanity check that the total photoionization cross sections of all ions of all elements are positive at all energies.
bulletAbundances of trace stages of ionization were not reliable in constant temperature single zone calculations. The convergence criteria for the constant temperature command have been improved, so that trace stages of ionization are more reliable. The code iterates to determine the ionization distribution of the heavy elements, and to include multiple electron ejection processes. During a normal photoionization calculation the ionization distribution is reevaluated many times during the search for the thermal solution, and the ionization distribution always converged during this process. At the end of the thermal loop, the stability of the ionization solution was examined by checking the abundances of significant stages of ionization. These checks were sufficient for thermal equilibrium calculations but not for the case of a constant temperature single zone calculation - in this case the abundances of trace stages of ionization (less than 1e-4 fractional abundance) could be off by very large amounts since the code saw no reason to converge these. The solution for trace stages was generally valid by the second or third zone. Logic has been added to the constant temperature driver to converge all stages of ionization by the first zone. This affected all versions of C90, and C84 as well.
bulletThe final results in ApJS 106, 205- 211 have been incorporated. This resulted in significant changes in charge transfer rate coefficients for a few species, notably FeIV.
bullettwo more significant figures in the energy grid produced in the punch continuum command, to avoid having degenerate energies near 1 Ryd.
bulletmore problems associated with 'fast' compilations on Dec Alphas fixed or trapped with sanity checks.
bulletsmall changes in A's for N IV] 1486 (ApJ 455, 758) and O IV] 1401 (NIST SAMS)
bulletThe line labels and intensities of [P X] 2.708 and 1.868 microns were incorrect due to a typo in one of the large block datas.
bullet[K IV] 5.98, 15.4 micron, and [K VI] 8.8, 5.6 micron lines added.
bulletbetter protection against hydrogen maser problems.
bulletif the calculation extends to very low temperatures the analysis of the [OIII] spectrum will derive incorrect [OIII] temperatures since the collision strength at the temperature of the last computed zone is used.
bulletlimit to number of levels possible in hydrogen atom increased to 50
bullet3 lowest ground terms of FeII now broken out as large number of IR lines with 16 level atom. Highest level of atom is temperature dependent so that FeII cooling can be calculated for very low temperatures.
bulletInward fractions of hydrogen lines not computed correctly. this only affected the part of the line labeled 'Inwd'.
bulletTemperature fits to collision strengths of following IR lines were improved, especially for lower temperatures: [MG VII], [AL VIII], [Si X], [S III], [Si VII], [CaV], [CaIV], [KIII], [K XI], [F IV], [P X], [P VIII], [Cl X], [Ar XI], [Ne II], [Na III], [Mg IV], [Al V], [Si VI], [P VII], [S VIII], [Cl IX], [Ar X].

Acknowledgments: Many thanks to Mike Goad, Uffe Hellsten, Enrique Perez, Greg Schwarz, Eric Shulman, Stephanie Snedden, Henrik Spoon, and James Wadsley for finding problems with C90.01 and Hazy.

90.01, 1996 July 24

Fixes and changes:

bulletsphere static command did not work properly, caused continuum pumping to be overestimated on second and further iterations.
bulletpunch transmitted continuum command did not work properly. The continuum it produced was corrupted.
bulletPart IV of Hazy has been revised to give a better description of the emission line output. This version will be ready in a month or two. For now there is an addendum to Part IV giving a more complete description of the lines (see under Hazy on the C90 web page).
bulletbackground command redshift dependence changed to Vedel, H., Hellsten, U., and Sommer-Larsen, J., 1994, MNRAS 271, 743.
bulletSeveral problems were fixed using the -fast compile option on Alphas.
bulletAtomic data for C II 1335, N IV 765, C III 1175, S V 1178, changed.
bulletdielectronic recombination added as excitation process for N II 1085, C III 1176, O III 835, O IV 789, O V 630, and Si III 1207
bulletall lines of F sequence put into code from Saraph&Tully 1994, A&AS 107, 29, K XI through Fe X VIII
bulletWavelength of [S VIII] 9918 changed to 9913. The 6.98 [Ar II] line wavelength is changed to 69 from 70.
bulletcollision strength of [Fe X] 6374 changed to Pelan and Berrington, A&AS 110, 209, does not agree with Mohan et al ApJ 434, 389. Present cs is 10x larger than before 90.01, Einstein A changed to Bhatia and Doscheck, ADNDT 60, 97 1995.
bulletnkrd, the limit to the number of input lines, increased to 500
bulletthe output from the punch emitted continuum command has been consolidated. Column 1 is the photon energy, 2 is the line and continuum emission from the illuminated face of the cloud, 3 is the emission from the shielded face, and 4 is the sum.
bulletopen command status changed to 'unknown' on line 74 of GetWerner and line 111 of GetAtlas
bullettwo level atoms only computed populations when Boltzmann factor was significant. Logic changed to do calculation when either Boltzmann factor significant OR continuum pumping significant.
bulletHe I 2.06 micron line optical depth was clobbered in beta 3. Now back in, with correction for stimulated emission.
bulletCl sequence atomic data filled out with Pelan and Berrington A&AS 110, 209, all lines in this reference are now included, major change in cs for [Ar II]
bullettable read command only worked if it was the last continuum source entered
bulletLine output changed: Two sets of lines had the same label and wavelength. These have been changed to unique entries. The following table shows this.
Old label New label quantity
He I 2 Ca B 2 case b intensity of 2.06 micron he I line
TOTL 2 He I 2 predicted intensity of 2.06 micron He I line
TOTL 2 FeKa 2 total intensity of iron K-alpha
bulletpunch lines intensity command now punches first zone, and does not punch lines with zero intensity.

Acknowledgments: Many thinks to Brian Espey, John Kartje, Randolf Klein, Paul O'Brien, Enrique Perez, Dimitra Rigopoulou, Randall Smith, Henrik Spoon, and Kevin Volk for finding problems with c90.00.

90.00 1996 June 17

Acknowledgments: Many thinks to Brian Espey, and Uffe Hellsten for finding problems with beta 4 of the code.

beta 4 1996 June 9

This is actually c89.28.

Fixes: Nearly all had to do with problems on machines which use stack memory. . Sparcs use static memory, and there were several instances where local variables were not saved but should have been. This resulted in variables being reinitialized to zero when routines were reentered, in turn causing other problems. I believe I have now caught all these instances, and have run the code on a Cray 90 with both stack memory and indefinites enabled.

Acknowledgments: Many thinks to Mike Kopko, James Wadsley, Brian Espey, and Peter van Hoof for finding problems with beta 3 of the code. Mike Kopko's help in obtaining access to a Cray was invaluable in making the corrections done here.

Note: This version has a few more lines than beta 3, and many more than are listed in Part III of Hazy. Please let me know of any lines still missing.

beta 3 1996 May 23

This is actually c89.20.

Fixes: Problem with lowest energy continuum point. Stability problem for warm neutral gas. False alarm on energy conservation for very soft radiation fields. Collision strengths for H Lyman alpha, beta, and Balmer alpha updated. Many more IR lines. Numerical instability deep in Compton-thick clouds exposed to intense radiation fields. Punch transmitted continuum had numerical error. Compiles with Microsoft Powerstation Fortran. Free-free gaunt factors were discontinuous in the infrared.

Acknowledgments: Many thanks to Mike Brotherton, Mark Elowitz, Jim Kingdon, Mike Kopko, and Kevin Volk for finding problems with beta 2 of the code.

Note: this version has many more infrared coronal lines than are listed in Part III of Hazy.

beta 2 1996 April 27.

This was actually C89.10.

Hit Counter
Last changed 01/27/04.
Return to the Cloudy Home Page.
Copyright 1978-2003 Gary J. Ferland