anchor.diff:        TYPE(MD_InputType)    :: uArray(1)    ! a size-one array for u to make call to TimeStep happy
         REAL(DbKi)            :: utimes(1)    ! a size-one array saying time is 0 to make call to TimeStep happy  
   
  -
  +      CHARACTER(MaxWrScrLen)                       :: Message
   
   
         ErrStat = ErrID_None
  
positive.code:             dVF = dVF*( 1.0_DbKi - Tol*I )            ! Reduce dHF by factor (between 1 at I = 1 and 0 at I = MaxIter) that reduces linearly with iteration count to ensure that we converge on a solution even in the case were we obtain a nonconvergent cycle about the correct solution (this happens, for example, if we jump to quickly between a taut and slack catenary)
  
              dHF = MAX( dHF, ( Tol - 1.0_DbKi )*HF )   ! To avoid an ill-conditioned situation, make sure HF does not go less than or equal to zero by having a lower limit of Tol*HF [NOTE: the value of dHF = ( Tol - 1.0_DbKi )*HF comes from: HF = HF + dHF = Tol*HF when dHF = ( Tol - 1.0_DbKi )*HF]
  
  
              ! Check if we have converged on a solution, or restart the iteration, or
              !   Abort if we cannot find a solution:
  
negative.code:              CALL Catenary ( XF           , ZF          , Line%UnstrLen, LineProp%EA  , &
                               WetWeight    , SeabedCD,    TenTol,     (N+1)     , &
                               LSNodes, LNodesX, LNodesZ , ErrStat2, ErrMsg2)
  
        IF (ErrStat2 == ErrID_None) THEN ! if it worked, use it
            ! Transform the positions of each node on the current line from the local
  