Simulation Core
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

helper.ipynb 78 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551
  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": 51,
  881. "metadata": {},
  882. "outputs": [
  883. {
  884. "name": "stdout",
  885. "output_type": "stream",
  886. "text": [
  887. "1-(0, 1)\n",
  888. "1-(1, 3)\n",
  889. "1-(2, 3)\n",
  890. "1-(3, 5)\n",
  891. "2-(0, 1)\n",
  892. "2-(1, 3)\n",
  893. "2-(2, 3)\n",
  894. "2-(3, 5)\n"
  895. ]
  896. }
  897. ],
  898. "source": [
  899. "l = [1,3,3,5]\n",
  900. "for a in enumerate(l):\n",
  901. " print(f\"1-{a}\")\n",
  902. "for a in enumerate(l):\n",
  903. " print(f\"2-{a}\")"
  904. ]
  905. },
  906. {
  907. "attachments": {},
  908. "cell_type": "markdown",
  909. "metadata": {},
  910. "source": [
  911. "# FromJson"
  912. ]
  913. },
  914. {
  915. "cell_type": "code",
  916. "execution_count": 5,
  917. "metadata": {},
  918. "outputs": [
  919. {
  920. "name": "stdout",
  921. "output_type": "stream",
  922. "text": [
  923. "\t\tcall json%get(pbit,'BitType',pval)\n",
  924. "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitType)\n",
  925. "\t\tcall json%get(pbit,'BitSize',pval)\n",
  926. "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitSize)\n",
  927. "\t\tcall json%get(pbit,'BitCodeHundreds',pval)\n",
  928. "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitCodeHundreds)\n",
  929. "\t\tcall json%get(pbit,'BitCodeTens',pval)\n",
  930. "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitCodeTens)\n",
  931. "\t\tcall json%get(pbit,'BitCodeOnes',pval)\n",
  932. "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitCodeOnes)\n",
  933. "\t\tcall json%get(pbit,'BitNozzleSize',pval)\n",
  934. "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitNozzleSize)\n",
  935. "\t\tcall json%get(pbit,'BitLength',pval)\n",
  936. "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitLength)\n",
  937. "\t\tcall json%get(pbit,'BitWeightPerLength',pval)\n",
  938. "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitWeightPerLength)\n",
  939. "\t\tcall json%get(pbit,'BitNozzleNo',pval)\n",
  940. "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%BitNozzleNo)\n",
  941. "\t\tcall json%get(pbit,'FloatValve',pval)\n",
  942. "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%FloatValve)\n"
  943. ]
  944. }
  945. ],
  946. "source": [
  947. "pattern=\"\"\"\t\tcall json%get(pbit,'@@@',pval)\n",
  948. "\t\tcall json%get(pval,data%Configuration%StringConfiguration%BitDefinition%@@@)\"\"\"\n",
  949. "\n",
  950. "input = open(\"Text1.txt\")\n",
  951. "lines = input.readlines()\n",
  952. "for line in lines:\n",
  953. "\tname = line.split(\"::\")[-1].strip()\n",
  954. "\tnewline = pattern.replace(\"@@@\",name)\n",
  955. "\tprint(newline)\n"
  956. ]
  957. },
  958. {
  959. "attachments": {},
  960. "cell_type": "markdown",
  961. "metadata": {},
  962. "source": [
  963. "# ToJson"
  964. ]
  965. },
  966. {
  967. "cell_type": "code",
  968. "execution_count": 1,
  969. "metadata": {},
  970. "outputs": [
  971. {
  972. "name": "stdout",
  973. "output_type": "stream",
  974. "text": [
  975. "{\"ComponentType\":0,\n",
  976. "\"NumberOfJoint\":0,\n",
  977. "\"LengthPerJoint\":0,\n",
  978. "\"NominalOd\":0,\n",
  979. "\"NominalId\":0,\n",
  980. "\"WeightPerLength\":0,\n",
  981. "\"ComponentLength\":0,\n",
  982. "\"NominalToolJointOd\":0,\n",
  983. "\"Grade\":0,\n",
  984. "}\n"
  985. ]
  986. }
  987. ],
  988. "source": [
  989. "#Artifical JSon\n",
  990. "input = open(\"Text1.txt\")\n",
  991. "output = \"{\"\n",
  992. "lines = input.readlines()\n",
  993. "for line in lines:\n",
  994. " name = line.split(\"::\")[-1].strip()\n",
  995. " type = line.split(\"::\")[0].strip()\n",
  996. " output += f\"\\\"{name}\\\":0,\\n\" \n",
  997. " # name = line.split(\"%\")[-1][:-1]\n",
  998. " # print(name)\n",
  999. "print(output+\"}\")\n"
  1000. ]
  1001. },
  1002. {
  1003. "cell_type": "code",
  1004. "execution_count": 6,
  1005. "metadata": {},
  1006. "outputs": [
  1007. {
  1008. "name": "stdout",
  1009. "output_type": "stream",
  1010. "text": [
  1011. "call json%add(p,\"Depth\",data%EquipmentControl%DrillingWatch%Depth)\n",
  1012. "call json%add(p,\"BitPosition\",data%EquipmentControl%DrillingWatch%BitPosition)\n",
  1013. "call json%add(p,\"HookLoad\",data%EquipmentControl%DrillingWatch%HookLoad)\n",
  1014. "call json%add(p,\"WeightOnBit\",data%EquipmentControl%DrillingWatch%WeightOnBit)\n",
  1015. "call json%add(p,\"RPM\",data%EquipmentControl%DrillingWatch%RPM)\n",
  1016. "call json%add(p,\"ROP\",data%EquipmentControl%DrillingWatch%ROP)\n",
  1017. "call json%add(p,\"Torque\",data%EquipmentControl%DrillingWatch%Torque)\n",
  1018. "call json%add(p,\"PumpPressure\",data%EquipmentControl%DrillingWatch%PumpPressure)\n",
  1019. "call json%add(p,\"SPM1\",data%EquipmentControl%DrillingWatch%SPM1)\n",
  1020. "call json%add(p,\"SPM2\",data%EquipmentControl%DrillingWatch%SPM2)\n",
  1021. "call json%add(p,\"CasingPressure\",data%EquipmentControl%DrillingWatch%CasingPressure)\n",
  1022. "call json%add(p,\"PercentFlow\",data%EquipmentControl%DrillingWatch%PercentFlow)\n",
  1023. "call json%add(p,\"PitGainLose\",data%EquipmentControl%DrillingWatch%PitGainLose)\n",
  1024. "call json%add(p,\"PitVolume\",data%EquipmentControl%DrillingWatch%PitVolume)\n",
  1025. "call json%add(p,\"KillMudVolume\",data%EquipmentControl%DrillingWatch%KillMudVolume)\n",
  1026. "call json%add(p,\"TripTankVolume\",data%EquipmentControl%DrillingWatch%TripTankVolume)\n",
  1027. "call json%add(p,\"MudWeightIn\",data%EquipmentControl%DrillingWatch%MudWeightIn)\n",
  1028. "call json%add(p,\"FillVolume\",data%EquipmentControl%DrillingWatch%FillVolume)\n",
  1029. "call json%add(p,\"MudWeightOut\",data%EquipmentControl%DrillingWatch%MudWeightOut)\n"
  1030. ]
  1031. }
  1032. ],
  1033. "source": [
  1034. "precode = \"\"\"call json%add(p,\"\",data%EquipmentControl%DrillingWatch%\"\"\"\n",
  1035. "input = open(\"Text1.txt\")\n",
  1036. "lines = input.readlines()\n",
  1037. "for line in lines:\n",
  1038. " name = line.split(\"::\")[-1].strip()\n",
  1039. " icoute = precode.index(\"\\\"\")+1\n",
  1040. " # name = line.split(\"%\")[-1][:-1]\n",
  1041. " # print(name)\n",
  1042. " newline = precode[:icoute]+name+precode[icoute:]+name+\")\"\n",
  1043. " print(newline)\n"
  1044. ]
  1045. },
  1046. {
  1047. "cell_type": "code",
  1048. "execution_count": 2,
  1049. "metadata": {},
  1050. "outputs": [
  1051. {
  1052. "name": "stdout",
  1053. "output_type": "stream",
  1054. "text": [
  1055. "call BopControlPanelToJson(p)\n",
  1056. "call ChokeControlPanelToJson(p)\n",
  1057. "call ChokeManifoldToJson(p)\n",
  1058. "call DataDisplayConsoleToJson(p)\n",
  1059. "call DrillingConsoleToJson(p)\n",
  1060. "call HookToJson(p)\n",
  1061. "call StandPipeManifoldToJson(p)\n",
  1062. "call TopDrivePanelToJson(p)\n",
  1063. "call ! Drill WatchToJson(p)\n",
  1064. "call DrillingWatchToJson(p)\n",
  1065. "call TankToJson(p)\n"
  1066. ]
  1067. }
  1068. ],
  1069. "source": [
  1070. "precode = \"\"\"call \"\"\"\n",
  1071. "postcode = \"\"\"ToJson(p)\"\"\"\n",
  1072. "input = open(\"Text1.txt\")\n",
  1073. "lines = input.readlines()\n",
  1074. "for line in lines:\n",
  1075. " name = line.split(\"::\")[-1].strip()\n",
  1076. " # icoute = precode.index(\"\\\"\")+1\n",
  1077. " # name = line.split(\"::\")[-1][:-1].strip()\n",
  1078. " # print(name)\n",
  1079. " newline = precode+name+postcode\n",
  1080. " print(newline)\n"
  1081. ]
  1082. },
  1083. {
  1084. "cell_type": "code",
  1085. "execution_count": 3,
  1086. "metadata": {},
  1087. "outputs": [
  1088. {
  1089. "name": "stdout",
  1090. "output_type": "stream",
  1091. "text": [
  1092. "\tGeo/GeoMain.f90 \\\n",
  1093. "\n"
  1094. ]
  1095. }
  1096. ],
  1097. "source": [
  1098. "##Replace space with _ in filenames and list them for put them in makefile\n",
  1099. "import os\n",
  1100. "dir = 'Geo'\n",
  1101. "files = os.listdir(dir)\n",
  1102. "fstring = ''\n",
  1103. "for f in files:\n",
  1104. " if f.endswith('90'):\n",
  1105. " newf = f.replace(' ','_')\n",
  1106. " os.rename(os.path.join(dir,f),os.path.join(dir,newf))\n",
  1107. " if newf.lower().endswith('variables.f90'):\n",
  1108. " fstring = '\\t'+os.path.join(dir,newf).replace('\\\\','/') +' \\\\\\n' + fstring\n",
  1109. " else:\n",
  1110. " fstring = fstring + '\\t'+os.path.join(dir,newf).replace('\\\\','/') +' \\\\\\n'\n",
  1111. "\n",
  1112. "print(fstring)"
  1113. ]
  1114. },
  1115. {
  1116. "attachments": {},
  1117. "cell_type": "markdown",
  1118. "metadata": {},
  1119. "source": [
  1120. "## Extract variable names from definition lines"
  1121. ]
  1122. },
  1123. {
  1124. "cell_type": "code",
  1125. "execution_count": 1,
  1126. "metadata": {},
  1127. "outputs": [],
  1128. "source": [
  1129. "# %pwd\n",
  1130. "lines = input(\"Enter lines:\").split(\" \")\n",
  1131. "lines = [l.strip() for l in lines if len(l.strip())>0]\n",
  1132. "vars = []\n",
  1133. "for l in lines:\n",
  1134. " if '::' in l:\n",
  1135. " vars.append(l.split('::')[1].strip())"
  1136. ]
  1137. },
  1138. {
  1139. "cell_type": "code",
  1140. "execution_count": 8,
  1141. "metadata": {},
  1142. "outputs": [
  1143. {
  1144. "data": {
  1145. "text/plain": [
  1146. "'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'"
  1147. ]
  1148. },
  1149. "execution_count": 8,
  1150. "metadata": {},
  1151. "output_type": "execute_result"
  1152. }
  1153. ],
  1154. "source": [
  1155. "import string\n",
  1156. "string.ascii_letters"
  1157. ]
  1158. },
  1159. {
  1160. "cell_type": "code",
  1161. "execution_count": 9,
  1162. "metadata": {},
  1163. "outputs": [
  1164. {
  1165. "name": "stdout",
  1166. "output_type": "stream",
  1167. "text": [
  1168. "var: AnnularRegulatorSetControl\n",
  1169. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1170. "Char before: \n",
  1171. "Char after: \n",
  1172. "\n",
  1173. "var: AirMasterValve\n",
  1174. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1175. "Char before: \n",
  1176. "Char after: \n",
  1177. "\n",
  1178. "var: ByePassValve\n",
  1179. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1180. "Char before: \n",
  1181. "Char after: \n",
  1182. "\n",
  1183. "var: AnnularValve\n",
  1184. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1185. "Char before: \n",
  1186. "Char after: \n",
  1187. "\n",
  1188. "var: UpperRamsValve\n",
  1189. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1190. "Char before: \n",
  1191. "Char after: \n",
  1192. "\n",
  1193. "var: MiddleRamsValve\n",
  1194. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1195. "Char before: \n",
  1196. "Char after: \n",
  1197. "\n",
  1198. "var: KillLineValve\n",
  1199. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1200. "Char before: \n",
  1201. "Char after: \n",
  1202. "\n",
  1203. "var: ChokeLineValve\n",
  1204. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1205. "Char before: \n",
  1206. "Char after: \n",
  1207. "\n",
  1208. "var: LowerRamsValve\n",
  1209. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1210. "Char before: \n",
  1211. "Char after: \n",
  1212. "\n",
  1213. "var: ManifoldPressureGauge\n",
  1214. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1215. "Char before: \n",
  1216. "Char after: \n",
  1217. "\n",
  1218. "var: AirSupplyPressureGauge\n",
  1219. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1220. "Char before: \n",
  1221. "Char after: \n",
  1222. "\n",
  1223. "var: AccumulatorPressureGauge\n",
  1224. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1225. "Char before: \n",
  1226. "Char after: \n",
  1227. "\n",
  1228. "var: AnnularPressureGauge\n",
  1229. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1230. "Char before: \n",
  1231. "Char after: \n",
  1232. "\n",
  1233. "var: AnnularOpenLED\n",
  1234. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1235. "Char before: \n",
  1236. "Char after: \n",
  1237. "\n",
  1238. "var: AnnularCloseLED\n",
  1239. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1240. "Char before: \n",
  1241. "Char after: \n",
  1242. "\n",
  1243. "var: UpperRamsOpenLED\n",
  1244. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1245. "Char before: \n",
  1246. "Char after: \n",
  1247. "\n",
  1248. "var: UpperRamsCloseLED\n",
  1249. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1250. "Char before: \n",
  1251. "Char after: \n",
  1252. "\n",
  1253. "var: MiddleRamsOpenLED\n",
  1254. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1255. "Char before: \n",
  1256. "Char after: \n",
  1257. "\n",
  1258. "var: MiddleRamsCloseLED\n",
  1259. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1260. "Char before: \n",
  1261. "Char after: \n",
  1262. "\n",
  1263. "var: KillLineOpenLED\n",
  1264. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1265. "Char before: \n",
  1266. "Char after: \n",
  1267. "\n",
  1268. "var: KillLineCloseLED\n",
  1269. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1270. "Char before: \n",
  1271. "Char after: \n",
  1272. "\n",
  1273. "var: ChokeLineOpenLED\n",
  1274. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1275. "Char before: \n",
  1276. "Char after: \n",
  1277. "\n",
  1278. "var: ChokeLineCloseLED\n",
  1279. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1280. "Char before: \n",
  1281. "Char after: \n",
  1282. "\n",
  1283. "var: LowerRamsOpenLED\n",
  1284. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1285. "Char before: \n",
  1286. "Char after: \n",
  1287. "\n",
  1288. "var: LowerRamsCloseLED\n",
  1289. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1290. "Char before: \n",
  1291. "Char after: \n",
  1292. "\n",
  1293. "var: AnnularStatus\n",
  1294. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1295. "Char before: \n",
  1296. "Char after: \n",
  1297. "\n",
  1298. "var: UpperRamsStatus\n",
  1299. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1300. "Char before: \n",
  1301. "Char after: \n",
  1302. "\n",
  1303. "var: MiddleRamsStatus\n",
  1304. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1305. "Char before: \n",
  1306. "Char after: \n",
  1307. "\n",
  1308. "var: LowerRamsStatus\n",
  1309. "file = .\\CSharp\\Equipments\\ControlPanels\\CBopControlPanelVariables.f90\n",
  1310. "Char before: \n",
  1311. "Char after: \n",
  1312. "\n"
  1313. ]
  1314. }
  1315. ],
  1316. "source": [
  1317. "import os\n",
  1318. "import sys\n",
  1319. "import re\n",
  1320. "dir = '.'\n",
  1321. "varNameChars = string.ascii_letters + '_'\n",
  1322. "log = open(os.path.join(dir,'ReplaceVars.log',),'a')\n",
  1323. "end=False\n",
  1324. "for dir,subdirs,files in os.walk(dir):\n",
  1325. " for filename in files:\n",
  1326. " if filename.lower().endswith('.f90'):\n",
  1327. " # print(filename)\n",
  1328. " file = open(os.path.join(dir,filename))\n",
  1329. " code = file.read()\n",
  1330. " for var in vars:\n",
  1331. " if var not in code:\n",
  1332. " continue\n",
  1333. " occurs = [m.start() for m in re.finditer(var, code)]\n",
  1334. " for occurance in occurs:\n",
  1335. " if code[occurs[0]-1] in varNameChars or code[occurs[0]+len(var)] in varNameChars:\n",
  1336. " continue\n",
  1337. " print(f\"var: {var}\")\n",
  1338. " print(f\"file = {os.path.join(dir,filename)}\")\n",
  1339. " print(f\"Char before: {code[occurs[0]-1]}\")\n",
  1340. " print(f\"Char after: {code[occurs[0]+len(var)]}\")\n",
  1341. " end = True\n",
  1342. " if end:\n",
  1343. " break"
  1344. ]
  1345. },
  1346. {
  1347. "cell_type": "code",
  1348. "execution_count": 9,
  1349. "metadata": {},
  1350. "outputs": [
  1351. {
  1352. "name": "stdout",
  1353. "output_type": "stream",
  1354. "text": [
  1355. "State\n",
  1356. "Hoisting\n",
  1357. "OperationScenario\n",
  1358. "notifications\n",
  1359. "permissions\n",
  1360. "unitySignals\n",
  1361. "StudentStation\n",
  1362. "BopStackInput\n",
  1363. "BopStackAcc\n",
  1364. "RamLine\n",
  1365. "AnnularComputational\n",
  1366. "Annular\n",
  1367. "PipeRam1\n",
  1368. "ShearRam\n",
  1369. "PipeRam2\n",
  1370. "ChokeLine\n",
  1371. "KillLine\n",
  1372. "Pumps\n",
  1373. "RAM\n",
  1374. "RAMS\n",
  1375. "Choke\n",
  1376. "AirDrivenPump\n",
  1377. "AirPumpLine\n",
  1378. "CHOOKE\n",
  1379. "Drawworks\n",
  1380. "MudSystem\n",
  1381. "MUD\n",
  1382. "PUMP\n",
  1383. "RTable\n",
  1384. "TDS\n",
  1385. "GasType(3)\n",
  1386. "PressureDisplay\n",
  1387. "ObservationPoint(:)\n",
  1388. "FricPressDrop\n",
  1389. "ROP_Spec\n",
  1390. "ROP_Bit\n",
  1391. "TDGeo\n",
  1392. "F_String(:)\n",
  1393. "F_Counts\n",
  1394. "F_Interval(:)\n",
  1395. "OD_Annulus(4)\n",
  1396. "TD_DrillStem\n",
  1397. "TD_DrillStems\n",
  1398. "TD_String\n",
  1399. "TD_Count\n",
  1400. "G_StringElement\n",
  1401. "TD_Vol\n",
  1402. "TD_General\n",
  1403. "TD_BOP\n",
  1404. "TD_BOPElement(4)\n",
  1405. "TD_StConn\n",
  1406. "TD_Load\n",
  1407. "TD_WellEl\n",
  1408. "TD_Casing\n",
  1409. "data%State%TD_Liner\n",
  1410. "TD_OpenHole\n",
  1411. "TD_ROPHole\n",
  1412. "TD_WellGeneral\n",
  1413. "TD_WellGeo(:)\n",
  1414. "EquipmentControl\n",
  1415. "BopControlPanel\n",
  1416. "ChokeControlPanel\n",
  1417. "ChokeManifold\n",
  1418. "DataDisplayConsole\n",
  1419. "DrillingConsole\n",
  1420. "Hook\n",
  1421. "StandPipeManifold\n",
  1422. "TopDrivePanel\n",
  1423. "DrillingWatch\n",
  1424. "Tank\n",
  1425. "Configuration\n",
  1426. "StringConfiguration\n",
  1427. "Formation\n",
  1428. "Reservoir\n",
  1429. "Shoe\n",
  1430. "Accumulator\n",
  1431. "BopStackSpecification\n",
  1432. "Hoisting\n",
  1433. "Power\n",
  1434. "PumpsSpecification\n",
  1435. "RigSize\n",
  1436. "CasingLinerChoke\n",
  1437. "PathGeneration\n",
  1438. "WellSurveyData\n",
  1439. "MudProperties\n",
  1440. "problems\n",
  1441. "BitProblems\n",
  1442. "BopProblems\n",
  1443. "ChokeProblems\n",
  1444. "DrillStemProblems\n",
  1445. "GaugesProblems\n",
  1446. "HoistingProblems\n",
  1447. "KickProblems\n",
  1448. "LostProblems\n",
  1449. "MudTreatmentProblems\n",
  1450. "OtherProblems\n",
  1451. "PumpProblems\n",
  1452. "RotaryProblems\n"
  1453. ]
  1454. },
  1455. {
  1456. "ename": "IndexError",
  1457. "evalue": "list index out of range",
  1458. "output_type": "error",
  1459. "traceback": [
  1460. "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
  1461. "\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)",
  1462. "\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",
  1463. "\u001b[1;31mIndexError\u001b[0m: list index out of range"
  1464. ]
  1465. }
  1466. ],
  1467. "source": [
  1468. "f = open(\"hier.txt\")\n",
  1469. "lines = f.readlines()\n",
  1470. "for line in lines[1:]:\n",
  1471. " nsp=0\n",
  1472. " while line[nsp]==' ':\n",
  1473. " nsp+=1\n",
  1474. " splits = line.split(\"::\")\n",
  1475. " print(splits[1].strip())"
  1476. ]
  1477. },
  1478. {
  1479. "cell_type": "code",
  1480. "execution_count": 4,
  1481. "metadata": {},
  1482. "outputs": [
  1483. {
  1484. "data": {
  1485. "text/plain": [
  1486. "'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'"
  1487. ]
  1488. },
  1489. "execution_count": 4,
  1490. "metadata": {},
  1491. "output_type": "execute_result"
  1492. }
  1493. ],
  1494. "source": [
  1495. "line"
  1496. ]
  1497. },
  1498. {
  1499. "cell_type": "code",
  1500. "execution_count": null,
  1501. "metadata": {},
  1502. "outputs": [],
  1503. "source": [
  1504. "for fn in modules:\n",
  1505. " f = open(fn)\n",
  1506. " lines = f.readlines()\n",
  1507. " module_filenames = {}\n",
  1508. " used_modules = []\n",
  1509. " mod_count = 0\n",
  1510. " for l in lines:\n",
  1511. " l = l.strip().lower()\n",
  1512. " if l.startswith('module ') and not l.startswith('module procedure '):\n",
  1513. " mod_name = l.split(' ')[1]\n",
  1514. " module_filenames[mod_name] = fn\n",
  1515. " mod_count +=1\n",
  1516. " if l.startswith('use'):\n",
  1517. " used_modules.append(l.split(' ')[1])\n",
  1518. " if mod_count !=1:\n",
  1519. " print(f\"{fn} has {mod_count} modules\")\n",
  1520. " module_filenames,used_modules"
  1521. ]
  1522. }
  1523. ],
  1524. "metadata": {
  1525. "kernelspec": {
  1526. "display_name": "base",
  1527. "language": "python",
  1528. "name": "python3"
  1529. },
  1530. "language_info": {
  1531. "codemirror_mode": {
  1532. "name": "ipython",
  1533. "version": 3
  1534. },
  1535. "file_extension": ".py",
  1536. "mimetype": "text/x-python",
  1537. "name": "python",
  1538. "nbconvert_exporter": "python",
  1539. "pygments_lexer": "ipython3",
  1540. "version": "3.9.12"
  1541. },
  1542. "orig_nbformat": 4,
  1543. "vscode": {
  1544. "interpreter": {
  1545. "hash": "1ef4a26de7183d96d6da1045a38581e0a15b2215d0c1b98c7b273c6e514c6c7e"
  1546. }
  1547. }
  1548. },
  1549. "nbformat": 4,
  1550. "nbformat_minor": 2
  1551. }