module CGaugesProblemsVariables use CProblemDifinition implicit none public type(CProblem) :: WeightIndicator type(CProblem) :: RotaryRpm type(CProblem) :: RotaryTorque type(CProblem) :: StandPipePressure type(CProblem) :: CasingPressure type(CProblem) :: Pump1Strokes type(CProblem) :: Pump2Strokes type(CProblem) :: ReturnLineTemperature type(CProblem) :: TripTank type(CProblem) :: PitGainLoss type(CProblem) :: MudTankVolume type(CProblem) :: ReturnMudFlow type(CProblem) :: TorqueLimit type(CProblem) :: PowerLimit type(CProblem) :: AccumulatorPressure type(CProblem) :: ManifoldPressure type(CProblem) :: AnnularPressure type(CProblem) :: RigAirPressure type(CProblem) :: StandPipe1 type(CProblem) :: StandPipe2 type(CProblem) :: DrillPipePressure type(CProblem) :: ChokePosition type(CProblem) :: CasingPressure2 procedure (ActionInteger), pointer :: WeightIndicatorPtr procedure (ActionInteger), pointer :: RotaryRpmPtr procedure (ActionInteger), pointer :: RotaryTorquePtr procedure (ActionInteger), pointer :: StandPipePressurePtr procedure (ActionInteger), pointer :: CasingPressurePtr procedure (ActionInteger), pointer :: Pump1StrokesPtr procedure (ActionInteger), pointer :: Pump2StrokesPtr procedure (ActionInteger), pointer :: ReturnLineTemperaturePtr procedure (ActionInteger), pointer :: TripTankPtr procedure (ActionInteger), pointer :: PitGainLossPtr procedure (ActionInteger), pointer :: MudTankVolumePtr procedure (ActionInteger), pointer :: ReturnMudFlowPtr procedure (ActionInteger), pointer :: TorqueLimitPtr procedure (ActionInteger), pointer :: PowerLimitPtr procedure (ActionInteger), pointer :: AccumulatorPressurePtr procedure (ActionInteger), pointer :: ManifoldPressurePtr procedure (ActionInteger), pointer :: AnnularPressurePtr procedure (ActionInteger), pointer :: RigAirPressurePtr procedure (ActionInteger), pointer :: StandPipe1Ptr procedure (ActionInteger), pointer :: StandPipe2Ptr procedure (ActionInteger), pointer :: DrillPipePressurePtr procedure (ActionInteger), pointer :: ChokePositionPtr procedure (ActionInteger), pointer :: CasingPressure2Ptr contains subroutine ProcessGaugesProblemsDueTime(time) implicit none integer :: time if(WeightIndicator%ProblemType == Time_ProblemType) call ProcessDueTime(WeightIndicator, ChangeWeightIndicator, time) if(RotaryRpm%ProblemType == Time_ProblemType) call ProcessDueTime(RotaryRpm, ChangeRotaryRpm, time) if(RotaryTorque%ProblemType == Time_ProblemType) call ProcessDueTime(RotaryTorque, ChangeRotaryTorque, time) if(StandPipePressure%ProblemType == Time_ProblemType) call ProcessDueTime(StandPipePressure, ChangeStandPipePressure, time) if(CasingPressure%ProblemType == Time_ProblemType) call ProcessDueTime(CasingPressure, ChangeCasingPressure, time) if(Pump1Strokes%ProblemType == Time_ProblemType) call ProcessDueTime(Pump1Strokes, ChangePump1Strokes, time) if(Pump2Strokes%ProblemType == Time_ProblemType) call ProcessDueTime(Pump2Strokes, ChangePump2Strokes, time) if(ReturnLineTemperature%ProblemType == Time_ProblemType) call ProcessDueTime(ReturnLineTemperature, ChangeReturnLineTemperature, time) if(TripTank%ProblemType == Time_ProblemType) call ProcessDueTime(TripTank, ChangeTripTank, time) if(PitGainLoss%ProblemType == Time_ProblemType) call ProcessDueTime(PitGainLoss, ChangePitGainLoss, time) if(MudTankVolume%ProblemType == Time_ProblemType) call ProcessDueTime(MudTankVolume, ChangeMudTankVolume, time) if(ReturnMudFlow%ProblemType == Time_ProblemType) call ProcessDueTime(ReturnMudFlow, ChangeReturnMudFlow, time) if(TorqueLimit%ProblemType == Time_ProblemType) call ProcessDueTime(TorqueLimit, ChangeTorqueLimit, time) if(PowerLimit%ProblemType == Time_ProblemType) call ProcessDueTime(PowerLimit, ChangePowerLimit, time) if(AccumulatorPressure%ProblemType == Time_ProblemType) call ProcessDueTime(AccumulatorPressure, ChangeAccumulatorPressure, time) if(ManifoldPressure%ProblemType == Time_ProblemType) call ProcessDueTime(ManifoldPressure, ChangeManifoldPressure, time) if(AnnularPressure%ProblemType == Time_ProblemType) call ProcessDueTime(AnnularPressure, ChangeAnnularPressure, time) if(RigAirPressure%ProblemType == Time_ProblemType) call ProcessDueTime(RigAirPressure, ChangeRigAirPressure, time) if(StandPipe1%ProblemType == Time_ProblemType) call ProcessDueTime(StandPipe1, ChangeStandPipe1, time) if(StandPipe2%ProblemType == Time_ProblemType) call ProcessDueTime(StandPipe2, ChangeStandPipe2, time) if(DrillPipePressure%ProblemType == Time_ProblemType) call ProcessDueTime(DrillPipePressure, ChangeDrillPipePressure, time) if(ChokePosition%ProblemType == Time_ProblemType) call ProcessDueTime(ChokePosition, ChangeChokePosition, time) if(CasingPressure2%ProblemType == Time_ProblemType) call ProcessDueTime(CasingPressure2, ChangeCasingPressure2, time) end subroutine subroutine ProcessGaugesProblemsDuePumpStrokes(strokes) implicit none integer :: strokes if(WeightIndicator%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(WeightIndicator, ChangeWeightIndicator, strokes) if(RotaryRpm%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(RotaryRpm, ChangeRotaryRpm, strokes) if(RotaryTorque%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(RotaryTorque, ChangeRotaryTorque, strokes) if(StandPipePressure%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(StandPipePressure, ChangeStandPipePressure, strokes) if(CasingPressure%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(CasingPressure, ChangeCasingPressure, strokes) if(Pump1Strokes%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(Pump1Strokes, ChangePump1Strokes, strokes) if(Pump2Strokes%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(Pump2Strokes, ChangePump2Strokes, strokes) if(ReturnLineTemperature%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ReturnLineTemperature, ChangeReturnLineTemperature, strokes) if(TripTank%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(TripTank, ChangeTripTank, strokes) if(PitGainLoss%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(PitGainLoss, ChangePitGainLoss, strokes) if(MudTankVolume%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(MudTankVolume, ChangeMudTankVolume, strokes) if(ReturnMudFlow%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ReturnMudFlow, ChangeReturnMudFlow, strokes) if(TorqueLimit%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(TorqueLimit, ChangeTorqueLimit, strokes) if(PowerLimit%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(PowerLimit, ChangePowerLimit, strokes) if(AccumulatorPressure%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(AccumulatorPressure, ChangeAccumulatorPressure, strokes) if(ManifoldPressure%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ManifoldPressure, ChangeManifoldPressure, strokes) if(AnnularPressure%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(AnnularPressure, ChangeAnnularPressure, strokes) if(RigAirPressure%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(RigAirPressure, ChangeRigAirPressure, strokes) if(StandPipe1%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(StandPipe1, ChangeStandPipe1, strokes) if(StandPipe2%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(StandPipe2, ChangeStandPipe2, strokes) if(DrillPipePressure%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(DrillPipePressure, ChangeDrillPipePressure, strokes) if(ChokePosition%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ChokePosition, ChangeChokePosition, strokes) if(CasingPressure2%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(CasingPressure2, ChangeCasingPressure2, strokes) end subroutine subroutine ProcessGaugesProblemsDueVolumePumped(volume) implicit none real(8) :: volume if(WeightIndicator%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(WeightIndicator, ChangeWeightIndicator, volume) if(RotaryRpm%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(RotaryRpm, ChangeRotaryRpm, volume) if(RotaryTorque%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(RotaryTorque, ChangeRotaryTorque, volume) if(StandPipePressure%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(StandPipePressure, ChangeStandPipePressure, volume) if(CasingPressure%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(CasingPressure, ChangeCasingPressure, volume) if(Pump1Strokes%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(Pump1Strokes, ChangePump1Strokes, volume) if(Pump2Strokes%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(Pump2Strokes, ChangePump2Strokes, volume) if(ReturnLineTemperature%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ReturnLineTemperature, ChangeReturnLineTemperature, volume) if(TripTank%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(TripTank, ChangeTripTank, volume) if(PitGainLoss%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(PitGainLoss, ChangePitGainLoss, volume) if(MudTankVolume%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(MudTankVolume, ChangeMudTankVolume, volume) if(ReturnMudFlow%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ReturnMudFlow, ChangeReturnMudFlow, volume) if(TorqueLimit%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(TorqueLimit, ChangeTorqueLimit, volume) if(PowerLimit%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(PowerLimit, ChangePowerLimit, volume) if(AccumulatorPressure%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(AccumulatorPressure, ChangeAccumulatorPressure, volume) if(ManifoldPressure%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ManifoldPressure, ChangeManifoldPressure, volume) if(AnnularPressure%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(AnnularPressure, ChangeAnnularPressure, volume) if(RigAirPressure%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(RigAirPressure, ChangeRigAirPressure, volume) if(StandPipe1%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(StandPipe1, ChangeStandPipe1, volume) if(StandPipe2%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(StandPipe2, ChangeStandPipe2, volume) if(DrillPipePressure%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(DrillPipePressure, ChangeDrillPipePressure, volume) if(ChokePosition%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ChokePosition, ChangeChokePosition, volume) if(CasingPressure2%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(CasingPressure2, ChangeCasingPressure2, volume) end subroutine subroutine ProcessGaugesProblemsDueDistanceDrilled(distance) implicit none real(8) :: distance if(WeightIndicator%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(WeightIndicator, ChangeWeightIndicator, distance) if(RotaryRpm%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(RotaryRpm, ChangeRotaryRpm, distance) if(RotaryTorque%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(RotaryTorque, ChangeRotaryTorque, distance) if(StandPipePressure%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(StandPipePressure, ChangeStandPipePressure, distance) if(CasingPressure%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(CasingPressure, ChangeCasingPressure, distance) if(Pump1Strokes%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(Pump1Strokes, ChangePump1Strokes, distance) if(Pump2Strokes%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(Pump2Strokes, ChangePump2Strokes, distance) if(ReturnLineTemperature%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ReturnLineTemperature, ChangeReturnLineTemperature, distance) if(TripTank%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(TripTank, ChangeTripTank, distance) if(PitGainLoss%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(PitGainLoss, ChangePitGainLoss, distance) if(MudTankVolume%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(MudTankVolume, ChangeMudTankVolume, distance) if(ReturnMudFlow%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ReturnMudFlow, ChangeReturnMudFlow, distance) if(TorqueLimit%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(TorqueLimit, ChangeTorqueLimit, distance) if(PowerLimit%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(PowerLimit, ChangePowerLimit, distance) if(AccumulatorPressure%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(AccumulatorPressure, ChangeAccumulatorPressure, distance) if(ManifoldPressure%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ManifoldPressure, ChangeManifoldPressure, distance) if(AnnularPressure%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(AnnularPressure, ChangeAnnularPressure, distance) if(RigAirPressure%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(RigAirPressure, ChangeRigAirPressure, distance) if(StandPipe1%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(StandPipe1, ChangeStandPipe1, distance) if(StandPipe2%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(StandPipe2, ChangeStandPipe2, distance) if(DrillPipePressure%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(DrillPipePressure, ChangeDrillPipePressure, distance) if(ChokePosition%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ChokePosition, ChangeChokePosition, distance) if(CasingPressure2%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(CasingPressure2, ChangeCasingPressure2, distance) end subroutine subroutine ChangeWeightIndicator(status) use TD_GeneralData implicit none integer, intent (in) :: status if(associated(WeightIndicatorPtr)) call WeightIndicatorPtr(status) if(status == Clear_StatusType) TD_WeightIndicatorMalf = 0 if(status == Executed_StatusType) TD_WeightIndicatorMalf = 1 endsubroutine subroutine ChangeRotaryRpm(status) use RTable_VARIABLES implicit none integer, intent (in) :: status if(associated(RotaryRpmPtr)) call RotaryRpmPtr(status) if(status == Clear_StatusType) RTable%RpmGaugeMalf = 0 if(status == Executed_StatusType) RTable%RpmGaugeMalf = 1 endsubroutine subroutine ChangeRotaryTorque(status) use RTable_VARIABLES implicit none integer, intent (in) :: status if(associated(RotaryTorquePtr)) call RotaryTorquePtr(status) if(status == Clear_StatusType) RTable%TorqueGaugeMalf = 0 if(status == Executed_StatusType) RTable%TorqueGaugeMalf = 1 endsubroutine subroutine ChangeStandPipePressure(status) use MudSystemVARIABLES implicit none integer, intent (in) :: status if(associated(StandPipePressurePtr)) call StandPipePressurePtr(status) if(status == Clear_StatusType) StandPipePressure_DataDisplayMalf = 0 if(status == Executed_StatusType) StandPipePressure_DataDisplayMalf = 1 endsubroutine subroutine ChangeCasingPressure(status) USE FricPressDropVars implicit none integer, intent (in) :: status if(associated(CasingPressurePtr)) call CasingPressurePtr(status) if(status == Clear_StatusType) CasingPressure_DataDisplayMalF = 0 if(status == Executed_StatusType) CasingPressure_DataDisplayMalF = 1 endsubroutine subroutine ChangePump1Strokes(status) use Pump_VARIABLES implicit none integer, intent (in) :: status if(associated(Pump1StrokesPtr)) call Pump1StrokesPtr(status) if(status == Clear_StatusType) PUMP(1)%SPMGaugeMalf = 0 if(status == Executed_StatusType) PUMP(1)%SPMGaugeMalf = 1 endsubroutine subroutine ChangePump2Strokes(status) use Pump_VARIABLES implicit none integer, intent (in) :: status if(associated(Pump2StrokesPtr)) call Pump2StrokesPtr(status) if(status == Clear_StatusType) PUMP(2)%SPMGaugeMalf = 0 if(status == Executed_StatusType) PUMP(2)%SPMGaugeMalf = 1 endsubroutine subroutine ChangeReturnLineTemperature(status) implicit none integer, intent (in) :: status if(associated(ReturnLineTemperaturePtr)) call ReturnLineTemperaturePtr(status) !if(status == Clear_StatusType) print*,'On_ReturnLineTemperature_Clear' !if(status == Executed_StatusType) print*,'On_ReturnLineTemperature_Execute' endsubroutine subroutine ChangeTripTank(status) USE MudSystemVARIABLES implicit none integer, intent (in) :: status if(associated(TripTankPtr)) call TripTankPtr(status) if(status == Clear_StatusType) TripTankPressure_DataDisplayMalf = 0 if(status == Executed_StatusType) TripTankPressure_DataDisplayMalf = 1 endsubroutine subroutine ChangePitGainLoss(status) USE MudSystemVARIABLES implicit none integer, intent (in) :: status if(associated(PitGainLossPtr)) call PitGainLossPtr(status) if(status == Clear_StatusType) PitGainLossGaugeMalf = 0 if(status == Executed_StatusType) PitGainLossGaugeMalf = 1 endsubroutine subroutine ChangeMudTankVolume(status) implicit none integer, intent (in) :: status if(associated(MudTankVolumePtr)) call MudTankVolumePtr(status) !if(status == Clear_StatusType) print*,'On_MudTankVolume_Clear' !if(status == Executed_StatusType) print*,'On_MudTankVolume_Execute' endsubroutine subroutine ChangeReturnMudFlow(status) implicit none integer, intent (in) :: status if(associated(ReturnMudFlowPtr)) call ReturnMudFlowPtr(status) !if(status == Clear_StatusType) print*,'On_ReturnMudFlow_Clear' !if(status == Executed_StatusType) print*,'On_ReturnMudFlow_Execute' endsubroutine subroutine ChangeTorqueLimit(status) use RTable_VARIABLES implicit none integer, intent (in) :: status if(associated(TorqueLimitPtr)) call TorqueLimitPtr(status) if(status == Clear_StatusType) RTable%TorqueLimitGaugeMalf = 0 if(status == Executed_StatusType) RTable%TorqueLimitGaugeMalf = 1 endsubroutine subroutine ChangePowerLimit(status) implicit none integer, intent (in) :: status if(associated(PowerLimitPtr)) call PowerLimitPtr(status) !if(status == Clear_StatusType) print*,'On_PowerLimit_Clear' !if(status == Executed_StatusType) print*,'On_PowerLimit_Execute' endsubroutine subroutine ChangeAccumulatorPressure(status) USE VARIABLES implicit none integer, intent (in) :: status if(associated(AccumulatorPressurePtr)) call AccumulatorPressurePtr(status) if(status == Clear_StatusType) AccumulatorPressureGaugeMalf = 0 if(status == Executed_StatusType) AccumulatorPressureGaugeMalf = 1 endsubroutine subroutine ChangeManifoldPressure(status) USE VARIABLES implicit none integer, intent (in) :: status if(associated(ManifoldPressurePtr)) call ManifoldPressurePtr(status) if(status == Clear_StatusType) ManifoldPressureGaugeMalf = 0 if(status == Executed_StatusType) ManifoldPressureGaugeMalf = 1 endsubroutine subroutine ChangeAnnularPressure(status) USE VARIABLES implicit none integer, intent (in) :: status if(associated(AnnularPressurePtr)) call AnnularPressurePtr(status) if(status == Clear_StatusType) AnnularPressureGaugeMalf = 0 if(status == Executed_StatusType) AnnularPressureGaugeMalf = 1 endsubroutine subroutine ChangeRigAirPressure(status) USE VARIABLES implicit none integer, intent (in) :: status if(associated(RigAirPressurePtr)) call RigAirPressurePtr(status) if(status == Clear_StatusType) AirSupplyPressureGaugeMalf = 0 if(status == Executed_StatusType) AirSupplyPressureGaugeMalf = 1 endsubroutine subroutine ChangeStandPipe1(status) use MudSystemVARIABLES implicit none integer, intent (in) :: status if(associated(StandPipe1Ptr)) call StandPipe1Ptr(status) if(status == Clear_StatusType) StandPipeGauge1Malf = 0 if(status == Executed_StatusType) StandPipeGauge1Malf = 1 endsubroutine subroutine ChangeStandPipe2(status) use MudSystemVARIABLES implicit none integer, intent (in) :: status if(associated(StandPipe2Ptr)) call StandPipe2Ptr(status) if(status == Clear_StatusType) StandPipeGauge2Malf = 0 if(status == Executed_StatusType) StandPipeGauge2Malf = 1 endsubroutine subroutine ChangeDrillPipePressure(status) use MudSystemVARIABLES implicit none integer, intent (in) :: status if(associated(DrillPipePressurePtr)) call DrillPipePressurePtr(status) if(status == Clear_StatusType) DrillPipePressureMalf = 0 if(status == Executed_StatusType) DrillPipePressureMalf = 1 endsubroutine subroutine ChangeChokePosition(status) USE CHOKEVARIABLES implicit none integer, intent (in) :: status if(associated(ChokePositionPtr)) call ChokePositionPtr(status) if(status == Clear_StatusType) GaugeChokePositionMailf = 0 if(status == Executed_StatusType) GaugeChokePositionMailf = 1 endsubroutine subroutine ChangeCasingPressure2(status) use FricPressDropVars implicit none integer, intent (in) :: status if(associated(CasingPressure2Ptr)) call CasingPressure2Ptr(status) if(status == Clear_StatusType) CasingPressure_ChokeMalF = 0 if(status == Executed_StatusType) CasingPressure_ChokeMalF = 1 endsubroutine subroutine SubscribeWeightIndicator(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeWeightIndicator !DEC$ ATTRIBUTES ALIAS: 'SubscribeWeightIndicator' :: SubscribeWeightIndicator implicit none procedure (ActionInteger) :: v WeightIndicatorPtr => v end subroutine subroutine SubscribeRotaryRpm(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeRotaryRpm !DEC$ ATTRIBUTES ALIAS: 'SubscribeRotaryRpm' :: SubscribeRotaryRpm implicit none procedure (ActionInteger) :: v RotaryRpmPtr => v end subroutine subroutine SubscribeRotaryTorque(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeRotaryTorque !DEC$ ATTRIBUTES ALIAS: 'SubscribeRotaryTorque' :: SubscribeRotaryTorque implicit none procedure (ActionInteger) :: v RotaryTorquePtr => v end subroutine subroutine SubscribeStandPipePressure(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeStandPipePressure !DEC$ ATTRIBUTES ALIAS: 'SubscribeStandPipePressure' :: SubscribeStandPipePressure implicit none procedure (ActionInteger) :: v StandPipePressurePtr => v end subroutine subroutine SubscribeCasingPressure(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeCasingPressure !DEC$ ATTRIBUTES ALIAS: 'SubscribeCasingPressure' :: SubscribeCasingPressure implicit none procedure (ActionInteger) :: v CasingPressurePtr => v end subroutine subroutine SubscribePump1Strokes(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribePump1Strokes !DEC$ ATTRIBUTES ALIAS: 'SubscribePump1Strokes' :: SubscribePump1Strokes implicit none procedure (ActionInteger) :: v Pump1StrokesPtr => v end subroutine subroutine SubscribePump2Strokes(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribePump2Strokes !DEC$ ATTRIBUTES ALIAS: 'SubscribePump2Strokes' :: SubscribePump2Strokes implicit none procedure (ActionInteger) :: v Pump2StrokesPtr => v end subroutine subroutine SubscribeReturnLineTemperature(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeReturnLineTemperature !DEC$ ATTRIBUTES ALIAS: 'SubscribeReturnLineTemperature' :: SubscribeReturnLineTemperature implicit none procedure (ActionInteger) :: v ReturnLineTemperaturePtr => v end subroutine subroutine SubscribeTripTank(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeTripTank !DEC$ ATTRIBUTES ALIAS: 'SubscribeTripTank' :: SubscribeTripTank implicit none procedure (ActionInteger) :: v TripTankPtr => v end subroutine subroutine SubscribePitGainLoss(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribePitGainLoss !DEC$ ATTRIBUTES ALIAS: 'SubscribePitGainLoss' :: SubscribePitGainLoss implicit none procedure (ActionInteger) :: v PitGainLossPtr => v end subroutine subroutine SubscribeMudTankVolume(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeMudTankVolume !DEC$ ATTRIBUTES ALIAS: 'SubscribeMudTankVolume' :: SubscribeMudTankVolume implicit none procedure (ActionInteger) :: v MudTankVolumePtr => v end subroutine subroutine SubscribeReturnMudFlow(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeReturnMudFlow !DEC$ ATTRIBUTES ALIAS: 'SubscribeReturnMudFlow' :: SubscribeReturnMudFlow implicit none procedure (ActionInteger) :: v ReturnMudFlowPtr => v end subroutine subroutine SubscribeTorqueLimit(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeTorqueLimit !DEC$ ATTRIBUTES ALIAS: 'SubscribeTorqueLimit' :: SubscribeTorqueLimit implicit none procedure (ActionInteger) :: v TorqueLimitPtr => v end subroutine subroutine SubscribePowerLimit(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribePowerLimit !DEC$ ATTRIBUTES ALIAS: 'SubscribePowerLimit' :: SubscribePowerLimit implicit none procedure (ActionInteger) :: v PowerLimitPtr => v end subroutine subroutine SubscribeAccumulatorPressure(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAccumulatorPressure !DEC$ ATTRIBUTES ALIAS: 'SubscribeAccumulatorPressure' :: SubscribeAccumulatorPressure implicit none procedure (ActionInteger) :: v AccumulatorPressurePtr => v end subroutine subroutine SubscribeManifoldPressure(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeManifoldPressure !DEC$ ATTRIBUTES ALIAS: 'SubscribeManifoldPressure' :: SubscribeManifoldPressure implicit none procedure (ActionInteger) :: v ManifoldPressurePtr => v end subroutine subroutine SubscribeAnnularPressure(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAnnularPressure !DEC$ ATTRIBUTES ALIAS: 'SubscribeAnnularPressure' :: SubscribeAnnularPressure implicit none procedure (ActionInteger) :: v AnnularPressurePtr => v end subroutine subroutine SubscribeRigAirPressure(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeRigAirPressure !DEC$ ATTRIBUTES ALIAS: 'SubscribeRigAirPressure' :: SubscribeRigAirPressure implicit none procedure (ActionInteger) :: v RigAirPressurePtr => v end subroutine subroutine SubscribeStandPipe1(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeStandPipe1 !DEC$ ATTRIBUTES ALIAS: 'SubscribeStandPipe1' :: SubscribeStandPipe1 implicit none procedure (ActionInteger) :: v StandPipe1Ptr => v end subroutine subroutine SubscribeStandPipe2(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeStandPipe2 !DEC$ ATTRIBUTES ALIAS: 'SubscribeStandPipe2' :: SubscribeStandPipe2 implicit none procedure (ActionInteger) :: v StandPipe2Ptr => v end subroutine subroutine SubscribeDrillPipePressure(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeDrillPipePressure !DEC$ ATTRIBUTES ALIAS: 'SubscribeDrillPipePressure' :: SubscribeDrillPipePressure implicit none procedure (ActionInteger) :: v DrillPipePressurePtr => v end subroutine subroutine SubscribeChokePosition(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeChokePosition !DEC$ ATTRIBUTES ALIAS: 'SubscribeChokePosition' :: SubscribeChokePosition implicit none procedure (ActionInteger) :: v ChokePositionPtr => v end subroutine subroutine SubscribeCasingPressure2(v) !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeCasingPressure2 !DEC$ ATTRIBUTES ALIAS: 'SubscribeCasingPressure2' :: SubscribeCasingPressure2 implicit none procedure (ActionInteger) :: v CasingPressure2Ptr => v end subroutine end module CGaugesProblemsVariables