C23456789012345678901234567890123456789012345678901234567890123456789012 ************************************************************************ * PROGRAM TO SELECT REFLECTIONS FOR PSI DATA COLLECTION * ************************************************************************ CHARACTER*12 FILE1 CHARACTER*1 CH REAL KAPPA INTEGER H,K,L,RB WRITE(*,*)' PLEASE TYPE FULL NAME OF THE INPUT FILE:' READ(*,'(A12)')FILE1 OPEN(UNIT=1,STATUS='OLD',FILE=FILE1,ERR=10,FORM='FORMATTED') GOTO 11 10 WRITE(*,*)' FILE OPEN ERROR !!!' STOP 11 CONTINUE WRITE(*,*)' PLEASE INPUT THE MINIMUM INTENSITY LIMIT:' READ(*,*)FMIN WRITE(*,*)' PLEASE INPUT MIN & MAX THETA LIMITS:' READ(*,*)THMIN,THMAX IF(THMIN.GT.THMAX) THEN DUM=THMIN THMIN=THMAX THMAX=DUM ELSE ENDIF NDATA=0 OPEN(UNIT=2,STATUS='UNKNOWN',FILE='SELECT.OUT') WRITE(2,1005)FMIN 1005 FORMAT(2X,'MINIMUM INTENSITY CUTOFF = ',F7.2) WRITE(2,1006)THMIN,THMAX 1006 FORMAT(2X,'MINIMUM & MAXIMUM THETA LIMITS: ',F7.2,' &',F7.2) WRITE(2,1007) 1007 FORMAT(/1X,' H K L',5X,'NPI',3X,' LB COUNT ', 1 ' RB ',2X,' INT ',2X,'THETA'/) 99 READ(1,1102,ERR=99,END=2000)H,K,L,CH,PPHI,NPI,LB,INT,RB 1102 FORMAT(10X,3I5,1X,A1,5X,F7.2,1X,I3,I6,I7,I6) IF(NPI.EQ.0.AND.INT.EQ.0) GOTO 99 IF(CH.NE.'N') GOTO 99 READ(1,*,ERR=99,END=2000)NDUM,NDUM1,THETA,PPSI,OMK,KAPPA FFF=(INT-2.0*(LB+RB))/(1.0*NPI) IF(FFF.LT.FMIN.OR.THETA.LT.THMIN.OR.THETA.GT.THMAX) GOTO 99 WRITE(2,1008)H,K,L,NPI,LB,INT,RB,FFF,THETA NDATA=NDATA+1 1008 FORMAT(1X,3I5,5X,I3,2X,I6,I7,I6,2X,F8.0,2X,F7.2,2X,F6.2) GOTO 99 2000 CONTINUE WRITE(*,*)' NUMBER OF DATA =',NDATA STOP ' ' END C***********************************************************************