anchor.diff:  
   END SUBROUTINE BD_ComputeJacobian
   !-----------------------------------------------------------------------------------------------------------------------------------
  -   SUBROUTINE BD_GaussPointDataAt0(hhx,hpx,Nuu0,Nrr0,node_elem,dof_node,uu0,E10)
  +SUBROUTINE BD_GaussPointDataAt0(hhx,hpx,Nuu0,Nrr0,node_elem,dof_node,uu0,E10,ErrStat,ErrMsg)
      !----------------------------------------------------------------------------------------
      ! This subroutine computes initial Gauss point values: uu0, E10, and Stif
      !----------------------------------------------------------------------------------------
  
positive.code: 
  END SUBROUTINE BD_ElemNodalDisp
  
  !**********************************************************************************************************************************
  !   This subroutine is called 2 times by GenerateDynamicElement. It uses the element arrays "Nu" which represents Nuu0,
  !   and Nuuu (Nodal initial position for each element, and Nodal displacement of Mass 1 for each element respectively)
  !   created by ElemNodalDispGL and sends the values to CrvCompose to calculate the rotation parameters.
  !   The rotation parameters are returned to BldGenerateStaticElement and then sent to ElementMatrixLSGL.
  !**********************************************************************************************************************************
  SUBROUTINE BD_NodalRelRot(Nu,node_elem,dof_node,Nr)
  
     REAL(ReKi),INTENT(IN):: Nu(:) ! Nodal initial position for each element, and Nodal displacement of Mass 1 for each element respectively
     INTEGER(IntKi),INTENT(IN):: node_elem ! Node per element
     INTEGER(IntKi),INTENT(IN):: dof_node ! Degrees of freedom per node
     REAL(ReKi),INTENT(INOUT):: Nr(:) ! Output, Nodal rotation parameters.
  
     INTEGER(IntKi)::i ! Index counter
     INTEGER(IntKi)::k ! Index counter
     INTEGER(IntKi)::temp_id ! Counter to get 4,5,6 DOF from Nu
     REAL(ReKi)::Nu_temp1(3) ! 4th, 5th, 6th DOF of Nu for each node, sent to CrvCompose
     REAL(ReKi)::Nu_temp(3) ! 4th, 5th, 6th DOF of Nu for each node, sent to CrvCompose
     REAL(ReKi)::Nr_temp(3) ! Rotation parameter returned from CrvCompose
     INTEGER(IntKi)          :: ErrStat2                     ! Temporary Error status
     CHARACTER(ErrMsgLen)    :: ErrMsg2                      ! Temporary Error message
     CHARACTER(*), PARAMETER :: RoutineName = 'BD_NodalRelRot'
  
     Nr = 0.0D0
     Nu_temp1 = 0.0D0
  
negative.code:    REAL(ReKi),    INTENT(  OUT):: kapa(:)     ! Curvature starin vector at Gauss point
     REAL(ReKi),    INTENT(  OUT):: cet         ! Extension-torsion coefficient at Gauss point
     REAL(ReKi),    INTENT(  OUT):: Stif(:,:)   ! C/S stiffness matrix resolved in inertial frame at Gauss point
     INTEGER(IntKi),INTENT(  OUT):: ErrStat       ! Error status of the operation
     CHARACTER(*),  INTENT(  OUT):: ErrMsg        ! Error message if ErrStat /= ErrID_None
  
     REAL(ReKi)                  :: rrr(3)
     REAL(ReKi)                  :: rrp(3)
  