C**** TTEST *********** C PROG READS IN 4 ARRAYS- AVER, SD, AVER, SD C AND DOES POINT BY POINT STUDENTS t TEST C C C ******* OUTPUT IS t X 100 ********* C C C C C WRITTEN BY RAM 17 APR 86 C C C PARAMETER (MAP$ = 16384) DIMENSION AAV1(MAP$),SSD1(MAP$) DIMENSION AAV2(MAP$),SSD2(MAP$),TTEST(MAP$) INTEGER*4 NIN1,NIN2,NIN3,NIN4,NTST,NX,NY INTEGER*4 NZ,NXYZ(3),MXYZ(3),MODE CHARACTER IAV1*60,IAV2*60,ISD1*60,ISD2*60 CHARACTER THEDATE*9,THETIME*9 REAL*4 LABELOUT(20,10,2),LABELIN(20,10),TITLE(20) EQUIVALENCE (NX,NXYZ(1)), (NY,NXYZ(2)), (NZ,NXYZ(3)) C C NIN1=1 NIN2=2 NIN3=3 NIN4=4 NTST=7 CALL TIME(THETIME) CALL DATE(THEDATE) WRITE(6,1000) READ(5,1002) TITLE READ(5,*) N1 READ(5,1005,END=100) IAV1 READ(5,1005,END=100) ISD1 READ(5,*) N2 READ(5,1005,END=100) IAV2 READ(5,1005,END=100) ISD2 WRITE(6,*) N1 WRITE(6,1001) IAV1 WRITE(6,1001) ISD1 WRITE(6,*) N2 WRITE(6,1001) IAV2 WRITE(6,1001) ISD2 CALL IMOPEN(NIN1,IAV1,'RO') CALL IRDHDR(NIN1,NXYZ,MXYZ,MODE,DMIN,DMAX,DMEAN) CALL IMOPEN(NIN2,ISD1,'RO') CALL IRDHDR(NIN2,NXYZ,MXYZ,MODE,DMIN,DMAX,DMEAN) CALL IMOPEN(NIN3,IAV2,'RO') CALL IRDHDR(NIN3,NXYZ,MXYZ,MODE,DMIN,DMAX,DMEAN) CALL IMOPEN(NIN4,ISD2,'RO') CALL IRDHDR(NIN4,NXYZ,MXYZ,MODE,DMIN,DMAX,DMEAN) CALL IMOPEN(NTST,'TSTAT','NEW') CALL ITRHDR(NTST,NIN1) NNXX = NX NNYY = NY NNZZ = NZ NPTS = NX*NY 100 IY = 0 DMEAN = 0.0 DMAX = -1E7 DMIN = 1E7 N1LS1 = N1-1 N2LS1 = N2-1 IDEGF = N1LS1 + N2LS1 RECIP1 = 1/FLOAT(N1) RECIP2 = 1/FLOAT(N2) CIPSUM = RECIP1 + RECIP2 BTBIT = SQRT(CIPSUM) DO NSEC = 1 , NNZZ ISEC = NSEC -1 CALL IMPOSN(NIN1,ISEC,IY) CALL IRDSEC(NIN1,AAV1,*99) CALL IMPOSN(NIN2,ISEC,IY) CALL IRDSEC(NIN2,SSD1,*99) CALL IMPOSN(NIN3,ISEC,IY) CALL IRDSEC(NIN3,AAV2,*99) CALL IMPOSN(NIN4,ISEC,IY) CALL IRDSEC(NIN4,SSD2,*99) DO J = 1 , NPTS SD1SQ = SSD1(J) **2 SD2SQ = SSD2(J) **2 AMNDIF = AAV1(J) - AAV2(J) AMNDIF = ABS(AMNDIF) VAR1=(FLOAT(N1LS1)*SD1SQ)+(FLOAT(N2LS1)*SD2SQ) IF (VAR1.LE.0) THEN TTEST(J) = 0 ELSE VAR = VAR1/FLOAT(IDEGF) SDPOP = SQRT(VAR) TTEST(J) = AMNDIF/(SDPOP*BTBIT) TTEST(J) = TTEST(J) * 100 IF (TTEST(J).LT.DMIN) DMIN=TTEST(J) IF (TTEST(J).GT.DMAX) DMAX=TTEST(J) DMEAN = DMEAN + TTEST(J) C IF (TTEST(J).LE.200) TTEST(J) = 0 END IF END DO CALL IMPOSN(NTST,ISEC,IY) CALL IWRSEC(NTST,TTEST) END DO DMEAN = DMEAN / NPTS / NNZZ WRITE (6,1993) DMIN,DMAX,DMEAN CALL IWRHDR(NTST,TITLE,-1,DMIN,DMAX,DMEAN) CALL IMCLOSE(NTST) GO TO 200 99 WRITE(6,1006) 1000 FORMAT(/,' TTEST , Version 1.0: Calculate TTEST ', $' between two ') 1001 FORMAT(/,' ********** INPUT FILE: ',A/) 1992 FORMAT(5X,'THIS AFTER IWRSEC CALL') 1993 FORMAT (5X,3F10.5) 1002 FORMAT(20A4) 1003 FORMAT(//,' Map dimensions too large for program, NX =',I5, A ', NY =',I5,', map limit =',I10) 1004 FORMAT(' !! Dimensions of input map do not match output map!!') 1005 FORMAT(A) 1006 FORMAT(/' END OF FILE ON MAP INPUT FILE !!!!') 1010 FORMAT('TTESTMAP, Version 1.0: Calculate TTEST map',A,', ',A) 1011 FORMAT('TTESTMAP, Version 1.0: Calculate TTEST map ',A,', ',A) 200 CALL EXIT END