Changes in cubspl.F and reflec.F made by Bernd Chistian Meyer I used the source code of Shadow2.3.2, earlier versions I got not compiled and the source code of newest 2.3.3. is not provided on ftp-server. The compilition is quite difficult, because everybody use different fortran code. There were still a lot of error messages, but what I am already tested worked fine. I made some changes in cubspl.f in the shadow library. In consequence I got also the wiggler and the undulator source running with 2.000.000 rays and without error. The results were equal with that I obtained with old Shadow version, just with much better quality. With more than 2.000.000 rays the compilition of shadow fails. So at the moment that is maximum, but I think already a great improvement of the program. bmeyer_at_lnls.br % diff cubspl.F cubspl.F.orig 95,97c95,97 < IF (E1(I).EQ.0.0) THEN < E1(I) = 1.0E-12 < ENDIF --- > C IF (E1(I).EQ.0.0) THEN > C E1(I) = 1.0E-30 > C ENDIF 111c111 < 51 IF (ABS(E2(I)).GT.SMIN*1) THEN --- > 51 IF (ABS(E2(I)).GT.SMIN*10) THEN 117c117 < 61 IF (ABS(E2(I)).GT.SMIN*1) THEN --- > 61 IF (ABS(E2(I)).GT.SMIN*10) THEN diff reflec.F reflec.F.orig 246,249c246,249 < IF (INDEX.LT.1) INDEX=1 < C ('REFLEC','Photon energy below lower limit.',0) < IF (INDEX.GT.NREFL) INDEX=NREFL-1 < C ('REFLEC','Photon energy above upper limit.',0) --- > IF (INDEX.LT.1) CALL LEAVE > $ ('REFLEC','Photon energy below lower limit.',0) > IF (INDEX.GT.NREFL) CALL LEAVE > $ ('REFLEC','Photon energy above upper limit.',0) 298,301c298,301 < IF (INDEX.LT.1) INDEX=1 < C ('REFLEC','Photon energy too small.',2) < IF (INDEX.GT.NIN) INDEX=NIN-1 < C ('REFLEC','Photon energy too large.',2) --- > IF (INDEX.LT.1) CALL LEAVE > $ ('REFLEC','Photon energy too small.',2) > IF (INDEX.GT.NIN) CALL LEAVE > $ ('REFLEC','Photon energy too large.',2)