anchor.diff:        ! Get the arrays of data to be stored in the output file
      CALL FAST_PackTurbineType( ReKiBuf, DbKiBuf, IntKiBuf, Turbine, ErrStat2, ErrMsg2 )
         CALL SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
  -      IF (ErrStat >= AbortErrLev ) RETURN
  +      if (ErrStat >= AbortErrLev ) then
  +         call cleanup()
  +         RETURN
  +      end if
  +      
         
      ArraySizes = 0   
      IF ( ALLOCATED(ReKiBuf)  ) ArraySizes(1) = SIZE(ReKiBuf)
  
positive.code:       WRITE (y_FAST%UnSum, Fmt ) "FAST output files", p_FAST%DT_out, NINT( p_FAST%DT_out / p_FAST%DT ),"^-1"
     END IF
  
     IF (p_FAST%WrVTK /= VTK_None) THEN
        
        TmpRate = p_FAST%DT_out*p_FAST%n_VTKTime
        
        IF ( p_FAST%n_VTKTime == 1_IntKi ) THEN
           WRITE (y_FAST%UnSum, Fmt ) "VTK output files ", p_FAST%DT_out, 1_IntKi   ! we'll write "1" instead of "1^-1"
        ELSE
           WRITE (y_FAST%UnSum, Fmt ) "VTK output files ", TmpRate, p_FAST%n_VTKTime,"^-1"
        END IF
  
negative.code:          p%n_VTKTime = HUGE(p%n_VTKTime)
        ELSE         
           p%n_VTKTime = NINT( TmpTime / p%DT )
           ! I'll warn if p%n_VTKTime*p%DT is not TmpTime 
           IF (p%WrVTK > VTK_None) THEN
              TmpRate = p%n_VTKTime*p%DT
              if (.not. EqualRealNos(TmpRate, TmpTime)) then
  