anchor.diff:  
         DO IPHI = 1, p%AirFoil%NTables(NFOILID)
           IF ( ABS( O%AirFoil%AL( NFOILID, I ) ) > 185.) THEN
  -           CALL ProgAbort( 'Probable error in airfoil data table number '//TRIM(Int2LStr(NFOILID))// &
  -                           ' Angle of attack exceeds 185 degrees.')
  +            CALL SetErrStat( ErrID_Fatal, 'Probable error in airfoil data table number '//TRIM(Int2LStr(NFOILID))// &
  +                           ' Angle of attack exceeds 185 degrees.', ErrStat, ErrMess, 'READFL')   
  +            CLOSE(NUNIT)
  +            RETURN
  +
           ELSEIF (ABS( O%AirFoil%CL( NFOILID, I, IPHI ) ) > 3. ) THEN
  -           CALL ProgAbort( 'Probable error in airfoil data table number '//TRIM(Int2LStr(NFOILID))// &
  -                           ' Coefficient of Lift exceeds 3.0.')
  +            CALL SetErrStat( ErrID_Fatal, 'Probable error in airfoil data table number '//TRIM(Int2LStr(NFOILID))// &
  +                           ' Coefficient of Lift exceeds 3.0.', ErrStat, ErrMess, 'READFL')   
  +            CLOSE(NUNIT)
  +            RETURN
           ELSEIF (ABS( O%AirFoil%CD( NFOILID, I, IPHI ) ) > 3. ) THEN
  -           CALL ProgAbort( 'Probable error in airfoil data table number '//TRIM(Int2LStr(NFOILID))// &
  -                           ' Coefficient of Drag exceeds 3.0.')
  +            CALL SetErrStat( ErrID_Fatal, 'Probable error in airfoil data table number '//TRIM(Int2LStr(NFOILID))// &
  +                           ' Coefficient of Drag exceeds 3.0.', ErrStat, ErrMess, 'READFL')   
  +            CLOSE(NUNIT)
  +            RETURN
           ELSEIF (ABS( O%AirFoil%CM( NFOILID, I, IPHI ) ) > 3. ) THEN
  -           CALL ProgAbort( 'Probable error in airfoil data table number '//TRIM(Int2LStr(NFOILID))// &
  -                           ' Coefficient of Moment exceeds 3.0.')
  +            CALL SetErrStat( ErrID_Fatal, 'Probable error in airfoil data table number '//TRIM(Int2LStr(NFOILID))// &
  +                           ' Coefficient of Moment exceeds 3.0.', ErrStat, ErrMess, 'READFL')   
  +            CLOSE(NUNIT)
  +            RETURN
  +           
  +           
           ENDIF
         ENDDO ! IPHI
   
  
positive.code:          IF (CLPosPI(IPHI) /= CLNegPI(IPHI) .OR. &
               CDPosPI(IPHI) /= CDNegPI(IPHI) .OR. &
               CMPosPI(IPHI) /= CMNegPI(IPHI)) THEN
              CALL ProgAbort( ' The airfoil data at +180 deg is different from -180 deg in file :'//Trim(P%AirFoil%FOILNM(NFOILID)) )
           ENDIF
        END Do ! IPHI
     ENDIF
  
negative.code:  ! Read in airfoil data table identification array
  
     READ(NUNIT,'( A )',IOSTAT=IOS) LINE
     IF ( IOS < 0 ) then
        CALL PremEOF ( Trim(p%AirFoil%FOILNM(NFOILID)) , 'multi-table metric', .TRUE., ErrMessLcl )
        close(NUNIT)
        CALL SetErrStat( ErrID_Fatal, ErrMessLcl, ErrStat, ErrMess, 'READFL')
        RETURN
     END IF
     READ(LINE,*,ERR=205)  (p%AirFoil%MulTabMet ( NFOILID, K ), K = 1, p%AirFoil%NTables(NFOILID))
  
   ! Read in four lines that are no longer used
   ! These are retained for future USE and backwards compatibility only
  
     READ(NUNIT,'( A )',IOSTAT=IOS) LINE
     IF ( IOS < 0 ) then
        CALL PremEOF ( Trim(p%AirFoil%FOILNM(NFOILID)) , '5th line', .TRUE., ErrMessLcl )
        close(NUNIT)
        CALL SetErrStat( ErrID_Fatal, ErrMessLcl, ErrStat, ErrMess, 'READFL')
        RETURN
     END IF
     READ(NUNIT,'( A )',IOSTAT=IOS) LINE
     IF ( IOS < 0 ) then
        CALL PremEOF ( Trim(p%AirFoil%FOILNM(NFOILID)) , '6th line', .TRUE., ErrMessLcl )
        close(NUNIT)
        CALL SetErrStat( ErrID_Fatal, ErrMessLcl, ErrStat, ErrMess, 'READFL')
        RETURN
     END IF
     READ(NUNIT,'( A )',IOSTAT=IOS) LINE
     IF ( IOS < 0 ) then
        CALL PremEOF ( Trim(p%AirFoil%FOILNM(NFOILID)) , '7th line', .TRUE., ErrMessLcl )
        close(NUNIT)
        CALL SetErrStat( ErrID_Fatal, ErrMessLcl, ErrStat, ErrMess, 'READFL')
        RETURN
     END IF
     READ(NUNIT,'( A )',IOSTAT=IOS) LINE
     IF ( IOS < 0 ) then
        CALL PremEOF ( Trim(p%AirFoil%FOILNM(NFOILID)) , '8th line', .TRUE., ErrMessLcl )
        close(NUNIT)
        CALL SetErrStat( ErrID_Fatal, ErrMessLcl, ErrStat, ErrMess, 'READFL')
        RETURN
     END IF
  
   ! Read Beddoes stall parameters
  
     READ(NUNIT,'( A )',IOSTAT=IOS) LINE
     IF ( IOS < 0 ) THEN
        CALL PremEOF ( Trim(p%AirFoil%FOILNM(NFOILID)) , 'Angle of zero lift (AOL)', .TRUE., ErrMessLcl )
        close(NUNIT)
        CALL SetErrStat( ErrID_Fatal, ErrMessLcl, ErrStat, ErrMess, 'READFL')
        RETURN
     END IF
     IF (p%DSTALL) READ(LINE,*,ERR=205)  (O%Beddoes%AOL( NFOILID, K ), K = 1, p%AirFoil%NTables(NFOILID))
  
     READ(NUNIT,'( A )',IOSTAT=IOS) LINE
     IF ( IOS < 0 ) THEN
        CALL PremEOF ( Trim(p%AirFoil%FOILNM(NFOILID)) , 'CNA', .TRUE., ErrMessLcl )
        close(NUNIT)
        CALL SetErrStat( ErrID_Fatal, ErrMessLcl, ErrStat, ErrMess, 'READFL')
        RETURN
     END IF
     IF (p%DSTALL) READ(LINE,*,ERR=205)  (O%Beddoes%CNA   ( NFOILID, K ), K = 1, p%AirFoil%NTables(NFOILID))
  
     READ(NUNIT,'( A )',IOSTAT=IOS) LINE
     IF ( IOS < 0 ) THEN
        CALL PremEOF ( Trim(p%AirFoil%FOILNM(NFOILID)) , 'CNS', .TRUE., ErrMessLcl )
        close(NUNIT)
        CALL SetErrStat( ErrID_Fatal, ErrMessLcl, ErrStat, ErrMess, 'READFL')
        RETURN
     END IF
     IF (p%DSTALL) READ(LINE,*,ERR=205)  (O%Beddoes%CNS   ( NFOILID, K ), K = 1, p%AirFoil%NTables(NFOILID))
  
     READ(NUNIT,'( A )',IOSTAT=IOS) LINE
     IF ( IOS < 0 ) THEN 
        CALL PremEOF ( Trim(p%AirFoil%FOILNM(NFOILID)) , 'CNSL', .TRUE., ErrMessLcl )
        close(NUNIT)
        CALL SetErrStat( ErrID_Fatal, ErrMessLcl, ErrStat, ErrMess, 'READFL')
        RETURN
     END IF
     IF (p%DSTALL) READ(LINE,*,ERR=205)  (O%Beddoes%CNSL  ( NFOILID, K ), K = 1, p%AirFoil%NTables(NFOILID))
  
     READ(NUNIT,'( A )',IOSTAT=IOS) LINE
     IF ( IOS < 0 ) THEN
        CALL PremEOF ( Trim(p%AirFoil%FOILNM(NFOILID)) , 'AOD', .TRUE., ErrMessLcl )
        close(NUNIT)
        CALL SetErrStat( ErrID_Fatal, ErrMessLcl, ErrStat, ErrMess, 'READFL')
        RETURN
     END IF
     IF (p%DSTALL) READ(LINE,*,ERR=205)  (O%Beddoes%AOD   ( NFOILID, K ), K = 1, p%AirFoil%NTables(NFOILID))
  
     READ(NUNIT,'( A )',IOSTAT=IOS) LINE
     IF ( IOS < 0 ) THEN
        CALL PremEOF ( Trim(p%AirFoil%FOILNM(NFOILID)) , 'CDO', .TRUE., ErrMessLcl )
        close(NUNIT)
        CALL SetErrStat( ErrID_Fatal, ErrMessLcl, ErrStat, ErrMess, 'READFL')
        RETURN
     END IF
     IF (p%DSTALL) READ(LINE,*,ERR=205)  (O%Beddoes%CDO   ( NFOILID, K ), K = 1, p%AirFoil%NTables(NFOILID))
  
   ! Convert angles to radians
  