LOG OF CHANGES MADE 1. Added parameters to parameters.dat, to control the global behavior of the program iverbose, to affect the verbosity throughout the program: iverbose = 0 for silent operation iverbose = 1 for minimal status reports iverbose = 2 for extensive debugging imicro, a boolean (0=false, 1=true), to streamline the program. 2. Wrote hitran.f, to read the hitran database. 3. Modified sread.f to call hitran 4. Raised nd4, the array dimension for the number of lines, to 25000 to allow for the larger HITRAN data base 5. Add variable check "istop" (a boolean) to main do loops, to prevent a second run through the loops if imicro is set. 6. Change hcnheat to call sread. Increase array dimensions of tmp and ht in hcnheat prevent array overrun. Add hcnheat to makefile. Move old output of hcn.out to hcn.out.old. Run hcnheat and generate output file hcn.out. 7. Compare old and new output of hcnheat. Maximum disagreement of 0.17 %, at 300 K. 8. Use imicro conditionals to avoid running huge chunks of code. 9. Wrote compare-heat.cmd to compare most recent heating with model_a and optically thin case. Near the upper boundary, the optically-thin cooling rate is just about half the results from radioheat. This makes sense, because I+ ~= B and I- ~= 0, so J = B/2. I+ = upward intensity, I- = downward, B = planck fundtion, J = mean intensity. [ ---------------- end of first email exchange with RVY, 26jul99 ------- ] 10. Wrote dexptest, to see how small x can get before dexp(x)-1.d0 = 0, causing bplanck to fail. The answer is: we're within 1e-6 for x >= 1e-11, and within 1% for x>=1e-15. For x<1e-16, exp(x)-1 = 0. exactly. Since our smallest wavenumber is 2 inverse cm, and our largest temperature is less than 500 K, we are fine. 11.