subroutine Pumps_Outputs
    
    use CDataDisplayConsole
    use SimulationVariables
    ! Use CSimulationVariables
    use SimulationVariables
    Use MudSystemModule
    use SimulationVariables !@
    Use CSounds
    
	IMPLICIT NONE
    
    
    
!>>>>>>>>>>>>>>>>>>>>>>>  PUMP 1  <<<<<<<<<<<<<<<<<<<<<<<<<<<
    
    If (data%State%Pump(1)%Open_Close==1) then
        Call OpenPump1()
    Else if (data%State%Pump(1)%Open_Close==0) then
        Call ClosePump1()
    End if
    
    data%EquipmentControl%DrillingConsole%MP1BLWR = data%State%Pump(1)%BLWR
    
    Call SetSoundBlowerMP1( data%State%Pump(1)%SoundBlower )         !.true. or .false.
    Call SetSoundMP1( data%State%Pump(1)%SoundSPM )                  ![spm] , integer
    
    if ((data%State%Pump(1)%Switch==-1) .or. (data%State%Pump(1)%Switch==0)) then
        Call Set_MP1SPMGauge( sngl(1-data%State%Pump(1)%SPMGaugeMalf)*real((data%State%Pump(1)%Speed/data%State%Pump(1)%Trans_Ratio),8) )    ![spm] , real
        data%EquipmentControl%DrillingWatch%SPM1 = data%EquipmentControl%DataDisplayConsole%MP1SPMGauge
    end if
    
    !data%State%Pump(1)%Flow_Rate   !to other modules , [gpm]
    
    
    
    
    
    
    
!>>>>>>>>>>>>>>>>>>>>>>>  PUMP 2  <<<<<<<<<<<<<<<<<<<<<<<<<<<
    
    If (data%State%Pump(2)%Open_Close==1) then
        Call OpenPump2()
    Else if (data%State%Pump(2)%Open_Close==0) then
        Call ClosePump2()
    End if
    
    data%EquipmentControl%DrillingConsole%MP2BLWR = data%State%Pump(2)%BLWR
    
    Call SetSoundBlowerMP2( data%State%Pump(2)%SoundBlower )
    Call SetSoundMP2( data%State%Pump(2)%SoundSPM )
    
    Call Set_MP2SPMGauge( sngl(1-data%State%Pump(2)%SPMGaugeMalf)*real((data%State%Pump(2)%Speed/data%State%Pump(2)%Trans_Ratio),8) )
    data%EquipmentControl%DrillingWatch%SPM2 = data%EquipmentControl%DataDisplayConsole%MP2SPMGauge
    
    !data%State%Pump(2)%Flow_Rate   !to other modules
    
    
    
    
    
    
!!>>>>>>>>>>>>>>>>>>>>>>>  PUMP 3  <<<<<<<<<<<<<<<<<<<<<<<<<<<

    If (data%State%Pump(3)%Open_Close==1) then
        Call OpenCementPump()
    Else if (data%State%Pump(3)%Open_Close==0) then
        Call CloseCementPump()
    End if
    
    Call SetSoundMP3( data%State%Pump(3)%SoundSPM )
    
    if (data%State%Pump(3)%Switch==1) then
        Call Set_MP1SPMGauge( real((data%State%Pump(3)%Speed/data%State%Pump(3)%Trans_Ratio),8) )
        data%EquipmentControl%DrillingWatch%SPM1 = data%EquipmentControl%DataDisplayConsole%MP1SPMGauge
    end if
    
    !data%State%Pump(3)%Flow_Rate   !to other modules
  
    
    
!>>>>>>>>>>>>>>>>>>>>>>>  Total Pumps  <<<<<<<<<<<<<<<<<<<<<<<<<<<
    
    !data%State%MPumps%Total_Pump_Gpm = 100.d0    !???????????
    !data%State%MPumps%Total_Pump_SPM = 1000.d0  !?????????????
    
    !SCR1LED=1
    !SCR2LED=1
    !SCR3LED=1
    !SCR4LED=1
    
    
    
    
end subroutine Pumps_Outputs