Todo List

Class stellar_grid
- check rebinning of Tlusty models

- why was it necessary to change stars_tlusty.in? (change from r43 to r50?)

- check all interpolation modes of CoStar

- compare models with original code, dump atmospheres!

- check all Edges arrays...

- update Doxygen documentation

- write documentation for ascii files

Global ParseAssertResults
2 NB this is not used, should do both, and more molecules (H2 only for now)

Global atmdat_2phot_rate
2 change the name of this routine to reflect the fact that it is entirely induced.

Global atmdat_readin
2 - check these

Global ChargTranEval
1 update ct to Kimura et al. (1996)

Global atoms_fe2ovr
2 hydro.dstfe2lya is always multiplied by a double and stuffed into a double. defining it as a float causes lost precision here.

Global atom_level3
2 test on c checks whether collisions are possible at this temperature, should add photo excitation

Global atom_level3
2 these pops ARE NOT defined below

Global atom_oi_calc
2 following needed to get badbugs/bug8.in to work

Global atom_oi_calc
2 following needed to get badbugs/bug5.in to work

Global oi_level_pops
2 this must have all stimulated emission, pump by cont, etc

Global atom_pop5
2 p(5) was very slightly negative (1e-40) for SII in dqher.in

Global cdDefines
2 do something with this or set to LONG_MAX? after moving collapsed levels to iso.nCollapsed_max, this variable does nothing. iso.nTopOff[ipHE_LIKE] = 0;

Global cdDefines
2 Change this to higher number. Make this change by itself after all other changes pass suite.

Global cdTemp
2 this should have a last argument like cdIonFrac for whether or not weighting is wrt electron density

Global rfield_opac_malloc
3 consider making the fine opacity array a double. with a float, the opacity itself often becomes a denormalized number, it then becomes significant when multiplied by dr - can cause numerical noise. this is why the coarse opacity array is a double

Global ContCreatePointers
2 this is redundant with contents of oxygen line arrays use them instead when removing this, make sure all line intensity predictions also go into oi line arrays

Global ContCreatePointers
2 what are we trying to print here?

Global DoBeckert_etal
2 - insert reference

Global DoSutherland
2 - insert reference

Global DoSutherland
2 - this check may also too liberal.

Global FreeFreeGaunt
2 - These are liberal bounds, in final product, this ASSERT should be much more demanding.

Global Hypergeometric2F1
2 - pick these interface values and stick with it...best results have been 0.4, 1.5

Global DrvContPump
2 if used, add damp as arg since calling routine probably evaluated it

Global ConvBase
2 this assert is not passed if error made much smaller. This error should be related to a check on convergence of the molecular networks and their sum rules, with a criteria used here and there

Global CoolCarb
2 add term for protons from Rouef, E., & Le Bourlot, J. 1990, A&A, 236, 515

Global CoolCarb
1 add neutral helium Staemmler, V., & Flower, D. R. 1991, J. Phys. B, 24, 2343

Global CoolCarb
3 change to atom_level3

Global CoolIron
2 - ground term is actually a fix level system, the vectors are created, with pointers ipFe1_54m , ipFe1_111m, must add collision date, use larger model atom

Global CoolIron
2 following to stop insane FeX strengths >>chng 96 jul 11, removed 1 / 10 factor, so using real data, 90.01 cs = cs * 0.1 >>chng 96 jun 03, transferred following >>chng 97 jan 31, I give up on this mess, use cs of unity

Global CoolIron
2 update atomic data to Chidichimo et al 1999 AASup 137, 175

Global CoolIron
2 * following not in cooling function

Global Fe3Lev14
2 put in temperature dependence

Global Fe7Lev8
2 put in temperature dependence

Global CoolMagn
2 use AtomSeqBeryllium here

Global CoolNeon
2 transfer these lines

Global CoolNitr
2 use atom_level3

Global CoolNitr
1 update cs these to following reference: >>refer n2 cs Hudson, C.E. & Bell, K.L. 2004, MNRAS, 348, 1275 and A&A, 430, 725 they agree with Lennon & Burke

Global CoolOxyg
2 add proper temperature dependence when good coll strength calculations become available

Global CoolOxyg
2 put all these in cooling

Global CoolPhos
2 update to Tayal data, email of April 22 2003, must be published

Global CoolSili
2 - update to this reference for As >>refer Si7 As Galavis, M.E., Mendoza, C., * Zeippen, C.J. 1997, A&AS, 123, 159

Global CoolSulf
1 upgrade SV to more levels there is intercombination line at 0.7634 ryd upgrade to atomic data described in >>refer s5 cs Hudson, C.E> & Bell, K.L. 2006, A&A, 452, 1113

Global HeatSum
1 add part of hard heat to secondaries

Global advection_set_detault
1 get following to work

Global advection_set_detault
0 document this problem with molecules - time dependent

Global DynaPresChngFactor
2 this should be setable at run time as per Robin Williams email rshock = 4e16;

Global DynaPresChngFactor
2 Switch to supersonic when bad enough failure for STRONGD -- need to improve this logic when the p(rho) data is cleaner

Global ParseDynaWind
2 Need to include divergence terms in pressure balance if flux index is != 0

Global GrainCharge
2 remove gv.bin[nd]->lgChrgConverged, gv.bin[nd]->LowestPot, gv.bin[nd]->dstpotsav gv.bin[nd]->RateUp, gv.bin[nd]->RateDn; also gv.HighestIon??, HighestIonStage()??

Global GrainChargeTemp
2 this algorithm might be more efficient with Brent

Global GrainChargeTemp
2 should collisional heating/cooling be included here?

Global GrainChargeTemp
2 use something like log(ThermRatio) + log(delta) ????

Global GrainCollHeating
2 a self-consistent treatment for the heating by Auger electrons should be used

Global GrainCollHeating
2 a self-consistent treatment for the heating by Compton recoil electrons should be used

Global GrainElecEmis1
2 note that the number of primary electrons is given by yhat, which may not be one, so this is not necessarily consistent

Global GrainElecEmis1
2 avAuger depends on grain charge, this should be treated explicitly here

Global NewChargeData
2 should any of the following 3 statements be removed

Global pah1_fun
2 impose size limits on PAH's, changeover to graphite ??

Global pah1_fun
2 detect if PAH's are present in ionized regions ??

Global tbl_fun
2 include code for interpolating inv_att_len somewhere!!

Global tbl_fun
2 why is charge of pah2_ism_01.opc so different??

Global H2_Create
1 add this as a Lya excitation process

Global H2_LevelPops
0 get better relationship between cr excit of Lya rate

Global H2_Punch_line_data
1 add logic to deduce cs

Global He1Autoionize
2 say where these come from...and do something with them!

Global HeLike
2 remove this when this routine really controls helium itself

Global HeCreate
2 this is part of the induce 2nu problem, which must be fixed for both he and h sequences.

Global HeLikeLevel
2 Can't be used for helium sequence because suprathermals rate has not been split up into individual levels for helium sequence. So Secondaries structure must be extended to include helium levels before the below code can be implemented. This is not a pressing correction because total suprathermal is already included for the sequence, but this should not be put off for too long because it should not be too difficult to do correctly.

Global HeCollid
2 find ioniz rates for helium like species, these are hydrogenic rates

Global ForbiddenAuls
2 find a transition probability for this 2^3P0 - 2^3P1 transition. It will require a bit of trickery to insert into the rate matrix, because of the fact that the lower level has a higher index. See discussion "Energy order within 2 3P" near the top of helike.c

Global TempInterp
2 use a canned interpolation routine, no need for special one here

Global TempInterp
there is a virtually identical routine in helike_recom.cpp -> combine

Global hmole_reactions
2 following always true, why? either remove test or use it - it is here to save time - this step routine is called very often

Global hmole_step
2 - put in actual composition dependent Tad - this is only valid for bare surfaces - not ice - for ice Tad is 555K hmi.Tad is binding energy expressed as a temperature note that hmi.Tad is set to 800. in zero tau_nu the first equation in section 2.5 equation one paragraph before equation 2 at low grain temperatures all end in para, J=0

Global Hion_coll_ioniz_ratecoef
2 This routine, like the above one, needs to use proper energy.

Global Hion_coll_ioniz_ratecoef
2 sometimes rate is negative...is that okay?

Global Hion_colldeexc_cs
rm this function

Global hydro_vs_coll_str
2 make these effective quantum numbers?

Global IonOxyge
2 this will be zero in current form of atmdat_phfit set 2s**2 rate to rate for O V

Global ion_solver
2 renorm should == 1 when the molecules and ionization are in equilibrium. Should monitor this figure of merit in calling routine.

Global iso_cool
2 - if pc lint ever fixes this bug in their product, remove this -e

Global iso_create
2 this will not work if highest level is resolved

Global iso_photo
2 - hydro.lgHInducImp should depend on iso and nelem, even better - just call one gamnc and within that code check to see whether induced is important by looking at occnum near threshold

Global lines_continuum
2 this block of lines should have nInu, InwT, InwC like main vector of continuum points

Global lines_lv1_k_zn
1 this does not belong here - should be where radius incremnted

Global lines_lv1_li_ne
0 rm this old code for old NI collisions

Global outline
1 explore effects of adding term *opac.tmn[ip] to following

Global vib_evap
0 find physical theory for this process

Global OpacityAddTotal
2 add charged heavy elements

Global rayleh
2 update to astro-ph/0308073, Lee, H-W, ApJ in press

Global ParseCommands
0 why not set to 0 and insist on positive value?

Global PresTotCurrent
2 this is the molecular binding energy (?) not set to anything

Global PrtComment
2 extend to all iso and elem

Global PrtLinePres
1 make this and eval rad pressure same routine, with flag saying to print contributors - copy code from other routine - this code has been left behind

Global GetStandardHeLines
2 - this structure is currently only used for helium itself... stuff numbers in for other elements, or drop the [nelem] dimension off of CaABLines

Global Punch1LineData
1 define lifetime and collision rate for multi-level species so that the critical density is derived correctly in this routine. For now the flag lgCS_2 being true means to punch crit den and is only true for two-level systems all places where this routine is called with lgCS_2 false need to be fixed

Global PunchDo
2 introduce units option for wavelength and include area for intensity to make luminosity

Global PunchNewContinuum
2 - NB - if continuum resolution changed the lines WILL NOT WORK

Global radius_next
1 rm logic detecting temp and pres failure - these normally occur near troubled parts of cooling curve

Global ContRate
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

Global RT_DestProb
2 this min is because there are no calculations that show what to do for beta beyound this value

Global RT_diffuse
2 This doesn't really seem to be the expression above!!!

Global RT_line_one_tauinc
1 dynamics; this test assumes that neg vel are subsonic, so that sobolev length would overestimate the optical depth, since ion is at most present over computed slab, and possibly more.

Global RT_LineWidth
1 dynamics; this test assumes that neg vel are subsonic, so that sobolev length would overestimate the optical depth, since ion is at most present over computed slab, and possibly more.

Global RT_OTS
2 should also check whether IonLo is in bounds - in func_set_ion test He0 is set to zero, so this does not do anything. as NISO grows this will become larger waste of time

Global RT_stark
2 - Stark is disabled for now since Lya escape causes density dependent feedback on the radiative transfer. Would need to redo the escape probs every time the electron density is updated - see blr89.in for an example

Global zero
2 change this to CS_new

Global zero
2 file opacities are disabled for now - reinstate this when arrays settle down

Global zero
2 why are higher Lyman lines (ipResoRedist) not same as for H-like?

Generated for cloudy by doxygen 1.5.9