C*********************************************************************** C THIS SUBROUTINE IS DESIGNED TO CALL ROUTINES TO ILLUSTRATE THE C EMPIRICAL DISTRIBUTIONS OF PERPENDICUALR DISTANCES, SIGHTING C DISTANCES, MEASURED SIGHTING ANGLES, COMPUTED SIGHTING ANGLES, C AND SINE OF THE SIGHTING ANGLE DEPENDING ON THE STATUS OF THE C DATA. THE SORTED MEASUREMENTS ARE OUTPUT AND THEN HISTOGRAMS C AND/OR CDF PLOTS. C C SUBROUTINES CALLED: HEADER,HISTGM,PCDF,PHIST C*********************************************************************** SUBROUTINE UNIVAR C*********************************************************************** C DECLARATIONS C*********************************************************************** INCLUDE 'PARMTR.INC' CHARACTER*1 NAME2(24), NAME3(24), NAME4(24), NAME5(24) INTEGER CNT, STATUS CHARACTER*1 LABEL, HEAD, UL REAL MESANG LOGICAL GRP, POOL, PEST, SEST, DESC, DEF, CUTP, TRUNC, LIST, PLOTS 1 , HST, WARN, CDFPLT, HELP C*********************************************************************** C COMMON STATEMENTS C*********************************************************************** COMMON /STATS/ SM(10), CORMAT(5,5) COMMON /ALPHA/ LABEL(80), HEAD(30), UL(3,25) COMMON /PAGE/ IPAGE COMMON /IND/ IC, II, IREP, STATUS COMMON /DESOPT/ LIST, PLOTS, HST, CDFPLT COMMON /OPTION/ GRP, POOL, PEST, SEST, DESC, DEF, CUTP, TRUNC, 1 HELP COMMON /NUM/ XL(MAXLIN), WIDTH, N, CNT, CONV(3), VARN, IDF, WARN COMMON /INTER/ KCUT, CUT(MAXCEL), FREQ(MAXCEL), NCUT, NKC(5), 1 NK(5), RFREQ(5,MAXCEL), CCUT(5,MAXCEL) COMMON /MEASUR/ PD(MAXOBJ), SD(MAXOBJ), MESANG(MAXOBJ), 1 COMANG(MAXOBJ), SINA(MAXOBJ) C*********************************************************************** C DATA STATEMENTS C*********************************************************************** DATA NAME2 /'S','i','g','h','t','i','n','g',' ','D','i','s','t', 1 'a','n','c','e','s',' ',' ',' ',' ',' ',' '/ DATA NAME3 /'M','e','a','s','u','r','e','d',' ','S','i','g','h', 1 't','i','n','g',' ','A','n','g','l','e','s'/ DATA NAME4 /'C','o','m','p','u','t','e','d',' ','S','i','g','h', 1 't','i','n','g',' ','A','n','g','l','e','s'/ DATA NAME5 /'S','i','g','h','t','i','n','g',' ','A','n','g','l', 1 'e',' ','S','i','n','e','s',' ',' ',' ',' '/ KKCUT=MIN0(MAXCEL,IFIX(FLOAT(N)**.5)) IF (STATUS.EQ.2) GO TO 40 IF (STATUS.EQ.7) GO TO 50 C*********************************************************************** C SUMMARIZE PERPENDICULAR DISTANCES(STATUS: 1,3,4,5, OR 6) C*********************************************************************** CALL HEADER (1) WRITE (6,80) CALL HEADER (2) WRITE (6,90) IF (TRUNC.AND.(CNT.LT.N)) WRITE (6,100) CNT IF (.NOT.TRUNC) WRITE (6,110) WRITE (6,350) WRITE (6,120) (PD(I),I=1,N) IF (HST) THEN DO 20 I=1,NCUT CALL HEADER (1) WRITE (6,130) KCUT=NKC(I) RINT=WIDTH/FLOAT(KCUT) IF (CUTP) THEN WRITE (6,140) I ELSE WRITE (6,150) I,RINT,(UL(1,J),J=1,25) ENDIF DO 10 J=1,KCUT CUT(J)=CCUT(I,J) 10 FREQ(J)=RFREQ(I,J) CALL HISTGM (FREQ,KCUT,38,CUT) WRITE (6,160) (UL(1,J),J=1,25) 20 CONTINUE ENDIF IF (.NOT.CDFPLT) GO TO 40 CALL HEADER (1) WRITE (6,170) CALL PCDF (PD,CNT,0.0,PD(CNT),3) WRITE (6,230) (UL(1,J),J=1,25) C*********************************************************************** C SUMMARIZE SIGHTING DISTANCES(STATUS: 1,2,4, OR 5) C*********************************************************************** 40 IF (STATUS.EQ.3) RETURN IF (STATUS.NE.6) THEN CALL HEADER (1) WRITE (6,180) CALL HEADER (2) WRITE (6,190) WRITE (6,360) WRITE (6,120) (SD(I),I=1,N) IF (HST) CALL PHIST (SD,N,KKCUT,SD(N),NAME2,2) IF (.NOT.CDFPLT) GO TO 50 CALL HEADER (1) WRITE (6,210) CALL PCDF (SD,N,0.0,SD(N),3) WRITE (6,270) (UL(1,J),J=1,25) ENDIF C*********************************************************************** C SUMMARIZE MEASURED SIGHTING ANGLES (STATUS:4,5,6,7) C*********************************************************************** 50 IF (STATUS.EQ.2) RETURN IF (STATUS.NE.1) THEN CALL HEADER (1) WRITE (6,220) CALL HEADER (2) WRITE (6,370) WRITE (6,240) (MESANG(I),I=1,N) IF (HST) CALL PHIST (MESANG,N,KKCUT,90.,NAME3,3) IF (.NOT.CDFPLT) GO TO 60 CALL HEADER (1) WRITE (6,250) CALL PCDF (MESANG,N,0.0,90.,3) WRITE (6,300) ENDIF C*********************************************************************** C SUMMARIZE COMPUTED ANGLES(STATUS: 1 OR 4) C*********************************************************************** 60 IF (STATUS.LT.5) THEN CALL HEADER (1) WRITE (6,260) CALL HEADER (2) WRITE (6,380) WRITE (6,240) (COMANG(I),I=1,N) IF (HST) CALL PHIST (COMANG,N,KKCUT,90.,NAME4,3) IF (.NOT.CDFPLT) GO TO 70 CALL HEADER (1) WRITE (6,280) CALL PCDF (COMANG,N,0.0,90.0,3) WRITE (6,330) ENDIF C*********************************************************************** C SUMMARIZE SINE OF THE SIGHTING ANGLES(STATUS:1,4,5,6,7) C*********************************************************************** 70 CALL HEADER (1) WRITE (6,290) CALL HEADER (2) WRITE (6,390) WRITE (6,310) (SINA(I),I=1,N) IF (HST) CALL PHIST (SINA,N,KKCUT,1.,NAME5,0) IF (.NOT.CDFPLT) RETURN CALL HEADER (1) WRITE (6,320) CALL PCDF (SINA,N,0.0,1.0,3) WRITE (6,340) RETURN C*********************************************************************** C FORMAT STATEMENTS C*********************************************************************** 80 FORMAT (///10X,60('*')/10X,'*',58X,'*'/10X,'*',11X, 1 'Perpendicular Distance Distributions',11X,'*'/10X,'*', 2 58X,'*'/10X,60('*')) 90 FORMAT (//'0Illustration of the distributions of observed', 1' perpendicular distances provides'/ 2' information about the detection function g(x) which dictates', 3' the type of esti-'/ 4' mator to be used. However, a graphical representation alone', 5' should not be the'/ 6' basis for a decision and more reliance should be placed', 5' on statistical tests.'/ 6' The illustrations can be used to pick out anomalies in the', 7' data such as'/ 8' errors or extreme outliers. Caution must be exercised', 8' in interpreting'/ 9' histograms with unequal intervals because it will not be', A' immediately obvious.') 100 FORMAT (' All of the observations are listed among the', 1' sorted data. However,'/ 2' the user has chosen to truncate the data further and only ',I4, 3' observations have'/ 4' been used in the histograms and/or CDFs.') 110 FORMAT (' For the purpose of illustrating the histogram', 1' and/or CDF of untruncated'/ 2' data it is necessary to ignore that there is no final end', 3' point (unbounded'/ 4' width. In the case of histograms the last end point given', 5' on the figures is'/ 6' either the last order statistic or a user defined end point. ', 7' For CDF plots'/ 8' the last order statistic is used as the final end point. ', 9' In reality the last'/ A' interval extends to infinity.') 120 FORMAT (8G10.3) 130 FORMAT (//'0Histogram of Perpendicular Distance') 140 FORMAT (' User Defined Intervals, Cut Point Set ',I1//) 150 FORMAT (' Cut Point Set ',I1,', Interval Width = ',G10.4,1X, 1 25A1//) 160 FORMAT (//'0Perpendicular Distance in ',25A1) 170 FORMAT (/41X,'Sample CDF of Perpendicular Distances') 180 FORMAT (///10X,60('*')/10X,'*',58X,'*'/10X,'*',14X, 1 'Sighting Distance Distributions',13X,'*'/10X,'*',58X,'*' 2 /10X,60('*')) 190 FORMAT (//'0For illustration of histograms and/or CDFs of', 1' sighting distances it is'/ 2' necessary to ignore that there is no final end point', 3' (unbounded). The last'/ 4' order statistic (largest sighting distance) has been used for', 5' the final end'/ 6' point. However, in reality the last interval extends', 7' to infinity.') 210 FORMAT (/41X,'Sample CDF of the sighting distances') 220 FORMAT (///10X,60('*')/10X,'*',58X,'*'/10X,'*',11X, 1 'Measured Sighting Angle Distributions',10X,'*'/10X,'*', 2 58X,'*'/10X,60('*')) 230 FORMAT (/41X,'Perpendicular Distance in ',25A1) 240 FORMAT (1X,12F6.1) 250 FORMAT (/41X,'Sample CDF of the Measured Sighting Angles') 260 FORMAT (///10X,60('*')/10X,'*',58X,'*'/10X,'*',11X, 1 'Computed Sighting Angle Distributions',10X,'*'/10X,'*', 2 58X,'*'/10X,60('*')) 270 FORMAT (/41X,'Sighting Distance in ',25A1) 280 FORMAT (/41X,'Sample CDF of the Computed Sighting Angles') 290 FORMAT (///10X,60('*')/10X,'*',58X,'*'/10X,'*',13X, 1 'Sighting Angle Sine Distributions',12X,'*'/10X,'*',58X, 2 '*'/10X,60('*')) 300 FORMAT (/41X,'Measured Sighting Angle in Degrees') 310 FORMAT (1X,12F6.2) 320 FORMAT (/41X,'Sample CDF of the Sighting Angle Sines') 330 FORMAT (/41X,'Computed Sighting Angle in Degrees') 340 FORMAT (/41X,'Sighting Angle Sines') 350 FORMAT (//'0Ordered Perpendicular Distances'//) 360 FORMAT (//'0Ordered Sighting Distances'//) 370 FORMAT (//'0Ordered Measured Sighting Angles'//) 380 FORMAT (//'0Ordered computed Sighting Angles'//) 390 FORMAT (//'0Ordered Sighting Angle Sines'//) END