120         double VolComputed , VolExpected , ConComputed , ConExpected;
 
  147                         "  !This is beta test version %ld and is intended for testing only.", 
 
  153         for (vector<module*>::iterator mi = mods.begin(); mi != mods.end(); ++mi)
 
  162                 sprintf( 
warnings.
chRgcln[0], 
" W-Calculation stopped because %s Iteration%3ld of %ld", 
 
  164                 sprintf( chLine, 
" W-Calculation stopped because %s", 
 
  167                 sprintf( chLine, 
" W-This was not intended." );
 
  177                                 "   Calculation stopped because %s Iteration %ld of %ld, not converged due to %s", 
 
  186                                 "   Calculation stopped because %s Iteration %ld of %ld", 
 
  197                         " W-Calculation stopped because default number of zones reached.  Was this intended???" );
 
  200                         " W-Default limit can be increased while retaining this check with the SET NEND command." );
 
  211                         " W-Calculation stopped zone thickness became too thin.   This was not intended." );
 
  214                         " W-The most likely reason was an uncontrolled oscillation." );
 
  222                         " W-This happened because the globule scale became very small relative to the depth." );
 
  225                         " W-This problem is described in Hazy." );
 
  245         else if( rel >= 0.1 && rel < 3. )
 
  264                         sprintf( chLine, 
" C-The assumed electron density was incorrect for the last zone." );
 
  266                         sprintf( chLine, 
" C-Did a temperature discontinuity occur??" );
 
  271                         sprintf( chLine, 
" W-The assumed electron density was incorrect during the calculation.  This is bad." );
 
  279                 sprintf( chLine, 
" W-The calculation aborted.  Something REALLY went wrong!" );
 
  286                 sprintf( chLine, 
"  !The thermal map had changes in slope - check map output." );
 
  294                 sprintf( chLine, 
"  !Fudge factors were used or were checked.  Why?" );
 
  302                         sprintf( chLine, 
" C-Density greater than 10**15, heavy elements are very uncertain." );
 
  307                         sprintf( chLine, 
" C-Density greater than 10**13" );
 
  313         if( 
cdLine(
"Pump",4861.36f,&relfl,&absint)<=0 )
 
  315                 fprintf( 
ioQQQ, 
" PROBLEM Did not find Pump H-beta, set to unity\n" );
 
  325                 fprintf( 
ioQQQ, 
" NOTE Did not find H  1 H-beta - set intensity to unity, " 
  326                         "will not check on importance of H 1 pumping.\n" );
 
  338                                 sprintf( chLine, 
"  !Continuum fluorescent production of H-beta was very important." );
 
  341                         else if(flur > 0.01 )
 
  343                                 sprintf( chLine, 
"   Continuum fluorescent production of H-beta was significant." );
 
  352                 sprintf( chLine , 
"   Iteration not converged because %s.",
 
  361                 sprintf( chLine, 
" C-Iterate to convergence did not converge in %li iterations.",
 
  367                         sprintf( chLine, 
" C-Iterate to convergence requested but sim stopped due to too-low temperature.");
 
  369                         sprintf( chLine, 
" C-This may have convergence problems due to outer radius changing.");
 
  371                         sprintf( chLine, 
" C-Consider setting a different stop criterion.");
 
  379                 sprintf( chLine, 
" C-Wind velocity below sonic point; solution is not valid." );
 
  387                 if( fabs(1.-rel)> 0.02 )
 
  389                         sprintf( chLine, 
" C-Wind mass flux error is %g%%",fabs(1.-rel)*100. );
 
  407                 fprintf(
ioQQQ,
"\n\n Enable per zone energy conservation check by setting " 
  408                                 "CHECK_ENERGY_EVERY_ZONE=true in cloudy.cpp, recompile, then rerun.\n");
 
  416                         "  !Magnetic field & cosmic rays both present.  Their interactions are not treated." );
 
  424                         "  !Background cosmic rays are not included - is this physical?  It affects the chemistry." );
 
  432                         " C-Model is thick to cosmic rays, which are on." );
 
  440                         "  !Ionization rate fell below background cosmic ray ionization rate.  Should this be added too?" );
 
  443                         "  !   Use the COSMIC RAY BACKGROUND command." );
 
  450                 sprintf( chLine, 
"  !Test code is in place." );
 
  458                         "  !Compton cooling rate underflows to zero.  Is this important?" );
 
  466                         "  !Some input lines contained underscores, these were changed to spaces." );
 
  474                         "  !Some input lines contained [ or ], these were changed to spaces." );
 
  482                         "  !There is no hydrogen-ionizing radiation.  Was this intended?" );
 
  490                         "   Derivative of net cooling negative and so possibly thermally unstable in%4ld zones.", 
 
  500                         "  !A large fraction of the zones were possibly thermally unstable,%4ld out of%4ld", 
 
  509                         "  !Negative cooling reached %6.1f%% of the local heating, due to %4.4s %.1f", 
 
  516                         "   Negative cooling reached %6.1f%% of the local heating, due to %4.4s %.2f", 
 
  525                         "  !Advection heating reached %.2f%% of the local heating.", 
 
  532                         "   Advection heating reached %.2f%% of the local heating.", 
 
  541                         "  !Advection cooling reached %.2f%% of the local cooling.", 
 
  548                         "   Advection cooling reached %.2f%% of the local heating.", 
 
  560                                 " W-Time dependent ionization front cannot now handle strong-R cases - the ionization parameter is too large." );
 
  566                                 " C-Time dependent ionization front cannot now handle strong-R cases - the ionization parameter is too large." );
 
  575                         "  !Thermal collisional ionization of H reached %.2f%% of the local ionization rate.", 
 
  582                         "   Thermal collisional ionization of H reached %.2f%% of the local ionization rate.", 
 
  591                         "   Te-ne bounds of Case B lookup table exceeded, H I Case B line intensities set to zero." );
 
  597                         "   Te-ne bounds of Case B lookup table exceeded, He II Case B line intensities set to zero." );
 
  604                         "  !The high electron density makes the Nussbaumer/Storey CNO recombination predictions unreliable." );
 
  612                         "  !Suprathermal collisional ionization of H reached %.2f%% of the local H ionization rate.", 
 
  619                         "   Suprathermal collisional ionization of H reached %.2f%% of the local H ionization rate.", 
 
  628                         "  !H2 vib deexec heating reached %.2f%% of the local heating.", 
 
  635                         "   H2 vib deexec heating reached %.2f%% of the local heating.", 
 
  644                         "  !H2 deexec cooling reached %.2f%% of the local heating.", 
 
  651                         "   H2 deexec cooling reached %.2f%% of the local heating.", 
 
  660                         "  !Charge transfer H => H+ reached %.1f%% of the local H ionization rate.", 
 
  667                         "   Charge transfer H => H+ reached %.2f%% of the local H ionization rate.", 
 
  676                         "  !Charge transfer heating reached %.2f%% of the local heating.", 
 
  683                         "   Charge transfer heating reached %.2f%% of the local heating.", 
 
  691                         "  !Charge transfer cooling reached %.2f%% of the local heating.", 
 
  698                         "   Charge transfer cooling reached %.2f%% of the local heating.", 
 
  707                         "  !Photoionization of upper level of Mg II 2798 reached %.1f%% of the total Mg+ photo rate.", 
 
  714                         "   Photoionization of upper level of Mg II 2798 reached %.1f%% of the total Mg+ photo rate.", 
 
  723                         "  !Photoionization of upper levels of [O I] reached %.1f%% of the total O destruction rate.", 
 
  730                         "   Photoionization of upper levels of [O I] reached %.1f%% of the total O destruction rate.", 
 
  739                         "  !Photoionization of upper levels of [O III] reached %.1f%% of the total O++ photo rate.", 
 
  746                         "   Photoionization of upper levels of [O III] reached %.1f%% of the total O++ photo rate.", 
 
  755                         "  !Destruction of He 2TriS reached %.1f%% of the total He0 dest rate" 
  756                         " at zone %li, %.1f%% of that was photoionization.", 
 
  765                         "   Destruction of He 2TriS reached %.1f%% of the total He0 dest rate" 
  766                         " at zone %li, %.1f%% of that was photoionization.", 
 
  779                                 "   The density is too low to l-mix the lowest %s I collapsed level. " 
  780                                 " More resolved levels are needed for accurate line ratios.",
 
  789                 for( nelem=ipISO; nelem<
LIMELM; ++nelem )
 
  793                                 sprintf( chLine, 
"  !Continuum was lowered into model %s-like %s due to high density.  Highest n is %li",
 
  801                                 sprintf( chLine, 
"  !Continuum was lowered into model %s-like %s due to high density at SOME point but NOT at the last zone.",
 
  809                 for( nelem=ipISO; nelem<
LIMELM; ++nelem )
 
  811                         if( 
iso_sp[ipISO][nelem].lgPopsRescaled )
 
  814                                 sprintf( chLine, 
" C-Populations were rescaled for %s-like %s due to \"element ionization\" command.",
 
  826                         " C-Continuum not defined in extreme infrared - Compton scat, grain heating, not treated properly?" );
 
  833                         " C-Continuum not defined at photon energies which ionize excited states of H, important for H- and ff heating." );
 
  840                         " C-Continuum not defined at X-Ray energies - Compton scattering and Auger ionization wrong?" );
 
  847                         " C-Continuum not defined at gamma-ray energies - pair production and Compton scattering OK?" );
 
  853                 sprintf( chLine, 
" C-Continuum zero at some energies." );
 
  859                 sprintf( chLine , 
" C-CoStarInterpolate interpolated between non-adjoining tracks, this may not be valid." );
 
  866                         "  !The continuum occupation number at 1 Ryd is greater than unity." );
 
  874                         " C-The thickness of the first zone was set larger than optimal by a SET DR command." );
 
  880                         " C-Consider using the STOP THICKNESS command instead." );
 
  888                 if( 
cdLine(
"Blnd",4363,&t4363,&absint)<=0 )
 
  890                         fprintf( 
ioQQQ, 
" PrtComment could not find total O III 4363 with cdLine.\n" );
 
  897                         fprintf( 
ioQQQ, 
" PrtComment could not find collisional O III 4363 with cdLine, assuming intensity of zero.\n" );
 
  908                                 ratio = (t4363 - c4363)/t4363;
 
  912                                                 "  !Non-collisional excitation of [O III] 4363 reached %.2f%% of the total.",
 
  916                                 else if( ratio > 0.001 )
 
  919                                                 "   Non-collisional excitation of [O III] 4363 reached %.2f%% of the total.",
 
  931                         "  !The largest plasma frequency was %.2e Ryd = %.2e micron  The continuum is set to 0 below this.", 
 
  943                                 "  !The largest continuum occupation number was %.3e at %.3e Ryd.", 
 
  952                                 "   The largest continuum occupation number was %.3e at %.3e Ryd.", 
 
  964                                 "   The continuum occupation number fell below 1 at %.3e microns.", 
 
  971                                 "   The continuum occupation number fell  below 1 at %.3e Angstroms.", 
 
  978                                 "   The continuum occupation number fell  below 1 at %.3e Ryd.", 
 
  987                         "  !The largest continuum brightness temperature was %.3eK at %.3e Ryd.", 
 
  998                                 "   The continuum brightness temperature fell below 10000K at %.3e microns.", 
 
 1005                                 "   The continuum brightness temperature fell below 10000K at %.3e Angstroms.", 
 
 1012                                 "   The continuum brightness temperature fell below 10000K at %.3e Ryd.", 
 
 1022                         "  !Both constant pressure and turbulence makes no physical sense?" );
 
 1030                         "  !Both constant pressure and a filling factor makes no physical sense?" );
 
 1038                         "  !Grains are present, but the gas phase abundances were left at the solar default.  This is not physical." );
 
 1046                         "  !Grains are not present, but the gas phase abundances were depleted.  This is not physical." );
 
 1052                 long nBin=0L, nFail=0L;
 
 1053                 for( 
size_t nd=0; nd < 
gv.
bin.size(); nd++ )
 
 1055                         if( 
gv.
bin[nd]->QHeatFailures > 0L )
 
 1058                                 nFail += 
gv.
bin[nd]->QHeatFailures;
 
 1064                                  "  !The grain quantum heating treatment failed to converge %ld time(s) in %ld bin(s).", nFail, nBin );
 
 1075                 bool lgPAHsPresent_and_constant = 
false;
 
 1076                 for( 
size_t nd=0; nd < 
gv.
bin.size(); nd++ )
 
 1078                         lgPAHsPresent_and_constant = lgPAHsPresent_and_constant || 
 
 1080                                 (
gv.
bin[nd]->lgPAHsInIonizedRegion );
 
 1082                 if( lgPAHsPresent_and_constant )
 
 1085                                  " C-PAH's were present in the ionized region, this has never been observed in H II regions." );
 
 1095                         " C-The continuum energy density temperature (%g K)" 
 1096                         " is greater than the gas kinetic temperature (%g K).",
 
 1099                 sprintf( chLine, 
" C-This is unphysical." );
 
 1107                         "   Grains were not present but might survive in this environment (energy density temperature was %.2eK)", 
 
 1120                 sprintf( chLine, 
"   H-eps and Ca H overlap." );
 
 1127                 sprintf( chLine, 
"  !A physical process has been disabled." );
 
 1137                                 "  !Photoionization of upper level of [O III] 5007 reached %.2e%% of the radiative lifetime.", 
 
 1144                                 "   Photoionization of upper level of [O III] 5007 reached %.2e%% of the radiative lifetime.", 
 
 1151                                 "  !Photoionization of upper level of [O III] 4363 reached %.2e%% of the radiative lifetime.", 
 
 1158                                 "   Photoionization of upper level of [O III] 4363 reached %.2e%% of the radiative lifetime.", 
 
 1172                                 "  !Heating - cooling mismatch =%5.1f%%. Caused by constant temperature assumption. ", 
 
 1180                 if( error > 0.05 && error < 0.2 )
 
 1182                         sprintf( chLine, 
" C-Heating - cooling mismatch =%.1f%%. What\'s wrong?", 
 
 1186                 else if( error >= 0.2 )
 
 1188                         sprintf( chLine, 
" W-Heating - cooling mismatch =%.2e%%. What\'s wrong????", 
 
 1198                         "   Photoionization of Ca+ 2D level by Ly-alpha reached %6.1f%% of the total rate out.", 
 
 1209                                 "  !The excitation temp of Lya exceeded the electron temp, largest value was %.2eK (gas temp there was %.2eK, zone%4ld)", 
 
 1219         if( 
cdLine(
"Line",0,&SumNeg,&absint)<=0 )
 
 1227         if( 
cdLine(
"TotH",0,&GetHeat,&absint)<=0 )
 
 1240                                 "  !Line absorption heating reached %.2f%% of the global heating.", 
 
 1244                 else if( SumNeg > 0.01 )
 
 1247                                 "   Line absorption heating reached %.2f%% of the global heating.", 
 
 1256                         "  !NO BUFFERING command was entered - this increases exec time by LARGE amounts.");
 
 1267                         "  !G-bar cooling lines reached %.2f%% of the local cooling.  Line=%.10s", 
 
 1277                         "   G-bar cooling lines reached %.2f%% of the local cooling.  Line=%.10s", 
 
 1286                         "  !Hyperfine structure line cooling reached %.2f%% of the local cooling.", 
 
 1294                         "   Hyperfine structure line cooling reached %.2f%% of the local cooling.", 
 
 1307                         "  !Line absorption heating reached %.2f%% of the local heating - largest by level%2ld line %.10s", 
 
 1315                         "   Line absorption heating reached %.2f%% of the local heating.", 
 
 1323                 for( nelem=ipISO; nelem<
LIMELM; ++nelem )
 
 1331                                 for( ipHi=1; ipHi < nmax - 1; ++ipHi )
 
 1333                                         for( ipLo=0; ipLo < ipHi; ++ipLo )
 
 1339                                                 if( 
iso_sp[ipISO][nelem].trans(ipHi,ipLo).Emis().TauIn() < -0.1 )
 
 1342                                                                 "  !Some iso-structure lines mased: %s-like %s, line %li-%li had optical depth %.2e", 
 
 1366                                 "  !Some infrared fine structure lines are optically thick:  largest tau was %.2e", 
 
 1371                 if( tauneg < -0.01 )
 
 1374                                 "  !Some fine structure lines mased: line %s had optical depth %.2e", 
 
 1375                                                 chLbl.c_str(), tauneg );
 
 1387                 sprintf( chLine, 
" C-I must iterate when SPHERE STATIC is set." );
 
 1395                 sprintf( chLine, 
" C-I must iterate when save continuum output is done." );
 
 1406                         sprintf( chLine, 
"  !Rate of induced H 2-photon emission reached %.2e s^-1", 
 
 1412                         sprintf( chLine, 
"   Rate of induced H 2-photon emission reached %.2e s^-1", 
 
 1422                         "   Induced recombination was %5.1f%% of the total for H level%3ld", 
 
 1430                         "   Stimulated emission was%6.1f%% of the total for H transition%3ld -%3ld", 
 
 1437         if( 
cdLine(
"Fe 2",1215.68,&fedest,&absint)<=0 )
 
 1445         if( 
cdLine(
"H  1",1215.68f,&relhm,&absint)<=0 )
 
 1454                 ratio = fedest/(fedest + relhm);
 
 1457                         sprintf( chLine, 
"  !Fe II destruction of Ly-a removed %.1f%% of the line.", 
 
 1461                 else if( ratio > 0.01 )
 
 1463                         sprintf( chLine, 
"   Fe II destruction of Ly-a removed %.1f%% of the line.", 
 
 1469         if( 
cdLine(
"H-CT",6562.85,&relhm,&absint)<=0 )
 
 1471                 fprintf( 
ioQQQ, 
" Comment did not find H-CT H-alpha\n" );
 
 1478                 if( relhm/HBeta > 0.01 )
 
 1481                                 "  !Mutual neutralization production of H-alpha was significant." );
 
 1490                         "   The population of H n=2 reached %.2e relative to the ground state.", 
 
 1498                 for( nelem=ipISO; nelem < 
LIMELM; nelem++ )
 
 1500                         if( 
iso_sp[ipISO][nelem].CaseBCheck > 1.5 )
 
 1503                                         "   Ratio of computed diffuse emission to case B reached %g for iso %li element %li",
 
 1504                                         iso_sp[ipISO][nelem].CaseBCheck , ipISO , nelem+1 );
 
 1518                         sprintf( chLine, 
" W-Electrons were relativistic; High TE=%.2e", 
 
 1524                         sprintf( chLine, 
" C-Electrons were mildly relativistic; High TE=%.2e", 
 
 1540                         sprintf( chLine, 
"  !Timescale-photoerosion of Fe=%.2e yr", 
 
 1546                         sprintf( chLine, 
"   Timescale-photoerosion of Fe=%.2e yr", 
 
 1556                 sprintf( chLine, 
"   Compton heating was %5.1f%% of the total.", 
 
 1565                         "  !Induced Compton heating was %.2e of the total Compton heating.", 
 
 1576                                 " C-Compton cooling is significant and the equilibrium timescale (%.2e s) is longer than the Hubble time.", 
 
 1583                                 "   Compton cooling equilibrium timescale (%.2e s) is longer than Hubble time.", 
 
 1592                         " C-Thermal equilibrium timescale, %.2e s, longer than Hubble time; this cloud is not time-steady.", 
 
 1607                                 " C-Cloud thicker than smallest Jeans length=%8.2ecm; stability problems? (smallest Jeans mass=%8.2eMo)", 
 
 1614                                 "   Cloud thicker than smallest Jeans length=%8.2ecm; stability problems? (smallest Jeans mass=%8.2eMo)", 
 
 1621         for( 
size_t nd=0; nd < 
gv.
bin.size(); nd++ )
 
 1623                 if( 
gv.
bin[nd]->TeGrainMax > 
gv.
bin[nd]->Tsublimat )
 
 1626                                 " W-Maximum temperature of grain%-12.12s was %.2eK, above its sublimation temperature, %.2eK.", 
 
 1627                           gv.
bin[nd]->chDstLab, 
gv.
bin[nd]->TeGrainMax, 
 
 1628                           gv.
bin[nd]->Tsublimat );
 
 1631                 else if( 
gv.
bin[nd]->TeGrainMax > 
gv.
bin[nd]->Tsublimat* 0.9 )
 
 1634                                 " C-Maximum temperature of grain%-12.12s was %.2eK, near its sublimation temperature, %.2eK.", 
 
 1635                           gv.
bin[nd]->chDstLab, 
gv.
bin[nd]->TeGrainMax, 
 
 1636                           gv.
bin[nd]->Tsublimat );
 
 1643                 sprintf( chLine, 
"  !Grain drag force <0." );
 
 1651                         "  !Grains donated %5.1f%% of the total electrons in some regions.", 
 
 1658                         "   Grains donated %5.1f%% of the total electrons in some regions.", 
 
 1667                         "  !Grains contained %5.1f%% of the total electrons in some regions.", 
 
 1674                         "   Grains contained %5.1f%% of the total electrons in some regions.", 
 
 1683                         "  !Local grain-gas photoelectric heating rate reached %5.1f%% of the total.", 
 
 1690                         "   Local grain-gas photoelectric heating rate reached %5.1f%% of the total.", 
 
 1698                         "   Global grain photoelectric heating of gas was%5.1f%% of the total.", 
 
 1704                                 "  !Grain photoelectric heating is VERY important." );
 
 1713                         "   Local grain-gas cooling of gas rate reached %5.1f%% of the total.", 
 
 1724                                 "  !The large H2 molecule - main chemistry network renormalization factor reached %.2f.", 
 
 1731                                 "   The large H2 molecule - main chemistry network renormalization factor reached %.2f.", 
 
 1741                                 "  !The large H2 molecule - main chemistry network renormalization factor reached %.2f.", 
 
 1748                                 "   The large H2 molecule - main chemistry network renormalization factor reached %.2f.", 
 
 1758                         "  !The local H2+ photodissociation heating rate reached %5.1f%% of the total heating.", 
 
 1766                         "   The local H2+ photodissociation heating rate reached %.1f%% of the total heating.", 
 
 1775                         "  !The local H2 photodissociation heating rate reached %.1f%% of the total heating.", 
 
 1782                         "   The local H2 photodissociation heating rate reached %.1f%% of the total heating.", 
 
 1791                         "  !The local H2 cooling rate reached %.1f%% of the local cooling.", 
 
 1798                         "   The local H2 cooling rate reached %.1f%% of the local cooling.", 
 
 1806                         "   Global H2 photodissociation heating of gas was %.1f%% of the total heating.", 
 
 1811                         sprintf( chLine, 
"   H2 photodissociation heating is VERY important." );
 
 1820                         "  !Local CO photodissociation heating rate reached %.1f%% of the total.", 
 
 1827                         "   Local CO photodissociation heating rate reached %.1f%% of the total.", 
 
 1835                         "   Global CO photodissociation heating of gas was %.1f%% of the total.", 
 
 1840                         sprintf( chLine, 
"   CO photodissociation heating is VERY important." );
 
 1848                         "   Energy density of radiation field was greater than the Compton temperature. Is this physical?" );
 
 1855                 sprintf( chLine, 
"   Induced recombination cooling was %.1f%% of the total.", 
 
 1863                 sprintf( chLine, 
"  !Free-free heating was %.1f%% of the total.", 
 
 1869                 sprintf( chLine, 
"   Free-free heating was %.1f%% of the total.", 
 
 1877                 sprintf( chLine, 
"   H- absorption heating was %.1f%% of the total.", 
 
 1885                 sprintf( chLine, 
"   Water destruction rate zero." );
 
 1895         for( nelem=0; nelem<
LIMELM; ++nelem )
 
 1923                         "  !Some hydrogenic lines mased, species was %2s%2ld, smallest tau was %.2e, transition %li-%li", 
 
 1925                         isav+1,small, imas , j );
 
 1932                 sprintf( chLine, 
"  !Some opacities were negative - the SET NEGOPC command will save which ones." );
 
 1940         for( nelem=0; nelem<
LIMELM; ++nelem )
 
 1959                 sprintf( chLine, 
"  !Some hydrogenic (%2s%2ld) continua optical depths were negative; smallest=%.2e level=%3ld", 
 
 1984                 sprintf( chLine, 
"  !Some continuous optical depths <0.  The lowest freq was %.3e Ryd, and a total of%4ld", 
 
 1987                 sprintf( chLine, 
"  !The smallest optical depth was %.2e", 
 
 1995                 sprintf( chLine, 
"   The Balmer continuum optical depth was %.2e.", 
 
 2003                 sprintf( chLine, 
"   The Lyman continuum stimulated emission correction to optical depths reached %.2e.", 
 
 2009                 sprintf( chLine, 
"   The Balmer continuum stimulated emission correction to optical depths reached %.2e.", 
 
 2018                         "   The Paschen continuum optical depth was %.2e.", 
 
 2027                         "   The continuum optical depth at the lowest energy considered (%.3e Ryd) was %.3e.", 
 
 2037                         "   The optical depth to Rayleigh scattering at 1300A is %.2e", 
 
 2045                         "  !The optical depth to the H2+ molecular ion is %.2e", 
 
 2052                         "   The optical depth to the H2+ molecular ion is %.2e", 
 
 2061                         "  !Optical depth to negative hydrogen ion is %.2e", 
 
 2068                         "   Optical depth to negative hydrogen ion is %.2e", 
 
 2077                         "  !Incident radiation field energy density is less than 2.7K.  Add background with CMB command." );
 
 2085                         "  !The CMB was not included.  This is added with the CMB command." );
 
 2093                         "  !The intensity of the incident radiation field is less than 10 times the Habing diffuse ISM field.  Is this OK?" );
 
 2096                         "  !   Consider adding diffuse ISM emission with TABLE ISM command." );
 
 2107                         sprintf( chLine, 
"  !The C/O abundance ratio, %.1f, is greater than unity.  The chemistry will be carbon dominated.", 
 
 2113         bool lgLots_of_moles = 
false;
 
 2114         bool lgLotsSolids = 
false;
 
 2122                                 sprintf( chLine, 
"  !The fraction of %s in %s reached %.1f%% at some point in the cloud.", 
 
 2127                                 lgLots_of_moles = 
true;
 
 2130                                         lgLotsSolids = 
true;
 
 2134                                 sprintf( chLine, 
"   The fraction of %s in %s reached %.2f%% at some point in the cloud.", 
 
 2139                                 lgLots_of_moles = 
true;
 
 2142                                         lgLotsSolids = 
true;
 
 2146                                 sprintf( chLine, 
"   The fraction of %s in %s reached %.3f%% at some point in the cloud.", 
 
 2153                                         lgLotsSolids = 
true;
 
 2159         if( lgLots_of_moles )
 
 2169                                         " C-Molecules are important, but %s, part of the chemistry network, is turned off.", 
 
 2175                                 for( i=NUM_HEAVY_MOLEC+NUM_ELEMENTS; i<NUM_COMOLE_CALC; ++i )
 
 2181                                                         " C-Molecules are important, but %s, part of the chemistry network, is turned off.", 
 
 2194                 sprintf( chLine, 
"  !A significant amount of molecules condensed onto grain surfaces." );
 
 2196                 sprintf( chLine, 
"  !These are the molecular species with \"grn\" above." );
 
 2203                 sprintf( chLine, 
"  !The cloud is optically thick at optical wavelengths, extending to %.3e Ryd =%.3eA", 
 
 2209                 sprintf( chLine, 
"   The continuum of the computed structure may be optically thick in the near infrared." );
 
 2216                 sprintf( chLine, 
"   Is an outer radius of %.2e reasonable?", 
 
 2224                 sprintf( chLine, 
"   Laser maser optical depths capped in RT_line_one_tauinc." );
 
 2231                 sprintf( chLine, 
"  !Line maser set zone thickness in some zones." );
 
 2240                 sprintf( chLine, 
"   Radiation pressure kept below gas pressure on this iteration." );
 
 2249                                 "  !The ratio of radiation to gas pressure reached %.2e at zone %li.  Caused by Lyman alpha.", 
 
 2257                                 "  !The ratio of radiation to gas pressure reached %.2e at zone %li.  " 
 2258                                 "Caused by line number %ld, label %s", 
 
 2272                                 "   The ratio of radiation to gas pressure reached %.2e at zone %li.  Caused by Lyman alpha.", 
 
 2280                                 "   The ratio of radiation to gas pressure reached %.2e at zone %li.  " 
 2281                                 "Caused by line number %ld, label %s", 
 
 2292                 sprintf( chLine, 
" W-The model is optically thick to electron " 
 2293                         "scattering; tau=%.2e  Cloudy is NOT intended for this regime.", 
 
 2299                 sprintf( chLine, 
" C-The model is moderately optically thick to electron scattering; tau=%.1f", 
 
 2305                 sprintf( chLine, 
"  !The model has modest optical depth to electron scattering; tau=%.2f", 
 
 2311                 sprintf( chLine, 
"   The optical depth to electron scattering is %.3f", 
 
 2317         if( 
HFLines[0].Emis().TauIn() > 0.5 )
 
 2319                 sprintf( chLine, 
"  !The optical depth in the H I 21 cm line is %.2e",
HFLines[0].Emis().TauIn() );
 
 2328                 sprintf( chLine, 
"  !The level2 lines are disabled.  UV pumping of excited levels within ground terms is not treated." );
 
 2333         for( nelem=0; nelem < 
LIMELM; nelem++ )
 
 2349                                                 " C-This is the last iteration and %2s%2ld Bal(a) optical depth" 
 2350                                                 " changed by %.1f%% (was %.2e). Use the ITERATE command to do more iterations.",
 
 2371                                                         " C-This is the last iteration and %2s%2ld Ly(a) optical depth" 
 2372                                                         " changed by %.1f%% (was %.2e). Use the ITERATE command to do more iterations.",
 
 2386                 sprintf( chLine, 
" C-R(out)/R(in)=%.2e and SPHERE was not set.", 
 
 2401                                 sprintf( chLine, 
" C-The H Lyman continuum is thin, and I assumed" 
 2402                                         " that it was thick.  Use the ITERATE command to do more iterations." );
 
 2415                                         " C-The He II continuum is thin and I assumed that it was thick." 
 2416                                         "  Use the ITERATE command to do more iterations." );
 
 2428                                         " C-The He I continuum is thin and I assumed that it was thick." 
 2429                                         "  Use the ITERATE command to do more iterations." );
 
 2441                         fprintf( 
ioQQQ, 
" colden_old is insane in PrtComment.\n" );
 
 2449                 if( differ > 0.1 && differ <= 0.3 )
 
 2452                                 "   The H column density changed by %.2e%% between this and previous iteration.", 
 
 2457                 else if( differ > 0.3 )
 
 2462                                         " C-The H column density changed by %.2e%% and this is the last iteration.  What happened?", 
 
 2469                                         "  !The H column density changed by %.2e%%  What happened?", 
 
 2481                         if( differ > 0.1 && differ <= 0.3 )
 
 2484                                         "   The H2 column density changed by %.2e%% between this and previous iteration.", 
 
 2489                         else if( differ > 0.3 )
 
 2494                                                 " C-The H2 column density changed by %.2e%% and this is the last iteration.  What happened?", 
 
 2501                                                 "  !The H2 column density changed by %.2e%%  What happened?", 
 
 2517                 sprintf( chLine, 
" C-This is the last iteration, radiation pressure was significant, and the L-a optical depth changed by %7.2f%% (was %.2e)", 
 
 2528                 sprintf( chLine, 
" C-The Lya optical depth scale was overrun and this is the last iteration - Tspin(21 cm) is not valid." );
 
 2530                 sprintf( chLine, 
" C-Another iteration is needed for Tspin(21 cm) to be valid.  Use the ITERATE command." );
 
 2537                 sprintf( chLine, 
"   Line radiation pressure capped by thermalization length." );
 
 2547                         long _o = sprintf( chLine, 
"   There were %ld minor temperature failures.  zones:", 
 
 2551                         for( i=0; i < nline; i++ )
 
 2553                                 _o += sprintf( chLine+_o, 
" %ld", 
conv.
ifailz[i] );
 
 2560                                 "  !There were %ld temperature failures, and some were large. The largest was %.1f%%.  What happened?", 
 
 2566                         long _o = sprintf( chLine , 
"  !The zones were" );
 
 2567                         for( i=0; i < nline; i++ )
 
 2569                                 _o += sprintf( chLine+_o, 
" %ld", 
conv.
ifailz[i] );
 
 2575                                 sprintf( chLine, 
"  !I think they may have been caused by the change from hot to nebular gas phase.  The physics of this is unclear." );
 
 2584         for( i=1; i < 
nzone; i++ )
 
 2587                 if( big > big_ion_jump )
 
 2594         if( big_ion_jump > 0.2 )
 
 2604                 if( big_ion_jump > 0.4 )
 
 2606                         sprintf( chLine, 
" C-A temperature discontinuity occurred at zone %ld from %.2eK to %.2eK.", 
 
 2615                                 sprintf( chLine, 
" C-This was probably due to a thermal front." );
 
 2619                 else if( big_ion_jump > 0.2 )
 
 2621                         sprintf( chLine, 
"  !A temperature discontinuity occurred at zone %ld from %.2eK to %.2eK.", 
 
 2630                                 sprintf( chLine, 
"  !This was probably due to a thermal front." );
 
 2643                         sprintf( chLine, 
" W-The local error in the electron density reached %.1f%% at zone %ld", 
 
 2649                         sprintf( chLine, 
" C-The local error in the electron density reached %.1f%% at zone %ld", 
 
 2655                         sprintf( chLine, 
"   The local error in the electron density reached %.1f%% at zone %ld", 
 
 2664         for( i=1; i < (nzone - 1); i++ )
 
 2673                 if( rel < 0. && 
MIN2( bigm , big ) > big_ion_jump )
 
 2676                         big_ion_jump = 
MIN2( bigm , big );
 
 2680         if( big_ion_jump > 0.1 )
 
 2690                 if( big_ion_jump > 0.3 )
 
 2693                                 " C-A temperature oscillation occurred at zone%4ld by%5.0f%% from %.2e to %.2e to %.2e", 
 
 2697                 else if( big_ion_jump > 0.1 )
 
 2700                                 "  !A temperature oscillation occurred at zone%4ld by%5.0f%% from %.2e to %.2e to %.2e", 
 
 2711                 for( i=1; i < (nzone - 1); i++ )
 
 2719                         if( big*bigm < 0. && 
 
 2741                                 sprintf( chLine, 
" C-An electron density oscillation occurred at zone%4ld by%5.0f%% from %.2e to %.2e to %.2e", 
 
 2748                                 sprintf( chLine, 
"  !An electron density oscillation occurred at zone%4ld by%5.0f%% from %.2e to %.2e to %.2e", 
 
 2767         i = 
cdLine( 
"Unit" , 1 , &rate , &absint );
 
 2791         error = fabs(VolComputed - VolExpected)/
SDIV(VolExpected);
 
 2801         if( error > 0.001 && !
lgAbort )
 
 2804                         " W-PrtComment insanity - Line unit integration did not verify \n");
 
 2807                         " PROBLEM PrtComment insanity - Line unit integration did not verify \n");
 
 2809                         " expected, derived vols were %g %g \n",
 
 2810                         VolExpected , VolComputed );
 
 2812                         " relative difference is %g, ratio is %g.\n",error,VolComputed/VolExpected);
 
 2844         ASSERT( ConExpected > 0. );
 
 2847         error = fabs(ConComputed - ConExpected)/ConExpected;
 
 2862         if( error > 0.001 && !
lgAbort)
 
 2865                         " W-PrtComment insanity - Continuum unit integration did not verify \n");
 
 2867                 fprintf( 
ioQQQ,
" PROBLEM PrtComment insanity - Continuum unit integration did not verify \n");
 
 2868                 fprintf( 
ioQQQ,
" exact vol= %g, derived vol= %g relative difference is %g \n",
 
 2869                         ConExpected , ConComputed ,error);
 
 2876         cdNwcns(&lgAbort_flag,&nw,&nc,&nn,&ns,&i,&j,&dum1,&dum2);
 
 2937                         fprintf(
ioQQQ,
"PROBLEM: Ca II, the species defined by nelem = %i and ion = %i could not be found.\n",
ipCALCIUM,2);
 
 2942                 static bool lgRunOnce = 
true;
 
 2947                                 if( it->ipLo()+1 == 1 && it->ipHi()+1 == 5)
 
 2955                 realnum ca2_3969_TauIn = it->Emis().TauIn();
 
 2957                 if( ca2_3969_TauIn > 0. &&
 
 2961                         conca = sqrt(6.1e-5*ca2_3969_TauIn);
 
 2962                         conalog = log((
double)ca2_3969_TauIn);
 
 2963                         conalog = sqrt(
MAX2(1., conalog));
 
 2964                         conca = 
MAX2(conalog,conca);
 
 2967                         conalog = sqrt(
MAX2(1.,conalog));
 
 2969                         conhe = 
MAX2(conalog, conhe);
 
 2971                         *totwid = 10.*conhe + 1.6*conca;
 
 2986         double BigOscillation ,
 
 2998         nzone_oscillation = 0;
 
 3005                         for( ion=0; ion<=nelem+1; ++ion) 
 
 3007                                 BigOscillation = 0.;
 
 3008                                 big_ion_jump = -15.;
 
 3027                                                 if( rel < 0. && 
MIN2( bigm , big ) > BigOscillation )
 
 3029                                                         nzone_oscillation = i;
 
 3030                                                         BigOscillation = 
MIN2( bigm , big );
 
 3039                                                 if( rel > big_ion_jump )
 
 3049                                 if( BigOscillation > 0.2 )
 
 3052                                         if( nzone_oscillation < 1 )
 
 3054                                                 fprintf( 
ioQQQ, 
" nzone_oscillation too small bigjump2 check\n" );
 
 3058                                         if( BigOscillation > 3. )
 
 3061                                                         " W-An ionization oscillation occurred at zone %ld, elem %.2s%2li, by %.0f%% from %.2e to %.2e to %.2e", 
 
 3064                                                         BigOscillation*100., 
 
 3071                                         else if( BigOscillation > 0.7 )
 
 3074                                                         " C-An ionization oscillation occurred at zone %ld, elem %.2s%2li, by %.0f%% from %.2e to %.2e to %.2e", 
 
 3077                                                         BigOscillation*100., 
 
 3083                                         else if( BigOscillation > 0.2 )
 
 3086                                                         "  !An ionization oscillation occurred at zone %ld, elem %.2s%2li, by %.0f%% from %.2e to %.2e to %.2e", 
 
 3089                                                         BigOscillation*100., 
 
 3099                                 big_ion_jump = 
exp10( big_ion_jump );
 
 3100                                 if( big_ion_jump > 1.5 && nzone_ion_jump > 0 )
 
 3102                                         if( big_ion_jump > 10. )
 
 3105                                                         " C-An ionization jump occurred at zone %ld, elem %.2s%2li, by %.0f%% from %.2e to %.2e to %.2e", 
 
 3117                                                         "  !An ionization jump occurred at zone %ld, elem %.2s%2li, by %.0f%% from %.2e to %.2e to %.2e", 
 
 3141                 if( rel > big_jump )
 
 3149         big_jump = 
exp10(  big_jump );
 
 3150         if( big_jump > 1.2 )
 
 3155                                 " C-The H density jumped at by %.0f%% at zone %ld, from %.2e to %.2e to %.2e", 
 
 3166                                 "  !An H density jump occurred at zone %ld, by %.0f%% from %.2e to %.2e to %.2e", 
 
 3189                 if( rel > big_jump )
 
 3200                 big_jump = 
exp10(  big_jump );
 
 3201                 if( big_jump > 1.2 )
 
 3208                                         " C-The radiation pressure jumped by %.0f%% at zone %ld, from %.2e to %.2e to %.2e", 
 
 3219                                         "  !The radiation pressure jumped by %.0f%% at zone %ld, from %.2e to %.2e to %.2e", 
 
 3298                         " C-The temperature varied by %.1f%% between two zones", 
 
 3305                         "  !The temperature varied by %.1f%% between two zones", 
 
 3313                         " C-The electron density varied by %.1f%% between two zones", 
 
 3320                         "  !The electron density varied by %.1f%% between two zones", 
 
 3328                         " C-The H2 density varied by %.1f%% between two zones", 
 
 3335                         "  !The H2 density varied by %.1f%% between two zones", 
 
 3343                         " C-The CO density varied by %.1f%% between two zones", 
 
 3350                         "  !The CO density varied by %.1f%% between two zones", 
 
 3358                         "  !Isotropic continuum subtraction significantly" 
 3359                         " affects line intensities" );
 
void bangin(const char *chLine)
t_mole_global mole_global
void cdNotes(FILE *ioOUT)
string chLineLbl(const TransitionProxy &t)
NORETURN void TotalInsanity(void)
char chCoolHeatMax[NCOLNT_LAB_LEN+1]
char chNotConverged[INPUT_LINE_LENGTH]
void cdCautions(FILE *ioOUT)
bool lgTimeDependentStatic
void cdWarnings(FILE *ioPNT)
TransitionList HFLines("HFLines",&AnonStates)
realnum colden_old[NCOLD]
bool lgTemperatureConstant
bool lgHCaseBOK[2][HS_NZ]
molezone * findspecieslocal(const char buf[])
char chRgcln[2][INPUT_LINE_LENGTH]
TransitionList TauLine2("TauLine2",&AnonStates)
double anu(size_t i) const 
static t_version & Inst()
t_elementnames elementnames
t_iso_sp iso_sp[NISO][LIMELM]
void warnin(const char *chLine)
bool lgCoStarInterpolationCaution
long int n_HighestResolved_local
bool lgBallistic(void) const 
bool lgOpticalDepthonverged
bool lgdBaseSourceExists[LIMELM][LIMELM+1]
const double TEMP_STOP_DEFAULT
vector< two_photon > TwoNu
double frac_he0dest_23S_photo
EmissionList::reference Emis() const 
molecule * findspecies(const char buf[])
const TransitionProxy FndLineHt(long int *level)
valarray< class molezone > species
const int INPUT_LINE_LENGTH
void notein(const char *chLine)
double powi(double, long int)
diatomics h2("h2", 4100.,&hmi.H2_total, Yan_H2_CS)
realnum wlAirVac(double wlAir)
double column(const genericState &gs)
char chElementNameShort[LIMELM][CHARS_ELEMENT_NAME_SHORT]
multi_arr< long, 3 > QuantumNumbers2Index
bool lgCritDensLMix[NISO]
TransitionProxy trans(const long ipHi, const long ipLo)
char chElementSym[LIMELM][CHARS_ELEMENT_SYM]
realnum gas_phase[LIMELM]
long int cdLine(const char *chLabel, realnum wavelength, double *relint, double *absint)
vector< vector< long > > ipSpecIon
#define DEBUG_ENTRY(funcname)
char chReasonStop[nCHREASONSTOP]
void cdSurprises(FILE *ioOUT)
void cdNwcns(bool *lgAbort_ret, long int *NumberWarnings, long int *NumberCautions, long int *NumberNotes, long int *NumberSurprises, long int *NumberTempFailures, long int *NumberPresFailures, long int *NumberIonFailures, long int *NumberNeFailures)
int fprintf(const Output &stream, const char *format,...)
void cdReasonGeo(FILE *ioOUT)
sys_float SDIV(sys_float x)
bool lgStatic(void) const 
char chElementName[LIMELM][CHARS_ELEMENT_NAME]
t_secondaries secondaries
vector< TransitionList > dBaseTrans
const double DEPTH_OFFSET
long int nCollapsed_local
void caunin(const char *chLine)
realnum * pres_radiation_lines_curr