Table from data in 'sortsrc.txt'
Filename Subroutine Description
aaaa.cAAAAAroutine keeping track of version numbers
abscf.cabscfconvert gf into absorption coefficient
agecheck.cAgeCheckcheck various timescales after calculation complete to confirm time steady OK
amoeba.cAmoebaroutine 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
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.cBiDiagsolve the bi-diagonal matrix for ionization balance
cddrive.ccdCautionsprint out all cautions after calculation, on arbitrary io unit
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.ccdGetCoolingroutine to query results and return cooling of last zone
cddrive.ccdGetHeatingroutine to query results and return heating of last zone
cddrive.ccdGetPresroutine to query results and return pressure of last zone
cddrive.ccdGetTeroutine 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.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
cfit.ccfitD 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
chargtran.cHCTIonH charge transfer ionization
chargtran.cHCTRecomH charge transfer recombination
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.ccodriv- public routine, calls comole to converge molecules
co.ccomolefills in matrix for heavy elements molecular routines
collidionize.cCollidIonizefill in collisional ionization rates, and resulting cooling
conorm.cconormnormalize continuum to proper intensity
conorm.cpintrintegrates L for any continuum between two limits, used for normalization
conorm.cpow1evaluate luminosity of continuum
conorm.cqintrintegrates Q for any continuum between two limits, used for normalization
conpmp.cconpmplocal continuum pumping rate radiative transfer for all lines
conpmp.copfun routine used to get continuum pumping of lines used in conpmp in call to qg32
conpmp.cvfunapproximate form of Voit function
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.cChckFillperform sanity check confirming that the energy array has been properly filled
contcreatepointers.cContCreatePointersset up pointers for lines and continua called by cloudy after input read in
contcreatepointers.ceinaconvert a gf into an Einstein A
contcreatepointers.cfiddleadjust energy bounds of certain cells so that match ionization edges exactly
contcreatepointers.cfilldefine the continuum energy grid over a specified range
contsetintensity.cContSetIntensityderive intensity of incident continuum
contsetintensity.cptrcershow continuum pointers in real time following drive pointers command
contsetintensity.csumconsums L and Q for net incident continuum
convedenioniz.cConvEdenIonizcalled by ConvTempIonz, calls ConvIoniz solving for eden
convedenioniz.cesumsum free electron density over all species, sets variable erredn.EdenTrue called by ConvEdenIoniz which actually controls the electron density updates
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
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.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.ccoladdadd coolants to the cooling stack, called in evaluation of cooling function
cooling.ccolzroset cooling and heating stack to zero
cooling.cCoolSum total cooling from all entries into cooling stack
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
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.cCreateDataread in some data files, but only if this is very first call
dielsupres.cDielSupresderive scale factors for suppression of Burgess dielectronic recombination
dooptimize.cDoOptimizemain driver for optimization runs
drfe.cdrfeDielectronic recombination rates for Fe from Arnaud & Raymond 1992
dumpline.cDumpLineprint various information about an emission line vector, used in debugging, print to std out, ioQQQ
dynamics.cDynaChangeDensity called from PressureChange to evaluate new density needed for current conditions and wind solution, returns ratio of new to old density
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.cDynaIonize called from ionize to evaluate advective terms for current conditions
dynamics.cDynaStartZonecalled at end of iteration when advection is turned on
dynamics.cDynaZerozero some dynamics variables, called from zero.c
emlinejunk.cEmLineJunkset all elements of EmLine struc to dangerous values
emlinejunk.cEmLineZerozeros out the emission line structure
expion.cexpionVERY simple two level cooling, do de-excitation or transfer, complete removal of this routine is high on the to-do list
extin.cextindo extinction of incident continuum as set by extinguish command
fabden.cfabdencalled by dlaw command, returns density for any density law
fe26cs123.cFe26cs123line collision rates for lower levels of hydrogenic iron, n=1,2,3
fe2dat.cfe2datblock data storing energy levels for Fred's FeII ground There are 373 transitions: Wavelength (A) absorption oscillator strength Energy of lower level (Ryd) Statistical weight of lower level (g)
fe2ovr.cfe2ovrcompute FeII overlap with Lya
fe2ovr.cfe2parevaluate FeII partition function
ffun.cffunevaluate total flux for sum of all continuum sources
ffun.cffun1derive flux at a specific energy, for one continuum
firstdr.cFirstDRderive thickness of first zone
fivel.cfiveldo five level atom population and cooling
fndlineht.cFndLineHtsearch through line heat arrays to find the strongest heat source
forlin.cforlinderive radiative acceleration due to line absorption of incident continuum
freeht.cfreehtevaluate free-free heating due to incident continuum
func.cfuncactual 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
getgf.cGetGFconvert oscillator strength into Einstein A 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
getmaxhline.cGetMaxhLinefind the strongest heating line
gffsub.cgffsubcompute gaunt factors for any charge, drive Hummer routine, mod by J Ferguson
grain.cgrainmain routine to converge grains thermal solution
h1cs123.cH1cs123hydrogen collision data levels involving 1s,2s,2p,3.
h21cm.cH21cmcomputes rate for H 21 cm from upper to lower excitation by atomic hydrogen
h21cm.ch21_t_ge_20computes rate for H 21 cm from upper to lower excitation by atomic hydrogen
h21cm.ch21_t_lt_20computes rate for H 21 cm from upper to lower excitation by atomic hydrogen
hdexct.chdexctcompute collision strength for collisional deexcitation for hydrogen atom, from Vriens and Smeets
he1col.che1colevaluate collisional rates for helium singlets
he1gma.che1gmaevaluate photoionization rates for helium singlets
he1jbr.che1jbrreturns continuum occupation number for helium singlet lines
he1lev.che1levevaluate ionization balance level populations for helium singlets
he1rad.che1radevaluate radiative rates for helium singlets
he2cs123.cHe2cs123line collision strengths for lower levels of helium ion, n=1,2,3, by K Korista
he3col.che3colcompute collisional rates for helium triplets
he3gma.che3gmacompute photoionization rates for helium triplets
he3lev.che3levcompute ionization balance level populations for helium triplets
he3rad.ccomputeradiative rates for helium triplets
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- integral in formula used to calculate RI2. Called by scqdri, calls qg32.
helike.ccorrect2- small routine to correct inaccuracies of Aul's for lower level n = 1 and 2.
helike.ccross_section- calculates the photoionization cross_section for a given level and photon energy
helike.cdefectdefect - calculate quantum defect.
helike.cforbiddencalculates transition probabilities for forbidden transitions.
helike.cHeCollidevaluate collisional rates
helike.cHeCreatecreate he-like series, called by ContCreatePointers
helike.cHeCSInterpinterpolate on He1 collision strengths
helike.cHeLevelevaluate photoionization rates
helike.cHePhotoevaluate photoionization rates
helike.cHeRecom- do recomb coef for He, called by HeLike
helike.che_1transcompute energy diffference in wn and Aul for given line return is 0 for success, 1 for failure
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, ipZ is charge, equal to 1 for Helium this is a wrapper for cross_section
helike.che_energy- calculates energy of a given level.
helike.cJint- integrand in formula used to calculate RI2.
helike.corbit- produces orbit designations for output.
helike.cprintstuff- a few lines below, printflag determines what will be printed.
helike.cradrecomb- calculates radiative recombination coefficients.
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- calculates square of radial integral for a given allowed transition.
helium.cheliumsolve ionization balance helium ion, helium singlets, helium triplets
hetran.ceshe1lo radiative transfer for helium singlets lines
hetran.cHeTranderive escape and destruction probabilities for He lines
highen.chighendo high energy radiation field - gas interaction, Compton scattering, etc
hmole.chmiratcompute radiative association rate for H-
hmole.chmoledetermine populations of hydrogen molecules
hmrate.chmratecompile molecular rates using Hollenback and Mckee fits, called by hmole and comole
hpdata.cblkdata4-0 hydrogen cross sections
hpfit.chpfitstate specific photoionization cross sections for model hydrogen atom for any level up through NHYDRO_MAX_LEVEL defined 401L in cddefines.h
hrfit.chrfitcalculates state-specific recombination rates for hydrogen and hydrogen-like ions
hydcolion.cHydColIoncalculate hydrogenic ionization rates for all n, and Z
hydcs123.cHydcs123Hydrogenic de-excitation collision strengths bewteen levels n=1,2,3, for any charge. routine only called by hydrocollid to fill in hydroline arrays with collision strengths
hydrobranch.cHydroBranchcompute branching ratios for Jason Ferguson's model hydrogen atom
hydrocollid.cHydColDwncollision strength for collisional de-excitation for any levels of hydrogenic Z
hydrocollid.cHydroCollidevaluate collision rate for model hydrogen atom
hydrocool.cHydroCoolcompute net cooling due to hydrogenc atom species, ground state photoionization of hydrogenic species done in sumheat
hydrocreate.cHydroCreatecreate data for hydrogen and helium, 1 per coreload, called by ContCreatePointers in turn called after commands parsed
hydroeinsta.cHydroEinstAcalculates Einstein A's from osillator strengths
hydrogenic.cHydrogenicmain routine to call HydroLevel and determine model hydrogen atom level balance
hydrolevel.cHydroLevelsolve for ionization balance level populations of model hydrogen atom calls HydroLevelPop or HydroT2Low
hydrolevelpop.cHydroLevelPopsolve for ionization balance level populations of model hydrogen atom
hydrooscilstr.cHydroOscilStrcomputes hydrogenic oscillator strengths, Johnson L.C., 1972 ApJ 174 227 Used in the function hdexct.
hydropesc.cHydroPescevaluate escape and destruction probabilities for hydrogen lines, called by RTMake
hydrophoto.cHydroPhotophotoionization, recombination, radiative rates for model hydrogen atom
hydroreccool.cHydroRecCoolhydrogen recombination cooling, called by HydroCool
hydrorecom.cHydroRecomphotoionization, recombination, radiative rates for model hydrogen atom
hydrot2low.cHydroT2Lowcalled to do hydrogenic level populations when temp too low for matrix
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
h_bauman.chvcalculates photon energy in ergs for n -> n' transitions for H and H-like ions
h_bauman.cH_Einstein_Acalculates Einstein A for any nlz
h_bauman.cH_photo_csreturns hydrogenic photoionization cross section in cm-2
iiibod.cdainterpolate on three body recombination by Steve Cota
iiibod.ciiibodderive 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
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
ionzer.cionzerzero out heating save arrays
ionzinc.cIonZincionization balance for zinc
ipoint.cipContEnergygenerate unique pointer to energy within continuum array continuum energy in Rydbergs
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
kurucz79.ckurucz79obtain interpolated Kurucz stellar atmosphere
level2.clevel2do level population and cooling for two level atom, side effects: set elements of EmLine struc cooling via coladd( chLab, (long)t->WLAng , t->cool); cooling derivative ots rates RT_OTS_AddLine( t->ots , t->ipCont);
level3.clevel3compute three level atom, 10, 21, and 20 are line
leveln.cLevelNcompute 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
limitsh.cLimitShsets upper energy limit to subshell integrations
linadd.clinaddenter lines into the line storage array, called once per zone
lindst.clindstadd local line intensity to line luminosity stack
lindst.cPntForLinegenerate pointer for forbidden line
linefit.cLineFiteffective recombination coefficients for lines of C, N, O, by D. Verner /
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.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
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
linpack.cDGETRFlapack service routine
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.cMakeLevLinesconvert level 1 and level 2 line parameters and pointers into internal form used by code
makerecomb.clint-e817 pclint generates tons of bogus nelem < 0 warnings
makerecomb.cMakeRecombgenerate recombination coefficients for any species
makerecomb.cMakeRecombAGNgenerate recombination coefficients for AGN table
matin1.cmatin1matrix inversion routine used throughout the code
mean.cMeanIncincrement mean ionization fractions and temperatures over computed structure, in RadInc
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
negcon.cnegconsanity check for negative continuum intensities
nextdr.cChkRatecalled by nextdr to check how rates of destruction of various species changes
nextdr.cContRatecalled by nextdr to find energy of maximum continuum-gas interaction
nextdr.cGrainRateDrcalled by nextdr to find grain heating rate dr
nextdr.cNextDRuse adaptive logic to find next zone thickness
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 by
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 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
parseatomhelike.cParseAtomHeLikeparse parameters off the helium command
parseatomhlike.cParseAtomHLikeparse information from the hydrogen command line
parsebackgrd.cParseBackgrdparse options for the BACKGROUND command
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
parsegrainp.cParseGrainPparse parameters on pgrains command this will become the default grains at some future time
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.cParsePunchparse the punch command
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
parsetrace.cParseTraceread in options off the trace command line
pcontn.cpcontnprint information about continuum if requested with PRINT CONTINUUM command
pfeii.cpfeiicreate punch output describing pumping of FeII by Lya
pgaunt.cpgauntcalled by punch gaunts command to output gaunt factors
phfit.cphfitderive photoionization cross sectoins for first 30 elements
photoionize.cPhotoIonizefill array PhotoRate with photoionization rates for heavy elements
phymir.cphymirPeter van Hoof's optimization routine
plankf.cplankfevaluate Planck function for any cell at current electron temperature
plot.cplotmaster routine to generate some sort of plot
pmeani.cpmeaniprint mean ionization fractions or temperatures for all elements
pop3.cpop3solve 3-level atom without radiative transfer, returns pops of level 2 and 3
pop371.cAssertFeIIDepcalled by assert feii depart coef command
pop371.cFe2LyaPumpfind rate of Lya excitation of the FeII atom
pop371.cFe2OvrLaphandle overlapping FeII lines
pop371.cFe2PunchLineStuffinclude FeII lines in punched optical depths, etc, called from PunchLineStuff
pop371.cFe2RTOTSdo ots rates for FeII, called by RT_OTS
pop371.cFe2RTOutdo outward rates for FeII, called by RTDiffuse
pop371.cFeIIAccelcalled by forlin to compute radiative acceleration due to FeII lines
pop371.cFeIIAddLinessave accumulated FeII intensities called by lineset4
pop371.cFeIIBandsCreatereturns number of feii bands
pop371.cFeIICollStrengthmake up collision data for feii
pop371.cFeIIContCreatecreate FeII continuum bins to add lines into ncell cells between wavelengths lambda low and high, returns number of cells used
pop371.cFeIICreateread in needed data from file convert form of feii data, as read in from file within routine FeIICreate into physical form. called by CreateData
pop371.cFeIIEmitOutadd large FeII emission to outward beam - called once per zone in RTDiffuse
pop371.cFeIIIntenZerozero out intensity of FeII atom
pop371.cFeIIPointcalled by ContCreatePointers to create pointers for lines in large FeII atom
pop371.cFeIIPrintprint feii information
pop371.cFeIIPrintprint output from large feii atom, called by prtzone
pop371.cFeIIPun1Departsend the departure coef for physical level nPUN to unit ioPUN
pop371.cFeIIPunchLinespunch feii lines at end of calculation, if punch verner set, called by dopunch
pop371.cFeIIPunDatapunch line data
pop371.cFeIIPunDepartpunch some departure coef for large atom, set with punch feii departure command
pop371.cFeIIResetreset some variables, called by zero
pop371.cFeIISumBandsum up large FeII emission over certain bands, called in lineset4
pop371.cFeIITauAverreset optical depths for large FeII atom, called by update after each iteration
pop371.cFeIITauInccalled once per zone in RTOptDepthIncre to increment large FeII atom line optical depths
pop371.cFeIITauInitzero out storage for large FeII atom, called by tauout
pop371.cFeIIZeroinitialize some variables, called by zero one time before commands parsed
pop371.cParseAtomFeIIparse the atom FeII command
pop371.cpop371 main feii routine, called by CoolIron to evaluate iron cooling
pop371.cRTFeIIMakecalled by RTMake, does large FeII atom radiative transfer
popexc.cpopexcdo level population for simple two level atom, no radiative transfer
powell.cPowell- spectrum minimization routine - logic closely based on routine in Press et al, but totally recoded to be redistributable
pressurechange.cPressureChangecalled by ConvPresTempEdenIoniz evaluate the current pressure, change needed to get it to converge, aplies this correction factor to all gas constituents, sets conv.lgConvPres true if good pressure, false if pressure change capped
pressuretotal.cPressureTotalDodetermine the gas and line radiation pressures for current conditions, return value is total pressure
pressuretotal.cRamPressureDodetermine the ram pressure for current conditions
prt.cPrtElemprint chemical composition at start of calculation
prt.cprt_LineLabelspunch all labels and wavelengths for emission line array
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
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
prtelem.cPrtElemprint chemical composition at start of calculation
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
prtmet.cprtmetprint all line optical depths at end of iteration
prtzone.cPrtZoneprint out individual zone results
punchdo.cpun1Linecalled by PunchLineStuff to produce output for one line
punchdo.cpunchh emiss, for chapt 4, routine is below
punchdo.cPunchDoproduce punch output during calculation, chTime is 'MIDL' during calculation, 'LAST' at the end
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.cPunLineIntensityproduce the 'punch lines intensity' output
punchlinedata.cPunch1LineDatapunch data for one line
punchlinedata.cPunchLineDatapunches selected line data for all lines transferred in code
puncool.cPunCoolpunch coolants
punlin.cpunlinparse punch lines command, or actually do the punch output
punopac.cPunOpacpunch total opacity in any element, punch opacity command
punresults.cpunResultspunch results from punch results command
punresults.cPunResults1Linedo single line of output for the punch results and punch line intensity commands
punspec.cPunSpecgenerate output for the punch special command
punt.cpuntproduce map of heating-cooling space for specified zone, called as result of map command
putcs.cPutCSenter a collision strength into an individual line vector
putline.cPutExtraenter and 'extra' intensity source for some line
putline.cPutLineenter local line intensity into the intensity stack for eventual printout
radacl.cradaclradiative acceleration due to incident continuum, calls forlin for lines
radinc.cpnegopcpunch negative opacities on io unit, iff 'set negopc' command was given
radinc.cRadIncdo work associated with geometry increments of this zone, called before RTOptDepthIncre
rauch.cRauchCompilerebin Rauch stellar models to match energy grid of code
rauch.cRauchConcatenateK Volk's routine to compact the 66 Rauch atmospheres into a large ascii file.
rauch.cRauchInterpolateget one of the Rauch model atmospheres, coded by K. Volk
rayleh.craylehcompute Rayleigh scattering cross section for Lya
rdinit.crdinitinitial readar array for storing line images at start of calculation line image is up and low case
readck.creadckcheck for sanity after commands all read in
readelement.cReadElementfind which element name occurs on current command line, return Atom Num-1 so on c scale
readtable.cReadTablecalled by TABLE READ to read in continuum from PUNCH TRANSMITTED CONTINUUM
receff.creceffgenerate escape probability function for continua,
refindex.cRefIndexcalculates the index of refraction of air using the line energy in wavenumbers, used to convert vacuum wavelengths to air wavelengths.
rrfit.crrfitcalculates rates of radiative recombination for all ions
rtdiffuse.cRTDiffuseevaluate 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
rtescprob.cesca0k2derive Hummer's K2 escape probability for Doppler core only
rtescprob.cesc_CRDcoreescape probability for CRD with no wings
rtescprob.cesc_CRDwingescape probability for CRD with wings
rtescprob.cesc_CRDwing_1sidefundamental escape probability radiative transfer routine, for complete redistribution
rtescprob.cesc_PRDescape probability radiative transfer for incomplete redistribution
rtescprob.cesc_PRD_1sidefundamental escape probability radiative transfer routine for incomplete redistribution
rtescprob.cRTesc_lyaescape prob for hydrogen atom Lya, using Hummer and Kunasz results, called by hydropesc
rtescprob.cRT_DestProbreturns line destruction probability due to continuum opacity
rtescprob.cRT_LineWidthdetermine half width of any line with known optical depths
rtescprob.cRT_LyaWidthwrapper to call RT_LineWidth for the special case of Lya
rtlinetauinc.cRTLineTauIncincrement optical depths for all heavy element lines, zone by zone, mainly called by RTOptDepthIncre, but also by FeII
rtmake.cRTMakedo 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
rtmakestat.cRTMakeStatdo line radiative transfer for static geometry, evaluates escape and destruction probability, called by HydroPEsc, RTMake
rtmakewind.cRTMakeWinddo line radiative transfer for wind geometry
rtoptdepthincre.cRTOptDepthIncreincrement optical depths once per zone, called after RadInc
rtoptdepthinit.cRTOptDepthInitset 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. RTOptDepthReset after first iteration, updates the optical depths, mirroring this routine but with the previous iteration's variables
rtoptdepthreset.cRTOptDepthResetafter first iteration, updates the optical depths, mirroring this routine but with the previous iteration's variables
rtots.cRT_OTScompute diffuse fields due to H, He atoms, ion, triplets, metal recombination, called by ConvIonizeOpacityDo
rtots.cRT_OTS_AddContadd local destruction of continuum to ots field
rtots.cRT_OTS_AddLineadd local destruction of lines to ots field
rtots.cRT_OTS_ChkSumsanity check confirms summed continua reflect contents of individuals
rtots.cRT_OTS_Updatesum flux, otscon, otslin, ConInterOut, outlin, to form SummeDif, SummedCon SummedOcc
rtots.cRT_OTS_Zero- zero out some vectors - this is only called when code initialized by ContSetIntensity
rttauupdate.cRTTauUpdatecomputes average of old and new optical depths for new scale at end of iter, called by update, also pop371
sanitycheck.cNB- this routine must not change any global variables - any that are changed as part of a test must be reset, so that the code retains state a set of standard routines that are widely used across the code for various houeskeeping chores. These do not do any physics, and are unlikely to change over time. the prototypes are in cddefines.h and so are automatically picked up by all routines
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.cbad_mallocannounce memory allocation failure - put breakpoint here to find where
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.cchLineLbluse information in line transfer arrays to generate a line label
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.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.cmy_mallocwrapper 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.csexpsafe exponential function
service.cShowMeproduce request to send information to GJF after a crash
service.cspsortnetlib routine to sort array returning sorted indices
service.ctestcodeset flag saying that test code is in place
service.cthislabel is null terminated
service.ctotal_insanitygeneral error handler for something that cannot happen
setabundances.cSetAbundancessets initial abundances after parameters are entered by reading input
setfpenv.cSetFPEnvset FP environment to crash on div by zero
setinp.csetinpsets input lines to feed into cloudy in optimization runs
smeets.csmeetsgenerate hydrogenic collisional ionization rate coefficients for quantum number n
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
strbst.cstrbstgenerate abundance set from Fred Hamann's starburst evolution grid
strk.cstrkcompute stark broadening escape probabilities using Puetter formalism
tababun.ctababuninterpolate on table of points to do 'element table' command,
tabden.ctabdeninterpolate on table of points for density with dlaw table command, by K Volk
texcline.cTexcLinederive excitation temperature of line from contents of line array
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
theavy.ctheavytime dependent heavy element ionization balance this routine currently does not do anything
timer.ctimertime dependent models
totlin.ctotlinsum total intensity of cooling, recombination, or intensity lines
trimstages.cTrimStagesraise or lower most extreme stages of ionization considered, called by ConvIonizeOpacityDo
twophoton.cehe12ptwo photon emission from helium singlets
twophoton.ceva2nutwo photon emission function for hydrogen
twophoton.ctwophthydrogen two photon emission, including induced emission
veclib.cdgecoone of the veclib routines that lives on the Exemplar
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_opac_zerozero out rfield arrays between certain limits
zero.czerozero out or initialize variables, called by cdInit, but also by func during optimization, this is called before any commands are parsed
zeroabund.cZeroAbundset initial abundances for different mixes
zerologic.cZerologicset initial values for logical variables