anchor.diff:           
               ! Lumped added mass loads
            qdotdot                 = reshape((/u%Mesh%TranslationAcc(:,J),u%Mesh%RotationAcc(:,J)/),(/6/)) 
  -         m%F_A_End(:,J)          = matmul( p%AM_End(:,:,J) , ( - qdotdot) )
  -         DO I=1,3
  -            m%F_A_End(I,J) = m%nodeInWater(j) * m%F_A_End(I,J)  ! Note that the rotational components are zero
  -         END DO
  -         
  -         m%F_I_End(:,J) =  p%DP_Const_End(:,j) * m%FDynP(j) + matmul(p%AM_End(:,:,j),m%FA(:,j))
  +         m%F_A_End(:,J)          = m%nodeInWater(j) * matmul( p%AM_End(:,:,J) , ( - qdotdot) )
  +         
  +         m%F_I_End(:,J) =  m%nodeInWater(j) * (p%DP_Const_End(:,j) * m%FDynP(j) + matmul(p%AM_End(:,:,j),m%FA(:,j)))
            
            ! Marine growth inertia: ends: Section 4.2.2  
  -         m%F_IMG_End(1:3,j) = -p%Mass_MG_End(j)*qdotdot(1:3)
  -         m%F_IMG_End(4:6,j) = -matmul(p%I_MG_End(:,:,j),qdotdot(4:6)) - cross_product(u%Mesh%RotationVel(:,J),matmul(p%I_MG_End(:,:,j),u%Mesh%RotationVel(:,J)))
  +         m%F_IMG_End(1:3,j) = -m%nodeInWater(j) * p%Mass_MG_End(j)*qdotdot(1:3)
  +         m%F_IMG_End(4:6,j) = -m%nodeInWater(j) * (matmul(p%I_MG_End(:,:,j),qdotdot(4:6)) - cross_product(u%Mesh%RotationVel(:,J),matmul(p%I_MG_End(:,:,j),u%Mesh%RotationVel(:,J))))
            
            DO I=1,6
                           
  
positive.code:             IF (I < 4 ) THEN
                
                
                 m%F_D_End(i,j) =  p%An_End(i,j)*p%DragConst_End(j)*abs(vmag)*vmag
                 !TODO: This needs to be reworked with new equations
                 !m%F_B_End(I,J) =  m%nodeInWater(j)*p%F_B_End(I,J)
                 !y%Mesh%Force(I,J) = m%F_A_End(I,J) + m%F_D_End(I,J) +  m%F_B_End(I,J) + m%F_I_End(I,J)  !+  m%F_BF_End(I,J)
                 y%Mesh%Force(i,j) = m%F_D_End(i,j) + m%F_I_End(i,j) + p%F_WMG_End(i,j) + m%F_B_End(i,j) + m%F_BF_End(i,j) + m%F_A_End(i,j) + m%F_IMG_End(i,j)
              ELSE
                 !m%F_B_End(I,J) =  m%nodeInWater(j)*p%F_B_End(I,J)
                 !y%Mesh%Moment(I-3,J) =   m%F_A_End(I,J) + m%F_B_End(I,J) ! +   m%F_BF_End(I,J)
                  y%Mesh%Moment(i-3,j) = m%F_B_End(i,j) + m%F_BF_End(i,j)  + m%F_IMG_End(i,j)
              END IF
           END DO      ! I=1,6
        ENDDO          ! J = 1, p%NJoints
  
negative.code:    real(ReKi)               :: omega_s2(3)
     real(ReKi)               :: pos1(3), pos2(3)   
     real(ReKi)               :: Imat(3,3)
     real(ReKi)               :: iArm(3), iTerm(3), Ioffset, h_c, dRdl_p, dRdl_pp, f_hydro(3), am(3,3), lstar, deltal
     real(ReKi)               :: C_1, C_2, a0b0, z1d, z2d, h
        ! Initialize errStat
           
     errStat = ErrID_None         
  