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.

CBopProblemsVariables.f90 21 KiB

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