anchor.diff:                     temp6(1:3) = OS_tmp%Acc(temp_id+1:temp_id+3)
                      temp6(4:6) = OS_tmp%Acc(temp_id+4:temp_id+6)
                  ENDIF
  -                   y%BldMotion%TranslationAcc(1:3,temp_id2) = MATMUL(p%GlbRot,temp6(1:3))
  -                   y%BldMotion%RotationAcc(1:3,temp_id2) = MATMUL(p%GlbRot,temp6(4:6))
  +                   temp_cc(:) = MATMUL(p%GlbRot,temp6(1:3))
  +                   y%BldMotion%TranslationAcc(1,temp_id2) = temp_cc(2)
  +                   y%BldMotion%TranslationAcc(2,temp_id2) = temp_cc(3)
  +                   y%BldMotion%TranslationAcc(3,temp_id2) = temp_cc(1)
  +                   temp_cc(:) = MATMUL(p%GlbRot,temp6(4:6))
  +                   y%BldMotion%RotationAcc(1,temp_id2) = temp_cc(2)
  +                   y%BldMotion%RotationAcc(2,temp_id2) = temp_cc(3)
  +                   y%BldMotion%RotationAcc(3,temp_id2) = temp_cc(1)
              ENDDO
          ENDDO
          CALL BD_DynamicSolutionForce(p%uuN0,x_tmp%q,x_tmp%dqdt,OS_tmp%Acc,                              &
  
positive.code:        DO j=1,p%node_elem
             temp_id = ((i-1)*(p%node_elem-1)+j-1)*p%dof_node
             temp_id2= (i-1)*p%node_elem+j
             y%BldMotion%TranslationDisp(1:3,temp_id2) = MATMUL(p%GlbRot,x%q(temp_id+1:temp_id+3))
             cc(1:3) = x%q(temp_id+4:temp_id+6)
             temp_id = (j-1)*p%dof_node
             cc0(1:3) = p%uuN0(temp_id+4:temp_id+6,i)
             CALL BD_CrvCompose(temp_cc,cc0,cc,0,ErrStat2,ErrMsg2)
                 CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
             temp_cc = MATMUL(p%GlbRot,temp_cc)
             CALL BD_CrvCompose(temp_cc,temp_cc,temp_glb,0,ErrStat2,ErrMsg2)
                 CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
             CALL BD_CrvMatrixR(temp_cc,temp_R,ErrStat2,ErrMsg2)
                 CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
             y%BldMotion%Orientation(1:3,1:3,temp_id2) = TRANSPOSE(temp_R(1:3,1:3))
  
             temp_id = ((i-1)*(p%node_elem-1)+j-1)*p%dof_node
             y%BldMotion%TranslationVel(1:3,temp_id2) = MATMUL(p%GlbRot,x%dqdt(temp_id+1:temp_id+3))
             y%BldMotion%RotationVel(1:3,temp_id2) = MATMUL(p%GlbRot,x%dqdt(temp_id+4:temp_id+6))
         ENDDO
     ENDDO
  
  
negative.code:    CHARACTER(*),           INTENT(  OUT):: ErrMsg        ! Error message if ErrStat /= ErrID_None
                                                             ! 1: Blade to Global
     REAL(ReKi)                           :: RotTen(3,3)
     REAL(ReKi)                           :: temp_v(3)
     REAL(ReKi)                           :: temp_v2(3)
     INTEGER(IntKi)                       :: i
  
     ErrStat = ErrID_None
     ErrMsg  = ""
  
     RotTen(1:3,1:3) = p%GlbRot(:,:)
     temp_v(:) = u%RootMotion%TranslationDisp(:,1)
     u%RootMotion%TranslationDisp(1,1) = temp_v(3) 
     u%RootMotion%TranslationDisp(2,1) = temp_v(1) 
     u%RootMotion%TranslationDisp(3,1) = temp_v(2) 
     temp_v(:) = u%RootMotion%TranslationVel(:,1)
     u%RootMotion%TranslationVel(1,1) = temp_v(3) 
     u%RootMotion%TranslationVel(2,1) = temp_v(1) 
     u%RootMotion%TranslationVel(3,1) = temp_v(2) 
     temp_v(:) = u%RootMotion%RotationVel(:,1)
     u%RootMotion%RotationVel(1,1) = temp_v(3) 
     u%RootMotion%RotationVel(2,1) = temp_v(1) 
     u%RootMotion%RotationVel(3,1) = temp_v(2) 
     temp_v(:) = u%RootMotion%TranslationAcc(:,1)
     u%RootMotion%TranslationAcc(1,1) = temp_v(3) 
     u%RootMotion%TranslationAcc(2,1) = temp_v(1) 
     u%RootMotion%TranslationAcc(3,1) = temp_v(2) 
     temp_v(:) = u%RootMotion%RotationAcc(:,1)
     u%RootMotion%RotationAcc(1,1) = temp_v(3) 
     u%RootMotion%RotationAcc(2,1) = temp_v(1) 
     u%RootMotion%RotationAcc(3,1) = temp_v(2) 
     ! Transform Root Motion from Global to Local (Blade) frame
     u%RootMotion%TranslationDisp(:,1) = MATMUL(TRANSPOSE(RotTen),u%RootMotion%TranslationDisp(:,1))
     u%RootMotion%TranslationVel(:,1)  = MATMUL(TRANSPOSE(RotTen),u%RootMotion%TranslationVel(:,1))
  