several checks on the code's behavior are made in CheckSanity.c NDEBUG is set when debugging is turned off, and is undefined when the debug version is built #if !defined(NDEBUG) ChkSumCon(0); #endif pclint - options for perfect line through std2 points to c:\lint\perfect.lnt ================================================================== unit integration checks: there are currently two. The emission line array is tested in routine LineSet1 where a fake emission line with local emissivty 1e-10, label "Unit", wavelength 1, is passed through the lines arrays. It is then checked at the end of the calculation in routine PrtFinal. a similar test is done with the continuum transfer arrays. the continuum is actually defined wth rfield.nflux points, the loops are always up to < rfield.nflux. In metdif the local emissivty at [rfield.nflux] is set to 1e-10f, and then passed through the continuum transfer arrays. This is also checked in PrtFinal. the number is actually 1e-10 so that it does not overflow on 32-bit machines. ================================================================== /* following routine provides a debugging hook into the main line array * loops over whole array and finds every line that matches length, * the wavelength, the argument to the function * put breakpoint inside if test */ long debugLine( long int length ) ================================================================== photoionization rate: * GammaPrtRate will print photo rates for all shells of a ion and element ================================================================== trace convergence number number indicates level of trace, gt 3 includes ConvIoniz 3 ================================================================== all changes in code have timestamp like >>>chng 99 dec 06 no space inside >>>chng but spaces all around date