anchor.diff:     enddo
      close(iUnit)
      if (istat/=0) then
  -      print*,'Error occured while reading Circulation file'
  +      ErrStat=ErrID_Fatal
  +      ErrMsg='Error occured while reading Circulation file: '//trim(CirculationFileName)
  +      return
      endif
      ! NOTE: TODO TODO TODO THIS ROUTINE PERFORMS NASTY EXTRAPOLATION, SHOULD BE PLATEAUED
      Gamma_CP_LL =  interpolation_array( sPrescr, GammaPrescr, s_CP_LL, size(s_CP_LL), nLines )
  
positive.code: !> Read a delimited file  containing a circulation and interpolate it on the requested Control Points
  !! The input file is a delimited file with one line of header. 
  !! Each following line consists of two columns: r/R_[-] and Gamma_[m^2/s]
  subroutine ReadAndInterpGamma(CirculationFileName, s_CP_LL, L, Gamma_CP_LL)
     character(len=*),           intent(in   ) :: CirculationFileName !< Input file to read
     real(ReKi), dimension(:),   intent(in   ) :: s_CP_LL             !< Spanwise location of the lifting CP [m]
     real(ReKi),                 intent(in   ) :: L                   !< Full span of lifting line
     real(ReKi), dimension(:),   intent(out  ) :: Gamma_CP_LL         !< Interpolated circulation of the LL CP
     ! Local
     integer(IntKi)      :: nLines
     integer(IntKi)      :: i
  
negative.code:    integer(IntKi)      :: iUnit
     character(len=1054) :: line
     real(ReKi), dimension(:), allocatable :: sPrescr, GammaPrescr !< Radius
     ErrStat = ErrID_None
     ErrMsg  = ''
     ! --- 
     call GetNewUnit(iUnit)
     open(unit = iUnit, file = CirculationFileName)
  