anchor.diff:  
         INTEGER(IntKi), INTENT(OUT)            :: ErrStat                       ! The error status.
         INTEGER(IntKi), INTENT(INOUT)          :: LineNum                       ! The number of the line to parse.
  +
  +      INTEGER,        INTENT(IN), OPTIONAL   :: UnEc                          ! I/O unit for echo file. If present and > 0, write to UnEc.
   
         CHARACTER(*),   INTENT(OUT)            :: ErrMsg                        ! The error message, if ErrStat /= 0.
         CHARACTER(*),   INTENT(IN)             :: ExpVarName                    ! The expected variable name.
  
positive.code: 
     INTEGER(IntKi),                    INTENT(IN   )  :: ErrStatLcl   ! Error status of the operation
     CHARACTER(*),                      INTENT(IN   )  :: ErrMessLcl   ! Error message if ErrStat /= ErrID_None
                                                                       
     INTEGER(IntKi),                    INTENT(INOUT)  :: ErrStat      ! Error status of the operation
     CHARACTER(*),                      INTENT(INOUT)  :: ErrMess      ! Error message if ErrStat /= ErrID_None
  
     CHARACTER(*),                      INTENT(IN   )  :: RoutineName  ! Name of the routine error occurred in
     
  
     IF ( ErrStatLcl /= ErrID_None ) THEN
     
        IF (ErrStat /= ErrID_None) ErrMess = TRIM(ErrMess)//NewLine
        ErrMess = TRIM(ErrMess)//TRIM(RoutineName)//':'//TRIM(ErrMessLcl)         
        ErrStat = MAX(ErrStat,ErrStatLcl)
        
     END IF
        
  END SUBROUTINE SetErrStat    
  
  
  END MODULE NWTC_IO
  
negative.code:          RETURN
        ENDIF
  
        IF ( PRESENT(UnEc) )  THEN
           IF ( UnEc > 0 )  WRITE (UnEc,'(1X,A15," = ",A20)')  Words
        END IF
  
        LineNum = LineNum + 1
  
        CALL ExitThisRoutine ( ErrID_None, '' )
  