ionization balance is set up in series of IonElementname routines.

these are called by ionize

===========================================
in each IonElementname routine

ionzer zeroes out the balance array

PhotoIonize
PhotRate.PhotoRate[0][ns][nion][nelem] photo rate for shell ns
PhotRate.PhotoRate[1][ns][nion][nelem] heating rate for same shell, not causing sec ion
PhotRate.PhotoRate[2][ns][nion][nelem] heating that can sec ion

CollidIonize
CollIonRate.CollidRate[0][nion][nelem] is collisional ionization rate
CollIonRate.CollidRate[1][nion][nelem] is cooling due to this

MakeRecomb
fills in recombination array
RecomRate.RecombinRate[ion][NELEM-1]

===================================================

BiDiag

to print photo ion rates for all shells of an ion and element
GammaPrtRate(
	/* io unit we will write to */
	FILE * ioFILE, 
	/* stage of ionization on C scale, 0 for atom */
	long int ion ,
	/* 0 for H, etc */
	long int ipZ)

===================================================

charge transfer

everthing is in chargtran.c and chargtran.h

with hydrogen evaluated in ChargTran

this is the charge ionization, recom array that goes into the ionization balance
[0][ion] is ionization, 
[1][ion] is recombination 
this has all charge transfer rates 
EXCEPT those for hydrogen those are in HCharExcIon and HCharExcRec

CharExc.CTHeavy[direction][species]