Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

419 lines
23 KiB

  1. module CBopProblemsVariables
  2. use CProblemDifinition
  3. implicit none
  4. public
  5. ! Input vars
  6. type::BopProblemsType
  7. type(CProblem) :: AnnularWash
  8. type(CProblem) :: AnnularFail
  9. type(CProblem) :: AnnularLeak
  10. type(CProblem) :: UpperRamWash
  11. type(CProblem) :: UpperRamFail
  12. type(CProblem) :: UpperRamLeak
  13. type(CProblem) :: MiddleRamWash
  14. type(CProblem) :: MiddleRamFail
  15. type(CProblem) :: MiddleRamLeak
  16. type(CProblem) :: LowerRamWash
  17. type(CProblem) :: LowerRamFail
  18. type(CProblem) :: LowerRamLeak
  19. type(CProblem) :: AccumulatorPumpFail
  20. type(CProblem) :: AccumulatorPumpLeak
  21. type(CProblem) :: AccumulatorSystemFail
  22. type(CProblem) :: AccumulatorSystemLeak
  23. end type BopProblemsType
  24. type(BopProblemsType)::BopProblems
  25. ! procedure (ActionInteger), pointer :: AnnularWashPtr
  26. ! procedure (ActionInteger), pointer :: AnnularFailPtr
  27. ! procedure (ActionInteger), pointer :: AnnularLeakPtr
  28. ! procedure (ActionInteger), pointer :: UpperRamWashPtr
  29. ! procedure (ActionInteger), pointer :: UpperRamFailPtr
  30. ! procedure (ActionInteger), pointer :: UpperRamLeakPtr
  31. ! procedure (ActionInteger), pointer :: MiddleRamWashPtr
  32. ! procedure (ActionInteger), pointer :: MiddleRamFailPtr
  33. ! procedure (ActionInteger), pointer :: MiddleRamLeakPtr
  34. ! procedure (ActionInteger), pointer :: LowerRamWashPtr
  35. ! procedure (ActionInteger), pointer :: LowerRamFailPtr
  36. ! procedure (ActionInteger), pointer :: LowerRamLeakPtr
  37. ! procedure (ActionInteger), pointer :: AccumulatorPumpFailPtr
  38. ! procedure (ActionInteger), pointer :: AccumulatorPumpLeakPtr
  39. ! procedure (ActionInteger), pointer :: AccumulatorSystemFailPtr
  40. ! procedure (ActionInteger), pointer :: AccumulatorSystemLeakPtr
  41. contains
  42. subroutine ProcessBopProblemsDueTime(time)
  43. implicit none
  44. integer :: time
  45. if(BopProblems%AnnularWash%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%AnnularWash, ChangeAnnularWash, time)
  46. if(BopProblems%AnnularFail%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%AnnularFail, ChangeAnnularFail, time)
  47. if(BopProblems%AnnularLeak%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%AnnularLeak, ChangeAnnularLeak, time)
  48. if(BopProblems%UpperRamWash%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%UpperRamWash, ChangeUpperRamWash, time)
  49. if(BopProblems%UpperRamFail%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%UpperRamFail, ChangeUpperRamFail, time)
  50. if(BopProblems%UpperRamLeak%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%UpperRamLeak, ChangeUpperRamLeak, time)
  51. if(BopProblems%MiddleRamWash%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%MiddleRamWash, ChangeMiddleRamWash, time)
  52. if(BopProblems%MiddleRamFail%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%MiddleRamFail, ChangeMiddleRamFail, time)
  53. if(BopProblems%MiddleRamLeak%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%MiddleRamLeak, ChangeMiddleRamLeak, time)
  54. if(BopProblems%LowerRamWash%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%LowerRamWash, ChangeLowerRamWash, time)
  55. if(BopProblems%LowerRamFail%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%LowerRamFail, ChangeLowerRamFail, time)
  56. if(BopProblems%LowerRamLeak%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%LowerRamLeak, ChangeLowerRamLeak, time)
  57. if(BopProblems%AccumulatorPumpFail%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%AccumulatorPumpFail, ChangeAccumulatorPumpFail, time)
  58. if(BopProblems%AccumulatorPumpLeak%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%AccumulatorPumpLeak, ChangeAccumulatorPumpLeak, time)
  59. if(BopProblems%AccumulatorSystemFail%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%AccumulatorSystemFail, ChangeAccumulatorSystemFail, time)
  60. if(BopProblems%AccumulatorSystemLeak%ProblemType == Time_ProblemType) call ProcessDueTime(BopProblems%AccumulatorSystemLeak, ChangeAccumulatorSystemLeak, time)
  61. end subroutine
  62. subroutine ProcessBopProblemsDuePumpStrokes(strokes)
  63. implicit none
  64. integer :: strokes
  65. if(BopProblems%AnnularWash%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%AnnularWash, ChangeAnnularWash, strokes)
  66. if(BopProblems%AnnularFail%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%AnnularFail, ChangeAnnularFail, strokes)
  67. if(BopProblems%AnnularLeak%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%AnnularLeak, ChangeAnnularLeak, strokes)
  68. if(BopProblems%UpperRamWash%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%UpperRamWash, ChangeUpperRamWash, strokes)
  69. if(BopProblems%UpperRamFail%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%UpperRamFail, ChangeUpperRamFail, strokes)
  70. if(BopProblems%UpperRamLeak%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%UpperRamLeak, ChangeUpperRamLeak, strokes)
  71. if(BopProblems%MiddleRamWash%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%MiddleRamWash, ChangeMiddleRamWash, strokes)
  72. if(BopProblems%MiddleRamFail%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%MiddleRamFail, ChangeMiddleRamFail, strokes)
  73. if(BopProblems%MiddleRamLeak%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%MiddleRamLeak, ChangeMiddleRamLeak, strokes)
  74. if(BopProblems%LowerRamWash%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%LowerRamWash, ChangeLowerRamWash, strokes)
  75. if(BopProblems%LowerRamFail%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%LowerRamFail, ChangeLowerRamFail, strokes)
  76. if(BopProblems%LowerRamLeak%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%LowerRamLeak, ChangeLowerRamLeak, strokes)
  77. if(BopProblems%AccumulatorPumpFail%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%AccumulatorPumpFail, ChangeAccumulatorPumpFail, strokes)
  78. if(BopProblems%AccumulatorPumpLeak%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%AccumulatorPumpLeak, ChangeAccumulatorPumpLeak, strokes)
  79. if(BopProblems%AccumulatorSystemFail%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%AccumulatorSystemFail, ChangeAccumulatorSystemFail, strokes)
  80. if(BopProblems%AccumulatorSystemLeak%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(BopProblems%AccumulatorSystemLeak, ChangeAccumulatorSystemLeak, strokes)
  81. end subroutine
  82. subroutine ProcessBopProblemsDueVolumePumped(volume)
  83. implicit none
  84. real(8) :: volume
  85. if(BopProblems%AnnularWash%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%AnnularWash, ChangeAnnularWash, volume)
  86. if(BopProblems%AnnularFail%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%AnnularFail, ChangeAnnularFail, volume)
  87. if(BopProblems%AnnularLeak%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%AnnularLeak, ChangeAnnularLeak, volume)
  88. if(BopProblems%UpperRamWash%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%UpperRamWash, ChangeUpperRamWash, volume)
  89. if(BopProblems%UpperRamFail%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%UpperRamFail, ChangeUpperRamFail, volume)
  90. if(BopProblems%UpperRamLeak%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%UpperRamLeak, ChangeUpperRamLeak, volume)
  91. if(BopProblems%MiddleRamWash%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%MiddleRamWash, ChangeMiddleRamWash, volume)
  92. if(BopProblems%MiddleRamFail%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%MiddleRamFail, ChangeMiddleRamFail, volume)
  93. if(BopProblems%MiddleRamLeak%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%MiddleRamLeak, ChangeMiddleRamLeak, volume)
  94. if(BopProblems%LowerRamWash%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%LowerRamWash, ChangeLowerRamWash, volume)
  95. if(BopProblems%LowerRamFail%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%LowerRamFail, ChangeLowerRamFail, volume)
  96. if(BopProblems%LowerRamLeak%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%LowerRamLeak, ChangeLowerRamLeak, volume)
  97. if(BopProblems%AccumulatorPumpFail%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%AccumulatorPumpFail, ChangeAccumulatorPumpFail, volume)
  98. if(BopProblems%AccumulatorPumpLeak%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%AccumulatorPumpLeak, ChangeAccumulatorPumpLeak, volume)
  99. if(BopProblems%AccumulatorSystemFail%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%AccumulatorSystemFail, ChangeAccumulatorSystemFail,volume)
  100. if(BopProblems%AccumulatorSystemLeak%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(BopProblems%AccumulatorSystemLeak, ChangeAccumulatorSystemLeak, volume)
  101. end subroutine
  102. subroutine ProcessBopProblemsDueDistanceDrilled(distance)
  103. implicit none
  104. real(8) :: distance
  105. if(BopProblems%AnnularWash%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%AnnularWash, ChangeAnnularWash, distance)
  106. if(BopProblems%AnnularFail%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%AnnularFail, ChangeAnnularFail, distance)
  107. if(BopProblems%AnnularLeak%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%AnnularLeak, ChangeAnnularLeak, distance)
  108. if(BopProblems%UpperRamWash%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%UpperRamWash, ChangeUpperRamWash, distance)
  109. if(BopProblems%UpperRamFail%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%UpperRamFail, ChangeUpperRamFail, distance)
  110. if(BopProblems%UpperRamLeak%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%UpperRamLeak, ChangeUpperRamLeak, distance)
  111. if(BopProblems%MiddleRamWash%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%MiddleRamWash, ChangeMiddleRamWash, distance)
  112. if(BopProblems%MiddleRamFail%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%MiddleRamFail, ChangeMiddleRamFail, distance)
  113. if(BopProblems%MiddleRamLeak%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%MiddleRamLeak, ChangeMiddleRamLeak, distance)
  114. if(BopProblems%LowerRamWash%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%LowerRamWash, ChangeLowerRamWash, distance)
  115. if(BopProblems%LowerRamFail%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%LowerRamFail, ChangeLowerRamFail, distance)
  116. if(BopProblems%LowerRamLeak%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%LowerRamLeak, ChangeLowerRamLeak, distance)
  117. if(BopProblems%AccumulatorPumpFail%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%AccumulatorPumpFail, ChangeAccumulatorPumpFail, distance)
  118. if(BopProblems%AccumulatorPumpLeak%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%AccumulatorPumpLeak, ChangeAccumulatorPumpLeak, distance)
  119. if(BopProblems%AccumulatorSystemFail%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%AccumulatorSystemFail, ChangeAccumulatorSystemFail, distance)
  120. if(BopProblems%AccumulatorSystemLeak%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(BopProblems%AccumulatorSystemLeak, ChangeAccumulatorSystemLeak, distance)
  121. end subroutine
  122. subroutine ChangeAnnularWash(status)
  123. implicit none
  124. integer, intent (in) :: status
  125. ! ! if(associated(AnnularWashPtr)) call AnnularWashPtr(status)
  126. !if(status == Clear_StatusType) print*,'On_AnnularWash_Clear'
  127. !if(status == Executed_StatusType) print*,'On_AnnularWash_Execute'
  128. endsubroutine
  129. subroutine ChangeAnnularFail(status)
  130. USE VARIABLES
  131. implicit none
  132. integer, intent (in) :: status
  133. ! ! if(associated(AnnularFailPtr)) call AnnularFailPtr(status)
  134. if(status == Clear_StatusType) Annular%AnnularFailureMalf = 0
  135. if(status == Executed_StatusType) Annular%AnnularFailureMalf = 1
  136. endsubroutine
  137. subroutine ChangeAnnularLeak(status)
  138. USE VARIABLES
  139. implicit none
  140. integer, intent (in) :: status
  141. ! ! if(associated(AnnularLeakPtr)) call AnnularLeakPtr(status)
  142. if(status == Clear_StatusType) Annular%AnnularLeakMalf = 0
  143. if(status == Executed_StatusType) Annular%AnnularLeakMalf = 1
  144. endsubroutine
  145. subroutine ChangeUpperRamWash(status)
  146. implicit none
  147. integer, intent (in) :: status
  148. ! ! if(associated(UpperRamWashPtr)) call UpperRamWashPtr(status)
  149. !if(status == Clear_StatusType) print*,'On_UpperRamWash_Clear'
  150. !if(status == Executed_StatusType) print*,'On_UpperRamWash_Execute'
  151. endsubroutine
  152. subroutine ChangeUpperRamFail(status)
  153. USE VARIABLES
  154. implicit none
  155. integer, intent (in) :: status
  156. ! ! if(associated(UpperRamFailPtr)) call UpperRamFailPtr(status)
  157. if(status == Clear_StatusType) PipeRam1%UpperRamsFailureMalf = 0
  158. if(status == Executed_StatusType) PipeRam1%UpperRamsFailureMalf = 1
  159. endsubroutine
  160. subroutine ChangeUpperRamLeak(status)
  161. USE VARIABLES
  162. implicit none
  163. integer, intent (in) :: status
  164. ! ! if(associated(UpperRamLeakPtr)) call UpperRamLeakPtr(status)
  165. if(status == Clear_StatusType) PipeRam1%UpperRamsLeakMalf = 0
  166. if(status == Executed_StatusType) PipeRam1%UpperRamsLeakMalf = 1
  167. endsubroutine
  168. subroutine ChangeMiddleRamWash(status)
  169. implicit none
  170. integer, intent (in) :: status
  171. ! ! if(associated(MiddleRamWashPtr)) call MiddleRamWashPtr(status)
  172. !if(status == Clear_StatusType) print*,'On_MiddleRamWash_Clear'
  173. !if(status == Executed_StatusType) print*,'On_MiddleRamWash_Execute'
  174. endsubroutine
  175. subroutine ChangeMiddleRamFail(status)
  176. USE VARIABLES
  177. implicit none
  178. integer, intent (in) :: status
  179. ! if(associated(MiddleRamFailPtr)) call MiddleRamFailPtr(status)
  180. if(status == Clear_StatusType) ShearRam%MiddleRamsFailureMalf = 0
  181. if(status == Executed_StatusType) ShearRam%MiddleRamsFailureMalf = 1
  182. endsubroutine
  183. subroutine ChangeMiddleRamLeak(status)
  184. USE VARIABLES
  185. implicit none
  186. integer, intent (in) :: status
  187. ! ! if(associated(MiddleRamLeakPtr)) call MiddleRamLeakPtr(status)
  188. if(status == Clear_StatusType) ShearRam%MiddleRamsLeakMalf = 0
  189. if(status == Executed_StatusType) ShearRam%MiddleRamsLeakMalf = 1
  190. endsubroutine
  191. subroutine ChangeLowerRamWash(status)
  192. implicit none
  193. integer, intent (in) :: status
  194. ! ! if(associated(LowerRamWashPtr)) call LowerRamWashPtr(status)
  195. !if(status == Clear_StatusType) print*,'On_LowerRamWash_Clear'
  196. !if(status == Executed_StatusType) print*,'On_LowerRamWash_Execute'
  197. endsubroutine
  198. subroutine ChangeLowerRamFail(status)
  199. USE VARIABLES
  200. implicit none
  201. integer, intent (in) :: status
  202. ! ! if(associated(LowerRamFailPtr)) call LowerRamFailPtr(status)
  203. if(status == Clear_StatusType) PipeRam2%LowerRamsFailureMalf = 0
  204. if(status == Executed_StatusType) PipeRam2%LowerRamsFailureMalf = 1
  205. endsubroutine
  206. subroutine ChangeLowerRamLeak(status)
  207. USE VARIABLES
  208. implicit none
  209. integer, intent (in) :: status
  210. ! if(associated(LowerRamLeakPtr)) call LowerRamLeakPtr(status)
  211. if(status == Clear_StatusType) PipeRam2%LowerRamsLeakMalf = 0
  212. if(status == Executed_StatusType) PipeRam2%LowerRamsLeakMalf = 1
  213. endsubroutine
  214. subroutine ChangeAccumulatorPumpFail(status)
  215. USE VARIABLES
  216. implicit none
  217. integer, intent (in) :: status
  218. ! if(associated(AccumulatorPumpFailPtr)) call AccumulatorPumpFailPtr(status)
  219. if(status == Clear_StatusType) BopStackAcc%AccPupmsFailMalf = 0
  220. if(status == Executed_StatusType) BopStackAcc%AccPupmsFailMalf = 1
  221. endsubroutine
  222. subroutine ChangeAccumulatorPumpLeak(status)
  223. implicit none
  224. integer, intent (in) :: status
  225. ! if(associated(AccumulatorPumpLeakPtr)) call AccumulatorPumpLeakPtr(status)
  226. !if(status == Clear_StatusType) print*,'On_AccumulatorPumpLeak_Clear'
  227. !if(status == Executed_StatusType) print*,'On_AccumulatorPumpLeak_Execute'
  228. endsubroutine
  229. subroutine ChangeAccumulatorSystemFail(status)
  230. implicit none
  231. integer, intent (in) :: status
  232. ! if(associated(AccumulatorSystemFailPtr)) call AccumulatorSystemFailPtr(status)
  233. !if(status == Clear_StatusType) print*,'On_AccumulatorSystemFail_Clear'
  234. !if(status == Executed_StatusType) print*,'On_AccumulatorSystemFail_Execute'
  235. endsubroutine
  236. subroutine ChangeAccumulatorSystemLeak(status)
  237. implicit none
  238. integer, intent (in) :: status
  239. ! if(associated(AccumulatorSystemLeakPtr)) call AccumulatorSystemLeakPtr(status)
  240. !if(status == Clear_StatusType) print*,'On_AccumulatorSystemLeak_Clear'
  241. !if(status == Executed_StatusType) print*,'On_AccumulatorSystemLeak_Execute'
  242. endsubroutine
  243. ! subroutine SubscribeAnnularWash(v)
  244. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAnnularWash
  245. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAnnularWash' :: SubscribeAnnularWash
  246. ! implicit none
  247. ! procedure (ActionInteger) :: v
  248. ! AnnularWashPtr => v
  249. ! end subroutine
  250. ! subroutine SubscribeAnnularFail(v)
  251. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAnnularFail
  252. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAnnularFail' :: SubscribeAnnularFail
  253. ! implicit none
  254. ! procedure (ActionInteger) :: v
  255. ! AnnularFailPtr => v
  256. ! end subroutine
  257. ! subroutine SubscribeAnnularLeak(v)
  258. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAnnularLeak
  259. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAnnularLeak' :: SubscribeAnnularLeak
  260. ! implicit none
  261. ! procedure (ActionInteger) :: v
  262. ! AnnularLeakPtr => v
  263. ! end subroutine
  264. ! subroutine SubscribeUpperRamWash(v)
  265. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeUpperRamWash
  266. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeUpperRamWash' :: SubscribeUpperRamWash
  267. ! implicit none
  268. ! procedure (ActionInteger) :: v
  269. ! UpperRamWashPtr => v
  270. ! end subroutine
  271. ! subroutine SubscribeUpperRamFail(v)
  272. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeUpperRamFail
  273. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeUpperRamFail' :: SubscribeUpperRamFail
  274. ! implicit none
  275. ! procedure (ActionInteger) :: v
  276. ! UpperRamFailPtr => v
  277. ! end subroutine
  278. ! subroutine SubscribeUpperRamLeak(v)
  279. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeUpperRamLeak
  280. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeUpperRamLeak' :: SubscribeUpperRamLeak
  281. ! implicit none
  282. ! procedure (ActionInteger) :: v
  283. ! UpperRamLeakPtr => v
  284. ! end subroutine
  285. ! subroutine SubscribeMiddleRamWash(v)
  286. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeMiddleRamWash
  287. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeMiddleRamWash' :: SubscribeMiddleRamWash
  288. ! implicit none
  289. ! procedure (ActionInteger) :: v
  290. ! MiddleRamWashPtr => v
  291. ! end subroutine
  292. ! subroutine SubscribeMiddleRamFail(v)
  293. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeMiddleRamFail
  294. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeMiddleRamFail' :: SubscribeMiddleRamFail
  295. ! implicit none
  296. ! procedure (ActionInteger) :: v
  297. ! MiddleRamFailPtr => v
  298. ! end subroutine
  299. ! subroutine SubscribeMiddleRamLeak(v)
  300. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeMiddleRamLeak
  301. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeMiddleRamLeak' :: SubscribeMiddleRamLeak
  302. ! implicit none
  303. ! procedure (ActionInteger) :: v
  304. ! MiddleRamLeakPtr => v
  305. ! end subroutine
  306. ! subroutine SubscribeLowerRamWash(v)
  307. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeLowerRamWash
  308. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeLowerRamWash' :: SubscribeLowerRamWash
  309. ! implicit none
  310. ! procedure (ActionInteger) :: v
  311. ! LowerRamWashPtr => v
  312. ! end subroutine
  313. ! subroutine SubscribeLowerRamFail(v)
  314. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeLowerRamFail
  315. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeLowerRamFail' :: SubscribeLowerRamFail
  316. ! implicit none
  317. ! procedure (ActionInteger) :: v
  318. ! LowerRamFailPtr => v
  319. ! end subroutine
  320. ! subroutine SubscribeLowerRamLeak(v)
  321. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeLowerRamLeak
  322. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeLowerRamLeak' :: SubscribeLowerRamLeak
  323. ! implicit none
  324. ! procedure (ActionInteger) :: v
  325. ! LowerRamLeakPtr => v
  326. ! end subroutine
  327. ! subroutine SubscribeAccumulatorPumpFail(v)
  328. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAccumulatorPumpFail
  329. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAccumulatorPumpFail' :: SubscribeAccumulatorPumpFail
  330. ! implicit none
  331. ! procedure (ActionInteger) :: v
  332. ! AccumulatorPumpFailPtr => v
  333. ! end subroutine
  334. ! subroutine SubscribeAccumulatorPumpLeak(v)
  335. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAccumulatorPumpLeak
  336. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAccumulatorPumpLeak' :: SubscribeAccumulatorPumpLeak
  337. ! implicit none
  338. ! procedure (ActionInteger) :: v
  339. ! AccumulatorPumpLeakPtr => v
  340. ! end subroutine
  341. ! subroutine SubscribeAccumulatorSystemFail(v)
  342. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAccumulatorSystemFail
  343. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAccumulatorSystemFail' :: SubscribeAccumulatorSystemFail
  344. ! implicit none
  345. ! procedure (ActionInteger) :: v
  346. ! AccumulatorSystemFailPtr => v
  347. ! end subroutine
  348. ! subroutine SubscribeAccumulatorSystemLeak(v)
  349. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAccumulatorSystemLeak
  350. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAccumulatorSystemLeak' :: SubscribeAccumulatorSystemLeak
  351. ! implicit none
  352. ! procedure (ActionInteger) :: v
  353. ! AccumulatorSystemLeakPtr => v
  354. ! end subroutine
  355. end module CBopProblemsVariables