Release Notes for DDSCAT version 4b.1 B.T.Draine Princeton University Observatory Princeton NJ 08544 (draine@astro.princeton.edu) and Piotr J. Flatau Scripps Institution of Oceanography California Space Institute La Jolla Shores Dr., La Jolla CA 92093-0221 (pflatau@macao.ucsd.edu) last update: 93.12.15 1. Significant Changes Release 4b.1 (93.07.09) has a minor change in GETFML with regard to the method of computation of Q_sca. Once a converged solution is found: 1. the scattering efficiency Q_s1 is computed by averaging the scattering over ICTHM values of THETA and IPHM values of PHI. 2. Q_s1 is used to estimate the albedo A=Q_s1/Q_ext. 3. a second estimate of the scattering cross section Qs2 is computed by taking Q_s2=Q_ext-Q_abs 4. since both Q_ext and Q_abs are in principle calculated accurately, their difference is a good estimate for Q_sca unless Q_ext and Q_abs are nearly the same (i.e., A is small). Therefore, the following formula is used for the best estimate of Q_sca: Q_sca = [Q_s1 + Q_s2*(A/.03)**2 ]/[1.+(A/.03)**2] This is a rather arbitrary formula which smoothly goes from Q_sca=Q_s1 when A << .03, to Q_sca = .0009*Q_s1+.9991*Q_s2 when A = 1. The transition value A=.03 was chosen via the following reasoning. We suppose that normally Q_ext and Q_abs will both be computed to an accuracy of approximately 0.01% for a solution converged with an error criterion ERR=1.E-5; if so, then when A>.03 their difference Q_s2 would be evaluated with an error of less than approximately sqrt(2)*.01%/.03 = 0.5% . Thus for A >> .03 we heavily weight Q_s2. Under normal circumstances when A is small the scattering pattern will be approximately dipolar, in which case the evaluation of Q_s1 should be quite accurate. Thus for A << .03 we heavily weight Q_s1. 2. Minor Changes For the benefit of users wishing to generate their own "shape.dat" files, subroutine REASHP (file reashp.f) has been modified so that, as provided, it will read "shape.dat" files of the form generated by the various shape generating routines called by CALLTARGET. This has no effect except when the "FRMFIL" option is specified in "ddscat.par". 3. Bugs The first release of DDSCAT.4b (93.03.12) contained a typo in the routine EXTEND. This was corrected 93.03.13. Ralf Stognienko has reported a bug when using INIT=1 to start the CCG iteration with |X0> obtained by fourth-order expansion in dipole polarizability. This problem was created when changing the code to use FFT methods. The problem was corrected 93.05.17 by a minor change in routine ddaccg.f . Calculated values of the orientationally-averaged backscattering cross section Q_bk (in the files waarbbori.avg) were incorrect due to failure to reset sums to zero for second and subsequent targets. This was found and DDSCAT.f corrected 93.06.03 by BTD. Here in Princeton we ran into a problem with appears to be due to a "bug" in either SunOS 4.1.1 or in the Sun Fortran compiler (version 1.4). The symptom is that when compiled on some of our Sparcstations, the value of IDVOUT was not properly initialized in spite of a DATA statement in DDSCAT.f This problem was only observed on machines which were using the Sun "tmpfs" software, which allows cohabitation of /tmp and swap on the same disk partition, so it is possible that the problem is with tmpfs. In any case, one line of code (re-)initializing IDVOUT was added 93.09.28 by BTD; the problem appears to have been suppressed. Problems were encountered on Silicon Graphics systems when calculating for more than one value of orientation angle PHI. This has been eliminated by a SAVE statement in subroutine GETFML (BTD, 93.11.23). Additional problems were encountered on Silicon Graphics systems when calculating for more than one wavelength. This has been eliminated by including additional variables in the SAVE statement in subroutine DIELEC (BTD, 93.12.06). Problem concerning option THRELL was corrected in subroutine TARGET (BTD, 93.12.14). Problem with computation of PPOL (degree of linear polarization of scattered light for incident unpolarized light) was communicated by M. Wolff (U of Wisconsin) 93.12.13. Incorrect expression was being used by DDSCAT to compute this quantity, leading to error except for problems with sufficient symmetry that |f_12|^2=|f_21|^2. DDSCAT was corrected to use correct expression (BTD, 93.12.15). At this time there are no known bugs in DDSCAT.4b.1 -- if you encounter any, please communicate them to draine@astro.princeton.edu