subroutine TD_ForceReadData
    
   use CHoistingVariables
    use SimulationVariables
   Use TD_DrillStemComponents
   use SimulationVariables !@
   use SimulationVariables !@
   Use TD_StringConnectionData
   Use sROP_Variables
   

   implicit none
   
   
   integer :: i
   
   
   
   data%State%TD_String%DrillStemAxialVelocity = data%State%TD_StConn%StringVelocity
   Do i = 1 , data%State%TD_String%DrillStemComponentsNumbs
       if ( data%Configuration%Hoisting%DriveType==1) then
           data%State%TD_String%DrillStemRotVelocity = (2.d0*pi*data%State%TD_DrillStems(i)%RtoolJoint)*(data%State%RTable%Speed)/60.d0                   ! data%State%RTable%Speed[RPM] ---> data%State%TD_String%DrillStemRotVelocity[ft/s]
       else if ( data%Configuration%Hoisting%DriveType==0) then
           data%State%TD_String%DrillStemRotVelocity = (2.d0*pi*data%State%TD_DrillStems(i)%RtoolJoint)*(data%State%TDS%Speed+data%State%RTable%Speed)/60.d0         ! data%State%TDS%Speed[RPM] ---> data%State%TD_String%DrillStemRotVelocity[ft/s]
       end if
   End Do
   
   
   
   
   data%State%TD_String%BitTorque = data%State%ROP_Bit%BitTorque
   

   
   
   
   !data%State%TD_String%DrillStemAxialVelocity = 0.0        !???????????????????
   !data%State%TD_String%DrillStemRotVelocity   = 0.0        !???????????????????

   
   
   
    data%State%TD_String%DrillStemForceType = 0
    if(data%State%TD_String%DrillStemAxialVelocity > 0.) then  !??????????????????? check
        data%State%TD_String%DrillStemForceType = 1
        if(data%State%TD_String%DrillStemRotVelocity /= 0.d0)   data%State%TD_String%DrillStemForceType = 2
    else if(data%State%TD_String%DrillStemAxialVelocity < 0.d0) then
        data%State%TD_String%DrillStemForceType = 3
        if(data%State%TD_String%DrillStemRotVelocity /= 0.d0) data%State%TD_String%DrillStemForceType = 4
    else if(data%State%TD_String%DrillStemAxialVelocity == 0.d0) then
        data%State%TD_String%DrillStemForceType = 5    !no axial motion
    end if

    
    
    
    
   
end subroutine