      SUBROUTINE ERRTM(A,B,PHI,DLAM,KNOT,ICODE,CM,DM)                           
C                                                                               
C                                                                               
C        THIS SUBROUTINE COMPUTES THE COVARIANCE MATRIX CM OF THE               
C      TRANSVERSE MERCATOR COORDINATES X,Y GIVEN THE COVARIANCE MATRIX          
C      DM OF THE ELLIPSOIDAL COORDINATES PHI,LAMDA. (ICODE=1)                   
C        IT WILL ALSO COMPUTE THE COVARIANCE MATRIX DM OF PHI,LAMDA             
C      GIVEN THE COVARIANCE MATRIX CM OF X,Y. (IF ICODE=-1)                     
C                                                                               
C                                                                               
C        INPUT:                                                                 
C                                                                               
C              PHI - ELLIPSOIDAL LATITUDE. (IN RADIANS)                         
C                                                                               
C              DLAM - LONGITUDE OF THE POINT MINUS THE LONGITUDE OF THE         
C                     CENTRAL MERIDIAN (IN RADIANS) FOR LONGITUDE               
C                     POSITIVE EAST.                                            
C                                                                               
C                                                                               
C              KNOT - SCALE FACTOR AT THE CENTRAL MERIDIAN.                     
C                                                                               
C              ICODE -  1  PHI,LAMDA TO X,Y                                     
C                                                                               
C                      -1  X,Y TO PHI,LAMDA.                                    
C                                                                               
C              CM   - COVARIANCE MATRIX OF THE TRANSVERSE MERCATOR              
C                     COORDINATES . (IN METRES SQUARED)                         
C                                                                               
C              OR                                                               
C                                                                               
C              DM   - COVARIANCE MATRIX OF THE ELLIPSOIDAL                      
C                     COORDINATES. (IN RADIANS SQUARED)                         
C                                                                               
C        OUTPUT:                                                                
C                                                                               
C              CM   - COVARIANCE MATRIX OF THE TRANSVERSE MERCATOR              
C                     COORDINATES . (IN METRES SQUARED)                         
C                                                                               
C              OR                                                               
C                                                                               
C              DM   - COVARIANCE MATRIX OF THE ELLIPSOIDAL                      
C                     COORDINATES. (IN RADIANS SQUARED)                         
C                                                                               
C                                                                               
C                                              WRITTEN BY R.R.STEEVES           
C                                                   JUNE,1977                   
C                                                                               
      IMPLICIT REAL*8(A-Z)                                                      
      INTEGER ICODE                                                             
      DIMENSION CM(2,2),DM(2,2)                                                 
      CP=DCOS(PHI)                                                              
      SP=DSIN(PHI)                                                              
C                                                                               
C        COMPUTE THE JACOBIAN MATRIX                                            
C                                                                               
      J11=21670.D0*DLAM*CP-639.D4*DLAM*SP                                       
      J12=639.D4*CP                                                             
      J21=637.D4                                                                
      J22=639.D4*DLAM*SP*CP                                                     
C                                                                               
C        IF ICODE=1 CM IS COMPUTED; IF ICODE=-1 DM IS COMPUTED                  
C                                                                               
      IF(ICODE.LT.0)GO TO 1                                                     
C                                                                               
C        COMPUTE THE COVARIANCE MATRIX OF X,Y                                   
C                                                                               
      CM(1,1)=J11**2*DM(1,1)+2.D0*J11*J12*DM(1,2)+J12**2*DM(2,2)                
      CM(1,2)=J11*J21*DM(1,1)+J12*J21*DM(1,2)+J11*J22*DM(1,2)+J12*J22*DM        
     1        (2,2)                                                             
      CM(2,1)=CM(1,2)                                                           
      CM(2,2)=J21**2*DM(1,1)+2.D0*J21*J22*DM(1,2)+J22**2*DM(2,2)                
      GO TO 2                                                                   
    1 CONTINUE                                                                  
C                                                                               
C        INVERT THE JACOBIAN MATRIX                                             
C                                                                               
      J1=J11                                                                    
      DET=J11*J22-J21*J12                                                       
      J11=J22/DET                                                               
      J22=J1/DET                                                                
      J12=-J12/DET                                                              
      J21=-J21/DET                                                              
C                                                                               
C        COMPUTE THE COVARIANCE MATRIX OF PHI,LAMDA                             
C                                                                               
      DM(1,1)=J11**2*CM(1,1)+2.D0*J11*J12*CM(1,2)+J12**2*CM(2,2)                
      DM(1,2)=J11*J21*CM(1,1)+J12*J21*CM(1,2)+J11*J22*CM(1,2)+J12*J22*CM        
     1        (2,2)                                                             
      DM(2,1)=DM(1,2)                                                           
      DM(2,2)=J21**2*CM(1,1)+2.D0*J21*J22*CM(1,2)+J22**2*CM(2,2)                
    2 RETURN                                                                    
      END                                                                       
