nlev | nlev is the number of levels to compute |
abund | ABUND is total abundance of species, used for nth equation |
g[] | G(ndim) is stat weight of levels |
ex[] | EX(ndim) is excitation potential of levels, either wn or deg K 0 for first one, NOT d(ENER), but energy rel to ground |
chExUnits | this is 'K' for above ex[] as Kelvin deg, is 'w' for wavenumbers |
pops[] | populations of each level as deduced here |
depart[] | departure coefficient derived here |
AulEscp | net transition rate, A * esc prob, s-1 |
AulDest | AulDest(ilo,ihi) is destruction rate, from up to low, A * dest prob, [s-1], asserts confirm that ihi,lo is zero |
AulPump | AulPump(lo, hi) is pumping rate, A * occ num, (hi,lo) must be zero, [s-1] |
CollRate | collision rates, evaluated here and returned for cooling by calling function, unless following flag is true. If true then calling function has already filled in these rates. CollRate[i][j] is rate from i to j |
create | this is an additional creation rate, normally zero, units cm-3 s-1 |
destroy[] | this is an additional destruction rate to continuum, normally zero, units s-1 |
lgCollRateDone | flag saying whether CollRate already done, or we need to do it here |
cooltl | total cooling, set here but nothing done with it |
coolder | derivative of cooling, set here but nothing done with it |
chLabel | string used to identify calling program in case of error |
lgNegPop | lgNegPop flag indicating what we have done positive if negative populations occurred zero if normal calculation done negative if too cold (for some atoms other routine will be called in this case) |
lgZeroPop | true if populations are zero, either due to zero abundance of very low temperature |
lgDeBug | option to print matrices for debugging |