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.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.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
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, 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.ccodriv- 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.cRotorPopsEmisCoolevaluate rotation levels populations, emission, and cooling
collidionize.cCollidIonizefill in collisional ionization rates, and resulting cooling
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.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
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.cesumsum 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.cesumsum 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
thermal.cCoolAddadd coolants to the cooling stack, called in evaluation of cooling function
thermal.cCoolSum total cooling from all entries into cooling stack
thermal.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
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
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
emlinezero.cEmLineJunkset all elements of EmLine struc to dangerous values
emlinezero.cEmLineZerozeros out the emission line structure, declarations are in taulines.h
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
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
ffun.cReadTablecalled by TABLE READ to read in continuum from PUNCH TRANSMITTED 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
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 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
gffsub.cgffsubcompute free free gaunt factors for any charge
grain.cgrainmain routine to converge grains thermal solution
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_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_ParseAtomparse information from the rotor command line
h2.cH2_ParsePunchparse the punch h2 command
h2.cH2_prt_line_tauprint line optical depths, called from premet in response to print line optical depths command
h2.cH2_Punchpunch 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_hminus_distributionread distribution function for H2 population following formation from H minus
h2.cH2_RTDiffusedo emission from H2 - called from RTDiffuse
h2.cH2_RTMakedo RT for H2 - called from RTMake
h2.cH2_TauAverthe large H2 molecule, called from RTOptDepthReset
h2.cH2_TauIncincrement optical depth for the H2 molecule, called from RTOptDepthIncre
h2.cH2_TauInitinitialize optical depths in H2, called from RTOptDepthInit
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
h21cm.cH21cmcomputes rate for H 21 cm from upper to lower excitation by atomic hydrogen
h21cm.cH21cm_electroncomputes rate for H 21 cm from upper to lower excitation by electrons >>refer H1 cs Smith, F.J., 1966, Planet. Space Sci 14, 929
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
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.cAtomCSInterpdo the atom
helike.cCorrectAuls- 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.cCS_l_mixing- find rate for l-mixing collisions by protons, for neutrals
helike.cdefect- calculate quantum defect.
helike.cForbiddenAulscalculates transition probabilities for forbidden transitions.
helike.cHeCollidevaluate collisional rates
helike.cHeCreatecreate he-like series, called by ContCreatePointers
helike.cHeCSInterpinterpolate on He1 collision strengths
helike.cHeLevellevel populations
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_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.cIonCSInterpdo the ions
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.croutineto print departure coefficients for he-like species
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.chmiratcompute radiative association rate for H-
hmole.chmoledetermine populations of hydrogen molecules
hmole.chmole_olddetermine 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
hsrate.cHSRate- 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.
hydropesc.cHydroPescevaluate escape and destruction probabilities for hydrogen lines, called by RTMake
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
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.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
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
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
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
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
level2.clevel2do 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);
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.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
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
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.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
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 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
nextdr.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
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 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
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
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
pcontn.cpcontnprint information about continuum if requested with PRINT CONTINUUM command
pfeii.cpfeiicreate punch output describing pumping of FeII by Lya
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
pop3.cpop3solve 3-level atom without radiative transfer, returns pops of level 2 and 3
pop371.cAssertFeIIDepcalled by assert feii depart coef command
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.cFeIILyaPumpfind rate of Lya excitation of the FeII atom
pop371.cFeIIOvrLaphandle overlapping FeII lines
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.cFeIIPunchLineStuffinclude FeII lines in punched optical depths, etc, called from PunchLineStuff
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.cFeIIRTMakecalled by RTMake, does large FeII atom radiative transfer
pop371.cFeIIRTOTSdo ots rates for FeII, called by RT_OTS
pop371.cFeIIRTOutdo outward rates for FeII, called by RTDiffuse
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
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.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
punlin.cpunlinparse punch lines command, or actually do the punch lines output
punopac.cPunOpacpunch total opacity in any element, punch opacity command
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.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
rdinit.crdinitinitial readar array for storing line images at start of calculation line image is up and low case
receff.creceffgenerate escape probability function for continua,
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.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.ccheckit- placed next to code that needs to be checked
service.cchIonLbluse information in line array to generate a null terminated ion label in "Fe 2"
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.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
service_lines.cabscfconvert gf into absorption coefficient
service_lines.cchIonLbluse information in line array to generate a null terminated ion label in "Fe 2"
service_lines.cchLineLbluse information in line transfer arrays to generate a line label
service_lines.cDumpLineprint various information about an emission line vector, used in debugging, print to std out, ioQQQ
service_lines.ceinaconvert a gf into an Einstein A
service_lines.cemit_fracreturns fraction of populations the produce emission
service_lines.cGetGFconvert oscillator strength into Einstein A
service_lines.cPutCSenter a collision strength into an individual line vector
service_lines.cRefIndexcalculates the index of refraction of air using the line energy in wavenumbers, used to convert vacuum wavelengths to air wavelengths.
service_lines.cTexcLinederive excitation temperature of line from contents of line array
setfpenv.cSetFPEnvset FP environment to crash on div by zero
setinp.csetinpsets 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
strbst.cstrbstgenerate abundance set from Fred Hamann's starburst evolution grid
strk.cstrkcompute 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
theavy.ctheavytime dependent heavy element ionization balance this routine currently does not do anything
thirdparty.cThisfile contains routines (perhaps in modified form) by third parties. Use and distribution of these works are determined by their respective copyrights.
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.cShapeFunc2nutwo photon emission function for hydrogen
twophoton.ctwophthydrogen 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 func during optimization, this is called before any commands are parsed
zerologic.cZerologicset initial values for logical variables