subroutine TopDrive_Inputs
    
    ! Use CSimulationVariables
    use CTopDrivePanelVariables
    use SimulationVariables
    use UnitySignalsModule
    use SimulationVariables
    Use TD_DrillStemComponents
    
    IMPLICIT NONE
    
    integer :: i
    
    
    
    data%State%TDS%String_Torque    = data%State%TD_String%StringTorque*12.d0         ![lb.ft]*12 ---> [lb.in]  ?????????
    !data%State%TDS%String_Torque   = 20000.         
    data%State%TDS%String_Torque    = 0.112984829d0*data%State%TDS%String_Torque      ![N.m]
    data%State%TDS%PowerState       = data%Equipments%TopDrivePanel%TopDriveTdsPowerState
    data%State%TDS%RpmKnob          = data%Equipments%TopDrivePanel%RpmKnob
    !data%State%TDS%MotorFaileMalf    ! jayi meghdardehi nashode ??????????????????
    data%State%TDS%RateChange       = 193.d0     ![RPM/s] motaghayere voroudi ???
    data%State%TDS%DrillTorqueState = data%Equipments%TopDrivePanel%TopDriveDrillTorqueState
    data%State%TDS%TorqueLimitKnob  = data%Equipments%TopDrivePanel%TopDriveTorqueLimitKnob     ! bayad hazf shavad??????????????/
    
    
    
    !===> data%State%TDS%String_JCoef Calculation
    if ( (data%State%TDS%DrillTorqueState==-1) .and. ((Get_TdsConnectionModes()==TDS_CONNECTION_STRING).or.(Get_TdsConnectionModes()==TDS_CONNECTION_SPINE)) ) then    !if TopDrive connected to string
        data%State%TDS%String_JCoef = 0.d0
        Do i = 1,data%State%TD_String%StringConfigurationCount
            data%State%TDS%String_JCoef = data%State%TDS%String_JCoef+( (data%State%TD_DrillStem(i)%TotalWeight*((data%State%TD_DrillStem(i)%Id**2.d0)+(data%State%TD_DrillStem(i)%Od**2.d0)))/8.d0 )              ![lb.ft^2] , Jz=(1/2)*m*(r1^2+r2^2)
        End Do
        data%State%TDS%String_JCoef  = data%State%TDS%String_JCoef*0.0421401d0   ![kg.m^2]
    else
        data%State%TDS%String_JCoef  = 0.d0
        data%State%TDS%String_Torque = 0.d0
    end if
    data%State%TDS%String_JCoef = data%State%TDS%String_JCoef/10.d0  !???????? /10: bi dalil, check it
    
    
    
    
    
end subroutine