module CDrillWatch
	use CDrillWatchVariables
    !! use CSimulationVariables
	implicit none    
	public    
	contains  
	
	! Input routines

	! Output routines
	
	real(8) function GetDepth()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetDepth
	!DEC$ ATTRIBUTES ALIAS: 'GetDepth' :: GetDepth
		implicit none
		GetDepth = DrillingWatch%Depth
		!GetDepth = Depth + 10 + SimulationTime
    end function
    
    real(8) function GetBitPosition()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetBitPosition
	!DEC$ ATTRIBUTES ALIAS: 'GetBitPosition' :: GetBitPosition
		implicit none
		GetBitPosition = DrillingWatch%BitPosition
		!GetBitPosition = BitPosition + 20 + SimulationTime
	end function

	real(8) function GetHookLoadD()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetHookLoadD
	!DEC$ ATTRIBUTES ALIAS: 'GetHookLoadD' :: GetHookLoadD
		implicit none
		GetHookLoadD = DrillingWatch%HookLoad
		!GetHookLoadD = HookLoad + 30 + SimulationTime
	end function

	real(8) function GetWeightOnBit()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetWeightOnBit
	!DEC$ ATTRIBUTES ALIAS: 'GetWeightOnBit' :: GetWeightOnBit
		implicit none
		GetWeightOnBit = DrillingWatch%WeightOnBit
		!GetWeightOnBit = WeightOnBit + 40 + SimulationTime
	end function

	real(8) function GetRPM()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetRPM
	!DEC$ ATTRIBUTES ALIAS: 'GetRPM' :: GetRPM
		implicit none
		GetRPM = DrillingWatch%RPM
		!GetRPM = RPM + 50 + SimulationTime
	end function
	
	real(8) function GetROP2()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetROP2
	!DEC$ ATTRIBUTES ALIAS: 'GetROP2' :: GetROP2
		implicit none
		GetROP2 = DrillingWatch%ROP
		!GetROP2 = ROP + 60 + SimulationTime
	end function

	real(8) function GetTorque()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetTorque
	!DEC$ ATTRIBUTES ALIAS: 'GetTorque' :: GetTorque
		implicit none
        GetTorque = DrillingWatch%Torque
		!GetTorque = Torque + 70 + SimulationTime
	end function

	real(8) function GetPumpPressureD()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetPumpPressureD
	!DEC$ ATTRIBUTES ALIAS: 'GetPumpPressureD' :: GetPumpPressureD
		implicit none
		GetPumpPressureD = DrillingWatch%PumpPressure
		!GetPumpPressureD = PumpPressure + 80 + SimulationTime
	end function

	real(8) function GetSPM1()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetSPM1
	!DEC$ ATTRIBUTES ALIAS: 'GetSPM1' :: GetSPM1
		implicit none
		GetSPM1 = DrillingWatch%SPM1
		!GetSPM1 = SPM1 + 90 + SimulationTime
	end function

	real(8) function GetSPM2()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetSPM2
	!DEC$ ATTRIBUTES ALIAS: 'GetSPM2' :: GetSPM2
		implicit none
		GetSPM2 = DrillingWatch%SPM2
		!GetSPM2 = SPM2 + 100 + SimulationTime
    end function
    
 !   real(8) function GetSPM3()
	!!DEC$ ATTRIBUTES DLLEXPORT :: GetSPM3
	!!DEC$ ATTRIBUTES ALIAS: 'GetSPM3' :: GetSPM3
	!	implicit none
	!	GetSPM3 = SPM3
	!end function

	real(8) function GetCasingPressureD()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetCasingPressureD
	!DEC$ ATTRIBUTES ALIAS: 'GetCasingPressureD' :: GetCasingPressureD
		implicit none
		GetCasingPressureD = DrillingWatch%CasingPressure
		!GetCasingPressureD = CasingPressure + 110 + SimulationTime
	end function

	real(8) function GetPercentFlow()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetPercentFlow
	!DEC$ ATTRIBUTES ALIAS: 'GetPercentFlow' :: GetPercentFlow
		implicit none
		GetPercentFlow = DrillingWatch%PercentFlow
		!GetPercentFlow = PercentFlow + 120 + SimulationTime
	end function

	real(8) function GetPitGainLose()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetPitGainLose
	!DEC$ ATTRIBUTES ALIAS: 'GetPitGainLose' :: GetPitGainLose
		implicit none
		GetPitGainLose = DrillingWatch%PitGainLose
		!GetPitGainLose = PitGainLose + 130 + SimulationTime
	end function
	
	real(8) function GetPitVolume()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetPitVolume
	!DEC$ ATTRIBUTES ALIAS: 'GetPitVolume' :: GetPitVolume
		implicit none
		GetPitVolume = DrillingWatch%PitVolume
		!GetPitVolume = PitVolume + 140 + SimulationTime
	end function

	real(8) function GetKillMudVolume()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetKillMudVolume
	!DEC$ ATTRIBUTES ALIAS: 'GetKillMudVolume' :: GetKillMudVolume
		implicit none
		GetKillMudVolume = DrillingWatch%KillMudVolume
		!GetKillMudVolume = KillMudVolume + 150 + SimulationTime
	end function

	real(8) function GetTripTankVolume()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetTripTankVolume
	!DEC$ ATTRIBUTES ALIAS: 'GetTripTankVolume' :: GetTripTankVolume
		implicit none
		GetTripTankVolume = DrillingWatch%TripTankVolume
		!GetTripTankVolume = TripTankVolume + 160 + SimulationTime
	end function

	real(8) function GetMudWeightInD()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetMudWeightInD
	!DEC$ ATTRIBUTES ALIAS: 'GetMudWeightInD' :: GetMudWeightInD
		implicit none
		GetMudWeightInD = DrillingWatch%MudWeightIn
		!GetMudWeightInD = MudWeightIn + 170 + SimulationTime
	end function

	real(8) function GetFillVolume()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetFillVolume
	!DEC$ ATTRIBUTES ALIAS: 'GetFillVolume' :: GetFillVolume
		implicit none
		GetFillVolume = DrillingWatch%FillVolume
		!GetFillVolume = FillVolume + 180 + SimulationTime
	end function

	real(8) function GetMudWeightOutD()
	!DEC$ ATTRIBUTES DLLEXPORT :: GetMudWeightOutD
	!DEC$ ATTRIBUTES ALIAS: 'GetMudWeightOutD' :: GetMudWeightOutD
		implicit none
		GetMudWeightOutD = DrillingWatch%MudWeightOut
		!GetMudWeightOutD = MudWeightOut + 190 + SimulationTime
	end function

end module CDrillWatch