anchor.diff:     type(SD_InputType),     intent(in   )  :: u ! Inputs
      type(SD_ParameterType), intent(in   )  :: p ! Parameters
      type(SD_MiscVarType),   intent(inout)  :: m ! Misc, for storage optimization of Fext and Fext_red
  -   real(ReKi)          ,   intent(out)    :: UFL(p%nDOFL_L)
  +   real(ReKi)          ,   intent(out)    :: UFL(p%nDOF__L)
      integer :: iMeshNode, iSDNode ! indices of u-mesh nodes and SD nodes
      integer :: nMembers
      real(ReKi), parameter :: myNaN = -9999998.989_ReKi 
  
positive.code:    INTEGER(IntKi)           :: i
     INTEGER(IntKi)           :: nR     !< Dimension of R DOFs (to switch between __R and R__)
     INTEGER(IntKi)           :: nL, nM, nM_out
     INTEGER(IntKi), pointer  :: IDR(:) !< Alias to switch between IDR__ and ID__Rb
     INTEGER(IntKi)           :: ErrStat2
     CHARACTER(ErrMsgLen)     :: ErrMsg2
     LOGICAL :: BC_Before_CB   ! If true, apply fixed BC to the system before doing CB reduction, for temporary bacward compatibility
     character(*), parameter :: RoutineName = 'SD_Craig_Bampton'
     ErrStat = ErrID_None
     ErrMsg  = ""
  
negative.code:    ! --- Remove SSI from Mass and stiffness matrix
     CALL InsertSoilMatrices(Init%M, Init%K, Init, p, ErrStat2, ErrMsg2, Substract=.True.);
  
     ! --- Perform Guyan reduction to get MBB
     nR     = p%nDOFR__   ! Using interface + reaction nodes
     nL     = p%nDOF__L
     nM     = 0           ! No CB modes (Guyan)
     nM_out = 0
     if(allocated(MBB)) deallocate(MBB)
     CALL AllocAry( MBB,    nR, nR, 'MBB',    ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName)
     CALL AllocAry( MBM,    nR, nM, 'MBM',    ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName)
     CALL AllocAry( KBB,    nR, nR, 'KBB',    ErrStat2, ErrMsg2 ); CALL SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName)
  