anchor.diff:     CHARACTER(*),                 INTENT(  OUT)  :: ErrMsg      ! Error message if ErrStat /= ErrID_None
   
      REAL(ReKi)                                   :: temp_cc(3)
  +   REAL(ReKi)                                   :: temp_glb(3)
      INTEGER(IntKi)                               :: ErrStat2                     ! Temporary Error status
      CHARACTER(ErrMsgLen)                         :: ErrMsg2                      ! Temporary Error message
      CHARACTER(*), PARAMETER                      :: RoutineName = 'BD_BoundaryGA2'
  
positive.code:    ! Root rotations
     CALL BD_CrvExtractCrv(u%RootMotion%Orientation(1:3,1:3,1),x%q(4:6),ErrStat2,ErrMsg2)
        CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
     temp_cc(:) = MATMUL(p%GlbRot,p%uuN0(4:6,1))
     CALL BD_CrvCompose(x%q(4:6),x%q(4:6),temp_cc,2,ErrStat2,ErrMsg2)
        CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName )
     x%q(4:6) = MATMUL(TRANSPOSE(p%GlbRot),x%q(4:6))
  
negative.code:        u%RootMotion%RotationVel(:,1)     = MATMUL(TRANSPOSE(RotTen),u%RootMotion%RotationVel(:,1))
         u%RootMotion%TranslationAcc(:,1)  = MATMUL(TRANSPOSE(RotTen),u%RootMotion%TranslationAcc(:,1))
         u%RootMotion%RotationAcc(:,1)     = MATMUL(TRANSPOSE(RotTen),u%RootMotion%RotationAcc(:,1))
         ! Transform DCM to Rotation Tensor (RT)
         u%RootMotion%Orientation(:,:,1) = TRANSPOSE(u%RootMotion%Orientation(:,:,1))
         ! Transform Applied Forces from Global to Local (Blade) frame
         DO i=1,p%node_total
             u%PointLoad%Force(1:3,i)  = MATMUL(TRANSPOSE(RotTen),u%PointLoad%Force(:,i))
  