character*132 line character*40 flname,outname,imagefile,rflfile,base,fname2 character*3 number,zero data zero/'000'/ real*4 crysx,crysy,crysz,cella,cellc,beamx,beamy,oscstrt real*4 rados,angos,xfx,xfy,xfxy WRITE(6,*)'PROGRAM TO GENERATE DENZO COMMAND FILES' WRITE(6,*)' 920626,920708' WRITE(6,*)'VARIABLE LINES WRITTEN TO BCXX.DAT FILE FOR EACH IMAGE' WRITE(6,*)' COMBine.COM COPIES THESE WITH TEMPLATE.DAT TO BCXX.DAT.' WRITE(6,*) write(6,*)' Enter basename of images in series (bcxx_):' read(5,11) base write(6,*)'base=',base write(6,*)' Enter numbers of first and last images in series:' read(5,*) n1,n2 11 format(a40) write(6,*)'enter oscillation start for first image:' read(5,*) oscstrt write(6,*)'enter oscillation angle:' read(5,*) oscang C write(6,*)'enter filename of rdmat.log. Should have top junk removed' C read(5,11) fname2 write(6,*)'enter mars offset radial, angular:' read(5,*) rados,angos write(6,*)'enter crossfire x, y, xy:' read(5,*) xfx,xfy,xfxy write(6,*)'enter beam center x,y:' read(5,*) beamx, beamy write(6,*)'Scanner skewness:' read(5,*) skew write(6,*)'Y scale:' read(5,*) yscale write(6,*)'For each image enter ms angles as written '// . 'by rdmat.log.' write(6,*)' copy from rdmat.log to com file.' C open(unit=2,file=fname2,status='old') open(unit=4,file='comb.com',status='new',carriagecontrol='list') c open(unit=9,file='bc.prm',status='new') do 150 i=n1,n2 encode(3,81,number) i 81 format(i3) j=0 101 j=j+1 if(number(j:j).eq.' ') goto 101 number=zero(:j-1)//number(j:) j=index(base,' ')-1 imagefile=base(:j)//number//'.image' c write(6,*) imagefile rflfile=base(:j)//number//'.out' outname='bc'//number(2:)//'.dat' write(6,*) outname, imagefile read(5,71)crysz,crysy,crysx,cella,cellc 71 format(' ',12x,6f12.4) open(unit=3,file=outname,status='new',carriagecontrol='list') write(3,103) 103 format('INTERACTIVE') write(3,104) 104 format('FORMAT MAR') write(3,106)imagefile 106 format(' raw data file ''a:',a40,1h') write(3,111)rflfile 111 format(' film output file ',a40) write(3,113)oscstrt+(i-n1)*oscang 113 format(' oscillation start ',f8.2) write(3,116) beamx 116 format(' X BEAM ',F8.2) write(3,117) beamy 117 format(' Y BEAM ',F8.2) write(3,121)crysx,crysy,crysz 121 format(' crystal rotx ',f8.3,' roty ',f8.3,' rotz ',f8.3) write(3,131)cella,cellc 131 format(' unit cell ',f8.3,' a ',f8.3,' 90. 90. 120.') write(3,151) rados,angos 151 format('radial offset',f8.3,' angular offset',f8.3) write(3,161) xfx,xfy,xfxy 161 format('crossfire x',f8.3,' y',f8.3,' xy',f8.3) write(3,171) skew 171 format('skew ',f9.5) write(3,181) yscale 181 format('Y scale',f9.5) cCrossfire y -0.001 cCrossfire x 0.012 cCrossfire xy -0.023 cradial offset -0.525 cangular offset 0.065 close (unit=3) c write(4,*)'$copy '//outname(:8)//'+template.dat '//outname(:8) write(4,142)outname(:8),outname(:8) 142 format('$copy ',a8,'+template.dat ',a8) c write(9,141) base,oscstrt,crysx,crysy,crysz,cella,cellc,beamx,beamy 141 format(a10,'Osc. start',f8.3,' m.s. angles',3f8.3, $ ' cell par:',2f7.2,' beam x,y',2f8.3) 150 continue c200 close (unit=2) close (unit=4) c close (unit=9) end cRaw data file : bc26_001.image cSpots refined: 996 Chi**2/#refl: X 2.27 Y 2.56 Pred. decrease: 0.009 * 996 = 9.0 cSpot to weak for refiment when below sigma * 3.0000 cCrystal (mis)orientation angles: cCrysZ (beam) axis -68.489 shift -0.001 error 0.024 cCrysY (vertical) axis -30.990 shift 0.014 error 0.022 cCrysX (spindle) axis 26.003 shift 0.014 error 0.021 cCassette (mis)orientation angles: cCassZ (beam) axis 180.00 cCassY (vertical) axis 0.00000E+00 cCassX (spindle) axis 0.00000E+00 cFilm to crystal distance 350.00 cFilm rotation inside cassette 0.00000E+00 cX beam coord 90.693 shift 0.001 error 0.021 c123456789012345678901234567890123456789012345678901234567890 c0000000001111111111222222222233333333334444444444 cY beam coord 88.799 shift 0.001 error 0.020 ccMAR offset, radial 0.00000E+00 cMAR offset, angular 0.00000E+00 cReal space unit cell, a 217.41 b 217.41 c 378.15 c123456789012345678901234567890123456789012345678901234567890 c0000000001111111111222222222233333333334444444444 c