Simulation Core
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1615 lines
86 KiB

  1. {
  2. "cells": [
  3. {
  4. "attachments": {},
  5. "cell_type": "markdown",
  6. "metadata": {},
  7. "source": [
  8. "# Make makefile"
  9. ]
  10. },
  11. {
  12. "cell_type": "code",
  13. "execution_count": 72,
  14. "metadata": {},
  15. "outputs": [
  16. {
  17. "name": "stdout",
  18. "output_type": "stream",
  19. "text": [
  20. "\tCSharp/OperationScenarios/Common/COperationScenariosVariables.f90 /\n",
  21. "\tTorqueDrag/TD_Modules/TD_WellGeometry.f90 /\n",
  22. "\tTorqueDrag/TD_Modules/TD_WellElements.f90 /\n",
  23. "\tTorqueDrag/TD_Modules/TD_StringConnectionData.f90 /\n",
  24. "\tTorqueDrag/TD_Modules/GeoElements_FluidModule.f90 /\n",
  25. "\tRop/sROP_Variables.f90 /\n",
  26. "\tRop/sROP_Other_Variables.f90 /\n",
  27. "\tFluidFlow/Flow_Startup_VARIABLES.f90 /\n",
  28. "\tCSharp/DownHole/CDownHoleTypes.f90 /\n",
  29. "\tEquipments/Drawworks/Drawworks_VARIABLES.f90 /\n",
  30. "\tEquipments/ChokeControl/CHOKE_VARIABLES.f90 /\n",
  31. "\tEquipments/TopDrive/TopDrive_VARIABLES.f90 /\n",
  32. "\tEquipments/RotaryTable/RTable_VARIABLES.f90 /\n",
  33. "\tEquipments/Pumps/Pumps_VARIABLES.f90 /\n",
  34. "\tCSharp/Warnings/CWarningsVariables.f90 /\n",
  35. "\tCSharp/StudentStation/CStudentStationVariables.f90 /\n",
  36. "\tCSharp/OperationScenarios/SoftwareInputsVariables.f90 /\n",
  37. "\tCSharp/OperationScenarios/UnitySignals/UnitySignalsVariables.f90 /\n",
  38. "\tCSharp/OperationScenarios/Permissions/PermissionsVariables.f90 /\n",
  39. "\tCSharp/OperationScenarios/Notifications/NotificationVariables.f90 /\n",
  40. "\tCSharp/Equipments/Tanks/CTanksVariables.f90 /\n",
  41. "\tCSharp/Equipments/DrillWatch/CDrillWatchVariables.f90 /\n",
  42. "\tCSharp/Equipments/ControlPanels/CTopDrivePanelVariables.f90 /\n",
  43. "\tCSharp/Equipments/ControlPanels/CStandPipeManifoldVariables.f90 /\n",
  44. "\tCSharp/Equipments/ControlPanels/CHookVariables.f90 /\n",
  45. "\tCSharp/Equipments/ControlPanels/CDrillingConsoleVariables.f90 /\n",
  46. "\tCSharp/Equipments/ControlPanels/CChokeManifoldVariables.f90 /\n",
  47. "\tCSharp/Equipments/ControlPanels/CChokeControlPanelVariables.f90 /\n",
  48. "\tCSharp/Equipments/ControlPanels/CBopControlPanelVariables.f90 /\n",
  49. "\tCSharp/BasicInputs/WellProfile/CWellSurveyDataVariables.f90 /\n",
  50. "\tCSharp/BasicInputs/WellProfile/CPathGenerationVariables.f90 /\n",
  51. "\tCSharp/BasicInputs/WellProfile/CCasingLinerChokeVariables.f90 /\n",
  52. "\tCSharp/BasicInputs/RigSpecifications/CRigSizeVariables.f90 /\n",
  53. "\tCSharp/Common/CIActionReference.f90 /\n",
  54. "\tCSharp/BasicInputs/RigSpecifications/CPowerVariables.f90 /\n",
  55. "\tCSharp/BasicInputs/RigSpecifications/CHoistingVariables.f90 /\n",
  56. "\tCSharp/BasicInputs/RigSpecifications/CBopStackVariables.f90 /\n",
  57. "\tCSharp/BasicInputs/RigSpecifications/CAccumulatorVariables.f90 /\n",
  58. "\tCSharp/BasicInputs/Geology/CShoeVariables.f90 /\n",
  59. "\tCSharp/BasicInputs/Geology/CReservoirVariables.f90 /\n",
  60. "\tCSharp/BasicInputs/Geology/CFormationVariables.f90 /\n",
  61. "\tCSharp/BasicInputs/Bha/CStringConfigurationVariables.f90 /\n",
  62. "\tSimulation/Constants.f90 /\n",
  63. "\tCSharp/Equipments/MudPathFinding/CArrangement.f90 /\n",
  64. "\tCSharp/OperationScenarios/Unity/CUnityInputs.f90 /\n",
  65. "\tCSharp/Common/CCommonVariables.f90 /\n",
  66. "\tCommon/DynamicIntegerArray.f90 /\n",
  67. "\tRop/RopMain.f90 /\n",
  68. "\tCSharp/Equipments/ControlPanels/CEquipmentsConstants.f90 /\n",
  69. "\tCommon/DynamicRealArray.f90 /\n",
  70. "\tCSharp/Common/CTimerLegacy.f90 /\n",
  71. "\tCommon/DynamicDoubleArray.f90 /\n",
  72. "\tCSharp/Equipments/MudPathFinding/CPathChangeEvents.f90 /\n",
  73. "\tCommon/DynamicLogicalArray.f90 /\n",
  74. "\tCSharp/Common/CScaleRange.f90 /\n",
  75. "\tCSharp/Common/CTimer.f90 /\n",
  76. "\tCSharp/Common/CQuery.f90 /\n",
  77. "\tFluidFlow/FluidFlowMain.f90 /\n",
  78. "\tTorqueDrag/TD_Modules/TD_GeneralData.f90 /\n",
  79. "\tCSharp/BasicInputs/WellProfile/CWellSurveyData.f90 /\n",
  80. "\tCSharp/Equipments/ControlPanels/CDataDisplayConsoleVariables.f90 /\n",
  81. "\tCSharp/ErrorLog/CLog4.f90 /\n",
  82. "\tCSharp/BasicInputs/RigSpecifications/CPumpsVariables.f90 /\n",
  83. "\tCSharp/ErrorLog/CLog1.f90 /\n",
  84. "\tCSharp/BasicInputs/CMudPropertiesVariables.f90 /\n",
  85. "\tCSharp/ErrorLog/CLog5.f90 /\n",
  86. "\tCSharp/ErrorLog/CError.f90 /\n",
  87. "\tCSharp/ErrorLog/CLog2.f90 /\n",
  88. "\tCSharp/ErrorLog/CLog3.f90 /\n",
  89. "\tSimulation/CSounds.f90 /\n",
  90. "\tCSharp/Common/CCommon.f90 /\n",
  91. "\tFluidFlow/Pressure_Display_VARIABLES.f90 /\n",
  92. "\tEquipments/BopStack/VARIABLES.f90 /\n",
  93. "\tFluidFlow/kick/Kick_VARIABLES.f90 /\n",
  94. "\tCSharp/OperationScenarios/Unity/CUnityOutputs.f90 /\n",
  95. "\tCSharp/DownHole/CDownHoleVariables.f90 /\n",
  96. "\tGeo/GeoMain.f90 /\n",
  97. "\tCSharp/Equipments/MudPathFinding/CPath.f90 /\n",
  98. "\tCSharp/Problems/CProblemDifinition.f90 /\n",
  99. "\tFluidFlow/Pressure_Distribution_VARIABLES.f90 /\n",
  100. "\tEquipments/MudSystem/MudSystem_Variables.f90 /\n",
  101. "\tTorqueDrag/TD_Modules/TD_DrillStem.f90 /\n",
  102. "\tCSharp/Equipments/MudPathFinding/CStack.f90 /\n",
  103. "\tCSharp/Problems/CDrillStemProblemsVariables.f90 /\n",
  104. "\tCSharp/Problems/COtherProblemsVariables.f90 /\n",
  105. "\tCSharp/Problems/CLostProblemsVariables.f90 /\n",
  106. "\tCSharp/Problems/CGaugesProblemsVariables.f90 /\n",
  107. "\tCSharp/Problems/CBitProblemsVariables.f90 /\n",
  108. "\tCSharp/Problems/CKickProblemsVariables.f90 /\n",
  109. "\tCSharp/Problems/CHoistingProblemsVariables.f90 /\n",
  110. "\tCSharp/Problems/CChokeProblemsVariables.f90 /\n",
  111. "\tCSharp/Problems/CPumpProblemsVariables.f90 /\n",
  112. "\tCSharp/Problems/CRotaryProblemsVariables.f90 /\n",
  113. "\tCSharp/Problems/CMudTreatmentProblemsVariables.f90 /\n",
  114. "\tCSharp/Problems/CBopProblemsVariables.f90 /\n",
  115. "\tSimulation/SimulationVariables.f90 /\n",
  116. "\tCSharp/Problems/CMudTreatmentProblems.f90 /\n",
  117. "\tCSharp/Problems/CChokeProblems.f90 /\n",
  118. "\tCSharp/Equipments/ControlPanels/CHook.f90 /\n",
  119. "\tCSharp/BasicInputs/RigSpecifications/CRigSize.f90 /\n",
  120. "\tEquipments/BopStack/PipeRams1Main.f90 /\n",
  121. "\tCSharp/Problems/COtherProblems.f90 /\n",
  122. "\tCSharp/BasicInputs/RigSpecifications/CAccumulator.f90 /\n",
  123. "\tCSharp/Problems/CRotaryProblems.f90 /\n",
  124. "\tCSharp/Problems/CDrillStemProblems.f90 /\n",
  125. "\tCSharp/BasicInputs/MudProperties.f90 /\n",
  126. "\tCSharp/BasicInputs/RigSpecifications/CPower.f90 /\n",
  127. "\tEquipments/RotaryTable/RotaryTableMain.f90 /\n",
  128. "\tCSharp/Equipments/MudPathFinding/CManifolds.f90 /\n",
  129. "\tCSharp/Problems/CBopProblems.f90 /\n",
  130. "\tCSharp/DownHole/DownHole.f90 /\n",
  131. "\tCSharp/Problems/CHoistingProblems.f90 /\n",
  132. "\tCSharp/BasicInputs/RigSpecifications/CHoisting.f90 /\n",
  133. "\tEquipments/Drawworks/DrawworksMain.f90 /\n",
  134. "\tCSharp/Problems/CLostProblems.f90 /\n",
  135. "\tCSharp/Problems/CBitProblems.f90 /\n",
  136. "\tCSharp/BasicInputs/RigSpecifications/CBopStack.f90 /\n",
  137. "\tEquipments/BopStack/ChokeLineMain.f90 /\n",
  138. "\tEquipments/Pumps/PumpsMain.f90 /\n",
  139. "\tEquipments/BopStack/AnnularMain.f90 /\n",
  140. "\tCSharp/BasicInputs/WellProfile/CPathGeneration.f90 /\n",
  141. "\tCSharp/BasicInputs/Geology/CReservoir.f90 /\n",
  142. "\tCSharp/BasicInputs/Bha/CStringConfiguration.f90 /\n",
  143. "\tEquipments/BopStack/PipeRams2Main.f90 /\n",
  144. "\tEquipments/BopStack/BlindRamsMain.f90 /\n",
  145. "\tCSharp/Problems/CKickProblems.f90 /\n",
  146. "\tCSharp/OperationScenarios/Permissions/Permissions.f90 /\n",
  147. "\tCSharp/BasicInputs/Geology/CFormation.f90 /\n",
  148. "\tEquipments/BopStack/KillLineMain.f90 /\n",
  149. "\tCSharp/Problems/CGaugesProblems.f90 /\n",
  150. "\tCSharp/BasicInputs/WellProfile/CCasingLinerChoke.f90 /\n",
  151. "\tCSharp/BasicInputs/Geology/CShoe.f90 /\n",
  152. "\tCSharp/Problems/CPumpProblems.f90 /\n",
  153. "\tCSharp/Equipments/ControlPanels/CDataDisplayConsole.f90 /\n",
  154. "\tCSharp/OperationScenarios/SoftwareInputs.f90 /\n",
  155. "\tTorqueDrag/TD_ReadDataSubroutines/TD_DrillStemReadData.f90 /\n",
  156. "\tEquipments/Pumps/Pump_OffMode_Solver.f90 /\n",
  157. "\tTorqueDrag/TD_Forces/TD_DropArea/TD_ForceDownDRot.f90 /\n",
  158. "\tTorqueDrag/TD_Forces/TD_DropArea/TD_ForceDownD.f90 /\n",
  159. "\tFluidFlow/kick/Formation_Information.f90 /\n",
  160. "\tTorqueDrag/TD_DrillingSubs/TD_WellElementsConfiguration.f90 /\n",
  161. "\tEquipments/MudSystem/Elements_Creation.f90 /\n",
  162. "\tEquipments/Drawworks/Drawworks_StartUp.f90 /\n",
  163. "\tTorqueDrag/TD_ReadDataSubroutines/TD_PipePropertiesReadData.f90 /\n",
  164. "\tTorqueDrag/TD_Forces/TD_CombinedMotionData.f90 /\n",
  165. "\tTorqueDrag/TD_DrillingSubs/TVD_Calculator.f90 /\n",
  166. "\tTorqueDrag/TD_Forces/TD_StraightArea/TD_ForceUpSRot.f90 /\n",
  167. "\tRop/Bit_Specification.f90 /\n",
  168. "\tEquipments/Pumps/Pump3_MainSolver.f90 /\n",
  169. "\tEquipments/MudSystem/Kick_Expansion_and_Contraction.f90 /\n",
  170. "\tTorqueDrag/TD_Forces/TD_ForceCalculation.f90 /\n",
  171. "\tTorqueDrag/TD_Forces/TD_BuildArea/TD_ForceDownB.f90 /\n",
  172. "\tEquipments/Pumps/Pumps_TotalSolver.f90 /\n",
  173. "\tTorqueDrag/TD_Forces/TD_StrainCalculation.f90 /\n",
  174. "\tFluidFlow/Flow_Startup.f90 /\n",
  175. "\tEquipments/DrillingConsole_ScrLEDs.f90 /\n",
  176. "\tTorqueDrag/TD_Forces/TD_ViscousDragForce/TD_ViscousDragForce.f90 /\n",
  177. "\tTorqueDrag/TD_Forces/TD_StraightArea/TD_ForceUpS.f90 /\n",
  178. "\tTorqueDrag/TD_Forces/TD_StraightArea/TD_ForceDownS.f90 /\n",
  179. "\tEquipments/RotaryTable/RTable_StartUp.f90 /\n",
  180. "\tEquipments/MudSystem/Utube2_and_Trip_In.f90 /\n",
  181. "\tEquipments/MudSystem/Kick_Migration.f90 /\n",
  182. "\tTorqueDrag/TD_ReadDataSubroutines/TD_ForceReadData.f90 /\n",
  183. "\tTorqueDrag/TD_Forces/TD_StaticHookLoadCalculation.f90 /\n",
  184. "\tEquipments/MudSystem/Pump_and_Trip_In.f90 /\n",
  185. "\tEquipments/MudSystem/Deallocate_Normal_Circulation.f90 /\n",
  186. "\tEquipments/RotaryTable/RTable_OnModeSolver.f90 /\n",
  187. "\tEquipments/Pumps/Pump_OnMode_Solver.f90 /\n",
  188. "\tTorqueDrag/TD_ReadDataSubroutines/TD_WellElementsReadData.f90 /\n",
  189. "\tTorqueDrag/TD_ReadDataSubroutines/TD_MudPropertiesReadData.f90 /\n",
  190. "\tTorqueDrag/TD_Forces/TD_DropArea/TD_ForceUpDRot.f90 /\n",
  191. "\tEquipments/TopDrive/TopDrive_StartUp.f90 /\n",
  192. "\tEquipments/MudSystem/FillingWell_By_BellNipple.f90 /\n",
  193. "\tTorqueDrag/TD_Forces/TD_BuildArea/TD_ForceUpBRot.f90 /\n",
  194. "\tTorqueDrag/TD_Forces/TD_TorqueCalculation.f90 /\n",
  195. "\tTorqueDrag/TD_Forces/TD_BuildArea/TD_ForceDownBRot.f90 /\n",
  196. "\tEquipments/Drawworks/Drawworks_MainSolver.f90 /\n",
  197. "\tTorqueDrag/TD_Forces/TD_DropArea/TD_ForceUpD.f90 /\n",
  198. "\tTorqueDrag/TD_Forces/TD_BuildArea/TD_ForceUpB.f90 /\n",
  199. "\tEquipments/RotaryTable/RTable_OffModeSolver.f90 /\n",
  200. "\tTorqueDrag/TD_StartUp/TD_DrillStemStartUp.f90 /\n",
  201. "\tTorqueDrag/TD_Forces/TD_StraightArea/TD_ForceDownSRot.f90 /\n",
  202. "\tRop/JetImpactForce.f90 /\n",
  203. "\tTorqueDrag/TD_ReadDataSubroutines/TD_WellReadData.f90 /\n",
  204. "\tTorqueDrag/TD_Forces/TD_BouyancyFactor.f90 /\n",
  205. "\tFluidFlow/Frictional_Press_Drop_Calc.f90 /\n",
  206. "\tEquipments/TopDrive/TopDrive_Outputs.f90 /\n",
  207. "\tEquipments/Drawworks/DWFixModeMotion.f90 /\n",
  208. "\tCSharp/Equipments/ControlPanels/CBopControlPanel.f90 /\n",
  209. "\tCSharp/OperationScenarios/UnitySignals/UnitySignals.f90 /\n",
  210. "\tCSharp/BasicInputs/RigSpecifications/CPumps.f90 /\n",
  211. "\tCSharp/Equipments/ControlPanels/CChokeManifold.f90 /\n",
  212. "\tCSharp/Equipments/Tanks/CTanks.f90 /\n",
  213. "\tCSharp/Warnings/CWarnings.f90 /\n",
  214. "\tTorqueDrag/TD_DrillingSubs/TD_BOPDiamCalculation.f90 /\n",
  215. "\tEquipments/Drawworks/Drawworks_Direction.f90 /\n",
  216. "\tEquipments/RotaryTable/RTable_Outputs.f90 /\n",
  217. "\tEquipments/Drawworks/DWMalfunction_MotorFailure.f90 /\n",
  218. "\tTorqueDrag/TD_Forces/TD_WeightOnBitCalculation.f90 /\n",
  219. "\tFluidFlow/String_Property_Calculator.f90 /\n",
  220. "\tFluidFlow/Annulus_Property_Calculator.f90 /\n",
  221. "\tEquipments/MudSystem/Trip_Out_andPump.f90 /\n",
  222. "\tEquipments/MudSystem/Utube1_and_Trip_In.f90 /\n",
  223. "\tEquipments/Pumps/Pump2_MainSolver.f90 /\n",
  224. "\tEquipments/Pumps/Pump1_MainSolver.f90 /\n",
  225. "\tFluidFlow/Utube.f90 /\n",
  226. "\tEquipments/BopStack/BOP.f90 /\n",
  227. "\tEquipments/BopStack/SHEAR_RAM.f90 /\n",
  228. "\tEquipments/BopStack/PIPE_RAM2.f90 /\n",
  229. "\tEquipments/BopStack/LOSS_INPUTS.f90 /\n",
  230. "\tEquipments/BopStack/ANNULAR.f90 /\n",
  231. "\tEquipments/BopStack/CHOKE_LINE.f90 /\n",
  232. "\tEquipments/BopStack/KILL_LINE.f90 /\n",
  233. "\tEquipments/BopStack/PIPE_RAM1.f90 /\n",
  234. "\tEquipments/BopStack/BOPstartup.f90 /\n",
  235. "\tCSharp/OperationScenarios/Notifications/Notofications.f90 /\n",
  236. "\tTorqueDrag/TD_StartUp/TD_StartUp.f90 /\n",
  237. "\tTorqueDrag/TD_Forces/TD_HookLoadCalculation.f90 /\n",
  238. "\tEquipments/TopDrive/TopDrive_Inputs.f90 /\n",
  239. "\tEquipments/TopDrive/TopDrive_Solver.f90 /\n",
  240. "\tCSharp/OperationScenarios/Notifications/Notifications.f90 /\n",
  241. "\tTorqueDrag/TorqueDragMain.f90 /\n",
  242. "\tTorqueDrag/TD_DrillingSubs/MeshGeneration_FluidModule.f90 /\n",
  243. "\tEquipments/Pumps/Pumps_StartUp.f90 /\n",
  244. "\tEquipments/ChokeControl/CHOKE.f90 /\n",
  245. "\tEquipments/ChokeControl/AirPump_Choke_Subs.f90 /\n",
  246. "\tEquipments/MudSystem/MudSystemStartup.f90 /\n",
  247. "\tEquipments/TopDrive/TopDriveMain.f90 /\n",
  248. "\tEquipments/MudSystem/MudSystem.f90 /\n",
  249. "\tRop/ROP_MainCalculation.f90 /\n",
  250. "\tEquipments/Drawworks/Drawworks_Outputs.f90 /\n",
  251. "\tEquipments/RotaryTable/RTable_Inputs.f90 /\n",
  252. "\tEquipments/TopDrive/TopDrive_OffMode.f90 /\n",
  253. "\tEquipments/TopDrive/TopDrive_MainSolver.f90 /\n",
  254. "\tCSharp/OperationScenarios/Common/OperationScenarios.f90 /\n",
  255. "\tEquipments/ChokeControl/ChokeControlMain.f90 /\n",
  256. "\tEquipments/ChokeControl/ChokeStartup.f90 /\n",
  257. "\tEquipments/MudSystem/MudSystemMain.f90 /\n",
  258. "\tEquipments/Pumps/Pumps_Inputs.f90 /\n",
  259. "\tEquipments/Pumps/Pumps_Outputs.f90 /\n",
  260. "\tFluidFlow/Annulus_and_Openhole_Pressure_Distribution.f90 /\n",
  261. "\tTorqueDrag/TD_DrillingSubs/TD_WellGeoConfiguration.f90 /\n",
  262. "\tEquipments/RotaryTable/RTable_MainSolver.f90 /\n",
  263. "\tCSharp/OperationScenarios/UnitySignals/CSlipsEnum.f90 /\n",
  264. "\tCSharp/OperationScenarios/Notifications/CUnlatchLedNotification.f90 /\n",
  265. "\tCSharp/OperationScenarios/Notifications/CTdsTorqueWrenchLedNotification.f90 /\n",
  266. "\tCSharp/OperationScenarios/Permissions/CInstallMudBucketPermission.f90 /\n",
  267. "\tCSharp/OperationScenarios/Permissions/CFillupHeadPermission.f90 /\n",
  268. "\tCSharp/OperationScenarios/Notifications/COpenKellyCockLedNotification.f90 /\n",
  269. "\tCSharp/OperationScenarios/Notifications/CTdsPowerLedNotification.f90 /\n",
  270. "\tCSharp/OperationScenarios/Notifications/CSwingLedNotification.f90 /\n",
  271. "\tCSharp/OperationScenarios/Enums/CTdsElevatorModesEnum.f90 /\n",
  272. "\tCSharp/OperationScenarios/UnitySignals/CTdsSpineEnum.f90 /\n",
  273. "\tCSharp/OperationScenarios/Permissions/CSwingTiltPermission.f90 /\n",
  274. "\tCSharp/OperationScenarios/Permissions/CIrSafetyValvePermission.f90 /\n",
  275. "\tCSharp/OperationScenarios/Permissions/CSwingOffPermission.f90 /\n",
  276. "\tCSharp/OperationScenarios/Notifications/CCloseSafetyValveLedNotification.f90 /\n",
  277. "\tCSharp/OperationScenarios/UnitySignals/CMouseHoleEnum.f90 /\n",
  278. "\tCSharp/OperationScenarios/UnitySignals/CFlowPipeDisconnectEnum.f90 /\n",
  279. "\tCSharp/OperationScenarios/Notifications/CCloseKellyCockLedNotification.f90 /\n",
  280. "\tCSharp/OperationScenarios/Enums/CElevatorConnectionEnum.f90 /\n",
  281. "\tCSharp/OperationScenarios/Notifications/CIrSafetyValveLedNotification.f90 /\n",
  282. "\tCSharp/OperationScenarios/UnitySignals/CFlowKellyDisconnectEnum.f90 /\n",
  283. "\tCSharp/OperationScenarios/Notifications/COpenSafetyValveLedNotification.f90 /\n",
  284. "\tCSharp/OperationScenarios/UnitySignals/CTdsBackupClamp.f90 /\n",
  285. "\tCSharp/OperationScenarios/UnitySignals/CTdsTongEnum.f90 /\n",
  286. "\tCSharp/OperationScenarios/UnitySignals/CElevatorEnum.f90 /\n",
  287. "\tCSharp/OperationScenarios/Notifications/CTongNotification.f90 /\n",
  288. "\tCSharp/OperationScenarios/UnitySignals/CSafetyValveEnum.f90 /\n",
  289. "\tCSharp/OperationScenarios/Permissions/CRemoveMudBucketPermission.f90 /\n",
  290. "\tCSharp/OperationScenarios/Permissions/CInstallFillupHeadPermission.f90 /\n",
  291. "\tCSharp/OperationScenarios/UnitySignals/CSwingEnum.f90 /\n",
  292. "\tCSharp/OperationScenarios/UnitySignals/CKellyEnum.f90 /\n",
  293. "\tCSharp/OperationScenarios/Permissions/CSwingDrillPermission.f90 /\n",
  294. "\tCSharp/OperationScenarios/Permissions/CIrIbopPermission.f90 /\n",
  295. "\tCSharp/OperationScenarios/Permissions/CRemoveFillupHeadPermission.f90 /\n",
  296. "\tCSharp/OperationScenarios/Common/COperationScenariosSettings.f90 /\n",
  297. "\tCSharp/OperationScenarios/UnitySignals/CTdsSwingEnum.f90 /\n",
  298. "\tCSharp/OperationScenarios/UnitySignals/CIbopEnum.f90 /\n",
  299. "\tCSharp/OperationScenarios/Notifications/CFillMouseHoleLedNotification.f90 /\n",
  300. "\tCSharp/OperationScenarios/UnitySignals/CTongEnum.f90 /\n",
  301. "\tCSharp/OperationScenarios/Notifications/CIrIBopLedNotification.f90 /\n",
  302. "\tCSharp/OperationScenarios/Notifications/CTdsIbopLedNotification.f90 /\n",
  303. "\tCSharp/OperationScenarios/Notifications/CLatchLedNotification.f90 /\n",
  304. "\tCSharp/OperationScenarios/Notifications/CSlipsNotification.f90 /\n",
  305. "\tTorqueDrag/TD_DrillingSubs/TD_DrillStemConfiguration.f90 /\n",
  306. "\tEquipments/MudSystem/Kick_Influx.f90 /\n",
  307. "\tEquipments/MudSystem/Disconnecting_Pipe.f90 /\n",
  308. "\tEquipments/Drawworks/Drawworks_Solver_OffMode.f90 /\n",
  309. "\tTorqueDrag/TD_DrillingSubs/TD_RemoveComponents.f90 /\n",
  310. "\tFluidFlow/Horizontal_and_String_Pressure_Distribution.f90 /\n",
  311. "\tEquipments/Drawworks/Drawworks_INPUTS.f90 /\n",
  312. "\tTorqueDrag/TD_DrillingSubs/TD_AddComponents.f90 /\n",
  313. "\tEquipments/Drawworks/Drawworks_Solver.f90 /\n",
  314. "\tEquipments/Pumps/Pumps_MainSolver.f90 /\n",
  315. "\tCSharp/OperationScenarios/Common/COperationScenariosMain.f90 /\n",
  316. "\tEquipments/MudSystem/Circulation_Code_Select.f90 /\n",
  317. "\tTorqueDrag/TD_DrillingSubs/TD_StringConnectionModes.f90 /\n",
  318. "\tFluidFlow/kick/Gas_Kick_Calculator.f90 /\n",
  319. "\tSimulator.f90 /\n",
  320. "\tTorqueDrag/TD_MainCalculations.f90 /\n",
  321. "\tFluidFlow/Well_Pressure_Data_Transfer.f90 /\n",
  322. "\tSimulationCore2.f90 /\n",
  323. "\tEquipments/MudSystem/Plot_Final_Mud_Elements.f90 /\n",
  324. "\tFluidFlow/Fluid_Flow_Solver.f90 /\n"
  325. ]
  326. }
  327. ],
  328. "source": [
  329. "import re\n",
  330. "current_dir = 'C:\\\\Projects\\\\VSIM\\\\SimulationCore2\\\\'\n",
  331. "target_dir = 'x64\\\\Debug\\\\'\n",
  332. "depfilename = 'x64\\Debug\\SimulationCore2.dep'\n",
  333. "depfile = open(depfilename,'r')\n",
  334. "content = depfile.read()\n",
  335. "deptexts = content.split('\\n\\n')\n",
  336. "dependencies = {}\n",
  337. "moddeps = {}\n",
  338. "external_deps = []\n",
  339. "deptexts = [dt for dt in deptexts if dt!='']\n",
  340. "\n",
  341. "for depno,dept in enumerate(deptexts):\n",
  342. " headt,tailt = dept.split(': \\\\')\n",
  343. " headt,tailt = headt.strip(),tailt.strip()\n",
  344. " if headt.endswith('.mod'):\n",
  345. " ffile = tailt.replace(current_dir,'')\n",
  346. " mfiles = re.split(r' | \\\\\\n',headt)\n",
  347. " for mfile in mfiles:\n",
  348. " moddeps[mfile.strip()] = ffile\n",
  349. "for depno,dept in enumerate(deptexts):\n",
  350. " headt,tailt = dept.split(': \\\\')\n",
  351. " headt,tailt = headt.strip(),tailt.strip()\n",
  352. " if headt.endswith('.obj'):\n",
  353. " tails = re.split(r' \\\\\\n| ',tailt)\n",
  354. " tails = [t for t in tails if t!='']\n",
  355. " head = tails[0].replace(current_dir,'')\n",
  356. " deps = []\n",
  357. " for t in tails[1:]:\n",
  358. " mfile = t.replace(target_dir,'')\n",
  359. " # if 'json_' in mfile:\n",
  360. " # continue\n",
  361. " if mfile.strip() == '':\n",
  362. " print(f\"!!! t = '{t}', \")\n",
  363. " \n",
  364. " if mfile in moddeps:\n",
  365. " deps.append(moddeps[mfile])\n",
  366. " else:\n",
  367. " external_deps.append(mfile)\n",
  368. " # print(f\"{mfile} is not located\")\n",
  369. " if head in deps:\n",
  370. " deps.remove(head)\n",
  371. " # print(f\"making deps for {head}\")\n",
  372. " dependencies[head]=deps\n",
  373. "\n",
  374. "f = open('dependencies.txt','w')\n",
  375. "f.write(str(dependencies))\n",
  376. "f.close()\n",
  377. "\n",
  378. "from graphlib import TopologicalSorter\n",
  379. "ts = TopologicalSorter(dependencies)\n",
  380. "files = tuple(ts.static_order())\n",
  381. "for file in files:\n",
  382. " print(\"\\t\"+file.replace(\"\\\\\",\"/\")+\" /\")"
  383. ]
  384. },
  385. {
  386. "cell_type": "code",
  387. "execution_count": 12,
  388. "metadata": {},
  389. "outputs": [
  390. {
  391. "name": "stdout",
  392. "output_type": "stream",
  393. "text": [
  394. "CSharp/Equipments/ControlPanels/CBopControlPanel.f90\n",
  395. "CSharp/Equipments/ControlPanels/CChokeControlPanel.f90\n",
  396. "CSharp/Equipments/ControlPanels/CChokeManifold.f90\n",
  397. "CSharp/Equipments/ControlPanels/CDataDisplayConsole.f90\n",
  398. "CSharp/Equipments/ControlPanels/CDrillingConsole.f90\n",
  399. "CSharp/Equipments/ControlPanels/CEquipmentsConstants.f90\n",
  400. "CSharp/Equipments/ControlPanels/CHook.f90\n",
  401. "CSharp/Equipments/ControlPanels/CHookActions.f90\n",
  402. "CSharp/Equipments/ControlPanels/CStandPipeManifold.f90\n",
  403. "CSharp/Equipments/ControlPanels/CTopDrivePanel.f90\n"
  404. ]
  405. }
  406. ],
  407. "source": [
  408. "dir = 'CSharp/Equipments/ControlPanels'\n",
  409. "import os\n",
  410. "os.listdir(dir)\n",
  411. "for f in os.listdir(dir):\n",
  412. " if f.endswith('Variables.f90'):\n",
  413. " continue\n",
  414. " print(dir+'/'+f)"
  415. ]
  416. },
  417. {
  418. "cell_type": "code",
  419. "execution_count": 54,
  420. "metadata": {},
  421. "outputs": [
  422. {
  423. "data": {
  424. "text/plain": [
  425. "['FluidFlow\\\\Well_Pressure_Data_Transfer.f90',\n",
  426. " 'FluidFlow\\\\Well_Pressure_Data_Transfer.f90',\n",
  427. " 'FluidFlow\\\\kick\\\\Kick_VARIABLES.f90',\n",
  428. " 'CSharp\\\\BasicInputs\\\\MudProperties.f90',\n",
  429. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDataDisplayConsole.f90',\n",
  430. " 'CSharp\\\\ErrorLog\\\\CLog1.f90',\n",
  431. " 'CSharp\\\\ErrorLog\\\\CError.f90',\n",
  432. " 'CSharp\\\\Warnings\\\\CWarnings.f90',\n",
  433. " 'CSharp\\\\OperationScenarios\\\\Unity\\\\CUnityOutputs.f90',\n",
  434. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPumps.f90',\n",
  435. " 'CSharp\\\\Equipments\\\\MudPathFinding\\\\CArrangement.f90',\n",
  436. " 'CSharp\\\\Equipments\\\\MudPathFinding\\\\CStack.f90',\n",
  437. " 'CSharp\\\\Equipments\\\\MudPathFinding\\\\CManifolds.f90',\n",
  438. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellGeometry.f90',\n",
  439. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellElements.f90',\n",
  440. " 'TorqueDrag\\\\TD_Modules\\\\TD_StringConnectionData.f90',\n",
  441. " 'TorqueDrag\\\\TD_Modules\\\\TD_GeneralData.f90',\n",
  442. " 'TorqueDrag\\\\TD_Modules\\\\TD_DrillStem.f90',\n",
  443. " 'TorqueDrag\\\\TD_Modules\\\\GeoElements_FluidModule.f90',\n",
  444. " 'Rop\\\\sROP_Variables.f90',\n",
  445. " 'Rop\\\\sROP_Other_Variables.f90',\n",
  446. " 'FluidFlow\\\\Pressure_Display_VARIABLES.f90',\n",
  447. " 'FluidFlow\\\\Flow_Startup_VARIABLES.f90',\n",
  448. " 'Equipments\\\\Drawworks\\\\Drawworks_VARIABLES.f90',\n",
  449. " 'Equipments\\\\ChokeControl\\\\CHOKE_VARIABLES.f90',\n",
  450. " 'Equipments\\\\TopDrive\\\\TopDrive_VARIABLES.f90',\n",
  451. " 'Equipments\\\\RotaryTable\\\\RTable_VARIABLES.f90',\n",
  452. " 'Equipments\\\\Pumps\\\\Pumps_VARIABLES.f90',\n",
  453. " 'Equipments\\\\BopStack\\\\VARIABLES.f90',\n",
  454. " 'CSharp\\\\Warnings\\\\CWarningsVariables.f90',\n",
  455. " 'CSharp\\\\StudentStation\\\\CStudentStationVariables.f90',\n",
  456. " 'CSharp\\\\Problems\\\\CRotaryProblemsVariables.f90',\n",
  457. " 'CSharp\\\\Problems\\\\CPumpProblemsVariables.f90',\n",
  458. " 'CSharp\\\\Problems\\\\COtherProblemsVariables.f90',\n",
  459. " 'CSharp\\\\Problems\\\\CMudTreatmentProblemsVariables.f90',\n",
  460. " 'CSharp\\\\Problems\\\\CLostProblemsVariables.f90',\n",
  461. " 'CSharp\\\\Problems\\\\CKickProblemsVariables.f90',\n",
  462. " 'CSharp\\\\Problems\\\\CHoistingProblemsVariables.f90',\n",
  463. " 'CSharp\\\\Problems\\\\CGaugesProblemsVariables.f90',\n",
  464. " 'CSharp\\\\Problems\\\\CDrillStemProblemsVariables.f90',\n",
  465. " 'CSharp\\\\Problems\\\\CChokeProblemsVariables.f90',\n",
  466. " 'CSharp\\\\Problems\\\\CBopProblemsVariables.f90',\n",
  467. " 'CSharp\\\\Problems\\\\CProblemDifinition.f90',\n",
  468. " 'CSharp\\\\Problems\\\\CBitProblemsVariables.f90',\n",
  469. " 'CSharp\\\\OperationScenarios\\\\SoftwareInputsVariables.f90',\n",
  470. " 'CSharp\\\\OperationScenarios\\\\UnitySignals\\\\UnitySignalsVariables.f90',\n",
  471. " 'CSharp\\\\OperationScenarios\\\\Permissions\\\\PermissionsVariables.f90',\n",
  472. " 'CSharp\\\\OperationScenarios\\\\Notifications\\\\NotificationVariables.f90',\n",
  473. " 'CSharp\\\\Equipments\\\\Tanks\\\\CTanksVariables.f90',\n",
  474. " 'CSharp\\\\Equipments\\\\DrillWatch\\\\CDrillWatchVariables.f90',\n",
  475. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CTopDrivePanelVariables.f90',\n",
  476. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CStandPipeManifoldVariables.f90',\n",
  477. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CHookVariables.f90',\n",
  478. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDrillingConsoleVariables.f90',\n",
  479. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDataDisplayConsoleVariables.f90',\n",
  480. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeManifoldVariables.f90',\n",
  481. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeControlPanelVariables.f90',\n",
  482. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CBopControlPanelVariables.f90',\n",
  483. " 'CSharp\\\\BasicInputs\\\\CMudPropertiesVariables.f90',\n",
  484. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CWellSurveyDataVariables.f90',\n",
  485. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CPathGenerationVariables.f90',\n",
  486. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CCasingLinerChokeVariables.f90',\n",
  487. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CRigSizeVariables.f90',\n",
  488. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPumpsVariables.f90',\n",
  489. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPowerVariables.f90',\n",
  490. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CHoistingVariables.f90',\n",
  491. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CBopStackVariables.f90',\n",
  492. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CAccumulatorVariables.f90',\n",
  493. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CShoeVariables.f90',\n",
  494. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CReservoirVariables.f90',\n",
  495. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CFormationVariables.f90',\n",
  496. " 'CSharp\\\\BasicInputs\\\\Bha\\\\CStringConfigurationVariables.f90',\n",
  497. " 'CSharp\\\\OperationScenarios\\\\Common\\\\COperationScenariosVariables.f90',\n",
  498. " 'Simulation\\\\Constants.f90',\n",
  499. " 'Simulation\\\\SimulationVariables.f90',\n",
  500. " 'CSharp\\\\Common\\\\CIActionReference.f90',\n",
  501. " 'CSharp\\\\ErrorLog\\\\CLog4.f90',\n",
  502. " 'CSharp\\\\DownHole\\\\CDownHoleTypes.f90',\n",
  503. " 'CSharp\\\\DownHole\\\\CDownHoleVariables.f90',\n",
  504. " 'Equipments\\\\MudSystem\\\\MudSystem_Variables.f90',\n",
  505. " 'Equipments\\\\MudSystem\\\\MudSystem.f90',\n",
  506. " 'FluidFlow\\\\Pressure_Distribution_VARIABLES.f90',\n",
  507. " 'FluidFlow\\\\kick\\\\Gas_Kick_Calculator.f90',\n",
  508. " 'FluidFlow\\\\Well_Pressure_Data_Transfer.f90',\n",
  509. " 'CSharp\\\\ErrorLog\\\\CError.f90',\n",
  510. " 'FluidFlow\\\\kick\\\\Kick_VARIABLES.f90',\n",
  511. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellGeometry.f90',\n",
  512. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellElements.f90',\n",
  513. " 'TorqueDrag\\\\TD_Modules\\\\TD_StringConnectionData.f90',\n",
  514. " 'TorqueDrag\\\\TD_Modules\\\\TD_GeneralData.f90',\n",
  515. " 'TorqueDrag\\\\TD_Modules\\\\TD_DrillStem.f90',\n",
  516. " 'TorqueDrag\\\\TD_Modules\\\\GeoElements_FluidModule.f90',\n",
  517. " 'Rop\\\\sROP_Variables.f90',\n",
  518. " 'Rop\\\\sROP_Other_Variables.f90',\n",
  519. " 'FluidFlow\\\\Pressure_Display_VARIABLES.f90',\n",
  520. " 'FluidFlow\\\\Flow_Startup_VARIABLES.f90',\n",
  521. " 'Equipments\\\\Drawworks\\\\Drawworks_VARIABLES.f90',\n",
  522. " 'Equipments\\\\ChokeControl\\\\CHOKE_VARIABLES.f90',\n",
  523. " 'Equipments\\\\TopDrive\\\\TopDrive_VARIABLES.f90',\n",
  524. " 'Equipments\\\\RotaryTable\\\\RTable_VARIABLES.f90',\n",
  525. " 'Equipments\\\\Pumps\\\\Pumps_VARIABLES.f90',\n",
  526. " 'Equipments\\\\BopStack\\\\VARIABLES.f90',\n",
  527. " 'CSharp\\\\Warnings\\\\CWarningsVariables.f90',\n",
  528. " 'CSharp\\\\StudentStation\\\\CStudentStationVariables.f90',\n",
  529. " 'CSharp\\\\Problems\\\\CRotaryProblemsVariables.f90',\n",
  530. " 'CSharp\\\\Problems\\\\CPumpProblemsVariables.f90',\n",
  531. " 'CSharp\\\\Problems\\\\COtherProblemsVariables.f90',\n",
  532. " 'CSharp\\\\Problems\\\\CMudTreatmentProblemsVariables.f90',\n",
  533. " 'CSharp\\\\Problems\\\\CLostProblemsVariables.f90',\n",
  534. " 'CSharp\\\\Problems\\\\CKickProblemsVariables.f90',\n",
  535. " 'CSharp\\\\Problems\\\\CHoistingProblemsVariables.f90',\n",
  536. " 'CSharp\\\\Problems\\\\CGaugesProblemsVariables.f90',\n",
  537. " 'CSharp\\\\Problems\\\\CDrillStemProblemsVariables.f90',\n",
  538. " 'CSharp\\\\Problems\\\\CChokeProblemsVariables.f90',\n",
  539. " 'CSharp\\\\Problems\\\\CBopProblemsVariables.f90',\n",
  540. " 'CSharp\\\\Problems\\\\CProblemDifinition.f90',\n",
  541. " 'CSharp\\\\Problems\\\\CBitProblemsVariables.f90',\n",
  542. " 'CSharp\\\\OperationScenarios\\\\SoftwareInputsVariables.f90',\n",
  543. " 'CSharp\\\\OperationScenarios\\\\UnitySignals\\\\UnitySignalsVariables.f90',\n",
  544. " 'CSharp\\\\OperationScenarios\\\\Permissions\\\\PermissionsVariables.f90',\n",
  545. " 'CSharp\\\\OperationScenarios\\\\Notifications\\\\NotificationVariables.f90',\n",
  546. " 'CSharp\\\\Equipments\\\\Tanks\\\\CTanksVariables.f90',\n",
  547. " 'CSharp\\\\Equipments\\\\DrillWatch\\\\CDrillWatchVariables.f90',\n",
  548. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CTopDrivePanelVariables.f90',\n",
  549. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CStandPipeManifoldVariables.f90',\n",
  550. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CHookVariables.f90',\n",
  551. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDrillingConsoleVariables.f90',\n",
  552. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDataDisplayConsoleVariables.f90',\n",
  553. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeManifoldVariables.f90',\n",
  554. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeControlPanelVariables.f90',\n",
  555. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CBopControlPanelVariables.f90',\n",
  556. " 'CSharp\\\\BasicInputs\\\\CMudPropertiesVariables.f90',\n",
  557. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CWellSurveyDataVariables.f90',\n",
  558. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CPathGenerationVariables.f90',\n",
  559. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CCasingLinerChokeVariables.f90',\n",
  560. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CRigSizeVariables.f90',\n",
  561. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPumpsVariables.f90',\n",
  562. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPowerVariables.f90',\n",
  563. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CHoistingVariables.f90',\n",
  564. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CBopStackVariables.f90',\n",
  565. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CAccumulatorVariables.f90',\n",
  566. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CShoeVariables.f90',\n",
  567. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CReservoirVariables.f90',\n",
  568. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CFormationVariables.f90',\n",
  569. " 'CSharp\\\\BasicInputs\\\\Bha\\\\CStringConfigurationVariables.f90',\n",
  570. " 'CSharp\\\\OperationScenarios\\\\Common\\\\COperationScenariosVariables.f90',\n",
  571. " 'Simulation\\\\Constants.f90',\n",
  572. " 'Simulation\\\\SimulationVariables.f90',\n",
  573. " 'CSharp\\\\Common\\\\CIActionReference.f90',\n",
  574. " 'CSharp\\\\ErrorLog\\\\CLog4.f90',\n",
  575. " 'CSharp\\\\DownHole\\\\CDownHoleTypes.f90',\n",
  576. " 'CSharp\\\\DownHole\\\\CDownHoleVariables.f90',\n",
  577. " 'Equipments\\\\MudSystem\\\\MudSystem_Variables.f90',\n",
  578. " 'FluidFlow\\\\Pressure_Distribution_VARIABLES.f90',\n",
  579. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellGeometry.f90',\n",
  580. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellElements.f90',\n",
  581. " 'TorqueDrag\\\\TD_Modules\\\\TD_StringConnectionData.f90',\n",
  582. " 'TorqueDrag\\\\TD_Modules\\\\TD_GeneralData.f90',\n",
  583. " 'TorqueDrag\\\\TD_Modules\\\\TD_DrillStem.f90',\n",
  584. " 'TorqueDrag\\\\TD_Modules\\\\GeoElements_FluidModule.f90',\n",
  585. " 'Rop\\\\sROP_Variables.f90',\n",
  586. " 'Rop\\\\sROP_Other_Variables.f90',\n",
  587. " 'FluidFlow\\\\Pressure_Distribution_VARIABLES.f90',\n",
  588. " 'FluidFlow\\\\Pressure_Display_VARIABLES.f90',\n",
  589. " 'FluidFlow\\\\Flow_Startup_VARIABLES.f90',\n",
  590. " 'Equipments\\\\Drawworks\\\\Drawworks_VARIABLES.f90',\n",
  591. " 'Equipments\\\\ChokeControl\\\\CHOKE_VARIABLES.f90',\n",
  592. " 'Equipments\\\\TopDrive\\\\TopDrive_VARIABLES.f90',\n",
  593. " 'Equipments\\\\RotaryTable\\\\RTable_VARIABLES.f90',\n",
  594. " 'Equipments\\\\Pumps\\\\Pumps_VARIABLES.f90',\n",
  595. " 'Equipments\\\\BopStack\\\\VARIABLES.f90',\n",
  596. " 'CSharp\\\\Warnings\\\\CWarningsVariables.f90',\n",
  597. " 'CSharp\\\\StudentStation\\\\CStudentStationVariables.f90',\n",
  598. " 'CSharp\\\\Problems\\\\CRotaryProblemsVariables.f90',\n",
  599. " 'CSharp\\\\Problems\\\\CPumpProblemsVariables.f90',\n",
  600. " 'CSharp\\\\Problems\\\\COtherProblemsVariables.f90',\n",
  601. " 'CSharp\\\\Problems\\\\CMudTreatmentProblemsVariables.f90',\n",
  602. " 'CSharp\\\\Problems\\\\CLostProblemsVariables.f90',\n",
  603. " 'CSharp\\\\Problems\\\\CKickProblemsVariables.f90',\n",
  604. " 'CSharp\\\\Problems\\\\CHoistingProblemsVariables.f90',\n",
  605. " 'CSharp\\\\Problems\\\\CGaugesProblemsVariables.f90',\n",
  606. " 'CSharp\\\\Problems\\\\CDrillStemProblemsVariables.f90',\n",
  607. " 'CSharp\\\\Problems\\\\CChokeProblemsVariables.f90',\n",
  608. " 'CSharp\\\\Problems\\\\CBopProblemsVariables.f90',\n",
  609. " 'CSharp\\\\Problems\\\\CProblemDifinition.f90',\n",
  610. " 'CSharp\\\\Problems\\\\CBitProblemsVariables.f90',\n",
  611. " 'CSharp\\\\OperationScenarios\\\\SoftwareInputsVariables.f90',\n",
  612. " 'CSharp\\\\OperationScenarios\\\\UnitySignals\\\\UnitySignalsVariables.f90',\n",
  613. " 'CSharp\\\\OperationScenarios\\\\Permissions\\\\PermissionsVariables.f90',\n",
  614. " 'CSharp\\\\OperationScenarios\\\\Notifications\\\\NotificationVariables.f90',\n",
  615. " 'CSharp\\\\Equipments\\\\Tanks\\\\CTanksVariables.f90',\n",
  616. " 'CSharp\\\\Equipments\\\\DrillWatch\\\\CDrillWatchVariables.f90',\n",
  617. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CTopDrivePanelVariables.f90',\n",
  618. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CStandPipeManifoldVariables.f90',\n",
  619. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CHookVariables.f90',\n",
  620. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDrillingConsoleVariables.f90',\n",
  621. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDataDisplayConsoleVariables.f90',\n",
  622. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeManifoldVariables.f90',\n",
  623. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeControlPanelVariables.f90',\n",
  624. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CBopControlPanelVariables.f90',\n",
  625. " 'CSharp\\\\BasicInputs\\\\CMudPropertiesVariables.f90',\n",
  626. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CWellSurveyDataVariables.f90',\n",
  627. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CPathGenerationVariables.f90',\n",
  628. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CCasingLinerChokeVariables.f90',\n",
  629. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CRigSizeVariables.f90',\n",
  630. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPumpsVariables.f90',\n",
  631. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPowerVariables.f90',\n",
  632. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CHoistingVariables.f90',\n",
  633. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CBopStackVariables.f90',\n",
  634. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CAccumulatorVariables.f90',\n",
  635. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CShoeVariables.f90',\n",
  636. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CReservoirVariables.f90',\n",
  637. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CFormationVariables.f90',\n",
  638. " 'CSharp\\\\BasicInputs\\\\Bha\\\\CStringConfigurationVariables.f90',\n",
  639. " 'CSharp\\\\OperationScenarios\\\\Common\\\\COperationScenariosVariables.f90',\n",
  640. " 'Simulation\\\\Constants.f90',\n",
  641. " 'Simulation\\\\SimulationVariables.f90',\n",
  642. " 'CSharp\\\\Common\\\\CIActionReference.f90',\n",
  643. " 'CSharp\\\\ErrorLog\\\\CLog4.f90',\n",
  644. " 'CSharp\\\\DownHole\\\\CDownHoleTypes.f90',\n",
  645. " 'CSharp\\\\DownHole\\\\CDownHoleVariables.f90',\n",
  646. " 'Equipments\\\\MudSystem\\\\MudSystem_Variables.f90',\n",
  647. " 'FluidFlow\\\\kick\\\\Kick_VARIABLES.f90',\n",
  648. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellGeometry.f90',\n",
  649. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellElements.f90',\n",
  650. " 'TorqueDrag\\\\TD_Modules\\\\TD_StringConnectionData.f90',\n",
  651. " 'TorqueDrag\\\\TD_Modules\\\\TD_GeneralData.f90',\n",
  652. " 'TorqueDrag\\\\TD_Modules\\\\TD_DrillStem.f90',\n",
  653. " 'TorqueDrag\\\\TD_Modules\\\\GeoElements_FluidModule.f90',\n",
  654. " 'Rop\\\\sROP_Variables.f90',\n",
  655. " 'Rop\\\\sROP_Other_Variables.f90',\n",
  656. " 'FluidFlow\\\\Pressure_Distribution_VARIABLES.f90',\n",
  657. " 'FluidFlow\\\\Pressure_Display_VARIABLES.f90',\n",
  658. " 'FluidFlow\\\\Flow_Startup_VARIABLES.f90',\n",
  659. " 'Equipments\\\\Drawworks\\\\Drawworks_VARIABLES.f90',\n",
  660. " 'Equipments\\\\ChokeControl\\\\CHOKE_VARIABLES.f90',\n",
  661. " 'Equipments\\\\TopDrive\\\\TopDrive_VARIABLES.f90',\n",
  662. " 'Equipments\\\\RotaryTable\\\\RTable_VARIABLES.f90',\n",
  663. " 'Equipments\\\\Pumps\\\\Pumps_VARIABLES.f90',\n",
  664. " 'Equipments\\\\BopStack\\\\VARIABLES.f90',\n",
  665. " 'CSharp\\\\Warnings\\\\CWarningsVariables.f90',\n",
  666. " 'CSharp\\\\StudentStation\\\\CStudentStationVariables.f90',\n",
  667. " 'CSharp\\\\Problems\\\\CRotaryProblemsVariables.f90',\n",
  668. " 'CSharp\\\\Problems\\\\CPumpProblemsVariables.f90',\n",
  669. " 'CSharp\\\\Problems\\\\COtherProblemsVariables.f90',\n",
  670. " 'CSharp\\\\Problems\\\\CMudTreatmentProblemsVariables.f90',\n",
  671. " 'CSharp\\\\Problems\\\\CLostProblemsVariables.f90',\n",
  672. " 'CSharp\\\\Problems\\\\CKickProblemsVariables.f90',\n",
  673. " 'CSharp\\\\Problems\\\\CHoistingProblemsVariables.f90',\n",
  674. " 'CSharp\\\\Problems\\\\CGaugesProblemsVariables.f90',\n",
  675. " 'CSharp\\\\Problems\\\\CDrillStemProblemsVariables.f90',\n",
  676. " 'CSharp\\\\Problems\\\\CChokeProblemsVariables.f90',\n",
  677. " 'CSharp\\\\Problems\\\\CBopProblemsVariables.f90',\n",
  678. " 'CSharp\\\\Problems\\\\CProblemDifinition.f90',\n",
  679. " 'CSharp\\\\Problems\\\\CBitProblemsVariables.f90',\n",
  680. " 'CSharp\\\\OperationScenarios\\\\SoftwareInputsVariables.f90',\n",
  681. " 'CSharp\\\\OperationScenarios\\\\UnitySignals\\\\UnitySignalsVariables.f90',\n",
  682. " 'CSharp\\\\OperationScenarios\\\\Permissions\\\\PermissionsVariables.f90',\n",
  683. " 'CSharp\\\\OperationScenarios\\\\Notifications\\\\NotificationVariables.f90',\n",
  684. " 'CSharp\\\\Equipments\\\\Tanks\\\\CTanksVariables.f90',\n",
  685. " 'CSharp\\\\Equipments\\\\DrillWatch\\\\CDrillWatchVariables.f90',\n",
  686. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CTopDrivePanelVariables.f90',\n",
  687. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CStandPipeManifoldVariables.f90',\n",
  688. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CHookVariables.f90',\n",
  689. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDrillingConsoleVariables.f90',\n",
  690. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDataDisplayConsoleVariables.f90',\n",
  691. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeManifoldVariables.f90',\n",
  692. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeControlPanelVariables.f90',\n",
  693. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CBopControlPanelVariables.f90',\n",
  694. " 'CSharp\\\\BasicInputs\\\\CMudPropertiesVariables.f90',\n",
  695. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CWellSurveyDataVariables.f90',\n",
  696. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CPathGenerationVariables.f90',\n",
  697. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CCasingLinerChokeVariables.f90',\n",
  698. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CRigSizeVariables.f90',\n",
  699. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPumpsVariables.f90',\n",
  700. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPowerVariables.f90',\n",
  701. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CHoistingVariables.f90',\n",
  702. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CBopStackVariables.f90',\n",
  703. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CAccumulatorVariables.f90',\n",
  704. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CShoeVariables.f90',\n",
  705. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CReservoirVariables.f90',\n",
  706. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CFormationVariables.f90',\n",
  707. " 'CSharp\\\\BasicInputs\\\\Bha\\\\CStringConfigurationVariables.f90',\n",
  708. " 'CSharp\\\\OperationScenarios\\\\Common\\\\COperationScenariosVariables.f90',\n",
  709. " 'Simulation\\\\Constants.f90',\n",
  710. " 'Simulation\\\\SimulationVariables.f90',\n",
  711. " 'CSharp\\\\Common\\\\CIActionReference.f90',\n",
  712. " 'CSharp\\\\ErrorLog\\\\CLog4.f90',\n",
  713. " 'CSharp\\\\DownHole\\\\CDownHoleTypes.f90',\n",
  714. " 'CSharp\\\\DownHole\\\\CDownHoleVariables.f90',\n",
  715. " 'Equipments\\\\MudSystem\\\\MudSystem_Variables.f90',\n",
  716. " 'FluidFlow\\\\kick\\\\Kick_VARIABLES.f90',\n",
  717. " 'CSharp\\\\ErrorLog\\\\CError.f90',\n",
  718. " 'FluidFlow\\\\kick\\\\Kick_VARIABLES.f90',\n",
  719. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellGeometry.f90',\n",
  720. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellElements.f90',\n",
  721. " 'TorqueDrag\\\\TD_Modules\\\\TD_StringConnectionData.f90',\n",
  722. " 'TorqueDrag\\\\TD_Modules\\\\TD_GeneralData.f90',\n",
  723. " 'TorqueDrag\\\\TD_Modules\\\\TD_DrillStem.f90',\n",
  724. " 'TorqueDrag\\\\TD_Modules\\\\GeoElements_FluidModule.f90',\n",
  725. " 'Rop\\\\sROP_Variables.f90',\n",
  726. " 'Rop\\\\sROP_Other_Variables.f90',\n",
  727. " 'FluidFlow\\\\Pressure_Display_VARIABLES.f90',\n",
  728. " 'FluidFlow\\\\Flow_Startup_VARIABLES.f90',\n",
  729. " 'Equipments\\\\Drawworks\\\\Drawworks_VARIABLES.f90',\n",
  730. " 'Equipments\\\\ChokeControl\\\\CHOKE_VARIABLES.f90',\n",
  731. " 'Equipments\\\\TopDrive\\\\TopDrive_VARIABLES.f90',\n",
  732. " 'Equipments\\\\RotaryTable\\\\RTable_VARIABLES.f90',\n",
  733. " 'Equipments\\\\Pumps\\\\Pumps_VARIABLES.f90',\n",
  734. " 'Equipments\\\\BopStack\\\\VARIABLES.f90',\n",
  735. " 'CSharp\\\\Warnings\\\\CWarningsVariables.f90',\n",
  736. " 'CSharp\\\\StudentStation\\\\CStudentStationVariables.f90',\n",
  737. " 'CSharp\\\\Problems\\\\CRotaryProblemsVariables.f90',\n",
  738. " 'CSharp\\\\Problems\\\\CPumpProblemsVariables.f90',\n",
  739. " 'CSharp\\\\Problems\\\\COtherProblemsVariables.f90',\n",
  740. " 'CSharp\\\\Problems\\\\CMudTreatmentProblemsVariables.f90',\n",
  741. " 'CSharp\\\\Problems\\\\CLostProblemsVariables.f90',\n",
  742. " 'CSharp\\\\Problems\\\\CKickProblemsVariables.f90',\n",
  743. " 'CSharp\\\\Problems\\\\CHoistingProblemsVariables.f90',\n",
  744. " 'CSharp\\\\Problems\\\\CGaugesProblemsVariables.f90',\n",
  745. " 'CSharp\\\\Problems\\\\CDrillStemProblemsVariables.f90',\n",
  746. " 'CSharp\\\\Problems\\\\CChokeProblemsVariables.f90',\n",
  747. " 'CSharp\\\\Problems\\\\CBopProblemsVariables.f90',\n",
  748. " 'CSharp\\\\Problems\\\\CProblemDifinition.f90',\n",
  749. " 'CSharp\\\\Problems\\\\CBitProblemsVariables.f90',\n",
  750. " 'CSharp\\\\OperationScenarios\\\\SoftwareInputsVariables.f90',\n",
  751. " 'CSharp\\\\OperationScenarios\\\\UnitySignals\\\\UnitySignalsVariables.f90',\n",
  752. " 'CSharp\\\\OperationScenarios\\\\Permissions\\\\PermissionsVariables.f90',\n",
  753. " 'CSharp\\\\OperationScenarios\\\\Notifications\\\\NotificationVariables.f90',\n",
  754. " 'CSharp\\\\Equipments\\\\Tanks\\\\CTanksVariables.f90',\n",
  755. " 'CSharp\\\\Equipments\\\\DrillWatch\\\\CDrillWatchVariables.f90',\n",
  756. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CTopDrivePanelVariables.f90',\n",
  757. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CStandPipeManifoldVariables.f90',\n",
  758. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CHookVariables.f90',\n",
  759. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDrillingConsoleVariables.f90',\n",
  760. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDataDisplayConsoleVariables.f90',\n",
  761. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeManifoldVariables.f90',\n",
  762. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeControlPanelVariables.f90',\n",
  763. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CBopControlPanelVariables.f90',\n",
  764. " 'CSharp\\\\BasicInputs\\\\CMudPropertiesVariables.f90',\n",
  765. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CWellSurveyDataVariables.f90',\n",
  766. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CPathGenerationVariables.f90',\n",
  767. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CCasingLinerChokeVariables.f90',\n",
  768. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CRigSizeVariables.f90',\n",
  769. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPumpsVariables.f90',\n",
  770. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPowerVariables.f90',\n",
  771. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CHoistingVariables.f90',\n",
  772. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CBopStackVariables.f90',\n",
  773. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CAccumulatorVariables.f90',\n",
  774. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CShoeVariables.f90',\n",
  775. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CReservoirVariables.f90',\n",
  776. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CFormationVariables.f90',\n",
  777. " 'CSharp\\\\BasicInputs\\\\Bha\\\\CStringConfigurationVariables.f90',\n",
  778. " 'CSharp\\\\OperationScenarios\\\\Common\\\\COperationScenariosVariables.f90',\n",
  779. " 'Simulation\\\\Constants.f90',\n",
  780. " 'Simulation\\\\SimulationVariables.f90',\n",
  781. " 'CSharp\\\\Common\\\\CIActionReference.f90',\n",
  782. " 'CSharp\\\\ErrorLog\\\\CLog4.f90',\n",
  783. " 'CSharp\\\\DownHole\\\\CDownHoleTypes.f90',\n",
  784. " 'CSharp\\\\DownHole\\\\CDownHoleVariables.f90',\n",
  785. " 'Equipments\\\\MudSystem\\\\MudSystem_Variables.f90',\n",
  786. " 'FluidFlow\\\\Pressure_Distribution_VARIABLES.f90',\n",
  787. " 'FluidFlow\\\\kick\\\\Kick_VARIABLES.f90',\n",
  788. " 'CSharp\\\\BasicInputs\\\\MudProperties.f90',\n",
  789. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDataDisplayConsole.f90',\n",
  790. " 'CSharp\\\\ErrorLog\\\\CLog1.f90',\n",
  791. " 'CSharp\\\\ErrorLog\\\\CError.f90',\n",
  792. " 'CSharp\\\\Warnings\\\\CWarnings.f90',\n",
  793. " 'CSharp\\\\OperationScenarios\\\\Unity\\\\CUnityOutputs.f90',\n",
  794. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPumps.f90',\n",
  795. " 'CSharp\\\\Equipments\\\\MudPathFinding\\\\CArrangement.f90',\n",
  796. " 'CSharp\\\\Equipments\\\\MudPathFinding\\\\CStack.f90',\n",
  797. " 'CSharp\\\\Equipments\\\\MudPathFinding\\\\CManifolds.f90',\n",
  798. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellGeometry.f90',\n",
  799. " 'TorqueDrag\\\\TD_Modules\\\\TD_WellElements.f90',\n",
  800. " 'TorqueDrag\\\\TD_Modules\\\\TD_StringConnectionData.f90',\n",
  801. " 'TorqueDrag\\\\TD_Modules\\\\TD_GeneralData.f90',\n",
  802. " 'TorqueDrag\\\\TD_Modules\\\\TD_DrillStem.f90',\n",
  803. " 'TorqueDrag\\\\TD_Modules\\\\GeoElements_FluidModule.f90',\n",
  804. " 'Rop\\\\sROP_Variables.f90',\n",
  805. " 'Rop\\\\sROP_Other_Variables.f90',\n",
  806. " 'FluidFlow\\\\Pressure_Display_VARIABLES.f90',\n",
  807. " 'FluidFlow\\\\Flow_Startup_VARIABLES.f90',\n",
  808. " 'Equipments\\\\Drawworks\\\\Drawworks_VARIABLES.f90',\n",
  809. " 'Equipments\\\\ChokeControl\\\\CHOKE_VARIABLES.f90',\n",
  810. " 'Equipments\\\\TopDrive\\\\TopDrive_VARIABLES.f90',\n",
  811. " 'Equipments\\\\RotaryTable\\\\RTable_VARIABLES.f90',\n",
  812. " 'Equipments\\\\Pumps\\\\Pumps_VARIABLES.f90',\n",
  813. " 'Equipments\\\\BopStack\\\\VARIABLES.f90',\n",
  814. " 'CSharp\\\\Warnings\\\\CWarningsVariables.f90',\n",
  815. " 'CSharp\\\\StudentStation\\\\CStudentStationVariables.f90',\n",
  816. " 'CSharp\\\\Problems\\\\CRotaryProblemsVariables.f90',\n",
  817. " 'CSharp\\\\Problems\\\\CPumpProblemsVariables.f90',\n",
  818. " 'CSharp\\\\Problems\\\\COtherProblemsVariables.f90',\n",
  819. " 'CSharp\\\\Problems\\\\CMudTreatmentProblemsVariables.f90',\n",
  820. " 'CSharp\\\\Problems\\\\CLostProblemsVariables.f90',\n",
  821. " 'CSharp\\\\Problems\\\\CKickProblemsVariables.f90',\n",
  822. " 'CSharp\\\\Problems\\\\CHoistingProblemsVariables.f90',\n",
  823. " 'CSharp\\\\Problems\\\\CGaugesProblemsVariables.f90',\n",
  824. " 'CSharp\\\\Problems\\\\CDrillStemProblemsVariables.f90',\n",
  825. " 'CSharp\\\\Problems\\\\CChokeProblemsVariables.f90',\n",
  826. " 'CSharp\\\\Problems\\\\CBopProblemsVariables.f90',\n",
  827. " 'CSharp\\\\Problems\\\\CProblemDifinition.f90',\n",
  828. " 'CSharp\\\\Problems\\\\CBitProblemsVariables.f90',\n",
  829. " 'CSharp\\\\OperationScenarios\\\\SoftwareInputsVariables.f90',\n",
  830. " 'CSharp\\\\OperationScenarios\\\\UnitySignals\\\\UnitySignalsVariables.f90',\n",
  831. " 'CSharp\\\\OperationScenarios\\\\Permissions\\\\PermissionsVariables.f90',\n",
  832. " 'CSharp\\\\OperationScenarios\\\\Notifications\\\\NotificationVariables.f90',\n",
  833. " 'CSharp\\\\Equipments\\\\Tanks\\\\CTanksVariables.f90',\n",
  834. " 'CSharp\\\\Equipments\\\\DrillWatch\\\\CDrillWatchVariables.f90',\n",
  835. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CTopDrivePanelVariables.f90',\n",
  836. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CStandPipeManifoldVariables.f90',\n",
  837. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CHookVariables.f90',\n",
  838. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDrillingConsoleVariables.f90',\n",
  839. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CDataDisplayConsoleVariables.f90',\n",
  840. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeManifoldVariables.f90',\n",
  841. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CChokeControlPanelVariables.f90',\n",
  842. " 'CSharp\\\\Equipments\\\\ControlPanels\\\\CBopControlPanelVariables.f90',\n",
  843. " 'CSharp\\\\BasicInputs\\\\CMudPropertiesVariables.f90',\n",
  844. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CWellSurveyDataVariables.f90',\n",
  845. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CPathGenerationVariables.f90',\n",
  846. " 'CSharp\\\\BasicInputs\\\\WellProfile\\\\CCasingLinerChokeVariables.f90',\n",
  847. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CRigSizeVariables.f90',\n",
  848. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPumpsVariables.f90',\n",
  849. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CPowerVariables.f90',\n",
  850. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CHoistingVariables.f90',\n",
  851. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CBopStackVariables.f90',\n",
  852. " 'CSharp\\\\BasicInputs\\\\RigSpecifications\\\\CAccumulatorVariables.f90',\n",
  853. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CShoeVariables.f90',\n",
  854. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CReservoirVariables.f90',\n",
  855. " 'CSharp\\\\BasicInputs\\\\Geology\\\\CFormationVariables.f90',\n",
  856. " 'CSharp\\\\BasicInputs\\\\Bha\\\\CStringConfigurationVariables.f90',\n",
  857. " 'CSharp\\\\OperationScenarios\\\\Common\\\\COperationScenariosVariables.f90',\n",
  858. " 'Simulation\\\\Constants.f90',\n",
  859. " 'Simulation\\\\SimulationVariables.f90',\n",
  860. " 'CSharp\\\\Common\\\\CIActionReference.f90',\n",
  861. " 'CSharp\\\\ErrorLog\\\\CLog4.f90',\n",
  862. " 'CSharp\\\\DownHole\\\\CDownHoleTypes.f90',\n",
  863. " 'CSharp\\\\DownHole\\\\CDownHoleVariables.f90',\n",
  864. " 'Equipments\\\\MudSystem\\\\MudSystem_Variables.f90',\n",
  865. " 'Equipments\\\\MudSystem\\\\MudSystem.f90',\n",
  866. " 'FluidFlow\\\\Pressure_Distribution_VARIABLES.f90']"
  867. ]
  868. },
  869. "execution_count": 54,
  870. "metadata": {},
  871. "output_type": "execute_result"
  872. }
  873. ],
  874. "source": [
  875. "dependencies['FluidFlow\\\\Well_Pressure_Data_Transfer.f90']"
  876. ]
  877. },
  878. {
  879. "cell_type": "code",
  880. "execution_count": 12,
  881. "metadata": {},
  882. "outputs": [
  883. {
  884. "name": "stdout",
  885. "output_type": "stream",
  886. "text": [
  887. "assets={'USDT': {'Total': '5858.36917324', 'Free': 3879.35}, 'BUSD': {'Total': '-156.01984572', 'Free': 3877.23}}\n"
  888. ]
  889. }
  890. ],
  891. "source": []
  892. },
  893. {
  894. "attachments": {},
  895. "cell_type": "markdown",
  896. "metadata": {},
  897. "source": [
  898. "# FromJson"
  899. ]
  900. },
  901. {
  902. "cell_type": "code",
  903. "execution_count": 4,
  904. "metadata": {},
  905. "outputs": [
  906. {
  907. "name": "stdout",
  908. "output_type": "stream",
  909. "text": [
  910. "\t\tcall json%get('Equipments.Drilling.AssignmentSwitch',data%Equipments%DrillingConsole%AssignmentSwitch,found)\n",
  911. "\t\tif ( .not. found ) print *,\"Not found: AssignmentSwitch\" \n",
  912. "\t\tcall json%get('Equipments.Drilling.EmergencySwitch',data%Equipments%DrillingConsole%EmergencySwitch,found)\n",
  913. "\t\tif ( .not. found ) print *,\"Not found: EmergencySwitch\" \n",
  914. "\t\tcall json%get('Equipments.Drilling.RTTorqueLimitKnob',data%Equipments%DrillingConsole%RTTorqueLimitKnob,found)\n",
  915. "\t\tif ( .not. found ) print *,\"Not found: RTTorqueLimitKnob\" \n",
  916. "\t\tcall json%get('Equipments.Drilling.MP1CPSwitchI',data%Equipments%DrillingConsole%MP1CPSwitchI,found)\n",
  917. "\t\tif ( .not. found ) print *,\"Not found: MP1CPSwitchI\" \n",
  918. "\t\tcall json%get('Equipments.Drilling.MP1CPSwitchT',data%Equipments%DrillingConsole%MP1CPSwitchT,found)\n",
  919. "\t\tif ( .not. found ) print *,\"Not found: MP1CPSwitchT\" \n",
  920. "\t\tcall json%get('Equipments.Drilling.MP1CPSwitch',data%Equipments%DrillingConsole%MP1CPSwitch,found)\n",
  921. "\t\tif ( .not. found ) print *,\"Not found: MP1CPSwitch\" \n",
  922. "\t\tcall json%get('Equipments.Drilling.MP1ThrottleUpdate',data%Equipments%DrillingConsole%MP1ThrottleUpdate,found)\n",
  923. "\t\tif ( .not. found ) print *,\"Not found: MP1ThrottleUpdate\" \n",
  924. "\t\tcall json%get('Equipments.Drilling.MP1Throttle',data%Equipments%DrillingConsole%MP1Throttle,found)\n",
  925. "\t\tif ( .not. found ) print *,\"Not found: MP1Throttle\" \n",
  926. "\t\tcall json%get('Equipments.Drilling.MP2SwitchI',data%Equipments%DrillingConsole%MP2SwitchI,found)\n",
  927. "\t\tif ( .not. found ) print *,\"Not found: MP2SwitchI\" \n",
  928. "\t\tcall json%get('Equipments.Drilling.MP2SwitchT',data%Equipments%DrillingConsole%MP2SwitchT,found)\n",
  929. "\t\tif ( .not. found ) print *,\"Not found: MP2SwitchT\" \n",
  930. "\t\tcall json%get('Equipments.Drilling.MP2Switch',data%Equipments%DrillingConsole%MP2Switch,found)\n",
  931. "\t\tif ( .not. found ) print *,\"Not found: MP2Switch\" \n",
  932. "\t\tcall json%get('Equipments.Drilling.MP2ThrottleUpdate',data%Equipments%DrillingConsole%MP2ThrottleUpdate,found)\n",
  933. "\t\tif ( .not. found ) print *,\"Not found: MP2ThrottleUpdate\" \n",
  934. "\t\tcall json%get('Equipments.Drilling.MP2Throttle',data%Equipments%DrillingConsole%MP2Throttle,found)\n",
  935. "\t\tif ( .not. found ) print *,\"Not found: MP2Throttle\" \n",
  936. "\t\tcall json%get('Equipments.Drilling.DWSwitch',data%Equipments%DrillingConsole%DWSwitch,found)\n",
  937. "\t\tif ( .not. found ) print *,\"Not found: DWSwitch\" \n",
  938. "\t\tcall json%get('Equipments.Drilling.DWThrottle',data%Equipments%DrillingConsole%DWThrottle,found)\n",
  939. "\t\tif ( .not. found ) print *,\"Not found: DWThrottle\" \n",
  940. "\t\tcall json%get('Equipments.Drilling.RTSwitch',data%Equipments%DrillingConsole%RTSwitch,found)\n",
  941. "\t\tif ( .not. found ) print *,\"Not found: RTSwitch\" \n",
  942. "\t\tcall json%get('Equipments.Drilling.RTThrottle',data%Equipments%DrillingConsole%RTThrottle,found)\n",
  943. "\t\tif ( .not. found ) print *,\"Not found: RTThrottle\" \n",
  944. "\t\tcall json%get('Equipments.Drilling.DWBreak',data%Equipments%DrillingConsole%DWBreak,found)\n",
  945. "\t\tif ( .not. found ) print *,\"Not found: DWBreak\" \n",
  946. "\t\tcall json%get('Equipments.Drilling.PreviousDWBreak',data%Equipments%DrillingConsole%PreviousDWBreak,found)\n",
  947. "\t\tif ( .not. found ) print *,\"Not found: PreviousDWBreak\" \n",
  948. "\t\tcall json%get('Equipments.Drilling.ForceBreak',data%Equipments%DrillingConsole%ForceBreak,found)\n",
  949. "\t\tif ( .not. found ) print *,\"Not found: ForceBreak\" \n",
  950. "\t\tcall json%get('Equipments.Drilling.DWAcceleretor',data%Equipments%DrillingConsole%DWAcceleretor,found)\n",
  951. "\t\tif ( .not. found ) print *,\"Not found: DWAcceleretor\" \n",
  952. "\t\tcall json%get('Equipments.Drilling.DWTransmisionLever',data%Equipments%DrillingConsole%DWTransmisionLever,found)\n",
  953. "\t\tif ( .not. found ) print *,\"Not found: DWTransmisionLever\" \n",
  954. "\t\tcall json%get('Equipments.Drilling.DWPowerLever',data%Equipments%DrillingConsole%DWPowerLever,found)\n",
  955. "\t\tif ( .not. found ) print *,\"Not found: DWPowerLever\" \n",
  956. "\t\tcall json%get('Equipments.Drilling.TongLever',data%Equipments%DrillingConsole%TongLever,found)\n",
  957. "\t\tif ( .not. found ) print *,\"Not found: TongLever\" \n",
  958. "\t\tcall json%get('Equipments.Drilling.RTTransmissionLever',data%Equipments%DrillingConsole%RTTransmissionLever,found)\n",
  959. "\t\tif ( .not. found ) print *,\"Not found: RTTransmissionLever\" \n",
  960. "\t\tcall json%get('Equipments.Drilling.DWClutchLever',data%Equipments%DrillingConsole%DWClutchLever,found)\n",
  961. "\t\tif ( .not. found ) print *,\"Not found: DWClutchLever\" \n",
  962. "\t\tcall json%get('Equipments.Drilling.EddyBreakLever',data%Equipments%DrillingConsole%EddyBreakLever,found)\n",
  963. "\t\tif ( .not. found ) print *,\"Not found: EddyBreakLever\" \n",
  964. "\t\tcall json%get('Equipments.Drilling.AutoDW',data%Equipments%DrillingConsole%AutoDW,found)\n",
  965. "\t\tif ( .not. found ) print *,\"Not found: AutoDW\" \n",
  966. "\t\tcall json%get('Equipments.Drilling.GEN1',data%Equipments%DrillingConsole%GEN1,found)\n",
  967. "\t\tif ( .not. found ) print *,\"Not found: GEN1\" \n",
  968. "\t\tcall json%get('Equipments.Drilling.GEN2',data%Equipments%DrillingConsole%GEN2,found)\n",
  969. "\t\tif ( .not. found ) print *,\"Not found: GEN2\" \n",
  970. "\t\tcall json%get('Equipments.Drilling.GEN3',data%Equipments%DrillingConsole%GEN3,found)\n",
  971. "\t\tif ( .not. found ) print *,\"Not found: GEN3\" \n",
  972. "\t\tcall json%get('Equipments.Drilling.GEN4',data%Equipments%DrillingConsole%GEN4,found)\n",
  973. "\t\tif ( .not. found ) print *,\"Not found: GEN4\" \n",
  974. "\t\tcall json%get('Equipments.Drilling.Permission_OpenKellyCock',data%Equipments%DrillingConsole%Permission_OpenKellyCock,found)\n",
  975. "\t\tif ( .not. found ) print *,\"Not found: Permission_OpenKellyCock\" \n",
  976. "\t\tcall json%get('Equipments.Drilling.OpenKellyCock',data%Equipments%DrillingConsole%OpenKellyCock,found)\n",
  977. "\t\tif ( .not. found ) print *,\"Not found: OpenKellyCock\" \n",
  978. "\t\tcall json%get('Equipments.Drilling.Permission_CloseKellyCock',data%Equipments%DrillingConsole%Permission_CloseKellyCock,found)\n",
  979. "\t\tif ( .not. found ) print *,\"Not found: Permission_CloseKellyCock\" \n",
  980. "\t\tcall json%get('Equipments.Drilling.CloseKellyCock',data%Equipments%DrillingConsole%CloseKellyCock,found)\n",
  981. "\t\tif ( .not. found ) print *,\"Not found: CloseKellyCock\" \n",
  982. "\t\tcall json%get('Equipments.Drilling.Permission_OpenSafetyValve',data%Equipments%DrillingConsole%Permission_OpenSafetyValve,found)\n",
  983. "\t\tif ( .not. found ) print *,\"Not found: Permission_OpenSafetyValve\" \n",
  984. "\t\tcall json%get('Equipments.Drilling.OpenSafetyValve',data%Equipments%DrillingConsole%OpenSafetyValve,found)\n",
  985. "\t\tif ( .not. found ) print *,\"Not found: OpenSafetyValve\" \n",
  986. "\t\tcall json%get('Equipments.Drilling.Permission_CloseSafetyValve',data%Equipments%DrillingConsole%Permission_CloseSafetyValve,found)\n",
  987. "\t\tif ( .not. found ) print *,\"Not found: Permission_CloseSafetyValve\" \n",
  988. "\t\tcall json%get('Equipments.Drilling.CloseSafetyValve',data%Equipments%DrillingConsole%CloseSafetyValve,found)\n",
  989. "\t\tif ( .not. found ) print *,\"Not found: CloseSafetyValve\" \n",
  990. "\t\tcall json%get('Equipments.Drilling.Permission_IRSafetyValve',data%Equipments%DrillingConsole%Permission_IRSafetyValve,found)\n",
  991. "\t\tif ( .not. found ) print *,\"Not found: Permission_IRSafetyValve\" \n",
  992. "\t\tcall json%get('Equipments.Drilling.IRSafetyValve',data%Equipments%DrillingConsole%IRSafetyValve,found)\n",
  993. "\t\tif ( .not. found ) print *,\"Not found: IRSafetyValve\" \n",
  994. "\t\tcall json%get('Equipments.Drilling.Permission_IRIBop',data%Equipments%DrillingConsole%Permission_IRIBop,found)\n",
  995. "\t\tif ( .not. found ) print *,\"Not found: Permission_IRIBop\" \n",
  996. "\t\tcall json%get('Equipments.Drilling.IRIBop',data%Equipments%DrillingConsole%IRIBop,found)\n",
  997. "\t\tif ( .not. found ) print *,\"Not found: IRIBop\" \n",
  998. "\t\tcall json%get('Equipments.Drilling.LatchPipe',data%Equipments%DrillingConsole%LatchPipe,found)\n",
  999. "\t\tif ( .not. found ) print *,\"Not found: LatchPipe\" \n",
  1000. "\t\tcall json%get('Equipments.Drilling.UnlatchPipe',data%Equipments%DrillingConsole%UnlatchPipe,found)\n",
  1001. "\t\tif ( .not. found ) print *,\"Not found: UnlatchPipe\" \n",
  1002. "\t\tcall json%get('Equipments.Drilling.Swing',data%Equipments%DrillingConsole%Swing,found)\n",
  1003. "\t\tif ( .not. found ) print *,\"Not found: Swing\" \n",
  1004. "\t\tcall json%get('Equipments.Drilling.FillMouseHole',data%Equipments%DrillingConsole%FillMouseHole,found)\n",
  1005. "\t\tif ( .not. found ) print *,\"Not found: FillMouseHole\" \n",
  1006. "\t\tcall json%get('Equipments.Drilling.Slips',data%Equipments%DrillingConsole%Slips,found)\n",
  1007. "\t\tif ( .not. found ) print *,\"Not found: Slips\" \n",
  1008. "\t\tcall json%get('Equipments.Drilling.BrakeLeverCoefficient',data%Equipments%DrillingConsole%BrakeLeverCoefficient,found)\n",
  1009. "\t\tif ( .not. found ) print *,\"Not found: BrakeLeverCoefficient\" \n",
  1010. "\t\tcall json%get('Equipments.Drilling.HideDrillingBrake',data%Equipments%DrillingConsole%HideDrillingBrake,found)\n",
  1011. "\t\tif ( .not. found ) print *,\"Not found: HideDrillingBrake\" \n",
  1012. "\t\tcall json%get('Equipments.Drilling.ParkingBrakeBtn',data%Equipments%DrillingConsole%ParkingBrakeBtn,found)\n",
  1013. "\t\tif ( .not. found ) print *,\"Not found: ParkingBrakeBtn\" \n"
  1014. ]
  1015. }
  1016. ],
  1017. "source": [
  1018. "pattern=\"\"\"\t\tcall json%get('Equipments.Drilling.@@@',data%Equipments%DrillingConsole%@@@,found)\n",
  1019. "\t\tif ( .not. found ) print *,\"Not found: @@@\" \"\"\"\n",
  1020. "\n",
  1021. "input = open(\"Text1.txt\")\n",
  1022. "lines = input.readlines()\n",
  1023. "for line in lines:\n",
  1024. "\tif '::' not in line:\n",
  1025. "\t\tcontinue\n",
  1026. "\tparts = line.split(\"::\")\n",
  1027. "\tif len(parts)!=2:\n",
  1028. "\t\tcontinue\n",
  1029. "\tname = parts[1].split(' ')[1].strip()\n",
  1030. "\tnewline = pattern.replace(\"@@@\",name)\n",
  1031. "\tprint(newline)\n"
  1032. ]
  1033. },
  1034. {
  1035. "attachments": {},
  1036. "cell_type": "markdown",
  1037. "metadata": {},
  1038. "source": [
  1039. "# ToJson"
  1040. ]
  1041. },
  1042. {
  1043. "cell_type": "code",
  1044. "execution_count": 7,
  1045. "metadata": {},
  1046. "outputs": [
  1047. {
  1048. "name": "stdout",
  1049. "output_type": "stream",
  1050. "text": [
  1051. "{\"AnnDrillMud\":0,\n",
  1052. "\"AnnCirculateMud\":0,\n",
  1053. "}\n"
  1054. ]
  1055. }
  1056. ],
  1057. "source": [
  1058. "#Artifical JSon\n",
  1059. "input = open(\"Text1.txt\")\n",
  1060. "output = \"{\"\n",
  1061. "lines = input.readlines()\n",
  1062. "for line in lines:\n",
  1063. " name = line.split(\"::\")[-1].strip()\n",
  1064. " type = line.split(\"::\")[0].strip()\n",
  1065. " output += f\"\\\"{name}\\\":0,\\n\" \n",
  1066. " # name = line.split(\"%\")[-1][:-1]\n",
  1067. " # print(name)\n",
  1068. "print(output+\"}\")"
  1069. ]
  1070. },
  1071. {
  1072. "cell_type": "code",
  1073. "execution_count": 2,
  1074. "metadata": {},
  1075. "outputs": [
  1076. {
  1077. "name": "stdout",
  1078. "output_type": "stream",
  1079. "text": [
  1080. "call json%add(p,\"KellyHoseVibrationRate\",data%Equipments%UnityOutputs%KellyHoseVibrationRate)\n",
  1081. "call json%add(p,\"BlowoutFromStringPercent\",data%Equipments%UnityOutputs%BlowoutFromStringPercent)\n",
  1082. "call json%add(p,\"Pedal\",data%Equipments%UnityOutputs%Pedal)\n",
  1083. "call json%add(p,\"FlowRate\",data%Equipments%UnityOutputs%FlowRate)\n",
  1084. "call json%add(p,\"RotaryRpm\",data%Equipments%UnityOutputs%RotaryRpm)\n",
  1085. "call json%add(p,\"BlowoutFromString\",data%Equipments%UnityOutputs%BlowoutFromString)\n",
  1086. "call json%add(p,\"BlowoutFromAnnular\",data%Equipments%UnityOutputs%BlowoutFromAnnular)\n",
  1087. "call json%add(p,\"FlowFromReturnLine\",data%Equipments%UnityOutputs%FlowFromReturnLine)\n",
  1088. "call json%add(p,\"FlowFromKelly\",data%Equipments%UnityOutputs%FlowFromKelly)\n",
  1089. "call json%add(p,\"FlowFromFillupHead\",data%Equipments%UnityOutputs%FlowFromFillupHead)\n",
  1090. "call json%add(p,\"FlowKellyDisconnect\",data%Equipments%UnityOutputs%FlowKellyDisconnect)\n",
  1091. "call json%add(p,\"FlowPipeDisconnect\",data%Equipments%UnityOutputs%FlowPipeDisconnect)\n"
  1092. ]
  1093. }
  1094. ],
  1095. "source": [
  1096. "precode = \"\"\"call json%add(p,\"\",data%Equipments%UnityOutputs%\"\"\"\n",
  1097. "input = open(\"Text1.txt\")\n",
  1098. "lines = input.readlines()\n",
  1099. "for line in lines:\n",
  1100. " name = line.split(\"::\")[-1].strip()\n",
  1101. " name = name.split(' ')[0]\n",
  1102. " icoute = precode.index(\"\\\"\")+1\n",
  1103. " # name = line.split(\"%\")[-1][:-1]\n",
  1104. " # print(name)\n",
  1105. " newline = precode[:icoute]+name+precode[icoute:]+name+\")\"\n",
  1106. " print(newline)\n"
  1107. ]
  1108. },
  1109. {
  1110. "cell_type": "code",
  1111. "execution_count": 2,
  1112. "metadata": {},
  1113. "outputs": [
  1114. {
  1115. "name": "stdout",
  1116. "output_type": "stream",
  1117. "text": [
  1118. "call BopControlPanelToJson(p)\n",
  1119. "call ChokeControlPanelToJson(p)\n",
  1120. "call ChokeManifoldToJson(p)\n",
  1121. "call DataDisplayConsoleToJson(p)\n",
  1122. "call DrillingConsoleToJson(p)\n",
  1123. "call HookToJson(p)\n",
  1124. "call StandPipeManifoldToJson(p)\n",
  1125. "call TopDrivePanelToJson(p)\n",
  1126. "call ! Drill WatchToJson(p)\n",
  1127. "call DrillingWatchToJson(p)\n",
  1128. "call TankToJson(p)\n"
  1129. ]
  1130. }
  1131. ],
  1132. "source": [
  1133. "precode = \"\"\"call \"\"\"\n",
  1134. "postcode = \"\"\"ToJson(p)\"\"\"\n",
  1135. "input = open(\"Text1.txt\")\n",
  1136. "lines = input.readlines()\n",
  1137. "for line in lines:\n",
  1138. " name = line.split(\"::\")[-1].strip()\n",
  1139. " # icoute = precode.index(\"\\\"\")+1\n",
  1140. " # name = line.split(\"::\")[-1][:-1].strip()\n",
  1141. " # print(name)\n",
  1142. " newline = precode+name+postcode\n",
  1143. " print(newline)\n"
  1144. ]
  1145. },
  1146. {
  1147. "cell_type": "code",
  1148. "execution_count": 3,
  1149. "metadata": {},
  1150. "outputs": [
  1151. {
  1152. "name": "stdout",
  1153. "output_type": "stream",
  1154. "text": [
  1155. "\tGeo/GeoMain.f90 \\\n",
  1156. "\n"
  1157. ]
  1158. }
  1159. ],
  1160. "source": [
  1161. "##Replace space with _ in filenames and list them for put them in makefile\n",
  1162. "import os\n",
  1163. "dir = 'Geo'\n",
  1164. "files = os.listdir(dir)\n",
  1165. "fstring = ''\n",
  1166. "for f in files:\n",
  1167. " if f.endswith('90'):\n",
  1168. " newf = f.replace(' ','_')\n",
  1169. " os.rename(os.path.join(dir,f),os.path.join(dir,newf))\n",
  1170. " if newf.lower().endswith('variables.f90'):\n",
  1171. " fstring = '\\t'+os.path.join(dir,newf).replace('\\\\','/') +' \\\\\\n' + fstring\n",
  1172. " else:\n",
  1173. " fstring = fstring + '\\t'+os.path.join(dir,newf).replace('\\\\','/') +' \\\\\\n'\n",
  1174. "\n",
  1175. "print(fstring)"
  1176. ]
  1177. },
  1178. {
  1179. "attachments": {},
  1180. "cell_type": "markdown",
  1181. "metadata": {},
  1182. "source": [
  1183. "## Extract variable names from definition lines"
  1184. ]
  1185. },
  1186. {
  1187. "cell_type": "code",
  1188. "execution_count": 1,
  1189. "metadata": {},
  1190. "outputs": [],
  1191. "source": [
  1192. "# %pwd\n",
  1193. "lines = input(\"Enter lines:\").split(\" \")\n",
  1194. "lines = [l.strip() for l in lines if len(l.strip())>0]\n",
  1195. "vars = []\n",
  1196. "for l in lines:\n",
  1197. " if '::' in l:\n",
  1198. " vars.append(l.split('::')[1].strip())"
  1199. ]
  1200. },
  1201. {
  1202. "cell_type": "code",
  1203. "execution_count": 8,
  1204. "metadata": {},
  1205. "outputs": [
  1206. {
  1207. "data": {
  1208. "text/plain": [
  1209. "'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'"
  1210. ]
  1211. },
  1212. "execution_count": 8,
  1213. "metadata": {},
  1214. "output_type": "execute_result"
  1215. }
  1216. ],
  1217. "source": [
  1218. "import string\n",
  1219. "string.ascii_letters"
  1220. ]
  1221. },
  1222. {
  1223. "cell_type": "code",
  1224. "execution_count": 9,
  1225. "metadata": {},
  1226. "outputs": [
  1227. {
  1228. "name": "stdout",
  1229. "output_type": "stream",
  1230. "text": [
  1231. "var: AnnularRegulatorSetControl\n",
  1232. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1233. "Char before: \n",
  1234. "Char after: \n",
  1235. "\n",
  1236. "var: AirMasterValve\n",
  1237. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1238. "Char before: \n",
  1239. "Char after: \n",
  1240. "\n",
  1241. "var: ByePassValve\n",
  1242. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1243. "Char before: \n",
  1244. "Char after: \n",
  1245. "\n",
  1246. "var: AnnularValve\n",
  1247. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1248. "Char before: \n",
  1249. "Char after: \n",
  1250. "\n",
  1251. "var: UpperRamsValve\n",
  1252. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1253. "Char before: \n",
  1254. "Char after: \n",
  1255. "\n",
  1256. "var: MiddleRamsValve\n",
  1257. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1258. "Char before: \n",
  1259. "Char after: \n",
  1260. "\n",
  1261. "var: KillLineValve\n",
  1262. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1263. "Char before: \n",
  1264. "Char after: \n",
  1265. "\n",
  1266. "var: ChokeLineValve\n",
  1267. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1268. "Char before: \n",
  1269. "Char after: \n",
  1270. "\n",
  1271. "var: LowerRamsValve\n",
  1272. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1273. "Char before: \n",
  1274. "Char after: \n",
  1275. "\n",
  1276. "var: ManifoldPressureGauge\n",
  1277. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1278. "Char before: \n",
  1279. "Char after: \n",
  1280. "\n",
  1281. "var: AirSupplyPressureGauge\n",
  1282. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1283. "Char before: \n",
  1284. "Char after: \n",
  1285. "\n",
  1286. "var: AccumulatorPressureGauge\n",
  1287. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1288. "Char before: \n",
  1289. "Char after: \n",
  1290. "\n",
  1291. "var: AnnularPressureGauge\n",
  1292. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1293. "Char before: \n",
  1294. "Char after: \n",
  1295. "\n",
  1296. "var: AnnularOpenLED\n",
  1297. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1298. "Char before: \n",
  1299. "Char after: \n",
  1300. "\n",
  1301. "var: AnnularCloseLED\n",
  1302. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1303. "Char before: \n",
  1304. "Char after: \n",
  1305. "\n",
  1306. "var: UpperRamsOpenLED\n",
  1307. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1308. "Char before: \n",
  1309. "Char after: \n",
  1310. "\n",
  1311. "var: UpperRamsCloseLED\n",
  1312. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1313. "Char before: \n",
  1314. "Char after: \n",
  1315. "\n",
  1316. "var: MiddleRamsOpenLED\n",
  1317. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1318. "Char before: \n",
  1319. "Char after: \n",
  1320. "\n",
  1321. "var: MiddleRamsCloseLED\n",
  1322. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1323. "Char before: \n",
  1324. "Char after: \n",
  1325. "\n",
  1326. "var: KillLineOpenLED\n",
  1327. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1328. "Char before: \n",
  1329. "Char after: \n",
  1330. "\n",
  1331. "var: KillLineCloseLED\n",
  1332. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1333. "Char before: \n",
  1334. "Char after: \n",
  1335. "\n",
  1336. "var: ChokeLineOpenLED\n",
  1337. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1338. "Char before: \n",
  1339. "Char after: \n",
  1340. "\n",
  1341. "var: ChokeLineCloseLED\n",
  1342. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1343. "Char before: \n",
  1344. "Char after: \n",
  1345. "\n",
  1346. "var: LowerRamsOpenLED\n",
  1347. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1348. "Char before: \n",
  1349. "Char after: \n",
  1350. "\n",
  1351. "var: LowerRamsCloseLED\n",
  1352. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1353. "Char before: \n",
  1354. "Char after: \n",
  1355. "\n",
  1356. "var: AnnularStatus\n",
  1357. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1358. "Char before: \n",
  1359. "Char after: \n",
  1360. "\n",
  1361. "var: UpperRamsStatus\n",
  1362. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1363. "Char before: \n",
  1364. "Char after: \n",
  1365. "\n",
  1366. "var: MiddleRamsStatus\n",
  1367. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1368. "Char before: \n",
  1369. "Char after: \n",
  1370. "\n",
  1371. "var: LowerRamsStatus\n",
  1372. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1373. "Char before: \n",
  1374. "Char after: \n",
  1375. "\n"
  1376. ]
  1377. }
  1378. ],
  1379. "source": [
  1380. "import os\n",
  1381. "import sys\n",
  1382. "import re\n",
  1383. "dir = '.'\n",
  1384. "varNameChars = string.ascii_letters + '_'\n",
  1385. "log = open(os.path.join(dir,'ReplaceVars.log',),'a')\n",
  1386. "end=False\n",
  1387. "for dir,subdirs,files in os.walk(dir):\n",
  1388. " for filename in files:\n",
  1389. " if filename.lower().endswith('.f90'):\n",
  1390. " # print(filename)\n",
  1391. " file = open(os.path.join(dir,filename))\n",
  1392. " code = file.read()\n",
  1393. " for var in vars:\n",
  1394. " if var not in code:\n",
  1395. " continue\n",
  1396. " occurs = [m.start() for m in re.finditer(var, code)]\n",
  1397. " for occurance in occurs:\n",
  1398. " if code[occurs[0]-1] in varNameChars or code[occurs[0]+len(var)] in varNameChars:\n",
  1399. " continue\n",
  1400. " print(f\"var: {var}\")\n",
  1401. " print(f\"file = {os.path.join(dir,filename)}\")\n",
  1402. " print(f\"Char before: {code[occurs[0]-1]}\")\n",
  1403. " print(f\"Char after: {code[occurs[0]+len(var)]}\")\n",
  1404. " end = True\n",
  1405. " if end:\n",
  1406. " break"
  1407. ]
  1408. },
  1409. {
  1410. "cell_type": "code",
  1411. "execution_count": 9,
  1412. "metadata": {},
  1413. "outputs": [
  1414. {
  1415. "name": "stdout",
  1416. "output_type": "stream",
  1417. "text": [
  1418. "State\n",
  1419. "Hoisting\n",
  1420. "OperationScenario\n",
  1421. "notifications\n",
  1422. "permissions\n",
  1423. "unitySignals\n",
  1424. "StudentStation\n",
  1425. "BopStackInput\n",
  1426. "BopStackAcc\n",
  1427. "RamLine\n",
  1428. "AnnularComputational\n",
  1429. "Annular\n",
  1430. "PipeRam1\n",
  1431. "ShearRam\n",
  1432. "PipeRam2\n",
  1433. "ChokeLine\n",
  1434. "KillLine\n",
  1435. "Pumps\n",
  1436. "RAM\n",
  1437. "RAMS\n",
  1438. "Choke\n",
  1439. "AirDrivenPump\n",
  1440. "AirPumpLine\n",
  1441. "CHOOKE\n",
  1442. "Drawworks\n",
  1443. "MudSystem\n",
  1444. "MUD\n",
  1445. "PUMP\n",
  1446. "RTable\n",
  1447. "TDS\n",
  1448. "GasType(3)\n",
  1449. "PressureDisplay\n",
  1450. "ObservationPoint(:)\n",
  1451. "FricPressDrop\n",
  1452. "ROP_Spec\n",
  1453. "ROP_Bit\n",
  1454. "TDGeo\n",
  1455. "F_String(:)\n",
  1456. "F_Counts\n",
  1457. "F_Interval(:)\n",
  1458. "OD_Annulus(4)\n",
  1459. "TD_DrillStem\n",
  1460. "TD_DrillStems\n",
  1461. "TD_String\n",
  1462. "TD_Count\n",
  1463. "G_StringElement\n",
  1464. "TD_Vol\n",
  1465. "TD_General\n",
  1466. "TD_BOP\n",
  1467. "TD_BOPElement(4)\n",
  1468. "TD_StConn\n",
  1469. "TD_Load\n",
  1470. "TD_WellEl\n",
  1471. "TD_Casing\n",
  1472. "data%State%TD_Liner\n",
  1473. "TD_OpenHole\n",
  1474. "TD_ROPHole\n",
  1475. "TD_WellGeneral\n",
  1476. "TD_WellGeo(:)\n",
  1477. "EquipmentControl\n",
  1478. "BopControlPanel\n",
  1479. "ChokeControlPanel\n",
  1480. "ChokeManifold\n",
  1481. "DataDisplayConsole\n",
  1482. "DrillingConsole\n",
  1483. "Hook\n",
  1484. "StandPipeManifold\n",
  1485. "TopDrivePanel\n",
  1486. "DrillingWatch\n",
  1487. "Tank\n",
  1488. "Configuration\n",
  1489. "StringConfiguration\n",
  1490. "Formation\n",
  1491. "Reservoir\n",
  1492. "Shoe\n",
  1493. "Accumulator\n",
  1494. "BopStackSpecification\n",
  1495. "Hoisting\n",
  1496. "Power\n",
  1497. "PumpsSpecification\n",
  1498. "RigSize\n",
  1499. "CasingLinerChoke\n",
  1500. "PathGeneration\n",
  1501. "WellSurveyData\n",
  1502. "MudProperties\n",
  1503. "problems\n",
  1504. "BitProblems\n",
  1505. "BopProblems\n",
  1506. "ChokeProblems\n",
  1507. "DrillStemProblems\n",
  1508. "GaugesProblems\n",
  1509. "HoistingProblems\n",
  1510. "KickProblems\n",
  1511. "LostProblems\n",
  1512. "MudTreatmentProblems\n",
  1513. "OtherProblems\n",
  1514. "PumpProblems\n",
  1515. "RotaryProblems\n"
  1516. ]
  1517. },
  1518. {
  1519. "ename": "IndexError",
  1520. "evalue": "list index out of range",
  1521. "output_type": "error",
  1522. "traceback": [
  1523. "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
  1524. "\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)",
  1525. "\u001b[1;32mc:\\Projects\\VSIM\\SimulationCore2\\helper.ipynb Cell 6\u001b[0m in \u001b[0;36m<cell line: 3>\u001b[1;34m()\u001b[0m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Projects/VSIM/SimulationCore2/helper.ipynb#W5sZmlsZQ%3D%3D?line=5'>6</a>\u001b[0m nsp\u001b[39m+\u001b[39m\u001b[39m=\u001b[39m\u001b[39m1\u001b[39m\n\u001b[0;32m <a href='vscode-notebook-cell:/c%3A/Projects/VSIM/SimulationCore2/helper.ipynb#W5sZmlsZQ%3D%3D?line=6'>7</a>\u001b[0m splits \u001b[39m=\u001b[39m line\u001b[39m.\u001b[39msplit(\u001b[39m\"\u001b[39m\u001b[39m::\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[1;32m----> <a href='vscode-notebook-cell:/c%3A/Projects/VSIM/SimulationCore2/helper.ipynb#W5sZmlsZQ%3D%3D?line=7'>8</a>\u001b[0m \u001b[39mprint\u001b[39m(splits[\u001b[39m1\u001b[39;49m]\u001b[39m.\u001b[39mstrip())\n",
  1526. "\u001b[1;31mIndexError\u001b[0m: list index out of range"
  1527. ]
  1528. }
  1529. ],
  1530. "source": [
  1531. "f = open(\"hier.txt\")\n",
  1532. "lines = f.readlines()\n",
  1533. "for line in lines[1:]:\n",
  1534. " nsp=0\n",
  1535. " while line[nsp]==' ':\n",
  1536. " nsp+=1\n",
  1537. " splits = line.split(\"::\")\n",
  1538. " print(splits[1].strip())"
  1539. ]
  1540. },
  1541. {
  1542. "cell_type": "code",
  1543. "execution_count": 4,
  1544. "metadata": {},
  1545. "outputs": [
  1546. {
  1547. "data": {
  1548. "text/plain": [
  1549. "'type SimulationDataType type(SimulationStateType)::State Type(HoistingType)::Hoisting type(OperationScenarioType)::OperationScenario type(NotificationType)::notifications type(PermissionsType):: permissions type(UnitySignalsType):: unitySignals type(StudentStationType)::StudentStation type(BopStackInputType)::BopStackInput type(BopStackAccType)::BopStackAcc type(RamLineType)::RamLine type(AnnularComputationalType)::AnnularComputational type(AnnularType)::Annular type(PipeRams1Type)::PipeRam1 type(ShearRamType)::ShearRam type(PipeRam2Type)::PipeRam2 type(ChokeLineType)::ChokeLine type(KillLineType)::KillLine type(PumpsType)::Pumps TYPE(BOP_TypeVars), DIMENSION(1:6) :: RAM TYPE(BOP_TypeVars2D) :: RAMS type(ChokeType)::Choke type(AirDrivenPumpType)::AirDrivenPump type(AirPumpLineType)::AirPumpLine TYPE(CHOKE_TypeVars), DIMENSION(1:2) :: CHOOKE TYPE(Drawworks_Var) :: Drawworks type(MudSystemType)::MudSystem TYPE(MUD_TypeVars), DIMENSION(1:10) :: MUD TYPE(Pump_Var), DIMENSION(1:3) :: PUMP TYPE(RTable_Var) :: RTable TYPE(TDS_Var) :: TDS TYPE(GasData) :: GasType(3) ! 1 = methane , 2 = Hydrogen sulfide , 3 = Carbon dioxid TYPE(PressureDisplayVARIABLESTYPE) :: PressureDisplay TYPE(ObservationAndGaugePointsInformations) , ALLOCATABLE :: ObservationPoint(:) TYPE(FricPressDropVarsTYPE) :: FricPressDrop TYPE(ROPSpecificationInfo) :: ROP_Spec TYPE(ROPInfo) :: ROP_Bit TYPE(Geo_Data) :: TDGeo TYPE(F_StringData) , Allocatable :: F_String(:) TYPE(F_IntervalsCountsData):: F_Counts TYPE(F_IntervalData) , Allocatable :: F_Interval(:) TYPE(OD_AnnulusData) :: OD_Annulus(4) TYPE(TD_DrillStemInfo), ALLOCATABLE, DIMENSION(:) :: TD_DrillStem TYPE(TD_SeparatedDrillStemInfo), ALLOCATABLE, DIMENSION(:) :: TD_DrillStems TYPE(TD_StringInfo) :: TD_String TYPE(TD_AddRemoveInfo) :: TD_Count TYPE(CStringComponents), ALLOCATABLE, DIMENSION(:) :: G_StringElement TYPE(TD_RemovedVolumeInfo) :: TD_Vol TYPE(TD_GeneralInfo) :: TD_General TYPE(TD_BOPInfo) :: TD_BOP TYPE(CBopElement) :: TD_BOPElement(4) TYPE(TD_StringconnectionInfo) :: TD_StConn TYPE(TD_LoadInfo) :: TD_Load TYPE(TD_WellElementsInfo) :: TD_WellEl TYPE(TD_CasingInfo), ALLOCATABLE, DIMENSION(:) :: TD_Casing TYPE(TD_LinerInfo), ALLOCATABLE, DIMENSION(:) :: data%State%TD_Liner TYPE(TD_OpenHoleInfo), ALLOCATABLE, DIMENSION(:) :: TD_OpenHole TYPE(TD_ROPHoleInfo), ALLOCATABLE, DIMENSION(:) :: TD_ROPHole TYPE(TD_WellGeneralInfo) :: TD_WellGeneral TYPE(TD_WellGeometryData), Allocatable :: TD_WellGeo(:) type(EquipmentControlType)::EquipmentControl type(BopControlPanelType) :: BopControlPanel Type(ChokeControlPanelType)::ChokeControlPanel Type(ChokeManifoldType)::ChokeManifold Type(DataDisplayConsoleType) :: DataDisplayConsole TYPE(DrillingConsoleType) :: DrillingConsole Type(HookType)::Hook type(StandPipeManifoldType)::StandPipeManifold Type(TopDrivePanelType)::TopDrivePanel Type(DrillingWatchType)::DrillingWatch Type(TankType)::Tank type(ConfigurationType)::Configuration Type(StringConfigurationType)::StringConfiguration Type(FormationType) :: Formation Type(ReservoirType)::Reservoir Type(ShoeType)::Shoe Type(AccumulatorType)::Accumulator Type(BopStackSpecificationType)::BopStackSpecification Type(HoistingType)::Hoisting Type(PowerType)::Power Type(PumpSpecificationType)::PumpsSpecification Type(RigSizeType)::RigSize Type(CasingLinerChokeType)::CasingLinerChoke Type(PathGenerationType)::PathGeneration Type(WellSurveyDataType)::WellSurveyData Type(MudPropertiesType)::MudProperties type(ProblemsType)::problems type(BitProblemsType)::BitProblems type(BopProblemsType)::BopProblems type(ChokeProblemsType)::ChokeProblems type(DrillStemProblemsType)::DrillStemProblems type(GaugesProblemsType)::GaugesProblems type(HoistingProblemsType):: HoistingProblems type(KickProblemsType)::KickProblems type(LostProblemsType)::LostProblems type(MudTreatmentProblemsType)::MudTreatmentProblems type(OtherProblemsType)::OtherProblems type(PumpProblemsType)::PumpProblems type(RotaryProblemsType)::RotaryProblems end type SimulationDataType'"
  1550. ]
  1551. },
  1552. "execution_count": 4,
  1553. "metadata": {},
  1554. "output_type": "execute_result"
  1555. }
  1556. ],
  1557. "source": [
  1558. "line"
  1559. ]
  1560. },
  1561. {
  1562. "cell_type": "code",
  1563. "execution_count": null,
  1564. "metadata": {},
  1565. "outputs": [],
  1566. "source": [
  1567. "for fn in modules:\n",
  1568. " f = open(fn)\n",
  1569. " lines = f.readlines()\n",
  1570. " module_filenames = {}\n",
  1571. " used_modules = []\n",
  1572. " mod_count = 0\n",
  1573. " for l in lines:\n",
  1574. " l = l.strip().lower()\n",
  1575. " if l.startswith('module ') and not l.startswith('module procedure '):\n",
  1576. " mod_name = l.split(' ')[1]\n",
  1577. " module_filenames[mod_name] = fn\n",
  1578. " mod_count +=1\n",
  1579. " if l.startswith('use'):\n",
  1580. " used_modules.append(l.split(' ')[1])\n",
  1581. " if mod_count !=1:\n",
  1582. " print(f\"{fn} has {mod_count} modules\")\n",
  1583. " module_filenames,used_modules"
  1584. ]
  1585. }
  1586. ],
  1587. "metadata": {
  1588. "kernelspec": {
  1589. "display_name": "base",
  1590. "language": "python",
  1591. "name": "python3"
  1592. },
  1593. "language_info": {
  1594. "codemirror_mode": {
  1595. "name": "ipython",
  1596. "version": 3
  1597. },
  1598. "file_extension": ".py",
  1599. "mimetype": "text/x-python",
  1600. "name": "python",
  1601. "nbconvert_exporter": "python",
  1602. "pygments_lexer": "ipython3",
  1603. "version": "3.9.12"
  1604. },
  1605. "orig_nbformat": 4,
  1606. "vscode": {
  1607. "interpreter": {
  1608. "hash": "1ef4a26de7183d96d6da1045a38581e0a15b2215d0c1b98c7b273c6e514c6c7e"
  1609. }
  1610. }
  1611. },
  1612. "nbformat": 4,
  1613. "nbformat_minor": 2
  1614. }