C  *******************************************************************          
C  *                                                                 *          
C  *                                                                 *          
C  *                     PROGRAM NETPLOT                             *          
C  *                     ---------------                             *          
C  *                                                                 *          
C  *                                                                 *          
C  *   THIS PROGRAM PLOTS THE STRAIN ELLIPSES AS WELL AS THE VALUES  *          
C  *  OF AVERAGE DIFFERENTIAL ROTATION  FOR NETWORK STATIONS         *          
C  *  NETWORK POINTS ARE IDENTIFIED BY PLOTTING STATION NUMBERS      *          
C  *                                                                 *          
C  *                                                                 *          
C  *        JOB CONTROL LANGUAGE                                     *          
C  *        --------------------                                     *          
C  *                                                                 *          
C  *                                                                 *          
C  *  1.0 INPUT DATA SETS                                            *          
C  *                                                                 *          
C  *  STATION NUMBERS,VALUES OF DISPLACEMENTS AND VALUES OF AVERAGE  *          
C  *  DIFFERENTIAL ROTATION(DIRECT OUTPUT OF PROGRAM 'STRAIN')       *          
C  *                                                                 *          
C  *  //GO.FT08F001 DD DSN=A.M60689STNDXDY2.OMEGA,                   *          
C  *  //  UNIT=DASD,VOL=SER=USER11,DISP=SHR                          *          
C  *                                                                 *          
C  *  ELEMENTS OF THE SYMMETRIC STRAIN TENSOR MATRIX                 *          
C  *  (DIRECT OUTPUT OF PROGRAM 'STRAIN')                            *          
C  *                                                                 *          
C  *  //GO.FT04F001 DD DSN=A.M6068.TMATRIX2.DATA,                    *          
C  *  // UNIT=P3350,VOL=SER=USER11,DISP=SHR                          *          
C  *                                                                 *          
C  *  VALUES OF THE AXES OF STRAIN ELLIPSES AND THE ORIENTATION      *          
C  *  ANGLE OF THE SEMI-MAJOR AXIS OF THE STRAIN ELLIPSE             *          
C  *  (DIRECT OUTPUT OF PROGRAM 'EVALUE')                            *          
C  *                                                                 *          
C  *  //GO.FT03F001 DD DSN=A.M6068.TEVALUE2.DATA,                    *          
C  *  // UNIT=P3350,VOL=SER=USER11,DISP=SHR                          *          
C  *                                                                 *          
C  *  STATION NUMBERS AND CO-ORDINATES                               *          
C  *                                                                 *          
C  *  //GO.FT02F001 DD DSN=A.M6068.ADJCRD31.DATA,                    *          
C  *  // UNIT=P3350,VOL=SER=USER11,DISP=SHR                          *          
C  *  //GO.SYSIN DD *                                                *          
C  *  //                                                             *          
C  *    INPUT:                                                       *          
C  *                                                                 *          
C  *  CARD 1 FORMAT(I4)                                              *          
C  *  NS=NUMBER OF STATIONS IN THE NETWORK                           *          
C  *                                                                 *          
C  *  ALL OTHER INPUT IS DONE FROM FILES                             *          
C  *                                                                 *          
C  *  ISTN,W,Z STATION NUMBER AND CO-ORDINATES OF THE NETWORK POINTS *          
C  *  FORMAT(1X,7A1,2F15.4)                                          *          
C  *                                                                 *          
C  *  RMAJ,RMIN,PHI ARE SEMI-MAJOR ,SEMI-MINOR AXES AND ORIENTATION  *          
C  *  ANGLE OF SEMI-MAJOR AXIS OF STRAIN ELLIPSE RESPECTIVELY        *          
C  *  FORMAT(1X,2F16.10,F10.6)                                       *          
C  *                                                                 *          
C  *  ITON,DX1,DY1 AND OMEGA ARE STATION NUMBER DISPLACEMENTS        *          
C  *  IN X AND Y DIRECTION AND THE VALUES OF AVERAGE DIFFERENTIAL    *          
C  *  ROTATION RESPECTIVELY                                          *          
C  *  FORMAT(1X,A1,6A1,2F10.4,F16.10)                                *          
C  *                                                                 *          
C  *  A CONTAINS THE ELEMENTS OF THE SYMMETRIC STRAIN TENSOR MATRIX  *          
C  *  ORIENTATION ANGLE PHI AND VALUES OF AVERAGE DIFF. ROTATION     *          
C  *  FORMAT(1X,3F18.10)                                             *          
C  *                                                                 *          
C  *                                                                 *          
C  *     OUTPUT:                                                     *          
C  *                                                                 *          
C  *  ORIENTATION ANGLE PHI OF SEMI MAJOR AXIS OF STRAIN ELLIPSE     *          
C  *  AND VALUES OF AVERAGE DIFFERENTIAL ROTATION                    *          
C  *  FORMAT(7X,7A1,2F16.8/)                                         *          
C  *                                                                 *          
C  *                                                                 *          
C  *    REFERENCES:                                                  *          
C  *                                                                 *          
C  *    GUJAR,U.G.(1975).USERS GUIDE.COMPUTER PLOTTING VOLUME 11,    *          
C  *  UNIVERSITY OF NEW BRUNSWICK COMPUTER CENTRE.                   *          
C  *                                                                 *          
C  *                                                                 *          
C  *  WRITTEN BY  KHAGENDRA THAPA NOVEMBER,1979.                     *          
C  *                                                                 *          
C  *                                                                 *          
C  *******************************************************************          
C                                                                               
C                                                                               
      IMPLICIT REAL*4(A-H,O-Z)                                                  
      REAL*8 W,Z,RMAJ,RMIN,ANGL,A                                               
      REAL*8 DX1,DY1,DOMEGA,PX,PY                                               
      DIMENSION A(3)                                                            
      LOGICAL*1 ISTN(8),ITON(8)                                                 
      DATA ISTN(8)/'\'/                                                         
      DATA ITON(8)/'\'/                                                         
C                                                                               
C     READ THE NUMBER OF STATION NUMBERS                                        
C                                                                               
      READ(5,201)NS                                                             
  201 FORMAT(I4)                                                                
C                                                                               
C     SUBROUTINE SHIFT IS USED TO SHIFT THE PAPER TO PROPER SETTING             
C                                                                               
      CALL SHIFT(2.0,4.0)                                                       
C                                                                               
C     SUBROUTINE AREA ALLOWS US TO FIX THE SIZE OF THE PLOT                     
C                                                                               
      CALL AREA(10.0,4.2105)                                                    
C                                                                               
C     SUBROUTINE  SETPLOT IS USED TO FIX THE SCALE OF THE PLOT                  
C     THAT IS, TO FIX THE CORNERS OF THE RECTANGLE ASSIGNED BY THE              
C     SUBROUTINE AREA                                                           
C                                                                               
      CALL SETPLT(950000.0,960000.0,1140000.0,1040000.0)                        
C                                                                               
C     SUBROUTINE AXS2 ENABLES US TO DO THE FOLLOWING THINGS:                    
C     (1) DRAW A STRAIGHT LINE BETWEEN TWO SPECIFIED POINTS,                    
C     (2) DRAW A SPECIFIED NUMBER OF EQUI-SPACED TICK MARKS,                    
C     (3) ANNOTATE EACH TICK MARK WITH SPECIFIED NUMBERS AND,                   
C     (4) DRAW A SPECIFIED LABEL ON THE SPECIFIED SIDE OF THE LINE              
C                                                                               
      CALL AXS2(980000.,990000.,1140000.,990000.,'KILOMETRES\',980.,            
     @40.,-4,.09,.08,(.04,0.0))                                                 
      CALL AXS2(980000.,990000.,980000.,1040000.,'KILOMETRES\',990.,            
     @25.,2,.09,.08,(0.0,0.04))                                                 
      DO 99 J=1,NS                                                              
C                                                                               
C     READ STATION NUMBERS  AND CO-ORDINATES OF STATIONS                        
C                                                                               
      READ(2,450)(ISTN(I),I=1,7),W,Z                                            
  450 FORMAT(1X,7A1,2F15.4)                                                     
C                                                                               
C     READ MAJOR AND MINOR AXES OF STRAIN ELLIPSES AND THE                      
C     ORIENTATION ANGLE OF THE SEMI-MAJOR AXES                                  
C                                                                               
      READ(3,150)RMAJ,RMIN,PHI                                                  
  150 FORMAT(1X,2F16.10,F10.6)                                                  
      X=W                                                                       
      Y=Z                                                                       
      RMAJOR=RMAJ                                                               
      RMINOR=RMIN                                                               
C                                                                               
C     READ STATION NUMBER DISPLACEMENTS OF POINTS AND                           
C     THE VALUES OF AVERAGE DIFFERENTIAL ROTATION                               
C                                                                               
      READ(8,415)(ITON(I),I=1,7),DX1,DY1,DOMEGA                                 
  415 FORMAT(1X,A1,6A1,2F10.4,F16.10)                                           
C                                                                               
C     MAKE BOTH AXES NEGATIVE TO PLOT THEM IN USER UNITS                        
C                                                                               
      RMAJOR=-ABS(RMAJOR)*1.0D4                                                 
      RMINOR=-ABS(RMINOR)*1.0D4                                                 
C                                                                               
C  *  READ THE ELEMENTS OF THE SYMMETRIC STRAIN TENSOR MATRIX        *          
C                                                                               
      READ(4,455)A                                                              
  455 FORMAT(1X,3F18.10)                                                        
      COSPHI=COS(PHI)                                                           
      SINPHI=SIN(PHI)                                                           
C                                                                               
C     COMPUTE THE CO-ORDINATES AT EACH ENDS  OF AXES                            
C     OF THE STRAIN ELLIPSE                                                     
C                                                                               
      X1=X+RMAJOR*COSPHI                                                        
      Y1=Y+RMAJOR*SINPHI                                                        
      X2=X-RMAJOR*COSPHI                                                        
      Y2=Y-RMAJOR*SINPHI                                                        
      X3=X-RMINOR*SINPHI                                                        
      X4=X+RMINOR*SINPHI                                                        
      Y3=Y+RMINOR*COSPHI                                                        
      Y4=Y-RMINOR*COSPHI                                                        
C                                                                               
C     SPECIFY THE RADIUS OF THE SEGMENT OF THE CIRCLE  FOR PLOTTING             
C     THE VALUES OF OMEGA                                                       
C                                                                               
      RADIUS=7500.0                                                             
      SX=X                                                                      
      SY=Y                                                                      
      DX=DX1                                                                    
      DY=DY1                                                                    
      OMEGA=DOMEGA                                                              
      OMEGA=OMEGA*1.0E5                                                         
C                                                                               
C     COMPUTE THE CO-ORDINATES OF THE  CORNERS OF THE SEGMENT                   
C  *  OF THE CIRCLE                                                  *          
C                                                                               
      X5=SX+RADIUS                                                              
      Y5=SY                                                                     
      X6=SX+RADIUS*COS(OMEGA)                                                   
      Y6=SY+RADIUS*SIN(OMEGA)                                                   
      X7=X                                                                      
C                                                                               
C     SUBROUTINE 'NOWPLOT ENABLES ONE TO DRAW POINTS AND ST. LINES              
C                                                                               
      CALL NOWPLT(0,X1,Y1)                                                      
C                                                                               
C     SUBROUTINE DASHLINES ENABLES ONE TO PLOT DASHLINES                        
C                                                                               
C     PLOT DASH LINES FOR NEGATIVE VALUES OF STRAIN ELLIPSES                    
C                                                                               
      IF(RMAJ.LT.0.0)CALL DSHLNS(X2,Y2,(0.04,0.04))                             
C                                                                               
C     PLOT SOLID LINES FOR POSITIVE VALUES OF AXES OF STRAIN ELLIPSES           
C                                                                               
      IF(RMAJ.GE.0.)CALL NOWPLT(2,X2,Y2)                                        
      CALL NOWPLT(0,X4,Y4)                                                      
      IF(RMIN.LT.0.0)CALL DSHLNS(X3,Y3,(0.04,0.04))                             
      IF(RMIN.GE.0.)CALL NOWPLT(2,X3,Y3)                                        
C                                                                               
C     PLOT THE STRAIN ELLIPSE BY CALLING THE SUBROUTINE'ELLIPS'                 
C                                                                               
      CALL ELLIPS(X,Y,RMAJOR,RMINOR,PHI)                                        
      IF(OMEGA.EQ.0.0)GOTO 88                                                   
      IF(OMEGA.LT.0.0) GOTO 73                                                  
C                                                                               
C  *  PLOT THE ARC OF THE CIRCLE BY CALLING THE SUBROUTINE 'ARC'     *          
C                                                                               
      CALL ARC(SX,SY,X5,Y5,X6,Y6)                                               
C                                                                               
C     PLOT SOLID LINES FOR THE RADII OF THE SEGMENT OF THE CIRCLE               
C     FOR POSITIVE VALUES OF OMEGA AND DRAW THE SEGMENT OF THE CIRCLE           
C                                                                               
      CALL NOWPLT(0,X5,Y5)                                                      
      CALL NOWPLT(2,SX,SY)                                                      
      CALL NOWPLT(0,X6,Y6)                                                      
      CALL NOWPLT(2,SX,SY)                                                      
      GOTO 88                                                                   
   73 CALL ARC(SX,SY,X6,Y6,X5,Y5)                                               
C                                                                               
C     PLOT DASH LINES FOR THE RADII OF THE SEGMENT OF THE CIRCLE                
C     FOR NEGATIVE VALUES OF OMEGA AND DRAW THE SEGMENT OF THE CIRCLE           
C                                                                               
      CALL NOWPLT(0,X5,Y5)                                                      
      CALL DSHLNS(SX,SY,(0.04,0.04))                                            
      CALL NOWPLT(0,X6,Y6)                                                      
      CALL DSHLNS(SX,SY,(0.04,0.04))                                            
   88 CONTINUE                                                                  
C                                                                               
C     PLOT STATION NUMBERS BY CALLING SUBROUTINE 'CHARS'                        
C                                                                               
      CALL CHARS(X7,Y,ISTN,0.,.08)                                              
C                                                                               
      WRITE(6,75)(ITON(I),I=1,7),OMEGA,PHI                                      
   75 FORMAT(7X,'THE STATION NAMES AND VALUES OF OMEGA AND PHI ARE'/,           
     @ 7X,'GIVEN BELOW'/7X,7A1,2F16.8/)                                         
   99 CONTINUE                                                                  
C                                                                               
C     SUBROUTINE ENDPLT IS CALLED TO INDICATE THE END OF ALL PLOTTING           
C                                                                               
      CALL ENDPLT                                                               
      STOP                                                                      
      END                                                                       
