anchor.diff:  ! stiffness and mass matrices, build nodal force vector.  The output of this subroutine
   ! is the second time derivative of state "q".
   !***************************************************************************************
  -   REAL(ReKi),                   INTENT(IN   ):: Stif0(:,:,:) ! Element stiffness matrix
  -   REAL(ReKi),                   INTENT(IN   ):: Mass0(:,:,:) ! Element stiffness matrix
  -   REAL(ReKi),                   INTENT(IN   ):: gravity(:) !
  +   REAL(BDKi),                   INTENT(IN   ):: Stif0(:,:,:) ! Element stiffness matrix
  +   REAL(BDKi),                   INTENT(IN   ):: Mass0(:,:,:) ! Element stiffness matrix
  +   REAL(BDKi),                   INTENT(IN   ):: gravity(:) !
      TYPE(BD_InputType),           INTENT(IN   ):: u           ! Inputs at t
  -   REAL(ReKi),                   INTENT(IN   ):: uuN(:) ! Displacement of Mass 1: m
  -   REAL(ReKi),                   INTENT(IN   ):: vvN(:) ! Velocity of Mass 1: m/s
  +   REAL(BDKi),                   INTENT(IN   ):: uuN(:) ! Displacement of Mass 1: m
  +   REAL(BDKi),                   INTENT(IN   ):: vvN(:) ! Velocity of Mass 1: m/s
      INTEGER(IntKi),               INTENT(IN   ):: damp_flag ! Total number of elements
  -   REAL(ReKi),                   INTENT(IN   ):: beta(:)
  +   REAL(BDKi),                   INTENT(IN   ):: beta(:)
      INTEGER(IntKi),               INTENT(IN   ):: node_elem ! Node per element
      INTEGER(IntKi),               INTENT(IN   ):: dof_node ! Degrees of freedom per element
      INTEGER(IntKi),               INTENT(IN   ):: elem_total ! Total number of elements
  
positive.code: 
     ! local variables
     TYPE(BD_InputFile)      :: InputFileData    ! Data stored in the module's input file
     TYPE(BD_InputType)      :: u_tmp            ! An initial guess for the input; input mesh must be defined
     INTEGER(IntKi)          :: i                ! do-loop counter
     INTEGER(IntKi)          :: j                ! do-loop counter
     INTEGER(IntKi)          :: k                ! do-loop counter
  
negative.code:    INTEGER(IntKi),               INTENT(  OUT)  :: ErrStat     ! Error status of the operation
     CHARACTER(*),                 INTENT(  OUT)  :: ErrMsg      ! Error message if ErrStat /= ErrID_None
  
     REAL(BDKi)                                   :: temp_cc(3)
     REAL(BDKi)                                   :: temp3(3)
     REAL(BDKi)                                   :: temp33(3,3)
     INTEGER(IntKi)                               :: ErrStat2                     ! Temporary Error status
     CHARACTER(ErrMsgLen)                         :: ErrMsg2                      ! Temporary Error message
     CHARACTER(*), PARAMETER                      :: RoutineName = 'BD_BoundaryGA2'
  