Table from data in 'sortsrc.list'
Filename Subroutine Description
aaaa.cAAAAAroutine keeping track of version numbers
abundances.cAbundancesPrtprint all abundances, both gas phase and grains
abundances.cAbundancesSetsets initial abundances after parameters are entered by reading input
abundances.cAbundancesTableinterpolate on table of points to do 'element table' command,
abundances.cPrtElemprint chemical composition at start of calculation
agecheck.cAgeCheckcheck various timescales after calculation complete to confirm time steady OK
amoeba.coptimize_amoebaroutine for optimizing model parameters
assertresults.cInitAssertResults this must be called first, done at startup of ParseCommands
assertresults.clgCheckAsserts checks asserts, last thing cloudy calls, returns TRUE if all are ok, FALSE if problems
assertresults.cParseAssertResults- parse input stream
atlas.cAtlasCompilerebin Kurucz stellar models to match energy grid of code
atlas.cAtlasGetOneget one of the Atlas model atmospheres, coded by K. Volk
atlas.cAtlasInterpolateinterpolate on atlas model atmospheres, by K Volk
atomfeii.cAssertFeIIDepcalled by assert feii depart coef command
atomfeii.cFeIIAccelcalled by rt_line_driving to compute radiative acceleration due to FeII lines
atomfeii.cFeIIAddLinessave accumulated FeII intensities called by lineset4
atomfeii.cFeIIBandsCreatereturns number of feii bands
atomfeii.cFeIICollStrengthmake up collision data for feii
atomfeii.cFeIIContCreatecreate FeII continuum bins to add lines into ncell cells between wavelengths lambda low and high, returns number of cells used
atomfeii.cFeIICreateread in needed data from file convert form of feii data, as read in from file within routine FeIICreate into physical form. called by atmdat_readin
atomfeii.cFeIIEmitOutadd large FeII emission to outward beam - called once per zone in RT_diffuse
atomfeii.cFeIIIntenZerozero out intensity of FeII atom
atomfeii.cFeIILyaPumpfind rate of Lya excitation of the FeII atom
atomfeii.cFeIIOvrLaphandle overlapping FeII lines
atomfeii.cFeIIPointcalled by ContCreatePointers to create pointers for lines in large FeII atom
atomfeii.cFeIIPrintprint feii information
atomfeii.cFeIIPrintprint output from large feii atom, called by prtzone
atomfeii.cFeIIPun1Departsend the departure coef for physical level nPUN to unit ioPUN
atomfeii.cFeIIPunchLinespunch feii lines at end of calculation, if punch verner set, called by dopunch
atomfeii.cFeIIPunchLineStuffinclude FeII lines in punched optical depths, etc, called from PunchLineStuff
atomfeii.cFeIIPunDatapunch line data
atomfeii.cFeIIPunDepartpunch some departure coef for large atom, set with punch feii departure command
atomfeii.cFeIIResetreset some variables, called by zero
atomfeii.cFeIIRTMakecalled by RT_line_all, does large FeII atom radiative transfer
atomfeii.cFeII_OTSdo ots rates for FeII, called by RT_OTS
atomfeii.cFeIIRTOutdo outward rates for FeII, called by RT_diffuse
atomfeii.cFeIISumBandsum up large FeII emission over certain bands, called in lineset4
atomfeii.cFeIITauAverreset optical depths for large FeII atom, called by update after each iteration
atomfeii.cFeIITauInccalled once per zone in RT_Tau_inc to increment large FeII atom line optical depths
atomfeii.cFeIIZeroinitialize some variables, called by zero one time before commands parsed
atomfeii.cFeII_LineZerozero out storage for large FeII atom, called by tauout
atomfeii.cParseAtomFeIIparse the atom FeII command
atomfeii.cpop371 main feii routine, called by CoolIron to evaluate iron cooling
atomseqberyllium.cAtomSeqBerylliumcompute level populations and emissivity for Be-sequence ions
atomseqboron.cAtomSeqBoroncompute cooling from 5-level boron sequence model atom
atom_oi.catom_oidrive the solution of OI level populations, Ly-beta pumping
atom_oi.coi_level_popsget OI level population with Ly-beta pumping
aver.cavercompute average of various quantities over the computed geometry called by startenditer to initialize, radinc to increment, and prtfinal for final results
bidiag.cion_solversolve the bi-diagonal matrix for ionization balance
cddrive.ccdCautionsprint out all cautions after calculation, on arbitrary io unit
cddrive.ccdClosePunchFilescloses all the punch files that have been used
cddrive.ccdColmget the column density for a constituent
cddrive.ccdDate- puts date of code into string
cddrive.ccdDLineget the predicted emergent line intensity, also index for line in stack
cddrive.ccdDrivemain routine to call cloudy under all circumstances)
cddrive.ccdDrivemain routine to call cloudy under all circumstances)
cddrive.ccdEmsobtain the local emissivity for a line, for the last computed zone
cddrive.ccdEms_ipobtain the local emissivity for a line with known index
cddrive.ccdErrorsproduce summary of all warnings, cautions, etc, on arbitrary io unit
cddrive.ccdExecTimeany routine can call this, and find the time since cdInit was called ) prints all input commands into file
cddrive.ccdGetCooling_lastroutine to query results and return cooling of last zone
cddrive.ccdGetDepth_depthget depth structure from previous iteration
cddrive.ccdGetHeating_lastroutine to query results and return heating of last zone
cddrive.ccdGetnZonegets number of zones
cddrive.ccdGetPressure_lastroutine to query results and return pressure of last zone
cddrive.ccdGetTemp_lastroutine to query results and return temperature of last zone
cddrive.ccdIonFracget ionization fractions for a constituent
cddrive.ccdLineget the predicted line intensity, also index for line in stack
cddrive.ccdLineListPunchcreate a file with a list of all emission lines punched, and their index within the emission line stack
cddrive.ccdLine_ipget the predicted line intensity, using index for line in stack
cddrive.ccdNoExeccall this routine to tell code not to actually execute
cddrive.ccdNotesprint stack of notes about current calculation
cddrive.ccdNwcnsget the number of cautions and warnings, to tell if calculation is ok
cddrive.ccdOutpredirect output to arbitrary Fortran unit number
cddrive.ccdPrtWLprint line wavelengths in Angstroms in the standard format - just a wrapper
cddrive.ccdReadroutine to read in command lines when cloudy used as subroutine
cddrive.ccdReasonGeowrte why the model stopped and type of geometry on io file
cddrive.ccdSurprisesprint out all surprises on arbitrary unit number
cddrive.ccdTalktells the code whether to print results or be silent
cddrive.ccdTempget mean electron temperature for any element
cddrive.ccdTimescalesreturns thermal, recombination, and H2 foramtion timescales
cddrive.ccdVersionproduces string that gives version number of the code
cddrive.ccdWarningswrite all warnings entered into comment stack
cddrive.cdebugLineprovides a debugging hook into the main line array
cdgetlinelist.ccdGetLineListroutine to read in master list of emission line wavelengths and ids, for generating loc grids, someday add cdGetNLRLineList
cdgett.ccdGettget input parameters from Cloudy header and predictions from body out output, used when analyzing stored output parameters are not converted from logs, results of this routine are as they appear on the header
cdinit.ccdEXITexit handler to terminate calculation, called at end of calculation
cdinit.ccdInitroutine to initialize variables, called at start of calculation
cdspec.ccdSPECreturns the spectrum needed for Keith Arnaud's XSPEC
cdspec.cSpec_contcalled by cdSPEC to generate actual spectrum
atmdat_coll_ion.catmdat_coll_ionD Verner's routine to compute collisional ionization rate coefficients
chargtran.cChargTranEvalfill in the HCharExcIon and Rec arrays with Kingdon's fitted CT with H
chargtran.cChargTranPun punch charge transfer coef
chargtran.cChargTranSumHeatsum net heating due to charge transfer, called in HeatSum
chargtran.cHCTIonH charge transfer ionization
chargtran.cHCTRecomH charge transfer recombination
chargtran.cMakeHCTDataholds data for charge tranfer fits
cloudy.cBadStartannounce that things are so bad the calculation cannot even start
cloudy.ccloudythe main routine, this IS Cloudy, ret 0 normal exit, 1 error exit, called by maincl when used as standalone program
cmshft.ccmshftcompute effects of comptonization
co.ccdCO_coldenreturn column density in H2, negative -1 if cannot find state, header is cddrive
co.cchangeto TRUE to turn on debug statements
co.cCO_drive- public routine, calls comole to converge molecules
co.ccomolefills in matrix for heavy elements molecular routines
co.cmolavaverage old and new molecular equilibrium balance from comole
co.cCO_PopsEmisCoolevaluate rotation levels populations, emission, and cooling
collidionize.cion_collisfill in collisional ionization rates, and resulting cooling
contcreatemesh.cChckFillperform sanity check confirming that the energy array has been properly filled
contcreatemesh.cContCreateMeshcalls fill to set up continuum energy mesh if first call, otherwise reset to original mesh
contcreatemesh.cfilldefine the continuum energy grid over a specified range
contcreatemesh.cread_continuum_meshread the continuum definition from the file continuum_mesh.dat
contcreatemesh.crfield_opac_mallocMALLOC space for opacity arrays
contcreatepointers.cContCreatePointersset up pointers for lines and continua called by cloudy after input read in and continuum mesh has been set
contcreatepointers.cfiddleadjust energy bounds of certain cells so that match ionization edges exactly
contnegative.cContNegativesanity check for negative continuum intensities
contpump.cContPumplocal continuum pumping rate radiative transfer for all lines
contpump.copfun routine used to get continuum pumping of lines used in ContPump in call to qg32
contpump.cvfunapproximate form of Voit function
contsetintensity.cconormnormalize continuum to proper intensity
contsetintensity.cContSetIntensityderive intensity of incident continuum
contsetintensity.cextindo extinction of incident continuum as set by extinguish command
contsetintensity.cpintrintegrates L for any continuum between two limits, used for normalization
contsetintensity.cptrcershow continuum pointers in real time following drive pointers command
contsetintensity.cqintrintegrates Q for any continuum between two limits, used for normalization
contsetintensity.csumconsums L and Q for net incident continuum
convedenioniz.cConvEdenIonizcalled by ConvTempIonz, calls ConvIoniz solving for eden
convedenioniz.ceden_sumsum free electron density over all species, sets variable erredn.EdenTrue called by ConvEdenIoniz which actually controls the electron density updates
convedenioniz.clgConvEdenreturns true if electron density is converged
convinittemp.cConvInitTempdrive search for initial temperature, for illuminated face
convioniz.cConvIonizcalled by ConvEdenIonz, it calls ConvIonizeOpacityDo until converged
convionizeopacitydo.cConvIonizeOpacityDomain routine to drive ionization solution for all species, find total opacity called by ConvIoniz
convionizeopacitydo.ceden_sumsum free electron density over all species, sets variable erredn.EdenTrue called by ConvEdenIoniz which actually controls the electron density updates
convionizeopacitydo.clgConvergcheck whether ionization of element nelem has converged
convprestempedenioniz.cConvFailhandle conergece failure
convprestempedenioniz.cConvPresTempEdenIonizsolve for current pressure, calls PressureChange, ConvTempEdenIonize, called by cloudy
convtempedenioniz.cConvTempEdenIonizdetermine temperature, called by ConPresTempEdenIoniz, calls ConvEdenIoniz to get electron density and ionization
convtempedenioniz.cCoolHeatErrorevaluate ionization, and difference in heating and cooling, for temperature temp
convtempedenioniz.clgConvTempreturns true if heating-cooling is converged
convtempedenioniz.cMakeDerivderive numerical derivative of heating minus cooling
convtempedenioniz.cPutHetColsave heating, cooling, and temperature in stack for numerical derivatives
coolalum.cCoolAlumcompute aluminum cooling
coolargo.cCoolArgocompute argon cooling
coolcalc.cCoolCalccompute calcium cooling
coolcarb.cCoolCarbevaluate total cooling due to carbon
coolchlo.cCoolChlocompute chlorine cooling
coolchro.cCoolChrocompute chromium cooling
coolcoba.cCoolCobacompute cobalt cooling
cooldima.cColStrGBargenerate g-bar collision strengths for level 2 line2
cooldima.cCoolDimacompute cooling due to level 2 lines
coolfluo.cCoolFluoevaluate total cooling due to fluorine
cooling.cCoolAddadd coolants to the cooling stack, called in evaluation of cooling function
cooling.cCoolSum total cooling from all entries into cooling stack
cooling.cCoolZeroset cooling and heating stack to zero
cooliron.cCoolIroncompute iron cooling
cooliron.cfe14cscompute collision strengths for forbidden transitions
cooliron.cFe2Lev16compute populations and cooling due to 16 level Fe II ion
cooliron.cFe4Lev12compute populations and cooling due to 12 level Fe IV ion
coolmagn.cCoolMagncompute magnesium cooling
coolmang.cCoolMangcompute manganese cooling
coolneon.cCoolNeonevaluate total cooling due to neon
coolnick.cCoolNickcompute nickel cooling
coolnitr.cCoolNitrevaluate total cooling due to nitrogen
cooloxyg.cCoolOxygevaluate total cooling due to oxygen
coolphos.cCoolPhoscompute phosphorus cooling
coolpota.cCoolPotacompute potassium cooling
coolpr.ccoolprstores coolants before block printed, when printing cooling agents
coolr.ccoolrmain routine to call others, to evaluate total cooling
coolscan.cCoolScancompute scandium cooling
coolsili.cCoolSilicompute silicon cooling
coolsodi.cCoolSodicompute sodium cooling
coolsulf.cCoolSulfcompute sulphur cooling
coolsulf.cS2cscompute [sii] collision strengths compute collision strengths for [SII] transitions w/in S II ground term. From >>refer s2 cs Ramsbottom, C.A., Bell, K.L., Stafford, R.P. 1996, At. Data Nucl. Data Tables, 63, 57
cooltita.cCoolTitacompute titanium cooling
coolvana.cCoolVanacompute vanadium cooling
coolzinc.cCoolZinccompute zinc cooling
costar.cCoStarCompilerebin costar stellar atmospheres to match cloudy energy grid, called by the compile stars command
costar.cCoStarInterpolateread in and interpolate on costar grid of windy O atmospheres
crashdo.cCrashDoany of several tests to check that the code can crash
createdata.catmdat_readinread in some data files, but only if this is very first call, called by Cloudy
dielsupres.catmdat_DielSupresderive scale factors for suppression of Burgess dielectronic recombination
dooptimize.coptimize_domain driver for optimization runs
atmdat_dielrec_fe.catmdat_dielrec_feDielectronic recombination rates for Fe from Arnaud & Raymond 1992
dynamics.cDynaCreateArraysallocate some space needed to save the dynamics structure variables, called from DynaCreateArrays
dynamics.cDynaEndItercalled at end of iteration when advection is turned on
dynamics.cDynaEndZonecalled at end of zone calculation when advection is turned on
dynamics.cDynaIonize called from ionize to evaluate advective terms for current conditions
dynamics.cDynaPresChngFactor called from PressureChange to evaluate new density needed for current conditions and wind solution, returns ratio of new to old density
dynamics.cDynaPrtZone- called to print zone results
dynamics.cDynaPunchpunch info related to advection
dynamics.cDynaStartZonecalled at start of zone calculation when advection is turned on
dynamics.cDynaZerozero some dynamics variables, called from zero.c
expion.cexpionVERY simple two level cooling, do de-excitation or transfer, complete removal of this routine is high on the to-do list
fabden.cfabdencalled by dlaw command, returns density for any density law
atoms_fe2ovr.catoms_fe2ovrcompute FeII overlap with Lya
atoms_fe2ovr.cfe2parevaluate FeII partition function
atoms_fe2ovr.cFe2_ovr_DataInitstoring energy levels for Fred's FeII ground
ffun.cffunevaluate total flux for sum of all continuum sources
ffun.cffun1derive flux at a specific energy, for one continuum
ffun.cReadSB99called to work the table starburst command
ffun.cReadTablecalled by TABLE READ to read in continuum from PUNCH TRANSMITTED CONTINUUM
atom_pop5.catom_pop5do five level atom population and cooling
fndlineht.cFndLineHtsearch through line heat arrays to find the strongest heat source
rt_line_driving.crt_line_drivingderive radiative acceleration due to line absorption of incident continuum
optimize_func.coptimize_funcactual function called during evaluation of optimization run
gammas.cGammaBnevaluate photoionization rate for single shell with induced recomb
gammas.cGammaBnPLevaluate photoionization rate for single shell with induced recomb
gammas.cGammaKevaluate photoionization rate for single shell
gammas.cGammaPLevaluate photoionization rate for power law photo cross section
gammas.cGammaPrtspecial version of gamma function to print strong contributors
gammas.cGammaPrtRateprint photo rates for all shells of a ion and element
grain.cgrainmain routine to converge grains thermal solution
h2.ccdH2_coldenreturn column density in H2, negative -1 if cannot find state, header is cddrive
h2.cH2_Accelradiative acceleration due to H2
h2.cH2_Coldenmaintain H2 column densities within X
h2.cH2_ContPointset the ipCont struc element for the H2 molecule, called by ContCreatePointers
h2.cH2_coolingevaluate cooling and heating due to H2 molecule
h2.cH2_Createcreate H2 molecules, called by ContCreatePointers after continuum mesh is set up
h2.cH2_DRchoose next zone thickness based on H2 big molecule
h2.cH2_InterEnergyinternal energy of H2 called in PresTotCurrent
h2.cH2_LevelPopsdo level populations for H2, called by Hydrogenic
h2.cH2_Level_lowJevaluate CO rotation cooling
h2.cH2_LinesAddadd in explicit lines from the large H2 molecule, called by lines_molecules
h2.cH2_LineZeroinitialize optical depths in H2, called from RT_tau_init
h2.cH2_ParseAtomparse information from the rotor command line
h2.cH2_ParsePunchparse the punch h2 command
h2.cH2_Prt_column_densityprint H2 column density, called from prtcolumns
h2.cH2_Prt_line_tauprint line optical depths, called from premet in response to print line optical depths command
h2.cH2_Prt_Zoneprint H2 info into zone results, called from prtzone for each printed zone
h2.cH2_PunchDopunch some properties of the large H2 molecule
h2.cH2_PunchLineStuffinclude H2 lines in punched optical depths, etc, called from PunchLineStuff
h2.cH2_RadPressrad pre due to h2 lines called in PresTotCurrent
h2.cH2_ReadCollRatesread transition probabilities
h2.cH2_ReadDissprobread dissociation probabilities and kinetic energies for all electronic levels
h2.cH2_ReadEnergiesread energies for all electronic levels
h2.cH2_ReadTransprobread transition probabilities
h2.cH2_Read_Cosmicray_distributionread distribution function for H2 population following cosmic ray collisional excitation
h2.cH2_Read_hminus_distributionread distribution function for H2 population following formation from H minus
h2.cH2_Resetcalled to reset variables that are needed after an iteration
h2.cH2_RTDiffusedo emission from H2 - called from RT_diffuse
h2.cH2_RTMakedo RT for H2 - called from RT_line_all
h2.cH2_TauAverthe large H2 molecule, called from RT_tau_reset
h2.cH2_TauIncincrement optical depth for the H2 molecule, called from RT_Tau_inc
h2.cH2_vib_distevaluates the vibration distribution for H2 formed on grains
h2.cH2_Zerozero out vars in the large H2 molecule, called from zero
h2.cTODOput in excited molecular dissociation from v >=4 as in hazy 2
heatpunch.cHeatPunchpunch contributors to local heating, with punch heat command
heatsum.cHeatSumevaluate heating and secondary ionization for current conditions
heatsum.cHeatZerois called by ConvIonizeOpacityDo
helike.cAGN_He1_CSroutine to punch table needed for AGN3 - collision strengths of HeI
helike.cAngerJ- used by scqdri
helike.cContinuumLowering- limit max prin. quan. no. due to continuum lowering processes
helike.ccross_section- calculates the photoionization cross_section for a given level and photon energy
helike.cdefect- calculate quantum defect.
helike.cDoFSMixing- applies a fine structure mixing approximation to A's. To be replaced by method that treats the entire rate matrix.
helike.cForbiddenAulscalculates transition probabilities for forbidden transitions.
helike.cHeCollidevaluate collisional rates
helike.cHeCreatecreate he-like series, called by ContCreatePointers
helike.cHelikeCheckRecomb- called by SanityCheck to confirm that recombination coef are ok, return value is relative error between new calculation of recom, and interp value
helike.cHeRecom- do recomb coef for He, called by HeLike
helike.che_1transcompute Aul for given line
helike.che_assign- assigns quantum numbers and indices to iso.quant_desig and QuantumNumbers2Index, respectively
helike.cHe_cross_sectionreturns cross section (cm^-2), given EgammaRyd, the photon energy in Ryd, ipLevel, the index of the level, 0 is ground, 3 within 2 3P, nelem is charge, equal to 1 for Helium this is a wrapper for cross_section
helike.che_energy- calculates energy of a given level.
helike.cHe_ParseAtomparse parameters off the helium command
helike.cHe_RRCoef_Teevaluated radiative recombination coef at some temperature
helike.cJint- used by scqdri
helike.corbit- produces orbit designations for output.
helike.cprintstuff- a few lines below, printflag determines what will be printed.
helike.cprt_He_like_DeparCoefroutine to print departure coefficients for he-like species
helike.cprt_He_like_Popsroutine to print level populations for he-like species
helike.cradrecomb- calculates radiative recombination coefficients.
helike.cRecomb_Seaton59- find recombination for given n,using Seaton 59 approximation. The following three are needed by Recomb_Seaton59: ExponentialInt X1Int X2Int
helike.cRecomInt- Integral in milne relation. Called by qg32.
helike.critoa- converts the square of the radial integral for a transition (calculated by scqdri) to the transition probability, Aul.
helike.cscqdri- stands for Semi-Classical Quantum Defect Radial Integral
helikelevel.cHeLevellevel populations
helike_cs.cAtomCSInterpdo the atom
helike_cs.cCS_l_mixing- find rate for l-mixing collisions by protons, for neutrals
helike_cs.cHeCSInterpinterpolate on He1 collision strengths
helike_cs.cIonCSInterpdo the ions
highen.chighendo high energy radiation field - gas interaction, Compton scattering, etc
hmole.c>> chng 02 nov 7 rjrw, Mole Moreliano: changes to linearized iterative form
hmole.caboutgenerating the in and out vectors from a text string, e.g. "H +
hmole.candnext to switch on the prints in the matrix assembly which apply to
hmole.cfromRobin Williams:
hmole.cH=> H2" ;-), but you'd have to verify uniqueness).
hmole.chmiratcompute radiative association rate for H-
hmole.chmoledetermine populations of hydrogen molecules
hmole.chmole_olddetermine populations of hydrogen molecules
hmole.ckindof naming scheme for the reactions may come in handy (I'd thought
hmole.cofa pain grepping down to find the 47th reaction, so I guess some
hmole.cswitchprintsol on to check which terms in the chemical matrix change,
hmole.cTheprocess for these kind of problems seems to be pretty uniform:
hmole.cthespecies involved to find what reactions are involved. It's a bit
hmrate.chmratecompile molecular rates using Hollenback and Mckee fits, called by hmole and comole
hpdata.catmdat_H_phot_cs-0 hydrogen cross sections
atmdat_hpfit.catmdat_hpfitstate specific photoionization cross sections for model hydrogen atom for any level up through NHYDRO_MAX_LEVEL defined 401L in cddefines.h
atmdat_H_rad_rec.catmdat_H_rad_reccalculates state-specific recombination rates for hydrogen and hydrogen-like ions
hsrate.catmdat_HS_caseB- interpolate on line emissivities from Storey & Hummer tables for hydrogen
hydrobranch.cHydroBranchcompute branching ratios for Jason Ferguson's model hydrogen atom
hydrocollid.cC6cs123line collision rates for lower levels of hydrogenic carbon, n=1,2,3
hydrocollid.cCa20cs123line collision rates for lower levels of hydrogenic calcium, n=1,2,3
hydrocollid.cFe26cs123line collision rates for lower levels of hydrogenic iron, n=1,2,3
hydrocollid.cH1cs123hydrogen collision data levels involving 1s,2s,2p,3.
hydrocollid.cHCSAR_interpinterpolate on collision strengths
hydrocollid.cHe2cs123line collision strengths for lower levels of helium ion, n=1,2,3, by K Korista
hydrocollid.cHydcs123Hydrogenic de-excitation collision rates n=1,2,3
hydrocollid.cHydroCollidevaluate collision rate for model hydrogen atom
hydrocollid.cNe10cs123line collision rates for lower levels of hydrogenic neon, n=1,2,3
hydroeinsta.cHydroEinstAcalculates Einstein A's from osillator strengths
hydrogenic.cHydrogenicmain routine to call HydroLevel and determine model hydrogen atom level balance
hydrolevel.cHydroLevelcalls HydroLevelPop or HydroT2Low to solve for ionization balance and level populations of model hydrogen atom
hydrolevelpop.cHydroLevelPopsolve for ionization balance level populations of model hydrogen atom
hydrooscilstr.cHydroOscilStrcomputes hydrogenic oscillator strengths, used in the function hdexct.
hydroreccool.cHydroRecCoolhydrogen recombination cooling, called by iso_cool
hydrorecom.cHydroRecomphotoionization, recombination, radiative rates for model hydrogen atom
hydrot2low.cHydroT2Lowcalled to do hydrogenic level populations when temp too low for matrix, forces total of level populations to add up to iso.xIonSimple[ipH_LIKE][nelem], so results of this routine will always agree with that value
hydro_bauman.c In this version, quantites that would normal cause a 64-bit floating point processor
hydro_bauman.c( or is it precision ). We use LOG_10 for convenience.
hydro_bauman.chvcalculates photon energy in ergs for n -> n' transitions for H and H-like ions
hydro_bauman.cH_Einstein_A_lincalculates Einstein A for any nlz
hydro_bauman.cH_photo_cs_linreturns hydrogenic photoionization cross section in cm-2
hydro_bauman.cotherversion begins to fail. The trade-off is, of course, lower accuracy
hydro_bauman.cThisallows us to use an upper principle quantum number `n' greater than which the
hydro_bauman.ctoeither underflow or overflow are evaluated using logs instead of floating point math.
hydro_vs_rates.cHion_colldeexc_cscollision strength for collisional de-excitation for any levels of hydrogenic Z
hydro_vs_rates.cHion_coll_ioniz_ratecoefcalculate hydrogenic ionization rates for ions with all n, and Z
hydro_vs_rates.chydro_vs_deexcitcompute collision strength for collisional deexcitation for hydrogen atom, from >>refer H1 collision Vriens, L., & Smeets, A.H.M. 1980, Phys Rev A 22, 940 hydro_vs_ioniz generate hydrogenic collisional ionization rate coefficients for quantum number n
hyperfine.cH21cmcomputes rate for H 21 cm from upper to lower excitation by atomic hydrogen
hyperfine.cH21cm_electroncomputes rate for H 21 cm from upper to lower excitation by electrons
hyperfine.ch21_t_ge_20computes rate for H 21 cm from upper to lower excitation by atomic hydrogen
hyperfine.ch21_t_lt_20computes rate for H 21 cm from upper to lower excitation by atomic hydrogen
hyperfine.cHyperfineCreatestablish space for hf arrays, reads atomic data from hyperfine.dat
hyperfine.cHyperfineCS- returns collision strengths for hyperfine struc transitions
hypho.chypho- create hydrogenic photoionization cross sections
atmdat_3body.cdainterpolate on three body recombination by Steve Cota
atmdat_3body.catmdat_3bodyderive three-body recombination coefficients
ionalumi.cIonAlumiionization balance for aluminum
ionargon.cIonArgoncompute ionization balance of argon
ionberyl.cIonBerylionization balance for beryllium
ionboron.cIonBoronionization balance for boron
ioncalci.cIonCalciperform ionization balance for calcium
ioncarbo.cIonCarbocompute ionization balance for carbon
ionchlor.cIonChlorionization balance for chlorine
ionchrom.cIonChromdo ionization balance for chromium
ioncobal.cIonCobaldo ionization balance for cobalt
ioncoppe.cIonCoppedo ionization balance for copper
ionfluor.cIonFluorcompute ionization balance for fluorine
ionhelium.cIonHeliumsolve ionization balance for helium
ioniron.cIonIronionization balance for iron
ionlithi.cIonLithicompute ionization balance for lithium
ionmagne.cIonMagneionization balance for magnesium
ionmanga.cIonMangaderive ionization balance for manganese
ionneon.cIonNeonionization balance for neon
ionnicke.cIonNickeionization balance for nickel
ionnitro.cIonNitroionization balance for nitrogen
ionoxyge.cIonOxygederive ionization balance for oxygen
ionphosi.cIonPhosiderive ionization balance for phosphorus
ionpotas.cIonPotascompute ionization equilibrium for Potassium
ionscand.cIonScanddo ionization balance for scandium
ionsilic.cIonSilicdetermine ionization balance of Silicon
ionsodiu.cIonSodiuionization balance for sodium
ionsulph.cIonSulphcompute ionization balance for sulphur
iontitan.cIonTitandetermine ionization balance for titanium
ionvanad.cIonVanaddo ionization balance for vanadium
ion_zero.cion_zerozero out heating save arrays
ionzinc.cIonZincionization balance for zinc
ipoint.cipContEnergygenerate unique pointer to energy within continuum array continuum energy in Rydbergs
ipoint.cipFineContreturns array index within fine energy mesh
ipoint.cipLineEnergygenerate unique pointer to line energy within energy mesh line energy in Rydbergs
ipoint.cipointreturns pointer to any energy within energy mesh
ipshells.cipShellsassign continuum energy pointers to shells for all atoms, called by ContCreatePointers
ipshells.cLimitShsets upper energy limit to subshell integrations
iso_cool.ciso_coolcompute net cooling due to hydrogenc atom species, ground state photoionization of hydrogenic species done in sumheat
iso_create.ciso_createcreate data for hydrogen and helium, 1 per coreload, called by ContCreatePointers in turn called after commands parsed
iso_create.ciso_zerozero data for hydrogen and helium
iso_photo.ciso_photodo photoionization rates for element nelem on the ipISO isoelectronic sequence
kurucz79.ckurucz79obtain interpolated Kurucz stellar atmosphere
atom_level2.catom_level2do level population and cooling for two level atom, side effects: set elements of EmLine struc cooling via CoolAdd( chLab, (long)t->WLAng , t->cool); cooling derivative ots rates RT_OTS_AddLine( t->ots , t->ipCont);
atom_level3.catom_level3compute three level atom, 10, 21, and 20 are line
leveln.catom_levelNcompute an arbitrary N level atom
lgendfun.clgEndFunafter each zone by Cloudy, determines whether model is complete
ligbar.cligbarobtain collision strength for any Li-sequence line
linefit.catmdat_rec_lineseffective recombination coefficients for lines of C, N, O, by D. Verner /
lines.cDrive_cdLinedo the drive cdLine command
lines.clinesmain routine to put emission line intensities into line stack, calls lineset1, 2, 3, 4
lines_continuum.clines_continuumput energetics, H, and He lines into line intensity stack
lines_general.cGetMaxhLinefind the strongest heating line
lines_general.clines_generalput general information and energetics into line intensity stack
lines_grains.clines_hydroput H-iso seq into line intensity stack
lines_helium.clines_heliumput energetics, H, and He lines into line intensity stack
lines_hydro.clines_hydroput H-iso seq into line intensity stack
lines_lv1_k_zn.clines_lv1_k_znplace lines of elements potatium and heavier into lines storage stack
lines_lv1_li_ne.clines_lv1_li_neplace lines of elements lithium through neon into lines storage stack n_ion for C, N, or O recombination lines from Dima's list, also zero's line in master stack so not entered second time in later dump of all rec lines
lines_lv1_na_ar.clines_lv1_na_arplace lines of elements sodium through argon into lines storage stack
lines_molecules.clines_moleculesput energetics, H, and He lines into line intensity stack
lines_service.cabscfconvert gf into absorption coefficient
lines_service.cchIonLbluse information in line array to generate a null terminated ion label in "Fe 2"
lines_service.cchLineLbluse information in line transfer arrays to generate a line label
lines_service.cDumpLineprint various information about an emission line vector, used in debugging, print to std out, ioQQQ
lines_service.ceinaconvert a gf into an Einstein A
lines_service.cemit_fracreturns fraction of populations the produce emission
lines_service.cEmLineJunkset all elements of EmLine struc to dangerous values
lines_service.cEmLineZeroset all elements of EmLine struc to zero
lines_service.cGetGFconvert Einstein A into oscillator strength
lines_service.cGetWLError- find difference between two wavelengths
lines_service.clgTauGoodreturns true is we have not overrun optical depth scale
lines_service.clinaddenter lines into the line storage array, called once per zone
lines_service.clindstadd local line intensity to line luminosity stack
lines_service.cLineConvRate2CSconvert down coll rate back into electron cs in case other parts of code need this for reference
lines_service.cOccupationNumberLine- derive the photon occupation number at line center for any line
lines_service.cPntForLinegenerate pointer for forbidden line
lines_service.cPutCSenter a collision strength into an individual line vector
lines_service.cPutExtraenter and 'extra' intensity source for some line
lines_service.cPutLineenter local line intensity into the intensity stack for eventual printout
lines_service.cRefIndexcalculates the index of refraction of air using the line energy in wavenumbers, used to convert vacuum wavelengths to air wavelengths.
lines_service.cTexcLinederive excitation temperature of line from contents of line array
lapack.cDGETRFlapack service routine
magnetic.cMagnetic_evaluateevaluate some parameters to do with magnetic field
magnetic.cMagnetic_initinitialize magnetic field parameters
magnetic.cMagnetic_reinit- reinitialized magnetic field at start of new iteration
magnetic.cParseMagnetparse magnetic field command
maincl.cmainprogram that reads input and calls cloudy to compute a single model, or try to optimize an observed model. Routine returns 0 if model is ok, and 1 if problems occurred.
makecs.cMakeCScompute collision strength by g-bar approximations
makelevlines.clines_setupconvert level 1 and level 2 line parameters and pointers into internal form used by code, line data were read in by atmdat_readin
makerecomb.clint-e817 pclint generates tons of bogus nelem < 0 warnings
makerecomb.cion_recombgenerate recombination coefficients for any species
makerecomb.cion_recombAGNgenerate recombination coefficients for AGN table
map.cmap_doproduce map of heating-cooling space for specified zone, called as result of map command
mean.cMeanIncincrement mean ionization fractions and temperatures over computed structure, in radius_increment
mean.cMeanZerozero mean of ionization fractions array
mean.cRadMeando radius mean ionization fractions or temperature over radius for any element
mean.cVolMeando volume mean ionization fractions or temperature over volume for any element
mihals.cmihalsgenerate continuum from Mihalas stellar atmosphere
molcol.cmolcolgenerate and print molecular column densities
nsset.cnssetgenerate low and high boundaries for ionization distribution of each element called by contsetintensity after all lines parsed
opacityadd1element.cOpacityAdd1Elemententer total photo cross section for all subshells into opacity array
opacityadd1subshell.cOpacityAdd1Subshelladd opacity due to single shell to main opacity array
opacityadd1subshell.cOpacityAdd1SubshellInducadd opacity of individual species, including stimulated emission
opacityaddtotal.cOpacityAddTotalderive total opacity for this position, called by ConvIonizeOpacityDo
opacitycreateall.chmiopcderive total H- H minus opacity NB NB NB NB NB NB NB NB NB NB NB NB NB NB everything set here must be written to the opacity store files
opacitycreateall.cOpacityCreate1Elementgenerate ionic subshell opacities by calling atmdat_phfit
opacitycreateall.cOpacityCreateAllcompute initial set of opacities for all species
opacitycreateall.cOpacity_iso_photo_csreturns photoionization cross section for isoelectronic sequences
opacitycreateall.copacity_more_memoryallocate more memory for opacity stack
opacityzero.cOpacityZerozero out opacity save arrays, save old opacity in OldOpacSave array
outer.couterdetermine outer shell, and statistical weights of that and higher ion, for any ion written by Dima Verner
parseabsmag.cParseAbsMagparse the absolute magnitude command
parseabundances.cParseAbundancesparse and read in composition as set by abundances command
parseage.cParseAgeparse parameters off the age command
parseagn.cParseAgnparse parameters for the AGN continuum shape command
parseatomco.cParseAtomCOparse information from the rotor command line
parseatomhlike.cParseAtomHLikeparse information from the atom h-like command line
parsebackgrd.cParseBackgrdparse options for the BACKGROUND command - this actually enters two continua
parseblackbody.cParseBlackbodyparse parameters off black body command
parsecommands.cParseCommandsmain command line parser, decode command, then call other routines to read
parsecompile.cParseCompilecompile werner or kurucz model atmospheres into cloudy format, originallly by K Volk, also compile opacity and grains
parseconstant.cParseConstantparse parameters from the 'constant ...' command
parsecoronal.cParseCoronalparse parameters off coronal equilibrium command
parsedlaw.cParseDLawparse parameters on the dlaw command
parsedont.cParseDontparse the dont command - do not do something
parsedrivecmnd.cdgauntdrive gaunt factor routines by letting user query values
parsedrivecmnd.cDrvCaseBHSallow user to query hydrogen A's, asks for up, low level, gives A, drive hyas
parsedrivecmnd.cDrvHyasallow user to query hydrogen A's, asks for up, low level, gives A, drive hyas
parsedrivecmnd.cParseDriveCmndparse the drive command - drive calls to various subs
parseelement.cParseElementparse options on element command
parsefireball.cParseFireBallparse parameters from fireball command
parsefluc.cParseFlucparse the fluctuations command
parsef_nu.cParseF_nuparse intensity command parameters
parseglobule.cParseGlobuleparse parameters off the globule command
parsegrain.cParseGrainparse parameters on grains command
parsehden.cParseHDENparse the hden command
parseinit.cParseInitbring an initialization file into input stream before parse
parseinterp.cParseInterpparse parameters on interpolate command
parseionpar.cParseIonParparse the ionization parameter command
parsemap.cParseMapparse map command to produce map of heating and cooling, map is produced by calling punt(" map")
parsemetal.cParseMetalparse parameters on metal command
parsenorm.cParseNormparse parameters on the normalize command
parseoptimize.cGetOptColDenread observed column densities & errors for optimizer
parseoptimize.cGetOptLineIntparse observed line intensites for optimization routines
parseoptimize.cParseOptimizeparse the optimize command line
parseplot.cParsePlotparse the plot command
parseplot.cParsePlotRangeOptionparse range from plot command
parsepowerlawcontinuum.cParsePowerlawContinuumparse the power law continuum command
parseprint.cParsePrintparse the print command
parseprint.cprt_constantsprint physical constants
parsepunch.cChkUnitscheck for keyword UNITS on line, then scan wavelength or energy units if present
parsepunch.cClosePunchFilesclose all punch files
parsepunch.cParsePunchparse the punch command
parsepunch.cPunchFilesInitinitialize punch file pointers, called from cdInit
parseradius.cParseRadiusparse the radius command
parserangeoption.cParseRangeOptionparse the range option on the luminosity command
parseratio.cParseRatioderive continuum luminosity of this continuum relative to previous
parseset.cParseSetscan parameters off SET command
parsesphere.cParseSphereparse parameters on sphere command
parsestop.cParseStopparse the stop command
parsetable.cParseTableparse the table read command
parsetlaw.cParseTLawparse parameters on the tlaw command to set temperature as function of depth, currently only does Bertoldi & Draine simple T law
parsetrace.cParseTraceread in options off the trace command line
PrtContinuum.cPrtContinuumprint information about continuum if requested with PRINT CONTINUUM command
atmdat_phfit.catmdat_phfitderive photoionization cross sectoins for first 30 elements
photoionize.cion_photofill array PhotoRate with photoionization rates for heavy elements
optimize_phymir.coptimize_phymirPeter van Hoof's optimization routine
plot.cplotmaster routine to generate some sort of plot
atom_pop3.catom_pop3solve 3-level atom without radiative transfer, returns pops of level 2 and 3
atom_pop2.catom_pop2do level population for simple two level atom, no radiative transfer
powell.coptimize_powell- spectrum minimization routine - logic closely based on routine in Press et al, but totally recoded to be redistributable
pressurechange.clgConvPresreturns true if pressure is converged
pressurechange.cPressureChangecalled by ConvPresTempEdenIoniz evaluate the current pressure, change needed to get it to converge, the global static variable pressure_change_factor aplies this correction factor to all gas constituents, sets conv.lgConvPres true if good pressure, false if pressure change capped
pressuretotal.cPresTotCurrentdetermine the gas and line radiation pressures for current conditions, this sets values of pressure.PresTotlCurr, also calls tfidle
prt.cPrtElemprint chemical composition at start of calculation
prt.cprt_LineLabelspunch all labels and wavelengths for emission line array
prt.cprt_wl- print floating wavelength in Angstroms, in output format
prt.csprt_wlwrite wavelength to string - must be kept parallel with prt_wl
prtalltau.cPrtAllTaumaster routine controlling printout of optical depths at end of calculation
prtcolumns.cPrtColumnsprint column densities of all elements
prtcomment.cbadprtprint out coolants if energy not conserved
prtcomment.cchkCaHepscheck whether CaII K and H epsilon overlap
prtcomment.coutsumsum outward continuum beams
prtcomment.cPrtCommentanalyze model, generating comments on its features
prtfinal.cgett2analyze computed structure to get structural t^2
prtfinal.cgett2o3analyze computed [OIII] spectrum to get t^2
prtfinal.cPrtFinalcreate PrtFinal pages of printout, emission line intensities, etc
prtfinal.cStuffCommentroutine to stuff comments into the stack of comments, def in lines.h
prtheader.cPrtHeaderprint program's header, including luminosities and ionization parameters
prtlinepres.cPrtLinePresprint line radiation pressures for current conditions
prtlinesum.cPrtLineSumparse print line sum command to enter set of lines into sum
prtmeanion.cPrtMeanIonprint mean ionization fractions or temperatures for all elements
prtmet.cprtmetprint all line optical depths at end of iteration
prtzone.cPrtZoneprint out individual zone results
prtzone.cprt_H_like_DeparCoefprint out hydrogenic populations
prtzone.cprt_H_like_Popsprint out hydrogenic populations
punchdo.cpun1Linecalled by PunchLineStuff to produce output for one line
punchdo.cpunchh emiss, for chapt 4, routine is below
punchdo.cPunchCoolingpunch coolants
punchdo.cPunchDoproduce punch output during calculation, chTime is 'MIDL' during calculation, 'LAST' at the end
punchdo.cPunchGauntscalled by punch gaunts command to output gaunt factors
punchdo.cPunchLineStuffpunch optical depths or source functions for all transferred lines
punchdo.cPunchNewContinuumproduce the 'punch new continuum' output
punchdo.cPunchNewContinuumproduce the 'punch new continuum' output
punchdo.cPunchSpecialgenerate output for the punch special command
punchdo.cPunLineIntensityproduce the 'punch lines intensity' output
punchdo.cpunResultspunch results from punch results command
punchdo.cPunResults1Linedo single line of output for the punch results and punch line intensity commands
punchdo.cPunResults1Linedo single line of output for the punch results and punch line intensity commands
punchdo.cthenumber of emission lines across one line of printout
punchlinedata.cPunch1LineDatapunch data for one line
punchlinedata.cPunchLineDatapunches selected line data for all lines transferred in code
punch_line.cpunch_lineparse punch lines command, or actually do the punch lines output
punopac.cpunch_opacitypunch total opacity in any element, punch opacity command
qheat.cGrainMakeDiffusemain routine for generating the grain diffuse emission, called by RT_diffuse
rt_radiative_acceleration.crt_radiative_accelerationradiative acceleration due to incident continuum, calls rt_line_driving for lines
radius_first.cradius.drad
radius_first.cradius.drad_x_fillfac
radius_first.cradius_firstderive thickness of first zone, called after conditions in first zone are established, sets
radius_increment.cpnegopcpunch negative opacities on io unit, iff 'set negopc' command was given
radius_increment.cradius_incrementdo work associated with geometry increments of this zone, called before RT_Tau_inc
radius_next.cChkRatecalled by nextdr to check how rates of destruction of various species changes
radius_next.cContRatecalled by nextdr to find energy of maximum continuum-gas interaction
radius_next.cGrainRateDrcalled by nextdr to find grain heating rate dr
radius_next.cradius_nextuse adaptive logic to find next zone thickness
radius_next.cTODO- this routine is very important since it sets the pace for the calculation, and directly affects the convergence of the code. Most of the logic is very old and messy. 1) make sure all test cases have punch dr 2) cat all these reasons together into one file and sort on the reason 3) discover what logic is the main pacesetter for the code 4) which are never triggered and so can be removed
rauch.cRauchCompilerebin Rauch stellar models to match energy grid of code
rauch.cRauchInitializeK Volk's routine to compact the 66 Rauch atmospheres into a large ascii file.
rauch.cRauchInterpolateget one of the Rauch model atmospheres, original version by K. Volk
rauch02.cRauchCompile02rebin Rauch stellar models to match energy grid of code
rauch02.cRauchInitialize02K Volk's routine to compact the 66 Rauch atmospheres into a large ascii file.
rauch02.cRauchInterpolate02get one of the Rauch model atmospheres, original version by K. Volk
rayleh.craylehcompute Rayleigh scattering cross section for Lya
input_init.cinput_initinitial input_readarray array for storing line images at start of calculation line image is up and low case
rt_recom_effic.crt_recom_efficgenerate escape probability function for continua,
atmdat_rad_rec.catmdat_rad_reccalculates rates of radiative recombination for all ions
rt_diffuse.cRT_diffuseevaluate local diffuse emission for this zone, fill in ConEmitLocal and ThrowOut arrays with diffuse emission, ots rates for this zone were set in RT_OTS, called by Cloudy, this routine adds energy to the outward beam
rt_escprob.cesca0k2derive Hummer's K2 escape probability for Doppler core only
rt_escprob.cesc_CRDcoreescape probability for CRD with no wings
rt_escprob.cesc_CRDwingescape probability for CRD with wings
rt_escprob.cesc_CRDwing_1sidefundamental escape probability radiative transfer routine, for complete redistribution
rt_escprob.cesc_PRDescape probability radiative transfer for incomplete redistribution
rt_escprob.cesc_PRD_1sidefundamental escape probability radiative transfer routine for incomplete redistribution
rt_escprob.cRTesc_lyaescape prob for hydrogen atom Lya, using Hummer and Kunasz results, called by hydropesc
rt_escprob.cRT_DestProbreturns line destruction probability due to continuum opacity
rt_escprob.cRT_LineWidthdetermine half width of any line with known optical depths
rt_escprob.cRT_LyaWidthwrapper to call RT_LineWidth for the special case of Lya
rt_line_all.cRT_line_alldo escape and destruction probs for all lines in code. Called with FALSE arg by ionize, to only redo destruction probabilites, and with TRUE by cloudy to do both escape and destruction
rt_line_one.cRT_line_staticdo line radiative transfer for static geometry, evaluates escape and destruction probability, called by HydroPEsc, RT_line_all
rt_line_one.cRT_line_winddo line radiative transfer for wind geometry
rt_line_one_tauinc.cRT_line_one_tauincincrement optical depths for all heavy element lines, zone by zone, mainly called by RT_Tau_inc, but also by FeII
rt_line_one_tau_reset.cRT_line_one_tau_resetcomputes average of old and new optical depths for new scale at end of iter, called by update, also pop371
rt_ots.cRT_OTScompute diffuse fields due to H, He atoms, ion, triplets, metal recombination, called by ConvIonizeOpacityDo
rt_ots.cRT_OTS_AddContadd local destruction of continuum to ots field
rt_ots.cRT_OTS_AddLineadd local destruction of lines to ots field
rt_ots.cRT_OTS_ChkSumsanity check confirms summed continua reflect contents of individuals
rt_ots.cRT_OTS_Updatesum flux, otscon, otslin, ConInterOut, outlin, to form SummeDif, SummedCon SummedOcc
rt_ots.cRT_OTS_Zero- zero out some vectors - this is only called when code initialized by ContSetIntensity
rt_tau_inc.cRT_Tau_incincrement optical depths once per zone, called after radius_increment
rt_tau_init.cRT_tau_initset initial outward optical depths at start of first iteration, it is only called by cloudy one time per complete calculation, just after continuum set up and before start of convergence attempts. RT_tau_reset after first iteration, updates the optical depths, mirroring this routine but with the previous iteration's variables
rt_tau_reset.cRT_tau_resetafter first iteration, updates the optical depths, mirroring this routine but with the previous iteration's variables
sanitycheck.cSanityCheck check that various parts of the code still work, called by Cloudy after continuum and optical depth arrays are set up, but before initial temperature and ionization
service.cAnuUnitproduce continuum energy in arbitrary units
service.cBadMallocannounce memory allocation failure - put breakpoint here to find where
service.cBadOpengeneral error handler for trying to open file, but failing
service.cBadReadgeneral error handler for trying to read data, but failing
service.cbrokenset flag saying that the code is broken,
service.ccap4convert first 4 char of input line chLab into chCAP all in caps, null termination
service.ccapsconvert input command line (through eol) to ALL CAPS
service.ccdEXITthe routine that should be called to exit cloudy
service.cchIonLbluse information in line array to generate a null terminated ion label in "Fe 2"
service.cCodeReview- placed next to code that needs to be checked
service.ccsphotreturns photoionization cross section from opacity stage using std pointers
service.cdbg_printfis a debug print routine that was provided by Peter Teuben, as a component from his NEMO package. It offers run-time specification of the level of debugging
service.cdsexpsafe exponential function for doubles
service.ce2second exponential integral
service.cFFmtReadscan input line for free format number
service.cfixit- say that code needs to be fixed
service.cfudgeenter fudge factors, or some arbitrary number, with fudge command
service.cGetElemscans line image, finds element. returns atomic number j, on C scale
service.cGetQuoteget any name between double quotes off command line return string as chLabel, is null terminated
service.cinsaneset flag saying that insanity has occurred
service.clgMatchdetermine whether match to a keyword occurs on command line, return value is 0 if no match, and position of match within string if hit
service.cMyAsserta version of assert that fails gracefully
service.cMyCallocwrapper for CALLOC(). Returns a good pointer or dies.
service.cMyMallocwrapper for MALLOC(). Returns a good pointer or dies.
service.cNoNumbgeneral error handler for no numbers on input line
service.cqg3232 point Gaussian quadrature, original fortran given to Gary F by Jim Lattimer
service.cqipcompute pow(x,n) for positive integer n through repeated sqarings
service.cRandGaussnormal random variate generator
service.csexpsafe exponential function
service.cShowMeproduce request to send information to GJF after a crash
service.cspsortnetlib routine to sort array returning sorted indices this label is null terminated
service.cTestCodeset flag saying that test code is in place
service.ctheprototypes are in cddefines.h and so are automatically picked up by all routines
service.cTotalInsanitygeneral error handler for something that cannot happen
setfpenv.cSetFPEnvset FP environment to crash on div by zero
optimize_input.coptimize_inputsets input lines to feed into cloudy in optimization runs
startenditer.cRestartIterrestart iteration
startenditer.cStartIterset and save values of many variables at start of iteration
startendzone.cEndZonelast routine called after all zone calculations, before lgEndFun, upon exit radiation field is for outer edge of current zone
startendzone.cStartZoneset variables that change with each zone, like radius, depth, upon exit flux will be flux at center of zone about to be computed
abund_starburst.cabund_starburstgenerate abundance set from Fred Hamann's starburst evolution grid
rt_stark.crt_starkcompute stark broadening escape probabilities using Puetter formalism
tabden.ctabdeninterpolate on table of points for density with dlaw table command, by K Volk
tfidle.ctauffcompute optical depth where cloud is thin to free-free and plasma freq
tfidle.ctfidleupdate some temperature dependent variables
tfidle.cvelsetset thermal velocities for all particles in gas
thirdparty.cThisfile contains routines (perhaps in modified form) written by third parties. Use and distribution of these works are determined by their respective copyrights.
totlin.ctotlinsum total intensity of cooling, recombination, or intensity lines
trimstages.cion_trimraise or lower most extreme stages of ionization considered, called by ConvIonizeOpacityDo
twophoton.catmdat_2phot_shapefunctiontwo photon emission function for hydrogen
twophoton.catmdat_2phot_ratehydrogen two photon emission, including induced emission
warnings.cwcnintinitialize stack or warnings, cautions, notes
werner.cWernerCompilerebin Werner stellar atmospheres to match cloudy energy grid
werner.cWernerInterpolateread in and interpolate on Werner grid of PN atmospheres, by K Volk
werner.cWernerInterpolate_oneget a single Werner PN atmosphere, by K Volk
zero.crfield_optac_zerozero out rfield arrays between certain limits
zero.czerozero out or initialize variables, called by cdInit, but also by optimize_func during optimization, this is called before any commands are parsed
zerologic.cZerologicset initial values for logical variables this is called before any commands are parsed