
abundances.c	AbundancesPrt	print all abundances, both gas phase and grains 
abundances.c	AbundancesSet	sets initial abundances after parameters are entered by reading input 
abundances.c	AbundancesTable	interpolate on table of points to do 'element table' command, 
abundances.c	PrtElem	print chemical composition at start of calculation 
abund_starburst.c	abund_starburst	generate abundance set from Fred Hamann's starburst evolution grid 
age_check.c	AgeCheck	check various timescales after calculation complete to confirm time steady OK 
assert_results.c	InitAssertResults	 this must be called first, done at startup of ParseCommands
assert_results.c	lgCheckAsserts	 checks asserts, last thing cloudy calls, returns TRUE if all are ok, FALSE if problems 
assert_results.c	ParseAssertResults	- parse input stream 
atmdat_2photon.c	atmdat_2phot_rate	hydrogen two photon emission, including induced emission 
atmdat_2photon.c	atmdat_2phot_shapefunction	two photon emission function for hydrogen 
atmdat_3body.c	atmdat_3body	derive three-body recombination coefficients 
atmdat_3body.c	da	interpolate on three body recombination by Steve Cota 
atmdat_char_tran.c	ChargTranEval	fill in the HCharExcIonOf and Rec arrays with Kingdon's fitted CT with H 
atmdat_char_tran.c	ChargTranPun	 punch charge transfer coef 
atmdat_char_tran.c	ChargTranSumHeat	sum net heating due to charge transfer, called in HeatSum 
atmdat_char_tran.c	HCTIon	H charge transfer ionization 
atmdat_char_tran.c	HCTRecom	H charge transfer recombination 
atmdat_char_tran.c	MakeHCTData	holds data for charge tranfer fits 
atmdat_coll_ion.c	atmdat_coll_ion	D Verner's routine to compute collisional ionization rate coefficients 
atmdat_dielrec_fe.c	atmdat_dielrec_fe	Dielectronic recombination rates for Fe from Arnaud & Raymond 1992 
atmdat_dielsupres.c	atmdat_DielSupres	derive scale factors for suppression of Burgess dielectronic recombination 
atmdat_HS_caseb.c	atmdat_HS_caseB	- interpolate on line emissivities from Storey & Hummer tables for hydrogen 
atmdat_h_photocs_fit.c	atmdat_hpfit	state specific photoionization cross sections for model hydrogen atom  for any level up through NHYDRO_MAX_LEVEL defined 401L in cddefines.h 
atmdat_H_phot_cs.c	atmdat_H_phot_cs	-0 hydrogen cross sections 
atmdat_h_rad_rec.c	atmdat_H_rad_rec	calculates state-specific recombination rates for hydrogen and hydrogen-like ions
atmdat_ligbar.c	ligbar	obtain collision strength for any Li-sequence line 
atmdat_lines_setup.c	lines_setup	convert level 1 and level 2 line parameters and pointers into internal form   used by code, line data were read in by atmdat_readin 
atmdat_outer_shell.c	atmdat_outer_shell	determine outer shell, and statistical weights of that and higher ion, for any ion  written by Dima Verner 
atmdat_phfit.c	atmdat_phfit	derive photoionization cross sectoins for first 30 elements 
atmdat_rad_rec.c	atmdat_rad_rec	calculates rates of radiative recombination for all ions 
atmdat_readin.c	atmdat_readin	read in some data files, but only if this is very first call,   called by Cloudy 
atmdat_rec_lines.c	atmdat_rec_lines	effective recombination coefficients for lines of C, N, O, by D. Verner  /
atom_fe2ovr.c	atoms_fe2ovr	compute FeII overlap with Lya 
atom_fe2ovr.c	fe2par	evaluate FeII partition function 
atom_fe2ovr.c	Fe2_ovr_DataInit	storing energy levels for Fred's FeII ground 
atom_feii.c	AssertFeIIDep	called by assert feii depart coef command 
atom_feii.c	FeIIAccel	called by rt_line_driving to compute radiative acceleration due to FeII lines 
atom_feii.c	FeIIAddLines	save accumulated FeII intensities called by lineset4 
atom_feii.c	FeIIBandsCreate	returns number of feii bands 
atom_feii.c	FeIICollRatesBoltzmann	evaluate collision strenths,   both interpolating on r-mat and creating g-bar   find Boltzmann factors, evaluate collisional rate coefficients 
atom_feii.c	FeIIContCreate	create FeII continuum bins to add lines into ncell cells between wavelengths lambda low and high,  returns number of cells used 
atom_feii.c	FeIICreate	read in needed data from file   convert form of feii data, as read in from file within routine FeIICreate  into physical form.  called by atmdat_readin  
atom_feii.c	FeIIIntenZero	zero out intensity of FeII atom 
atom_feii.c	FeIILevelPops	 main feii routine, called by CoolIron to evaluate iron cooling 
atom_feii.c	FeIILyaPump	find rate of Lya excitation of the FeII atom 
atom_feii.c	FeIIOvrLap	handle overlapping FeII lines 
atom_feii.c	FeIIPoint	called by ContCreatePointers to create pointers for lines in large FeII atom 
atom_feii.c	FeIIPrint	print feii information 
atom_feii.c	FeIIPrint	print output from large feii atom, called by prtzone 
atom_feii.c	FeIIPun1Depart	send the departure coef for physical level nPUN to unit ioPUN 
atom_feii.c	FeIIPunchLevels	punch feii levels and energies 
atom_feii.c	FeIIPunchLines	punch feii lines at end of calculation, if punch verner set, called by dopunch
atom_feii.c	FeIIPunchLineStuff	include FeII lines in punched optical depths, etc, called from PunchLineStuff 
atom_feii.c	FeIIPunData	punch line data  
atom_feii.c	FeIIPunDepart	punch some departure coef for large atom,   set with punch feii departure command
atom_feii.c	FeIIPunPop	- punch level populations 
atom_feii.c	FeIIReset	reset some variables, called by zero 
atom_feii.c	FeIIRTMake	called by RT_line_all, does large FeII atom radiative transfer 
atom_feii.c	FeIISumBand	sum up large FeII emission over certain bands, called in lineset4 
atom_feii.c	FeIITauInc	called once per zone in RT_tau_inc to increment large FeII atom line optical depths 
atom_feii.c	FeIIZero	initialize some variables, called by zero one time before commands parsed 
atom_feii.c	FeII_Colden	maintain H2 column densities within X 
atom_feii.c	FeII_LineZero	zero out storage for large FeII atom, called by tauout 
atom_feii.c	FeII_OTS	do ots rates for FeII, called by RT_OTS 
atom_feii.c	FeII_RTOut	do outward rates for FeII, called by RT_diffuse 
atom_feii.c	FeII_RT_tau_reset	reset optical depths for large FeII atom, called by update after each iteration 
atom_feii.c	ParseAtomFeII	parse the atom FeII command 
atom_hyperfine.c	H21cm	computes rate for H 21 cm from upper to lower excitation by atomic hydrogen  
atom_hyperfine.c	H21cm_electron	compute H 21 cm rate from upper to lower excitation by electrons - call by CoolEvaluate 
atom_hyperfine.c	H21cm_H_atom	- evalutate H atom spin changing collision rate, called by CoolEvaluate 
atom_hyperfine.c	h21_t_ge_20	compute rate for H 21 cm from upper to lower excitation by atomic hydrogen  
atom_hyperfine.c	h21_t_lt_20	compute rate for H 21 cm from upper to lower excitation by atomic hydrogen  
atom_hyperfine.c	HyperfineCreat	establish space for hf arrays, reads atomic data from hyperfine.dat 
atom_hyperfine.c	HyperfineCS	- returns collision strengths for hyperfine struc transitions 
atom_level2.c	atom_level2	do 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 
atom_level3.c	atom_level3	compute three level atom, 10, 21, and 20 are line 
atom_leveln.c	atom_levelN	compute an arbitrary N level atom 
atom_oi.c	atom_oi	drive the solution of OI level populations, Ly-beta pumping 
atom_oi.c	oi_level_pops	get OI level population with Ly-beta pumping 
atom_pop2.c	atom_pop2	do level population for simple two level atom, no radiative transfer 
atom_pop3.c	atom_pop3	solve 3-level atom without radiative transfer, returns pops of level 2 and 3 
atom_pop5.c	atom_pop5	do five level atom population and cooling 
atom_seq_beryllium.c	AtomSeqBeryllium	compute level populations and emissivity for Be-sequence ions 
atom_seq_boron.c	AtomSeqBoron	compute cooling from 5-level boron sequence model atom 
cddrive.c	cdCautions	print out all cautions after calculation, on arbitrary io unit 
cddrive.c	cdClosePunchFiles	closes all the punch files that have been used 
cddrive.c	cdColm	get the column density for a constituent  
cddrive.c	cdDate	- puts date of code into string 
cddrive.c	cdDLine	get the predicted emergent line intensity, also index for line in stack 
cddrive.c	cdDrive	main routine to call cloudy under all circumstances) 
cddrive.c	cdDrive	main routine to call cloudy under all circumstances) 
cddrive.c	cdEms	obtain the local emissivity for a line, for the last computed zone 
cddrive.c	cdEms_ip	obtain the local emissivity for a line with known index 
cddrive.c	cdErrors	produce summary of all warnings, cautions, etc, on arbitrary io unit 
cddrive.c	cdExecTime	any routine can call this, find the time [s] since cdInit was called  ) prints all input commands into file 
cddrive.c	cdGetCooling_last	routine to query results and return cooling of last zone 
cddrive.c	cdGetDepth_depth	get depth structure from previous iteration 
cddrive.c	cdGetHeating_last	routine to query results and return heating of last zone 
cddrive.c	cdGetnZone	gets number of zones 
cddrive.c	cdGetPressure_last	routine to query results and return pressure of last zone 
cddrive.c	cdGetTemp_last	routine to query results and return temperature of last zone 
cddrive.c	cdIonFrac	get ionization fractions for a constituent 
cddrive.c	cdLine	get the predicted line intensity, also index for line in stack 
cddrive.c	cdLineListPunch	create a file with a list of all emission lines punched,  and their index within the emission line stack 
cddrive.c	cdLine_ip	get the predicted line intensity, using index for line in stack 
cddrive.c	cdNoExec	call this routine to tell code not to actually execute 
cddrive.c	cdNotes	print stack of notes about current calculation 
cddrive.c	cdNwcns	get the number of cautions and warnings, to tell if calculation is ok 
cddrive.c	cdOutp	redirect output to arbitrary Fortran unit number 
cddrive.c	cdPrtWL	print line wavelengths in Angstroms in the standard format - just a wrapper 
cddrive.c	cdRead	routine to read in command lines when cloudy used as subroutine 
cddrive.c	cdReasonGeo	wrte why the model stopped and type of geometry on io file 
cddrive.c	cdSurprises	print out all surprises on arbitrary unit number 
cddrive.c	cdTalk	tells the code whether to print results or be silent 
cddrive.c	cdTemp	get mean electron temperature for any element 
cddrive.c	cdTimescales	returns thermal, recombination, and H2 foramtion timescales 
cddrive.c	cdVersion	produces string that gives version number of the code 
cddrive.c	cdWarnings	write all warnings entered into comment stack 
cddrive.c	debugLine	provides a debugging hook into the main line array  
cdgetlinelist.c	cdGetLineList	routine to read in master list of emission line wavelengths and ids, for  generating loc grids,  someday add cdGetNLRLineList 
cdinit.c	cdEXIT	exit handler to terminate calculation, called at end of calculation 
cdinit.c	cdInit	routine to initialize variables, called at start of calculation 
cdspec.c	cdSPEC	returns the spectrum needed for Keith Arnaud's XSPEC 
cdspec.c	Spec_cont	called by cdSPEC to generate actual spectrum 
cloudy.c	BadStart	announce that things are so bad the calculation cannot even start 
cloudy.c	cloudy	the main routine, this IS Cloudy, ret 0 normal exit, 1 error exit,  called by maincl when used as standalone program 
cont_createmesh.c	ChckFill	perform sanity check confirming that the energy array has been properly filled 
cont_createmesh.c	ContCreateMesh	calls fill to set up continuum energy mesh if first call,   otherwise reset to original mesh 
cont_createmesh.c	fill	define the continuum energy grid over a specified range 
cont_createmesh.c	read_continuum_mesh	read the continuum definition from the file continuum_mesh.dat 
cont_createmesh.c	rfield_opac_malloc	MALLOC space for opacity arrays 
cont_createpointers.c	ContBandsCreate	- read set of continuum bands to enter total emission into line stack
cont_createpointers.c	ContCreatePointers	set up pointers for lines and continua called by cloudy after input read in   and continuum mesh has been set 
cont_createpointers.c	fiddle	adjust energy bounds of certain cells so that match ionization edges exactly 
cont_createpointers.c	ipShells	assign continuum energy pointers to shells for all atoms,  called by ContCreatePointers 
cont_createpointers.c	LimitSh	sets upper energy limit to subshell integrations 
cont_ffun.c	ffun	evaluate total flux for sum of all continuum sources 
cont_ffun.c	ffun1	derive flux at a specific energy, for one continuum 
cont_ffun.c	ReadSB99	called to work the table starburst command  
cont_ffun.c	ReadTable	called by TABLE READ to read in continuum from PUNCH TRANSMITTED CONTINUUM 
cont_gammas.c	GammaBn	evaluate photoionization rate for single shell with induced recomb 
cont_gammas.c	GammaBnPL	evaluate photoionization rate for single shell with induced recomb 
cont_gammas.c	GammaK	evaluate photoionization rate for single shell 
cont_gammas.c	GammaPL	evaluate photoionization rate for power law photo cross section 
cont_gammas.c	GammaPrt	special version of gamma function to print strong contributors 
cont_gammas.c	GammaPrtRate	print photo rates for all shells of a ion and element 
cont_gammas.c	GammaPrtShells	for the element nelem and ion, print total photo rate, subshells,  and call GamaPrt for important subshells 
cont_ipoint.c	ipContEnergy	generate unique pointer to energy within continuum array  continuum energy in Rydbergs 
cont_ipoint.c	ipFineCont	returns array index within fine energy mesh 
cont_ipoint.c	ipLineEnergy	generate unique pointer to line energy within energy mesh  line energy in Rydbergs 
cont_ipoint.c	ipoint	returns pointer to any energy within energy mesh 
cont_negative.c	ContNegative	sanity check for negative continuum intensities 
cont_pump.c	ContPump	local continuum pumping rate radiative transfer for all lines 
cont_pump.c	con_pump_op	 routine used to get continuum pumping of lines   used in ContPump in call to qg32 
cont_pump.c	vfun	approximate form of Voit function 
cont_setintensity.c	conorm	normalize continuum to proper intensity 
cont_setintensity.c	ContSetIntensity	derive intensity of incident continuum 
cont_setintensity.c	extin	do extinction of incident continuum as set by extinguish command 
cont_setintensity.c	pintr	integrates L for any continuum between two limits, used for normalization 
cont_setintensity.c	ptrcer	show continuum pointers in real time following drive pointers command 
cont_setintensity.c	qintr	integrates Q for any continuum between two limits, used for normalization 
cont_setintensity.c	sumcon	sums L and Q for net incident continuum 
conv_base.c	ConvBase	main routine to drive ionization solution for all species, find total opacity  called by ConvIoniz 
conv_base.c	lgConverg	check whether ionization of element nelem has converged 
conv_eden_ioniz.c	ConvEdenIoniz	called by ConvTempIonz, calls ConvIoniz solving for eden 
conv_eden_ioniz.c	lgConvEden	returns true if electron density is converged 
conv_fail.c	ConvFail	handle conergece failure 
conv_init_solution.c	ConvInitSolution	drive search for initial temperature, for illuminated face 
conv_ioniz.c	ConvIoniz	called by ConvEdenIonz, it calls ConvBase until converged 
conv_itercheck.c	ConvIterCheck	check whether model has converged or whether more iterations  are needed - implements the iter to converg comnd 
conv_pres_temp_eden_ioniz.c	ConvFail	handle conergece failure 
conv_pres_temp_eden_ioniz.c	ConvPresTempEdenIoniz	solve for current pressure, calls PressureChange, ConvTempEdenIonize,  called by cloudy 
conv_temp_eden_ioniz.c	ConvTempEdenIoniz	determine  temperature, called by ConPresTempEdenIoniz,  calls ConvEdenIoniz to get electron density and ionization 
conv_temp_eden_ioniz.c	CoolHeatError	evaluate ionization, and difference in heating and cooling, for temperature temp 
conv_temp_eden_ioniz.c	lgConvTemp	returns true if heating-cooling is converged 
conv_temp_eden_ioniz.c	MakeDeriv	derive numerical derivative of heating minus cooling 
conv_temp_eden_ioniz.c	PutHetCol	save heating, cooling, and temperature in stack for numerical derivatives 
cool_alum.c	CoolAlum	compute aluminum cooling 
cool_argo.c	CoolArgo	compute argon cooling 
cool_calc.c	CoolCalc	compute calcium cooling 
cool_carb.c	CoolCarb	evaluate total cooling due to carbon 
cool_chlo.c	CoolChlo	compute chlorine cooling 
cool_chro.c	CoolChro	compute chromium cooling 
cool_coba.c	CoolCoba	compute cobalt cooling 
cool_dima.c	ColStrGBar	generate g-bar collision strengths for level 2 line2 
cool_dima.c	CoolDima	compute cooling due to level 2 lines 
cool_etc.c	CoolAdd	add coolants to the cooling stack, called in evaluation of cooling function 
cool_etc.c	CoolSum	 total cooling from all entries into cooling stack 
cool_etc.c	CoolZero	set cooling and heating stack to zero 
cool_eval.c	CoolEvaluate	main routine to call others, to evaluate total cooling 
cool_fluo.c	CoolFluo	evaluate total cooling due to fluorine 
cool_iron.c	CoolIron	compute iron cooling 
cool_iron.c	Fe11Lev5	compute populations and cooling due to 5 level Fe 11 ion 
cool_iron.c	Fe13Lev5	compute populations and cooling due to 5 level Fe 13 ion 
cool_iron.c	fe14cs	compute collision strengths for forbidden transitions 
cool_iron.c	Fe2_cooling	compute cooling due to FeII emission 
cool_iron.c	Fe3Lev14	compute populations and cooling due to 14 level Fe III ion 
cool_iron.c	Fe4Lev12	compute populations and cooling due to 12 level Fe IV ion 
cool_iron.c	Fe7Lev8	compute populations and cooling due to 8 level Fe VII ion 
cool_iron.c	Fe_10_11_13_cs	evaluate collision stength for Fe 
cool_magn.c	CoolMagn	compute magnesium cooling 
cool_mang.c	CoolMang	compute manganese cooling 
cool_neon.c	CoolNeon	evaluate total cooling due to neon 
cool_nick.c	CoolNick	compute nickel cooling 
cool_nitr.c	CoolNitr	evaluate total cooling due to nitrogen 
cool_oxyg.c	CoolOxyg	evaluate total cooling due to oxygen 
cool_phos.c	CoolPhos	compute phosphorus cooling 
cool_pota.c	CoolPota	compute potassium cooling 
cool_pr.c	coolpr	stores coolants before block printed, when printing cooling agents 
cool_punch.c	CoolPunch	punch coolants 
cool_scan.c	CoolScan	compute scandium cooling 
cool_sili.c	CoolSili	compute silicon cooling 
cool_sodi.c	CoolSodi	compute sodium cooling 
cool_sulf.c	CoolSulf	compute sulphur cooling 
cool_sulf.c	S2cs	compute [CoolHeavy] 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 
cool_tita.c	CoolTita	compute titanium cooling 
cool_vana.c	CoolVana	compute vanadium cooling 
cool_zinc.c	CoolZinc	compute zinc cooling 
dynamics.c	DynaCreateArrays	allocate some space needed to save the dynamics structure variables,   called from DynaCreateArrays 
dynamics.c	DynaEndIter	called at end of iteration when advection is turned on 
dynamics.c	DynaEndZone	called at end of zone calculation when advection is turned on 
dynamics.c	DynaIonize	 called from ionize to evaluate advective terms for current conditions 
dynamics.c	DynaPresChngFactor	 called from PressureChange to evaluate new density needed for  current conditions and wind solution, returns ratio of new to old density 
dynamics.c	DynaPrtZone	- called to print zone results 
dynamics.c	DynaPunch	 punch output for dynamics solutions 
dynamics.c	DynaPunch	punch info related to advection 
dynamics.c	DynaStartZone	called at start of zone calculation when advection is turned on 
dynamics.c	DynaZero	zero some dynamics variables, called from zero.c 
fabden.c	fabden	called by dlaw command, returns density for any density law 
grains.c	grain	main routine to converge grains thermal solution 
grains_qheat.c	GrainMakeDiffuse	main routine for generating the grain diffuse emission, called by RT_diffuse 
heat_punch.c	HeatPunch	punch contributors to local heating, with punch heat command, called by punch_do 
heat_sum.c	HeatSum	evaluate heating and secondary ionization for current conditions 
heat_sum.c	HeatZero	is called by ConvBase 
helike.c	AGN_He1_CS	routine to punch table needed for AGN3 - collision strengths of HeI 
helike.c	ContinuumLowering	- limit max prin. quan. no. due to continuum lowering processes 
helike.c	defect	- calculate quantum defect. 
helike.c	HeCreate	create he-like series, called by ContCreatePointers 
helike.c	he_assign	- assigns quantum numbers and indices to iso.quant_desig and   QuantumNumbers2Index, respectively
helike.c	he_energy	- calculates energy of a given level. 
helike.c	printstuff	- in helike.h, printflag determines what will be printed.
helike.c	prt_He_like_DeparCoef	routine to print departure coefficients for he-like species 
helike.c	prt_He_like_Pops	routine to print level populations for he-like species 
helike_cs.c	AtomCSInterp	do the atom 
helike_cs.c	CS_l_mixing_PS64	- find rate for l-mixing collisions by protons, for neutrals 
helike_cs.c	HeCollid	evaluate collisional rates 
helike_cs.c	HeCSInterp	interpolate on He1 collision strengths 
helike_cs.c	IonCSInterp	do the ions 
helike_einsta.c	AngerJ	- used by scqdri 
helike_einsta.c	DoFSMixing	- applies a fine structure mixing approximation to A's.  To be replaced by   method that treats the entire rate matrix. 
helike_einsta.c	ForbiddenAuls	calculates transition probabilities for forbidden transitions. 
helike_einsta.c	he_1trans	compute Aul for given line 
helike_einsta.c	Jint	- used by scqdri 
helike_einsta.c	ritoa	- converts the square of the radial integral for a transition   (calculated by scqdri) to the transition probability, Aul. 
helike_einsta.c	scqdri	- stands for Semi-Classical Quantum Defect Radial Integral 
helike_level.c	HeLikeError	fills uncertainty arrays 
helike_level.c	HeLikeLevel	level populations  
helike_recom.c	cross_section	- calculates the photoionization cross_section for a given level and photon energy
helike_recom.c	HelikeCheckRecomb	- called by SanityCheck to confirm that recombination coef are ok,  return value is relative error between new calculation of recom, and interp value 
helike_recom.c	HeRecom	- do recomb coef for He, called by HeLike 
helike_recom.c	He_cross_section	returns 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_recom.c	He_RRCoef_Te	evaluated radiative recombination coef at some temperature 
helike_recom.c	radrecomb	- calculates radiative recombination coefficients. 
helike_recom.c	Recomb_Seaton59	- find recombination for given n,using Seaton 59 approximation.  The following three are needed by Recomb_Seaton59:      ExponentialInt      X1Int      X2Int 
helike_recom.c	RecomInt	- Integral in milne relation.  Called by qg32. 
highen.c	highen	do high energy radiation field - gas interaction, Compton scattering, etc  
hydrobranch.c	HydroBranch	compute branching ratios for Jason Ferguson's model hydrogen atom 
hydrocollid.c	C6cs123	line collision rates for lower levels of hydrogenic carbon, n=1,2,3 
hydrocollid.c	Ca20cs123	line collision rates for lower levels of hydrogenic calcium, n=1,2,3 
hydrocollid.c	Fe26cs123	line collision rates for lower levels of hydrogenic iron, n=1,2,3 
hydrocollid.c	H1cs123	hydrogen collision data levels involving 1s,2s,2p,3. 
hydrocollid.c	HCSAR_interp	interpolate on collision strengths 
hydrocollid.c	He2cs123	line collision strengths for lower levels of helium ion, n=1,2,3, by K Korista 
hydrocollid.c	Hydcs123	Hydrogenic de-excitation collision rates n=1,2,3 
hydrocollid.c	HydroCollid	evaluate collision rate for model hydrogen atom 
hydrocollid.c	Ne10cs123	line collision rates for lower levels of hydrogenic neon, n=1,2,3 
hydroeinsta.c	HydroEinstA	calculates Einstein A's from  osillator strengths
hydrogenic.c	Hydrogenic	main routine to call HydroLevel and determine model hydrogen atom level balance 
hydrogenic.c	HydroRenorm	- renormalize H so that it agrees with the chemistry 
hydrolevel.c	HydroLevel	calls HydroLevelPop or HydroT2Low to solve for ionization balance   and level populations of model hydrogen atom 
hydrolevel.c	PrtHydroTrace1	print trace info for hydrogen-like species 
hydrolevelpop.c	HydroLevelPop	solve for ionization balance level populations of model hydrogen atom 
hydrooscilstr.c	HydroOscilStr	computes hydrogenic oscillator strengths, used in the function hdexct. 
hydroreccool.c	HydroRecCool	hydrogen recombination cooling, called by iso_cool 
hydrorecom.c	HydroRecom	photoionization, recombination, radiative rates for model hydrogen atom 
hydrot2low.c	HydroT2Low	called to do hydrogenic level populations when temp too low for matrix,  forces total of level populations to add up to iso.xIonSimple[ipH_LIKE][nelem],  so results of this routine will always agree with that value 
hydro_bauman.c	 In this version, quantites that would normal cause a 64-bit floating point processor        
hydro_bauman.c	( or is it precision ). We use LOG_10 for convenience.                                        
hydro_bauman.c	hv	calculates photon energy in ergs for n -> n' transitions for H and H-like ions               
hydro_bauman.c	H_Einstein_A_lin	calculates Einstein A for any nlz                                            
hydro_bauman.c	H_photo_cs_lin	returns hydrogenic photoionization cross section in cm-2                       
hydro_bauman.c	other	version begins to fail. The trade-off is, of course, lower accuracy                    
hydro_bauman.c	This	allows us to use an upper principle quantum number `n' greater than  which the          
hydro_bauman.c	to	either underflow or overflow are evaluated using logs instead of floating point math.     
hydro_vs_rates.c	Hion_colldeexc_cs	collision strength for collisional de-excitation for any levels of hydrogenic Z
hydro_vs_rates.c	Hion_coll_ioniz_ratecoef	calculate hydrogenic ionization rates for ions   with all n, and Z
hydro_vs_rates.c	hydro_vs_deexcit	compute 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 
hypho.c	hypho	- create hydrogenic photoionization cross sections 
input_init.c	input_init	initial input_readarray array for storing line images at start of calculation     line image is up and low case                                 
ion_alumi.c	IonAlumi	ionization balance for aluminum 
ion_argon.c	IonArgon	compute ionization balance of argon 
ion_beryl.c	IonBeryl	ionization balance for beryllium 
ion_boron.c	IonBoron	ionization balance for boron 
ion_calci.c	IonCalci	perform ionization balance for calcium 
ion_carbo.c	IonCarbo	compute ionization balance for carbon 
ion_chlor.c	IonChlor	ionization balance for chlorine 
ion_chrom.c	IonChrom	do ionization balance for chromium 
ion_cobal.c	IonCobal	do ionization balance for cobalt 
ion_collis.c	ion_collis	fill in collisional ionization rates, and resulting cooling 
ion_coppe.c	IonCoppe	do ionization balance for copper     The testing can be commented out    
ion_DR_Badnell.c	              init < 0 or init >302 or final < 0 or final > 302
ion_DR_Badnell.c	        '-1': the transition is not defined
ion_DR_Badnell.c	        '-2': initial <= final
ion_DR_Badnell.c	        '99': unknown invalid entries                          
ion_DR_Badnell.c	   It returns
ion_fluor.c	IonFluor	compute ionization balance for fluorine 
ion_helium.c	IonHelium	solve ionization balance for helium 
ion_iron.c	IonIron	ionization balance for iron 
ion_lithi.c	IonLithi	compute ionization balance for lithium 
ion_magne.c	IonMagne	ionization balance for magnesium 
ion_manga.c	IonManga	derive ionization balance for manganese 
ion_neon.c	IonNeon	ionization balance for neon 
ion_nicke.c	IonNicke	ionization balance for nickel 
ion_nitro.c	IonNitro	ionization balance for nitrogen 
ion_oxyge.c	IonOxyge	derive ionization balance for oxygen 
ion_phosi.c	IonPhosi	derive ionization balance for phosphorus 
ion_photo.c	ion_photo	fill array PhotoRate with photoionization rates for heavy elements 
ion_potas.c	IonPotas	compute ionization equilibrium for Potassium 
ion_recomb.c	ion_recomb	generate recombination coefficients for any species 
ion_recomb.c	ion_recombAGN	generate recombination coefficients for AGN table 
ion_recomb.c	lint	-e817 pclint generates tons of bogus nelem < 0 warnings
ion_scand.c	IonScand	do ionization balance for scandium 
ion_silic.c	IonSilic	determine ionization balance of Silicon 
ion_sodiu.c	IonSodiu	ionization balance for sodium 
ion_solver.c	ion_solver	solve the bi-diagonal matrix for ionization balance 
ion_sulph.c	IonSulph	compute ionization balance for sulphur 
ion_titan.c	IonTitan	determine ionization balance for titanium 
ion_trim.c	ion_trim	raise or lower most extreme stages of ionization considered,  called by ConvBase - ion limits were originally set by  
ion_vanad.c	IonVanad	do ionization balance for vanadium 
ion_zero.c	ion_zero	zero out heating save arrays 
ion_zinc.c	IonZinc	ionization balance for zinc 
iso_cool.c	iso_cool	compute net cooling due to hydrogenc atom species, ground state   photoionization of hydrogenic species done in sumheat 
iso_create.c	iso_create	create data for hydrogen and helium, 1 per coreload, called by ContCreatePointers   in turn called after commands parsed 
iso_create.c	iso_zero	zero data for hydrogen and helium 
iso_ionize_recombine.c	ChargeTransferUpdate	update rate of ct ionization and recombination for H atoms 
iso_ionize_recombine.c	iso_ionize_recombine	find state specific creation and destruction rates for iso sequences 
iso_photo.c	iso_photo	do photoionization rates for element nelem on the ipISO isoelectronic sequence 
iter_end_chk.c	iter_end_check	after each zone by Cloudy, determines whether model is complete 
iter_startend.c	IterRestart	restart iteration 
iter_startend.c	IterStart	set and save values of many variables at start of iteration 
lines_service.c	abscf	convert gf into absorption coefficient 
lines_service.c	chIonLbl	use information in line array to generate a null terminated ion label in "Fe 2" 
lines_service.c	chLineLbl	use information in line transfer arrays to generate a line label 
lines_service.c	DumpLine	print various information about an emission line vector,   used in debugging, print to std out, ioQQQ 
lines_service.c	eina	convert a gf into an Einstein A 
lines_service.c	emit_frac	returns fraction of populations the produce emission 
lines_service.c	EmLineJunk	set all elements of EmLine struc to dangerous values 
lines_service.c	EmLineZero	set all elements of EmLine struc to zero 
lines_service.c	FndLineHt	search through line heat arrays to find the strongest heat source 
lines_service.c	gbar0	compute g-bar gaunt factor for neutrals 
lines_service.c	gbar1	compute g-bar collision strength using Mewe approximations 
lines_service.c	GetGF	convert Einstein A into oscillator strength 
lines_service.c	HLineTransOpacSetdefine	current transition probabilities and opacities for H lines 
lines_service.c	lgTauGood	returns true is we have not overrun optical depth scale 
lines_service.c	linadd	enter lines into the line storage array, called once per zone 
lines_service.c	lindst	add local line intensity to line luminosity stack 
lines_service.c	LineConvRate2CS	convert down coll rate back into electron cs in case other parts of code need this for reference 
lines_service.c	MakeCS	compute collision strength by g-bar approximations 
lines_service.c	OccupationNumberLine	- derive the photon occupation number at line center for any line 
lines_service.c	outline	- adds line photons to reflin and outlin 
lines_service.c	PntForLine	generate pointer for forbidden line 
lines_service.c	PutCS	enter a collision strength into an individual line vector 
lines_service.c	PutExtra	enter and 'extra' intensity source for some line 
lines_service.c	PutLine	enter local line intensity into the intensity stack for eventual printout 
lines_service.c	RefIndex	calculates the index of refraction of air using the line energy in wavenumbers,  used to convert vacuum wavelengths to air wavelengths. 
lines_service.c	TexcLine	derive excitation temperature of line from contents of line array 
lines_service.c	totlin	sum total intensity of cooling, recombination, or intensity lines 
lines_service.c	WavlenErrorGet	- find difference between two wavelengths 
magnetic.c	Magnetic_evaluate	evaluate some parameters to do with magnetic field 
magnetic.c	Magnetic_init	initialize magnetic field parameters 
magnetic.c	Magnetic_reinit	- reinitialized magnetic field at start of new iteration 
magnetic.c	ParseMagnet	parse magnetic field command  
maincl.c	main	program 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. 
map.c	map_do	produce map of heating-cooling space for specified zone, called as result of  map command  
math_complex.c	cmabs	dp complex absolute value 
math_complex.c	cmadd	retn the sum of two dp complex nos. 
math_complex.c	cmdiv	retn the quotient of two dp complex nos. 
math_complex.c	cmexp	dp complex exponential 
math_complex.c	cmmul	retn the product of two dp complex nos. 
math_complex.c	cmneg	dp complex unary minus operation 
math_complex.c	cmsub	retn the difference of two dp complex nos. 
math_complex.c	ftocm	convert floats to dp complex 
mean.c	aver	compute average of various quantities over the computed geometry  called by startenditer to initialize, radinc to increment, and prtfinal for final results 
mean.c	MeanInc	increment mean ionization fractions and temperatures over computed structure, in radius_increment 
mean.c	MeanIonRadius	do radius mean ionization fractions or temperature over radius for any element 
mean.c	MeanIonVolume	do volume mean ionization fractions or temperature over volume for any element 
mean.c	MeanZero	zero mean of ionization fractions array 
molcol.c	molcol	generate and print molecular column densities 
mole_co_atom.c	cdCO_colden	return column density in H2, negative -1 if cannot find state,  header is cddrive 
mole_co_atom.c	CO_PopsEmisCool	evaluate rotation levels populations, emission, and cooling 
mole_co_drive.c	CO_drive	- public routine, calls CO_solve to converge molecules 
mole_co_drive.c	lgMolecAver	average old and new molecular equilibrium balance from CO_solve 
mole_co_ele_recomb.c	CO_ele_recomb() contains all heavy element reactions with electrons   
mole_co_etc.c	CO_Init	called from cdInit to initialized co routines 
mole_co_etc.c	CO_update_chem_rates	update rate coefficients, only temp part - in mole_co_etc.c 
mole_co_gas_grain.c	CO_gasgrain	defines matrix elements for gas-grain chemistry of heavy element molecules 
mole_co_hyd_he.c	CO_step	fills in matrix for heavy elements molecular routines 
mole_co_monox.c	CO_step	fills in matrix for heavy elements molecular routines 
mole_co_photo.c	CO_photo	fills in matrix elements for heavy element photon and cosmic ray processes 
mole_co_rates.c	CO_rates	calculates all the rates for coupled reactions in the heavy  element network. 
mole_co_solve.c	CO_step	fills in matrix for heavy elements molecular routines 
mole_co_step.c	CO_step	fills in matrix for heavy elements molecular routines 
mole_h2.c	cdH2_colden	return column density in H2, negative -1 if cannot find state,  header is cddrive 
mole_h2.c	H2_Accel	radiative acceleration due to H2 
mole_h2.c	H2_Colden	maintain H2 column densities within X 
mole_h2.c	H2_collid_rates	- set H2 collision rates 
mole_h2.c	H2_ContPoint	set the ipCont struc element for the H2 molecule, called by ContCreatePointers 
mole_h2.c	H2_cooling	evaluate cooling and heating due to H2 molecule 
mole_h2.c	H2_DR	choose next zone thickness based on H2 big molecule 
mole_h2.c	H2_InterEnergy	internal energy of H2 called in PresTotCurrent 
mole_h2.c	H2_itrzn	- average number of H2 pop evaluations per zone 
mole_h2.c	H2_LevelPops	do level H2_populations for H2, called by Hydrogenic 
mole_h2.c	H2_Level_low_matrix	evaluate CO rotation cooling 
mole_h2.c	H2_LineZero	initialize optical depths in H2, called from RT_tau_init 
mole_h2.c	H2_RadPress	rad pre due to h2 lines called in PresTotCurrent 
mole_h2.c	H2_RTMake	do RT for H2 - called from RT_line_all 
mole_h2.c	H2_RT_diffuse	do emission from H2 - called from RT_diffuse 
mole_h2.c	H2_RT_tau_inc	increment optical depth for the H2 molecule, called from RT_tau_inc 
mole_h2.c	H2_RT_tau_reset	the large H2 molecule, called from RT_tau_reset 
mole_h2.c	H2_X_coll_rate_evaluate	find collisional rates within X 
mole_h2.c	turn	this flag on to do minimal debug print of pops 
mole_h2_create.c	H2_Create	create variables for the H2 molecule, called by ContCreatePointers after continuum  mesh has been set up 
mole_h2_etc.c	H2_gs_rates	evaluate rates between ground and star states of H2 for use in chemistry 
mole_h2_etc.c	H2_init	- called to initialize things from cdInit 
mole_h2_etc.c	H2_Solomon_rate	find rates between H2s and H2g and other levels,  for eventual use in the chemistry 
mole_h2_etc.c	H2_Zero	zero out vars in the large H2 molecule, called from zero   before any commands are parsed 
mole_h2_etc.c	H2_zero_pops_too_low	- zero out some H2 variables if we decide not to compute  the full sim, called by H2_LevelPops
mole_h2_etc.c	mole_H2_LTE	sets Boltzmann factors and LTE unit population of large H2 molecular 
mole_h2_form.c	mole_H2_form	find state specific rates grains and H- form H2 
mole_h2_io.c	 cdH2_Line returns 1 if we found the line,   or FALSE==0 if we did not find the line because ohoto-para transition  or upper level has lower energy than lower level 
mole_h2_io.c	chMolBranch	returns a char with the spectroscopic branch of a transition 
mole_h2_io.c	H2_LinesAdd	add in explicit lines from the large H2 molecule, called by lines_molecules 
mole_h2_io.c	H2_ParsePunch	parse the punch h2 command 
mole_h2_io.c	H2_ParsePunch	parse the punch h2 command 
mole_h2_io.c	H2_Prt_column_density	print H2 info into zone results, called from prtzone for each printed zone 
mole_h2_io.c	H2_Prt_line_tau	print line optical depths, called from premet in response to print line optical depths command
mole_h2_io.c	H2_Prt_Zone	print H2 info into zone results, called from prtzone for each printed zone 
mole_h2_io.c	H2_PunchDo	punch some properties of the large H2 molecule 
mole_h2_io.c	H2_PunchLineStuff	include H2 lines in punched optical depths, etc, called from PunchLineStuff 
mole_h2_io.c	H2_Punch_line_data	punch line data for H2 molecule 
mole_h2_io.c	H2_ReadCollRates	read collision rates 
mole_h2_io.c	H2_ReadDissprob	read dissociation probabilities and kinetic energies for all electronic levels 
mole_h2_io.c	H2_ReadEnergies	read energies for all electronic levels 
mole_h2_io.c	H2_ReadTransprob	read transition probabilities 
mole_h2_io.c	H2_Read_hminus_distribution	read distribution function for H2 population following formation from H minus 
mole_h_drive.c	hmole	determine populations of hydrogen molecules 
mole_h_drive.c	hmole_init	- initialize some hmole vars 
mole_h_drive.c	hmole_old	determine populations of hydrogen molecules 
mole_h_drive.c	hmole_reactions	update hmole reactions 
mole_h_step.c	>> chng 02 nov 7 rjrw, Mole Moreliano:    changes to linearized iterative form 
mole_h_step.c	about	generating the in and out vectors from a text string, e.g. "H +
mole_h_step.c	and	next to switch on the prints in the matrix assembly which apply to
mole_h_step.c	from	Robin Williams:
mole_h_step.c	H	=> H2" ;-), but you'd have to verify uniqueness).
mole_h_step.c	hmirat	compute radiative association rate for H- 
mole_h_step.c	hmole_step	do a step in chemical network 
mole_h_step.c	kind	of naming scheme for the reactions may come in handy (I'd thought
mole_h_step.c	lint	-e778 const express eval to 0 
mole_h_step.c	of	a pain grepping down to find the 47th reaction, so I guess some
mole_h_step.c	switch	printsol on to check which terms in the chemical matrix change,
mole_h_step.c	The	process for these kind of problems seems to be pretty uniform:
mole_h_step.c	the	species involved to find what reactions are involved.  It's a bit
opacity_add1element.c	OpacityAdd1Element	enter total photo cross section for all subshells into opacity array 
opacity_add1subshell.c	OpacityAdd1Subshell	add opacity due to single shell to main opacity array
opacity_add1subshell.c	OpacityAdd1SubshellInduc	add opacity of individual species, including stimulated emission 
opacity_addtotal.c	OpacityAddTotal	derive total opacity for this position,  called by ConvBase 
opacity_createall.c	hmiopc	derive total H- H minus opacity 
opacity_createall.c	OpacityCreate1Element	generate ionic subshell opacities by calling atmdat_phfit 
opacity_createall.c	OpacityCreateAll	compute initial set of opacities for all species 
opacity_createall.c	OpacityValenceRescale	routine to rescale non-OP valence shell cross sections 
opacity_createall.c	Opacity_iso_photo_cs	returns photoionization cross section for isoelectronic sequences 
opacity_createall.c	opacity_more_memory	allocate more memory for opacity stack 
opacity_createall.c	rayleh	compute Rayleigh scattering cross section for Lya 
opacity_createall.c	Yan_H2_CS	- cross sections for the photoionization of H2   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   
opacity_zero.c	OpacityZero	zero out opacity save arrays, save old opacity in OldOpacSave array 
optimize_amoeba.c	optimize_amoeba	routine for optimizing model parameters 
optimize_do.c	optimize_do	main driver for optimization runs
optimize_func.c	optimize_func	actual function called during evaluation of optimization run 
optimize_phymir.c	optimize_phymir	Peter van Hoof's optimization routine 
optimize_powell.c	optimize_powell	- spectrum minimization routine -  logic closely based on routine in Press et al,  but totally recoded to be redistributable 
parse_absmag.c	ParseAbsMag	parse the absolute magnitude command 
parse_abundances.c	ParseAbundances	parse and read in composition as set by abundances command 
parse_age.c	ParseAge	parse parameters off the age command 
parse_agn.c	ParseAgn	parse parameters for the AGN continuum shape command 
parse_atomco.c	ParseAtomCO	parse information from the rotor command line 
parse_atomh2.c	ParseAtomH2	parse information from the atom command line 
parse_atomhelike.c	ParseAtomHeLike	parse parameters off the helium command 
parse_atomhlike.c	ParseAtomHLike	parse information from the atom h-like command line 
parse_backgrd.c	ParseBackgrd	parse options for the BACKGROUND command - this actually enters two continua
parse_blackbody.c	ParseBlackbody	parse parameters off black body command 
parse_CMB.c	ParseCMB	parse parameters from fireball command 
parse_commands.c	ParseCommands	main command line parser, decode command, then call other routines to read 
parse_compile.c	ParseCompile	compile werner or kurucz model atmospheres into cloudy format, originallly by K Volk,  also compile opacity and grains  
parse_constant.c	ParseConstant	parse parameters from the 'constant ...' command 
parse_coronal.c	ParseCoronal	parse parameters off coronal equilibrium command 
parse_cosmic_rays.c	ParseCosmicRays	parse the cosmic rays command 
parse_crashdo.c	ParseCrashDo	any of several tests to check that the code can crash 
parse_dlaw.c	ParseDLaw	parse parameters on the dlaw command 
parse_dont.c	ParseDont	parse the dont command - do not do something 
parse_drivecmnd.c	dgaunt	drive gaunt factor routines by letting user query values 
parse_drivecmnd.c	DrvCaseBHS	allow user to query hydrogen A's, asks for up, low level, gives A, drive hyas 
parse_drivecmnd.c	DrvHyas	allow user to query hydrogen A's, asks for up, low level, gives A, drive hyas 
parse_drivecmnd.c	ParseDriveCmnd	parse the drive command - drive calls to various subs 
parse_element.c	ParseElement	parse options on element command 
parse_fluc.c	ParseFluc	parse the fluctuations command, which affects either density or abundances 
parse_f_nu.c	ParseF_nu	parse intensity command parameters 
parse_globule.c	ParseGlobule	parse parameters off the globule command 
parse_grain.c	ParseGrain	parse parameters on grains command 
parse_hden.c	ParseHDEN	parse the hden command 
parse_init.c	ParseInit	bring an initialization file into input stream before parse  
parse_interp.c	ParseInterp	parse parameters on interpolate command 
parse_ionpar.c	ParseIonPar	parse the ionization parameter command 
parse_map.c	ParseMap	parse map command to produce map of heating and cooling,  map is produced by calling punt(" map") 
parse_metal.c	ParseMetal	parse parameters on metal command 
parse_norm.c	ParseNorm	parse parameters on the normalize command 
parse_optimize.c	GetOptColDen	read observed column densities & errors for optimizer 
parse_optimize.c	GetOptLineInt	parse observed line intensites for optimization routines 
parse_optimize.c	GetOptTemp	read observed temperatures & errors for optimizer 
parse_optimize.c	ParseOptimize	parse the optimize command line 
parse_plot.c	ParsePlot	parse the plot command 
parse_plot.c	ParsePlotRangeOption	parse range from plot command 
parse_powerlawcontinuum.c	ParsePowerlawContinuum	parse the power law continuum command 
parse_print.c	ParsePrint	parse the print command  
parse_print.c	prt_constants	print physical constants 
parse_punch.c	ChkUnits	check for keyword UNITS on line, then scan wavelength or energy units if present 
parse_punch.c	ClosePunchFiles	close all punch files 
parse_punch.c	ParsePunch	parse the punch command 
parse_punch.c	PunchFilesInit	initialize punch file pointers, called from cdInit 
parse_radius.c	ParseRadius	parse the radius command 
parse_rangeoption.c	ParseRangeOption	parse the range option on the luminosity command 
parse_ratio.c	ParseRatio	derive continuum luminosity of this continuum relative to previous 
parse_set.c	ParseSet	scan parameters off SET command 
parse_sphere.c	ParseSphere	parse parameters on sphere command 
parse_stop.c	ParseStop	parse the stop command 
parse_table.c	lines_table	envoked by table lines command, check if we can find all lines in a given list 
parse_table.c	ParseTable	parse the table read command 
parse_table.c	read_hm05	read in the data files and interpolate the continuum to  the correct redshift 
parse_tlaw.c	ParseTLaw	parse parameters on the tlaw command to set temperature as function of depth,  currently only does Bertoldi & Draine simple T law 
parse_trace.c	ParseTrace	read in options off the trace command line 
plot.c	plot	master routine to generate some sort of plot 
pressure_change.c	lgConvPres	finds amount by which density should change to move towards pressure equilibrium  returns true if pressure is converged 
pressure_change.c	PressureChange	called 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 
pressure_total.c	PresTotCurrent	determine the gas and line radiation pressures for current conditions,  this sets values of pressure.PresTotlCurr, also calls tfidle 
prt.c	prt_LineLabels	punch all labels and wavelengths for emission line array 
prt.c	prt_wl	- print floating wavelength in Angstroms, in output format 
prt.c	sprt_wl	write wavelength to string - must be kept parallel with prt_wl 
prt_alltau.c	PrtAllTau	master routine controlling printout of optical depths at end of calculation 
prt_columns.c	PrtColumns	print column densities of all elements 
prt_comment.c	badprt	print out coolants if energy not conserved 
prt_comment.c	chkCaHeps	check whether CaII K and H epsilon overlap 
prt_comment.c	outsum	sum outward continuum beams 
prt_comment.c	PrtComment	analyze model, generating comments on its features 
prt_comment.c	prt_smooth_predictions	check whether fluctuations in any predicted quantities occurred 
prt_continuum.c	PrtContinuum	print information about continuum if requested with PRINT CONTINUUM command,  called by PrtFinal 
prt_final.c	gett2	analyze computed structure to get structural t^2 
prt_final.c	gett2o3	analyze computed [OIII] spectrum to get t^2 
prt_final.c	PrtFinal	create PrtFinal pages of printout, emission line intensities, etc 
prt_final.c	StuffComment	routine to stuff comments into the stack of comments, def in lines.h 
prt_header.c	PrtHeader	print program's header, including luminosities and ionization parameters 
prt_linepres.c	PrtLinePres	print line radiation pressures for current conditions 
prt_lines.c	Drive_cdLine	do the drive cdLine command 
prt_lines.c	lines	main routine to put emission line intensities into line stack,  calls lineset1, 2, 3, 4 
prt_linesum.c	PrtLineSum	parse print line sum command to enter set of lines into sum  
prt_lines_continuum.c	lines_continuum	put energetics, H, and He lines into line intensity stack 
prt_lines_general.c	GetMaxhLine	find the strongest heating line 
prt_lines_general.c	lines_general	put general information and energetics into line intensity stack 
prt_lines_grains.c	lines_hydro	put H-iso seq into line intensity stack 
prt_lines_helium.c	lines_helium	put energetics, H, and He lines into line intensity stack 
prt_lines_helium.c	TempInterp	interpolates on a grid of values to produce predicted value at current Te.
prt_lines_hydro.c	lines_hydro	put H-iso seq into line intensity stack 
prt_lines_lv1_k_zn.c	lines_lv1_k_zn	place lines of elements potatium and heavier into lines storage stack 
prt_lines_lv1_li_ne.c	lines_lv1_li_ne	place lines of elements lithium through neon into lines storage stack  n_ion for C, N, or O recombination lines from Dima's list,  also zero's line in master stack so not entered second time in later dump of all rec lines 
prt_lines_lv1_na_ar.c	lines_lv1_na_ar	place lines of elements sodium through argon into lines storage stack 
prt_lines_molecules.c	lines_molecules	put energetics, H, and He lines into line intensity stack 
prt_meanion.c	PrtMeanIon	print mean ionization fractions or temperatures for all elements 
prt_met.c	prtmet	print all line optical depths at end of iteration 
prt_zone.c	PrtZone	print out individual zone results 
prt_zone.c	prt_H_like_DeparCoef	print out hydrogenic populations 
prt_zone.c	prt_H_like_Pops	print out hydrogenic populations 
punch_do.c	pun1Line	called by PunchLineStuff to produce output for one line 
punch_do.c	punch	h emiss, for chapt 4, routine is below 
punch_do.c	PunchDo	produce punch output during calculation,  chTime is 'MIDL' during calculation, 'LAST' at the end 
punch_do.c	PunchGaunts	called by punch gaunts command to output gaunt factors 
punch_do.c	PunchLineStuff	punch optical depths or source functions for all transferred lines 
punch_do.c	PunchNewContinuum	produce the 'punch new continuum' output 
punch_do.c	PunchNewContinuum	produce the 'punch new continuum' output 
punch_do.c	PunchSpecial	generate output for the punch special command 
punch_do.c	PunLineIntensity	produce the 'punch lines intensity' output 
punch_do.c	punResults	punch results from punch results command 
punch_do.c	PunResults1Line	do single line of output for the punch results and punch line intensity commands 
punch_do.c	PunResults1Line	do single line of output for the punch results and punch line intensity commands 
punch_do.c	the	number of emission lines across one line of printout 
punch_line.c	punch_line	parse punch lines command, or actually do the punch lines output 
punch_line.c	Punch_Line_RT	parse the punch line rt command - read in a set of lines 
punch_linedata.c	Punch1LineData	punch data for one line 
punch_linedata.c	PunchLineData	punches selected line data for all lines transferred in code 
punch_opacity.c	punch_opacity	punch total opacity in any element, punch opacity command 
punch_special.c	PunchSpecial	generate output for the punch special command 
radius_first.c	radius.drad
radius_first.c	radius.drad_x_fillfac
radius_first.c	radius_first	derive thickness of first zone, called after conditions in first zone   are established, sets 
radius_increment.c	pnegopc	punch negative opacities on io unit, iff 'set negopc' command was given 
radius_increment.c	radius_increment	do work associated with geometry increments of this zone, called before RT_tau_inc 
radius_next.c	ContRate	called by radius_next to find energy of maximum continuum-gas interaction 
radius_next.c	GrainRateDr	called by radius_next to find grain heating rate dr 
radius_next.c	radius_next	use adaptive logic to find next zone thickness 
radius_next.c	TODO	2 - 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
rt_continuum_shield_fcn.c	conpmp	local continuum pumping rate radiative transfer for all lines 
rt_continuum_shield_fcn.c	conpmp	local continuum pumping rate radiative transfer for all lines 
rt_continuum_shield_fcn.c	rt_continuum_shield_fcn	computing continuum shielding due to single line 
rt_continuum_shield_fcn.c	vfun	voit function helper routine 
rt_diffuse.c	RT_diffuse	evaluate local diffuse emission for this zone,  fill in ConEmitLocal array with diffuse emission,  OTS rates for this zone were set in RT_OTS,  called by Cloudy, this routine adds energy to the outward beam 
rt_escprob.c	esca0k2	derive Hummer's K2 escape probability for Doppler core only 
rt_escprob.c	esc_CRDcore	escape probability for CRD with no wings 
rt_escprob.c	esc_CRDwing	escape probability for CRD with wings 
rt_escprob.c	esc_CRDwing_1side	fundamental escape probability radiative transfer routine, for complete redistribution 
rt_escprob.c	esc_PRD	escape probability radiative transfer for incomplete redistribution 
rt_escprob.c	esc_PRD_1side	fundamental escape probability radiative transfer routine for incomplete redistribution 
rt_escprob.c	RTesc_lya	escape prob for hydrogen atom Lya, using Hummer and Kunasz results,  called by hydropesc 
rt_escprob.c	RT_DestProb	returns line destruction probability due to continuum opacity 
rt_escprob.c	RT_LineWidth	determine half width of any line with known optical depths 
rt_line_all.c	RT_line_all	do escape and destruction probs for all lines in code.    Called with FALSE arg by ionize, to only redo destruction probabilites,  and with TRUE by cloudy to do both escape and destruction 
rt_line_driving.c	RT_line_driving	derive radiative acceleration due to line absorption of incident continuum 
rt_line_one.c	RT_line_static	do line radiative transfer for static geometry,  evaluates escape and destruction probability,   called by HydroPEsc, RT_line_all  
rt_line_one.c	RT_line_wind	do line radiative transfer for wind geometry 
rt_line_one_tauinc.c	RT_line_one_tauinc	increment optical depths for all heavy element lines, zone by zone,  mainly called by RT_tau_inc, but also by FeII 
rt_line_one_tau_reset.c	RT_line_one_tau_reset	computes average of old and new optical depths for new scale at end of iter,  called by update, also FeIILevelPops 
rt_ots.c	RT_OTS	compute diffuse fields due to H, He atoms, ion, triplets, metal recombination,  called by ConvBase  
rt_ots.c	RT_OTS_AddCont	add local destruction of continuum to ots field 
rt_ots.c	RT_OTS_AddLine	add local destruction of lines to ots field 
rt_ots.c	RT_OTS_ChkSum	sanity check confirms summed continua reflect contents of individuals 
rt_ots.c	RT_OTS_Update	sum flux, otscon, otslin, ConInterOut, outlin, to form SummeDif, SummedCon SummedOcc 
rt_ots.c	RT_OTS_Zero	- zero out some vectors -   this is only called when code initialized by ContSetIntensity 
rt_radiative_acceleration.c	RT_radiative_acceleration	radiative acceleration due to incident continuum, calls rt_line_driving for lines
rt_recom_effic.c	RT_recom_effic	generate escape probability function for continua, 
rt_stark.c	RT_stark	compute stark broadening escape probabilities using Puetter formalism 
rt_tau_inc.c	RT_tau_inc	increment optical depths once per zone, called after radius_increment 
rt_tau_init.c	RT_tau_init	set initial outward optical depths at start of first iteration,  it is only called by cloudy one time per complete calculation, just after  continuum set up and before start of convergence attempts.     RT_tau_reset after first iteration, updates the optical depths, mirroring this  routine but with the previous iteration's variables 
rt_tau_reset.c	RT_tau_reset	after first iteration, updates the optical depths, mirroring this  routine but with the previous iteration's variables 
sanity_check.c	SanityCheck	 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.c	AnuUnit	produce continuum energy in arbitrary units 
service.c	BadMalloc	announce memory allocation failure - put breakpoint here to find where 
service.c	BadOpen	general error handler for trying to open file, but failing 
service.c	BadRead	general error handler for trying to read data, but failing 
service.c	broken	set flag saying that the code is broken, 
service.c	cap4	convert first 4 char of input line chLab into chCAP all in caps, null termination 
service.c	caps	convert input command line (through eol) to ALL CAPS 
service.c	cdEXIT	the routine that should be called to exit cloudy 
service.c	chIonLbl	use information in line array to generate a null terminated ion label in "Fe 2" 
service.c	CodeReview	- placed next to code that needs to be checked 
service.c	csphot	returns photoionization cross section from opacity stage using std pointers 
service.c	dbg_printf	is 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.c	dsexp	safe exponential function for doubles 
service.c	e2	second exponential integral 
service.c	FFmtRead	scan input line for free format number 
service.c	fixit	- say that code needs to be fixed 
service.c	fudge	enter fudge factors, or some arbitrary number, with fudge command
service.c	GetElem	scans line image, finds element. returns atomic number j, on C scale 
service.c	GetQuote	get any name between double quotes off command line  return string as chLabel, is null terminated 
service.c	insane	set flag saying that insanity has occurred 
service.c	lgMatch	determine 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.c	MyAssert	a version of assert that fails gracefully 
service.c	MyCalloc	wrapper for calloc().  Returns a good pointer or dies. 
service.c	MyGaussRanGauss	a wrapper for RandGauss, see below 
service.c	MyMalloc	wrapper for malloc().  Returns a good pointer or dies. 
service.c	NoNumb	general error handler for no numbers on input line 
service.c	qg32	32 point Gaussian quadrature, original fortran given to Gary F by Jim Lattimer 
service.c	qip	compute pow(x,n) for positive integer n through repeated sqarings 
service.c	RandGauss	normal random variate generator 
service.c	sexp	safe exponential function 
service.c	ShowMe	produce request to send information to GJF after a crash 
service.c	spsort	netlib routine to sort array returning sorted indices    this label is null terminated 
service.c	TestCode	set flag saying that test code is in place 
service.c	the	prototypes are in cddefines.h and so are automatically picked up by all routines 
service.c	TotalInsanity	general error handler for something that cannot happen 
stars_atlas.c	AtlasCompile	rebin Kurucz stellar models to match energy grid of code 
stars_atlas.c	AtlasGetOne	get one of the Atlas model atmospheres, coded by K. Volk 
stars_atlas.c	AtlasInterpolate	interpolate on atlas model atmospheres, by K Volk 
stars_costar.c	CoStarCompile	rebin costar stellar atmospheres to match cloudy energy grid,  called by the compile stars command 
stars_costar.c	CoStarInterpolate	read in and interpolate on costar grid of windy O atmospheres 
stars_kurucz79.c	kurucz79	obtain interpolated Kurucz stellar atmosphere 
stars_mihals.c	mihals	generate continuum from Mihalas stellar atmosphere 
stars_rauch02.c	RauchCompile02	rebin Rauch stellar models to match energy grid of code
stars_rauch02.c	RauchInitialize02	K Volk's routine to compact the 66 Rauch atmospheres into a large ascii file.
stars_rauch02.c	RauchInterpolate02	get one of the Rauch model atmospheres, original version by K. Volk 
stars_rauch_old.c	RauchCompile	rebin Rauch stellar models to match energy grid of code
stars_rauch_old.c	RauchInitialize	K Volk's routine to compact the 66 Rauch atmospheres into a large ascii file.
stars_rauch_old.c	RauchInterpolate	get one of the Rauch model atmospheres, original version by K. Volk 
stars_werner.c	WernerCompile	rebin Werner stellar atmospheres to match cloudy energy grid 
stars_werner.c	WernerInterpolate	read in and interpolate on Werner grid of PN atmospheres, by K Volk 
stars_werner.c	WernerInterpolate_one	get a single Werner PN atmosphere, by K Volk 
tabden.c	tabden	interpolate on table of points for density with dlaw table command, by K Volk 
tfidle.c	tauff	compute optical depth where cloud is thin to free-free and plasma freq 
tfidle.c	tfidle	update some temperature dependent variables 
tfidle.c	velset	set thermal velocities for all particles in gas 
thirdparty.c	This	file contains routines (perhaps in modified form) written by third parties.  Use and distribution of these works are determined by their respective copyrights. 
thirdparty_bevington.c	linfit	do linear least squares fit to arrays 
thirdparty_lapack.c	These	are wrappers for lapack linear algebra routines.  There are two versions of the lapack routines - a fortran  version that I converted to C with forc to use if nothing else is available  (included in the Cloudy distribution),  and an option to link into an external lapack library that may be optimized  for your machine.  By default the tralated C routines will be used.  To use your machine's lapack library instead, define the macro  LAPACK and link into your library.  This is usually done with a command line  switch "-DLAPACK" on the compiler command, and the linker option "-llapack"
vary_input.c	vary_input	sets input lines to feed into cloudy in optimization runs 
warnings.c	bangin	called by routine comment to enter surprise into comment stack 
warnings.c	caunin	called by comment to enter caution into comment stack 
warnings.c	notein	enter a note about calculation into comment array 
warnings.c	warnin	enter warnings at the end of the calculations into large stack 
warnings.c	wcnint	initialize stack or warnings, cautions, notes 
zero.c	rfield_optac_zero	zero out rfield arrays between certain limits 
zero.c	zero	zero out or initialize variables, called by cdInit, but also by optimize_func during optimization,  this is called before any commands are parsed, called one time per model, at very start 
zerologic.c	Zerologic	set initial values for logical variables   this is called before any commands are parsed 
zone_startend.c	ZoneEnd	last routine called after all zone calculations, before iter_end_check,  upon exit radiation field is for outer edge of current zone 
zone_startend.c	ZoneStart	set variables that change with each zone, like radius, depth,  upon exit flux will be flux at center of zone about to be computed 
