anchor.diff:     REAL(ReKi),ALLOCATABLE  :: SP_Coef(:,:,:)
      REAL(ReKi)              :: TmpPos(3)
      REAL(ReKi)              :: TmpDCM(3,3)
  +   REAL(ReKi),ALLOCATABLE  :: temp_glb(3)
   
      INTEGER(IntKi)          :: ErrStat2                     ! Temporary Error status
      CHARACTER(ErrMsgLen)    :: ErrMsg2                      ! Temporary Error message
  
positive.code:    ! place single node at origin; position affects mapping/coupling with other modules
     TmpPos(:) = p%GlbPos(1:3) + MATMUL(p%GlbRot,p%uuN0(1:3,1))
     temp_CRV(:) = MATMUL(p%GlbRot,p%uuN0(4:6,1))
     CALL BD_CrvMatrixR(temp_CRV,TmpDCM,ErrStat2,ErrMsg2)
     TmpDCM(:,:) = TRANSPOSE(TmpDCM)
     CALL MeshPositionNode ( Mesh = u%RootMotion      &
                           , INode = 1                &
  
negative.code:            temp_id = (j-1) * p%dof_node
             TmpPos(1:3) = p%GlbPos(1:3) + MATMUL(p%GlbRot,p%uuN0(temp_id+1:temp_id+3,i))
             temp_CRV(:) = MATMUL(p%GlbRot,p%uuN0(temp_id+4:temp_id+6,i))
             CALL BD_CrvCompose(temp_CRV,temp_CRV,temp_glb,0,ErrStat2,ErrMsg2)
                CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
             CALL BD_CrvMatrixR(temp_CRV,TmpDCM,ErrStat2,ErrMsg2)
                CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
             TmpDCM(:,:) = TRANSPOSE(TmpDCM)
             temp_id = (i-1)*(p%node_elem-1)+j
             CALL MeshPositionNode ( Mesh    = u%PointLoad  &
  