Simulation Core
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 
 

367 lignes
20 KiB

  1. module CChokeProblemsVariables
  2. use CProblemDifinition
  3. implicit none
  4. public
  5. ! Input vars
  6. type(CProblem) :: HydraulicChoke1Plugged
  7. type(CProblem) :: HydraulicChoke1Fail
  8. type(CProblem) :: HydraulicChoke1Washout
  9. integer :: HydraulicChoke1PluggedPercent
  10. type(CProblem) :: HydraulicChoke2Plugged
  11. type(CProblem) :: HydraulicChoke2Fail
  12. type(CProblem) :: HydraulicChoke2Washout
  13. integer :: HydraulicChoke2PluggedPercent
  14. type(CProblem) :: ManualChoke1Plugged
  15. type(CProblem) :: ManualChoke1Fail
  16. type(CProblem) :: ManualChoke1Washout
  17. integer :: ManualChoke1PluggedPercent
  18. type(CProblem) :: ManualChoke2Plugged
  19. type(CProblem) :: ManualChoke2Fail
  20. type(CProblem) :: ManualChoke2Washout
  21. integer :: ManualChoke2PluggedPercent
  22. type(CProblem) :: ChokePanelAirFail
  23. procedure (ActionInteger), pointer :: HydraulicChoke1PluggedPtr
  24. procedure (ActionInteger), pointer :: HydraulicChoke1FailPtr
  25. procedure (ActionInteger), pointer :: HydraulicChoke1WashoutPtr
  26. procedure (ActionInteger), pointer :: HydraulicChoke2PluggedPtr
  27. procedure (ActionInteger), pointer :: HydraulicChoke2FailPtr
  28. procedure (ActionInteger), pointer :: HydraulicChoke2WashoutPtr
  29. procedure (ActionInteger), pointer :: ManualChoke1PluggedPtr
  30. procedure (ActionInteger), pointer :: ManualChoke1FailPtr
  31. procedure (ActionInteger), pointer :: ManualChoke1WashoutPtr
  32. procedure (ActionInteger), pointer :: ManualChoke2PluggedPtr
  33. procedure (ActionInteger), pointer :: ManualChoke2FailPtr
  34. procedure (ActionInteger), pointer :: ManualChoke2WashoutPtr
  35. procedure (ActionInteger), pointer :: ChokePanelAirFailPtr
  36. contains
  37. subroutine ProcessChokeProblemsDueTime(time)
  38. implicit none
  39. integer :: time
  40. if(HydraulicChoke1Plugged%ProblemType == Time_ProblemType) call ProcessDueTime(HydraulicChoke1Plugged, ChangeHydraulicChoke1Plugged, time)
  41. if(HydraulicChoke1Fail%ProblemType == Time_ProblemType) call ProcessDueTime(HydraulicChoke1Fail, ChangeHydraulicChoke1Fail, time)
  42. if(HydraulicChoke1Washout%ProblemType == Time_ProblemType) call ProcessDueTime(HydraulicChoke1Washout, ChangeHydraulicChoke1Washout, time)
  43. if(HydraulicChoke2Plugged%ProblemType == Time_ProblemType) call ProcessDueTime(HydraulicChoke2Plugged, ChangeHydraulicChoke2Plugged, time)
  44. if(HydraulicChoke2Fail%ProblemType == Time_ProblemType) call ProcessDueTime(HydraulicChoke2Fail, ChangeHydraulicChoke2Fail, time)
  45. if(HydraulicChoke2Washout%ProblemType == Time_ProblemType) call ProcessDueTime(HydraulicChoke2Washout, ChangeHydraulicChoke2Washout, time)
  46. if(ManualChoke1Plugged%ProblemType == Time_ProblemType) call ProcessDueTime(ManualChoke1Plugged, ChangeManualChoke1Plugged, time)
  47. if(ManualChoke1Fail%ProblemType == Time_ProblemType) call ProcessDueTime(ManualChoke1Fail, ChangeManualChoke1Fail, time)
  48. if(ManualChoke1Washout%ProblemType == Time_ProblemType) call ProcessDueTime(ManualChoke1Washout, ChangeManualChoke1Washout, time)
  49. if(ManualChoke2Plugged%ProblemType == Time_ProblemType) call ProcessDueTime(ManualChoke2Plugged, ChangeManualChoke2Plugged, time)
  50. if(ManualChoke2Fail%ProblemType == Time_ProblemType) call ProcessDueTime(ManualChoke2Fail, ChangeManualChoke2Fail, time)
  51. if(ManualChoke2Washout%ProblemType == Time_ProblemType) call ProcessDueTime(ManualChoke2Washout, ChangeManualChoke2Washout, time)
  52. if(ChokePanelAirFail%ProblemType == Time_ProblemType) call ProcessDueTime(ChokePanelAirFail, ChangeChokePanelAirFail, time)
  53. end subroutine
  54. subroutine ProcessChokeProblemsDuePumpStrokes(strokes)
  55. implicit none
  56. integer :: strokes
  57. if(HydraulicChoke1Plugged%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(HydraulicChoke1Plugged, ChangeHydraulicChoke1Plugged, strokes)
  58. if(HydraulicChoke1Fail%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(HydraulicChoke1Fail, ChangeHydraulicChoke1Fail, strokes)
  59. if(HydraulicChoke1Washout%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(HydraulicChoke1Washout, ChangeHydraulicChoke1Washout, strokes)
  60. if(HydraulicChoke2Plugged%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(HydraulicChoke2Plugged, ChangeHydraulicChoke2Plugged, strokes)
  61. if(HydraulicChoke2Fail%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(HydraulicChoke2Fail, ChangeHydraulicChoke2Fail, strokes)
  62. if(HydraulicChoke2Washout%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(HydraulicChoke2Washout, ChangeHydraulicChoke2Washout, strokes)
  63. if(ManualChoke1Plugged%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ManualChoke1Plugged, ChangeManualChoke1Plugged, strokes)
  64. if(ManualChoke1Fail%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ManualChoke1Fail, ChangeManualChoke1Fail, strokes)
  65. if(ManualChoke1Washout%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ManualChoke1Washout, ChangeManualChoke1Washout, strokes)
  66. if(ManualChoke2Plugged%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ManualChoke2Plugged, ChangeManualChoke2Plugged, strokes)
  67. if(ManualChoke2Fail%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ManualChoke2Fail, ChangeManualChoke2Fail, strokes)
  68. if(ManualChoke2Washout%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ManualChoke2Washout, ChangeManualChoke2Washout, strokes)
  69. if(ChokePanelAirFail%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ChokePanelAirFail, ChangeChokePanelAirFail, strokes)
  70. end subroutine
  71. subroutine ProcessChokeProblemsDueVolumePumped(volume)
  72. implicit none
  73. real(8) :: volume
  74. if(HydraulicChoke1Plugged%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(HydraulicChoke1Plugged, ChangeHydraulicChoke1Plugged, volume)
  75. if(HydraulicChoke1Fail%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(HydraulicChoke1Fail, ChangeHydraulicChoke1Fail, volume)
  76. if(HydraulicChoke1Washout%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(HydraulicChoke1Washout, ChangeHydraulicChoke1Washout, volume)
  77. if(HydraulicChoke2Plugged%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(HydraulicChoke2Plugged, ChangeHydraulicChoke2Plugged, volume)
  78. if(HydraulicChoke2Fail%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(HydraulicChoke2Fail, ChangeHydraulicChoke2Fail, volume)
  79. if(HydraulicChoke2Washout%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(HydraulicChoke2Washout, ChangeHydraulicChoke2Washout, volume)
  80. if(ManualChoke1Plugged%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ManualChoke1Plugged, ChangeManualChoke1Plugged, volume)
  81. if(ManualChoke1Fail%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ManualChoke1Fail, ChangeManualChoke1Fail, volume)
  82. if(ManualChoke1Washout%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ManualChoke1Washout, ChangeManualChoke1Washout, volume)
  83. if(ManualChoke2Plugged%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ManualChoke2Plugged, ChangeManualChoke2Plugged, volume)
  84. if(ManualChoke2Fail%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ManualChoke2Fail, ChangeManualChoke2Fail, volume)
  85. if(ManualChoke2Washout%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ManualChoke2Washout, ChangeManualChoke2Washout, volume)
  86. if(ChokePanelAirFail%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ChokePanelAirFail, ChangeChokePanelAirFail, volume)
  87. end subroutine
  88. subroutine ProcessChokeProblemsDueDistanceDrilled(distance)
  89. implicit none
  90. real(8) :: distance
  91. if(HydraulicChoke1Plugged%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(HydraulicChoke1Plugged, ChangeHydraulicChoke1Plugged, distance)
  92. if(HydraulicChoke1Fail%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(HydraulicChoke1Fail, ChangeHydraulicChoke1Fail, distance)
  93. if(HydraulicChoke1Washout%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(HydraulicChoke1Washout, ChangeHydraulicChoke1Washout, distance)
  94. if(HydraulicChoke2Plugged%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(HydraulicChoke2Plugged, ChangeHydraulicChoke2Plugged, distance)
  95. if(HydraulicChoke2Fail%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(HydraulicChoke2Fail, ChangeHydraulicChoke2Fail, distance)
  96. if(HydraulicChoke2Washout%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(HydraulicChoke2Washout, ChangeHydraulicChoke2Washout, distance)
  97. if(ManualChoke1Plugged%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ManualChoke1Plugged, ChangeManualChoke1Plugged, distance)
  98. if(ManualChoke1Fail%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ManualChoke1Fail, ChangeManualChoke1Fail, distance)
  99. if(ManualChoke1Washout%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ManualChoke1Washout, ChangeManualChoke1Washout, distance)
  100. if(ManualChoke2Plugged%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ManualChoke2Plugged, ChangeManualChoke2Plugged, distance)
  101. if(ManualChoke2Fail%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ManualChoke2Fail, ChangeManualChoke2Fail, distance)
  102. if(ManualChoke2Washout%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ManualChoke2Washout, ChangeManualChoke2Washout, distance)
  103. if(ChokePanelAirFail%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ChokePanelAirFail, ChangeChokePanelAirFail, distance)
  104. end subroutine
  105. subroutine ChangeHydraulicChoke1Plugged(status)
  106. USE CHOKEVARIABLES
  107. implicit none
  108. integer, intent (in) :: status
  109. if(associated(HydraulicChoke1PluggedPtr)) call HydraulicChoke1PluggedPtr(status)
  110. if(status == Clear_StatusType) CHOOKE(1)%PlugMalf = 0
  111. if(status == Executed_StatusType) CHOOKE(1)%PlugMalf = 1
  112. endsubroutine
  113. subroutine ChangeHydraulicChoke1Fail(status)
  114. USE CHOKEVARIABLES
  115. implicit none
  116. integer, intent (in) :: status
  117. if(associated(HydraulicChoke1FailPtr)) call HydraulicChoke1FailPtr(status)
  118. if(status == Clear_StatusType) CHOOKE(1)%FailMalf = 0
  119. if(status == Executed_StatusType) CHOOKE(1)%FailMalf = 1
  120. endsubroutine
  121. subroutine ChangeHydraulicChoke1Washout(status)
  122. USE CHOKEVARIABLES
  123. use CChokeManifoldVariables
  124. implicit none
  125. integer, intent (in) :: status
  126. if(associated(HydraulicChoke1WashoutPtr)) call HydraulicChoke1WashoutPtr(status)
  127. if(status == Clear_StatusType) CHOOKE(1)%WashoutMalf = 0
  128. if(status == Executed_StatusType) CHOOKE(1)%WashoutMalf = 1
  129. if(status == Clear_StatusType) HyChock1OnProblem = .false.
  130. if(status == Executed_StatusType) HyChock1OnProblem = .true.
  131. endsubroutine
  132. subroutine ChangeHydraulicChoke2Plugged(status)
  133. USE CHOKEVARIABLES
  134. implicit none
  135. integer, intent (in) :: status
  136. if(associated(HydraulicChoke2PluggedPtr)) call HydraulicChoke2PluggedPtr(status)
  137. if(status == Clear_StatusType) CHOOKE(2)%PlugMalf = 0
  138. if(status == Executed_StatusType) CHOOKE(2)%PlugMalf = 1
  139. endsubroutine
  140. subroutine ChangeHydraulicChoke2Fail(status)
  141. USE CHOKEVARIABLES
  142. implicit none
  143. integer, intent (in) :: status
  144. if(associated(HydraulicChoke2FailPtr)) call HydraulicChoke2FailPtr(status)
  145. if(status == Clear_StatusType) CHOOKE(2)%FailMalf = 0
  146. if(status == Executed_StatusType) CHOOKE(2)%FailMalf = 1
  147. endsubroutine
  148. subroutine ChangeHydraulicChoke2Washout(status)
  149. USE CHOKEVARIABLES
  150. use CChokeManifoldVariables
  151. implicit none
  152. integer, intent (in) :: status
  153. if(associated(HydraulicChoke2WashoutPtr)) call HydraulicChoke2WashoutPtr(status)
  154. if(status == Clear_StatusType) CHOOKE(2)%WashoutMalf = 0
  155. if(status == Executed_StatusType) CHOOKE(2)%WashoutMalf = 1
  156. if(status == Clear_StatusType) HyChock2OnProblem = .false.
  157. if(status == Executed_StatusType) HyChock2OnProblem = .true.
  158. endsubroutine
  159. subroutine ChangeManualChoke1Plugged(status)
  160. USE FricPressDropVars
  161. implicit none
  162. integer, intent (in) :: status
  163. if(associated(ManualChoke1PluggedPtr)) call ManualChoke1PluggedPtr(status)
  164. if(status == Clear_StatusType) ManChoke1Plug = 0
  165. if(status == Executed_StatusType) ManChoke1Plug = 1
  166. endsubroutine
  167. subroutine ChangeManualChoke1Fail(status)
  168. implicit none
  169. integer, intent (in) :: status
  170. if(associated(ManualChoke1FailPtr)) call ManualChoke1FailPtr(status)
  171. !if(status == Clear_StatusType) print*,'On_ManualChoke1Fail_Clear'
  172. !if(status == Executed_StatusType) print*,'On_ManualChoke1Fail_Execute'
  173. endsubroutine
  174. subroutine ChangeManualChoke1Washout(status)
  175. USE FricPressDropVars
  176. use CChokeManifoldVariables
  177. implicit none
  178. integer, intent (in) :: status
  179. if(associated(ManualChoke1WashoutPtr)) call ManualChoke1WashoutPtr(status)
  180. if(status == Clear_StatusType) ManChoke1Washout = 0
  181. if(status == Executed_StatusType) ManChoke1Washout = 1
  182. if(status == Clear_StatusType) LeftManChokeOnProblem = .false.
  183. if(status == Executed_StatusType) LeftManChokeOnProblem = .true.
  184. endsubroutine
  185. subroutine ChangeManualChoke2Plugged(status)
  186. USE FricPressDropVars
  187. implicit none
  188. integer, intent (in) :: status
  189. if(associated(ManualChoke2PluggedPtr)) call ManualChoke2PluggedPtr(status)
  190. if(status == Clear_StatusType) ManChoke2Plug = 0
  191. if(status == Executed_StatusType) ManChoke2Plug = 1
  192. endsubroutine
  193. subroutine ChangeManualChoke2Fail(status)
  194. implicit none
  195. integer, intent (in) :: status
  196. if(associated(ManualChoke2FailPtr)) call ManualChoke2FailPtr(status)
  197. !if(status == Clear_StatusType) print*,'On_ManualChoke2Fail_Clear'
  198. !if(status == Executed_StatusType) print*,'On_ManualChoke2Fail_Execute'
  199. endsubroutine
  200. subroutine ChangeManualChoke2Washout(status)
  201. USE FricPressDropVars
  202. use CChokeManifoldVariables
  203. implicit none
  204. integer, intent (in) :: status
  205. if(associated(ManualChoke2WashoutPtr)) call ManualChoke2WashoutPtr(status)
  206. if(status == Clear_StatusType) ManChoke2Washout = 0
  207. if(status == Executed_StatusType) ManChoke2Washout = 1
  208. if(status == Clear_StatusType) RightManChokeOnProblem = .false.
  209. if(status == Executed_StatusType) RightManChokeOnProblem = .true.
  210. endsubroutine
  211. subroutine ChangeChokePanelAirFail(status)
  212. USE CHOKEVARIABLES
  213. implicit none
  214. integer, intent (in) :: status
  215. if(associated(ChokePanelAirFailPtr)) call ChokePanelAirFailPtr(status)
  216. if(status == Clear_StatusType) ChokeAirFail = 0
  217. if(status == Executed_StatusType) ChokeAirFail = 1
  218. endsubroutine
  219. subroutine SubscribeHydraulicChoke1Plugged(v)
  220. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeHydraulicChoke1Plugged
  221. !DEC$ ATTRIBUTES ALIAS: 'SubscribeHydraulicChoke1Plugged' :: SubscribeHydraulicChoke1Plugged
  222. implicit none
  223. procedure (ActionInteger) :: v
  224. HydraulicChoke1PluggedPtr => v
  225. end subroutine
  226. subroutine SubscribeHydraulicChoke1Fail(v)
  227. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeHydraulicChoke1Fail
  228. !DEC$ ATTRIBUTES ALIAS: 'SubscribeHydraulicChoke1Fail' :: SubscribeHydraulicChoke1Fail
  229. implicit none
  230. procedure (ActionInteger) :: v
  231. HydraulicChoke1FailPtr => v
  232. end subroutine
  233. subroutine SubscribeHydraulicChoke1Washout(v)
  234. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeHydraulicChoke1Washout
  235. !DEC$ ATTRIBUTES ALIAS: 'SubscribeHydraulicChoke1Washout' :: SubscribeHydraulicChoke1Washout
  236. implicit none
  237. procedure (ActionInteger) :: v
  238. HydraulicChoke1WashoutPtr => v
  239. end subroutine
  240. subroutine SubscribeHydraulicChoke2Plugged(v)
  241. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeHydraulicChoke2Plugged
  242. !DEC$ ATTRIBUTES ALIAS: 'SubscribeHydraulicChoke2Plugged' :: SubscribeHydraulicChoke2Plugged
  243. implicit none
  244. procedure (ActionInteger) :: v
  245. HydraulicChoke2PluggedPtr => v
  246. end subroutine
  247. subroutine SubscribeHydraulicChoke2Fail(v)
  248. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeHydraulicChoke2Fail
  249. !DEC$ ATTRIBUTES ALIAS: 'SubscribeHydraulicChoke2Fail' :: SubscribeHydraulicChoke2Fail
  250. implicit none
  251. procedure (ActionInteger) :: v
  252. HydraulicChoke2FailPtr => v
  253. end subroutine
  254. subroutine SubscribeHydraulicChoke2Washout(v)
  255. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeHydraulicChoke2Washout
  256. !DEC$ ATTRIBUTES ALIAS: 'SubscribeHydraulicChoke2Washout' :: SubscribeHydraulicChoke2Washout
  257. implicit none
  258. procedure (ActionInteger) :: v
  259. HydraulicChoke2WashoutPtr => v
  260. end subroutine
  261. subroutine SubscribeManualChoke1Plugged(v)
  262. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeManualChoke1Plugged
  263. !DEC$ ATTRIBUTES ALIAS: 'SubscribeManualChoke1Plugged' :: SubscribeManualChoke1Plugged
  264. implicit none
  265. procedure (ActionInteger) :: v
  266. ManualChoke1PluggedPtr => v
  267. end subroutine
  268. subroutine SubscribeManualChoke1Fail(v)
  269. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeManualChoke1Fail
  270. !DEC$ ATTRIBUTES ALIAS: 'SubscribeManualChoke1Fail' :: SubscribeManualChoke1Fail
  271. implicit none
  272. procedure (ActionInteger) :: v
  273. ManualChoke1FailPtr => v
  274. end subroutine
  275. subroutine SubscribeManualChoke1Washout(v)
  276. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeManualChoke1Washout
  277. !DEC$ ATTRIBUTES ALIAS: 'SubscribeManualChoke1Washout' :: SubscribeManualChoke1Washout
  278. implicit none
  279. procedure (ActionInteger) :: v
  280. ManualChoke1WashoutPtr => v
  281. end subroutine
  282. subroutine SubscribeManualChoke2Plugged(v)
  283. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeManualChoke2Plugged
  284. !DEC$ ATTRIBUTES ALIAS: 'SubscribeManualChoke2Plugged' :: SubscribeManualChoke2Plugged
  285. implicit none
  286. procedure (ActionInteger) :: v
  287. ManualChoke2PluggedPtr => v
  288. end subroutine
  289. subroutine SubscribeManualChoke2Fail(v)
  290. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeManualChoke2Fail
  291. !DEC$ ATTRIBUTES ALIAS: 'SubscribeManualChoke2Fail' :: SubscribeManualChoke2Fail
  292. implicit none
  293. procedure (ActionInteger) :: v
  294. ManualChoke2FailPtr => v
  295. end subroutine
  296. subroutine SubscribeManualChoke2Washout(v)
  297. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeManualChoke2Washout
  298. !DEC$ ATTRIBUTES ALIAS: 'SubscribeManualChoke2Washout' :: SubscribeManualChoke2Washout
  299. implicit none
  300. procedure (ActionInteger) :: v
  301. ManualChoke2WashoutPtr => v
  302. end subroutine
  303. subroutine SubscribeChokePanelAirFail(v)
  304. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeChokePanelAirFail
  305. !DEC$ ATTRIBUTES ALIAS: 'SubscribeChokePanelAirFail' :: SubscribeChokePanelAirFail
  306. implicit none
  307. procedure (ActionInteger) :: v
  308. ChokePanelAirFailPtr => v
  309. end subroutine
  310. end module CChokeProblemsVariables