gea-program 0.87.0__tar.gz → 0.88.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. {gea_program-0.87.0 → gea_program-0.88.0}/PKG-INFO +35 -4
  2. {gea_program-0.87.0 → gea_program-0.88.0}/README.md +34 -3
  3. {gea_program-0.87.0 → gea_program-0.88.0}/gea/__init__.py +1 -1
  4. {gea_program-0.87.0 → gea_program-0.88.0}/gea/__main__.py +64 -0
  5. {gea_program-0.87.0 → gea_program-0.88.0}/gea/acceptance_tests.py +396 -0
  6. {gea_program-0.87.0 → gea_program-0.88.0}/gea/alerts.py +16 -1
  7. {gea_program-0.87.0 → gea_program-0.88.0}/gea/dossier.py +16 -1
  8. gea_program-0.88.0/gea/dysfunction.py +769 -0
  9. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/alerts.md +1 -1
  10. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/driller.md +1 -1
  11. gea_program-0.88.0/gea/help/dysfunction.md +13 -0
  12. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/install.md +2 -2
  13. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/reader.md +1 -1
  14. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/recorder.md +1 -1
  15. gea_program-0.88.0/gea/help/roadmap.md +13 -0
  16. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/01-install.md +2 -2
  17. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/13-drilling-pages.md +10 -8
  18. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/19-dossier-reader.md +1 -1
  19. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/22-updates.md +1 -1
  20. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/23-vpn.md +1 -1
  21. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/25-install-recorder.md +2 -2
  22. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/29-driller-rig.md +1 -1
  23. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial.md +2 -2
  24. {gea_program-0.87.0 → gea_program-0.88.0}/gea/helplib.py +3 -1
  25. {gea_program-0.87.0 → gea_program-0.88.0}/gea/notify.py +3 -1
  26. {gea_program-0.87.0 → gea_program-0.88.0}/gea/rig_state.py +3 -1
  27. gea_program-0.88.0/gea/roadmap.py +678 -0
  28. {gea_program-0.87.0 → gea_program-0.88.0}/gea/series_cache.py +52 -10
  29. {gea_program-0.87.0 → gea_program-0.88.0}/gea/service.py +22 -0
  30. {gea_program-0.87.0 → gea_program-0.88.0}/gea/web/app.html +95 -2
  31. {gea_program-0.87.0 → gea_program-0.88.0}/gea_program.egg-info/PKG-INFO +35 -4
  32. {gea_program-0.87.0 → gea_program-0.88.0}/gea_program.egg-info/SOURCES.txt +4 -0
  33. {gea_program-0.87.0 → gea_program-0.88.0}/pyproject.toml +1 -1
  34. {gea_program-0.87.0 → gea_program-0.88.0}/LICENSE +0 -0
  35. {gea_program-0.87.0 → gea_program-0.88.0}/gea/BENCH_TEST_PROTOCOL.md +0 -0
  36. {gea_program-0.87.0 → gea_program-0.88.0}/gea/accuracy_statement.py +0 -0
  37. {gea_program-0.87.0 → gea_program-0.88.0}/gea/alarm_engine.py +0 -0
  38. {gea_program-0.87.0 → gea_program-0.88.0}/gea/backup.py +0 -0
  39. {gea_program-0.87.0 → gea_program-0.88.0}/gea/bench.py +0 -0
  40. {gea_program-0.87.0 → gea_program-0.88.0}/gea/bit_seismic.py +0 -0
  41. {gea_program-0.87.0 → gea_program-0.88.0}/gea/blind_harness.py +0 -0
  42. {gea_program-0.87.0 → gea_program-0.88.0}/gea/calibration.py +0 -0
  43. {gea_program-0.87.0 → gea_program-0.88.0}/gea/casing_design.py +0 -0
  44. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/acex_lomonosov_age_depth_model.provenance.json +0 -0
  45. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/acex_lomonosov_age_depth_model.txt +0 -0
  46. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/agassiz77_canada_temperature.csv +0 -0
  47. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/agassiz77_canada_temperature.provenance.json +0 -0
  48. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/barbados_110_consolidation.provenance.json +0 -0
  49. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/barbados_110_consolidation.txt +0 -0
  50. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/bengal_u1452_grain_size.provenance.json +0 -0
  51. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/bengal_u1452_grain_size.txt +0 -0
  52. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/blake_164_methane_isotopes.provenance.json +0 -0
  53. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/blake_164_methane_isotopes.txt +0 -0
  54. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.provenance.json +0 -0
  55. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.txt +0 -0
  56. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/collingwood_1_28_ks_complete.las +0 -0
  57. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/collingwood_1_28_ks_complete.provenance.json +0 -0
  58. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/costa_rica_odp_friction_envelope.provenance.json +0 -0
  59. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/costa_rica_odp_friction_envelope.txt +0 -0
  60. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.provenance.json +0 -0
  61. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.txt +0 -0
  62. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/dsdp_504b_physical_properties.provenance.json +0 -0
  63. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/dsdp_504b_physical_properties.txt +0 -0
  64. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/dsdp_504b_sound_velocity.provenance.json +0 -0
  65. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/dsdp_504b_sound_velocity.txt +0 -0
  66. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/elgygytgyn_5011_turbidites.provenance.json +0 -0
  67. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/elgygytgyn_5011_turbidites.txt +0 -0
  68. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/epica_domec_co2_800kyr.provenance.json +0 -0
  69. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/epica_domec_co2_800kyr.txt +0 -0
  70. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/fram_909_organic_petrography.provenance.json +0 -0
  71. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/fram_909_organic_petrography.txt +0 -0
  72. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/gbr_325_coral_uth_ages.provenance.json +0 -0
  73. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/gbr_325_coral_uth_ages.txt +0 -0
  74. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/gisp2_greenland_temperature.csv +0 -0
  75. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/gisp2_greenland_temperature.provenance.json +0 -0
  76. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/gom_308_t2p_insitu.provenance.json +0 -0
  77. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/gom_308_t2p_insitu.txt +0 -0
  78. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/guaymas_385_dom_d13c.provenance.json +0 -0
  79. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/guaymas_385_dom_d13c.txt +0 -0
  80. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/hikurangi_u1520_friction_insitu.provenance.json +0 -0
  81. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/hikurangi_u1520_friction_insitu.txt +0 -0
  82. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.provenance.json +0 -0
  83. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.txt +0 -0
  84. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/iodp_u1324_pore_pressure.provenance.json +0 -0
  85. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/iodp_u1324_pore_pressure.txt +0 -0
  86. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/jfast_c0019_slow_slip_events.provenance.json +0 -0
  87. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/jfast_c0019_slow_slip_events.txt +0 -0
  88. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/kennetcook_2_p129_excerpt.las +0 -0
  89. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/kennetcook_2_p129_excerpt.provenance.json +0 -0
  90. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_hb_bhgm_density.dat +0 -0
  91. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_hb_bhgm_density.provenance.json +0 -0
  92. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_hb_complog_6020_excerpt.provenance.json +0 -0
  93. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_hb_complog_6020_excerpt.txt +0 -0
  94. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_hb_hlog246_temperature.dat +0 -0
  95. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_hb_hlog246_temperature.provenance.json +0 -0
  96. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_hb_rockmech_compress.dat +0 -0
  97. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_hb_rockmech_compress.provenance.json +0 -0
  98. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.dat +0 -0
  99. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.provenance.json +0 -0
  100. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_vb_rockmech_compress.dat +0 -0
  101. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_vb_rockmech_compress.provenance.json +0 -0
  102. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_vb_vlog251_temperature.dat +0 -0
  103. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ktb_vb_vlog251_temperature.provenance.json +0 -0
  104. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/l06_06_nl_survey.csv +0 -0
  105. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/l06_06_nl_survey.provenance.json +0 -0
  106. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/l07_01_nl_excerpt.las +0 -0
  107. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/l07_01_nl_excerpt.provenance.json +0 -0
  108. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/mariana_1200_serpentinite_geochem.provenance.json +0 -0
  109. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/mariana_1200_serpentinite_geochem.txt +0 -0
  110. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/med_160_sapropels.provenance.json +0 -0
  111. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/med_160_sapropels.txt +0 -0
  112. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/nankai_megasplay_shear_strength.provenance.json +0 -0
  113. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/nankai_megasplay_shear_strength.txt +0 -0
  114. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_1027b_thermal_conductivity.provenance.json +0 -0
  115. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_1027b_thermal_conductivity.txt +0 -0
  116. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_1027c_cork_temperature.provenance.json +0 -0
  117. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_1027c_cork_temperature.txt +0 -0
  118. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_1165b_thermal_conductivity.provenance.json +0 -0
  119. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_1165b_thermal_conductivity.txt +0 -0
  120. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.provenance.json +0 -0
  121. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.txt +0 -0
  122. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_504b_dike_elastic_moduli.provenance.json +0 -0
  123. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_504b_dike_elastic_moduli.txt +0 -0
  124. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_504b_leg137_borehole_fluids.provenance.json +0 -0
  125. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_504b_leg137_borehole_fluids.txt +0 -0
  126. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.provenance.json +0 -0
  127. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.txt +0 -0
  128. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/peru_201_sulfate_reduction.provenance.json +0 -0
  129. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/peru_201_sulfate_reduction.txt +0 -0
  130. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/scorpio_e1_sa_excerpt.las +0 -0
  131. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/scorpio_e1_sa_excerpt.provenance.json +0 -0
  132. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/sumatra_362_cohesion.provenance.json +0 -0
  133. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/sumatra_362_cohesion.txt +0 -0
  134. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/university_6_17_no1_tx_excerpt.las +0 -0
  135. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/university_6_17_no1_tx_excerpt.provenance.json +0 -0
  136. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ursa_308_xrd_mineralogy.provenance.json +0 -0
  137. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/ursa_308_xrd_mineralogy.txt +0 -0
  138. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/volve_15_9_19_sr_excerpt.las +0 -0
  139. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/volve_15_9_19_sr_excerpt.provenance.json +0 -0
  140. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/volve_15_9_19a_core_excerpt.csv +0 -0
  141. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/volve_15_9_19a_core_excerpt.provenance.json +0 -0
  142. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/volve_f12_f14_production_excerpt.csv +0 -0
  143. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/volve_f12_f14_production_excerpt.provenance.json +0 -0
  144. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/walvis_208_petm_carbonate.provenance.json +0 -0
  145. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/walvis_208_petm_carbonate.txt +0 -0
  146. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/woodlark_1109_rock_eval.provenance.json +0 -0
  147. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog/woodlark_1109_rock_eval.txt +0 -0
  148. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog_map.py +0 -0
  149. {gea_program-0.87.0 → gea_program-0.88.0}/gea/catalog_register.py +0 -0
  150. {gea_program-0.87.0 → gea_program-0.88.0}/gea/certificates.py +0 -0
  151. {gea_program-0.87.0 → gea_program-0.88.0}/gea/cli.py +0 -0
  152. {gea_program-0.87.0 → gea_program-0.88.0}/gea/client_reports.py +0 -0
  153. {gea_program-0.87.0 → gea_program-0.88.0}/gea/collision.py +0 -0
  154. {gea_program-0.87.0 → gea_program-0.88.0}/gea/config_versioning.py +0 -0
  155. {gea_program-0.87.0 → gea_program-0.88.0}/gea/conformance.py +0 -0
  156. {gea_program-0.87.0 → gea_program-0.88.0}/gea/control_room.py +0 -0
  157. {gea_program-0.87.0 → gea_program-0.88.0}/gea/correlation.py +0 -0
  158. {gea_program-0.87.0 → gea_program-0.88.0}/gea/dashboard.py +0 -0
  159. {gea_program-0.87.0 → gea_program-0.88.0}/gea/declarations.py +0 -0
  160. {gea_program-0.87.0 → gea_program-0.88.0}/gea/decline.py +0 -0
  161. {gea_program-0.87.0 → gea_program-0.88.0}/gea/deviation.py +0 -0
  162. {gea_program-0.87.0 → gea_program-0.88.0}/gea/dlis.py +0 -0
  163. {gea_program-0.87.0 → gea_program-0.88.0}/gea/dnp3.py +0 -0
  164. {gea_program-0.87.0 → gea_program-0.88.0}/gea/doctor.py +0 -0
  165. {gea_program-0.87.0 → gea_program-0.88.0}/gea/dossier_verify.py +0 -0
  166. {gea_program-0.87.0 → gea_program-0.88.0}/gea/downhole_engine.py +0 -0
  167. {gea_program-0.87.0 → gea_program-0.88.0}/gea/drift_monitor.py +0 -0
  168. {gea_program-0.87.0 → gea_program-0.88.0}/gea/drill_string.py +0 -0
  169. {gea_program-0.87.0 → gea_program-0.88.0}/gea/driller_link.py +0 -0
  170. {gea_program-0.87.0 → gea_program-0.88.0}/gea/earth_model.py +0 -0
  171. {gea_program-0.87.0 → gea_program-0.88.0}/gea/economics.py +0 -0
  172. {gea_program-0.87.0 → gea_program-0.88.0}/gea/ed25519.py +0 -0
  173. {gea_program-0.87.0 → gea_program-0.88.0}/gea/edr.py +0 -0
  174. {gea_program-0.87.0 → gea_program-0.88.0}/gea/elevation.py +0 -0
  175. {gea_program-0.87.0 → gea_program-0.88.0}/gea/etp.py +0 -0
  176. {gea_program-0.87.0 → gea_program-0.88.0}/gea/etp12_schemas.json +0 -0
  177. {gea_program-0.87.0 → gea_program-0.88.0}/gea/example_register_map.json +0 -0
  178. {gea_program-0.87.0 → gea_program-0.88.0}/gea/fat_sat.py +0 -0
  179. {gea_program-0.87.0 → gea_program-0.88.0}/gea/field_pull.py +0 -0
  180. {gea_program-0.87.0 → gea_program-0.88.0}/gea/files.py +0 -0
  181. {gea_program-0.87.0 → gea_program-0.88.0}/gea/fixtures/README.md +0 -0
  182. {gea_program-0.87.0 → gea_program-0.88.0}/gea/fixtures/comcat_delaware_basin_2026-09.txt +0 -0
  183. {gea_program-0.87.0 → gea_program-0.88.0}/gea/fixtures/comcat_mahoning_1990-2026.txt +0 -0
  184. {gea_program-0.87.0 → gea_program-0.88.0}/gea/fixtures/comcat_youngstown_2011-2012.txt +0 -0
  185. {gea_program-0.87.0 → gea_program-0.88.0}/gea/fixtures/ne_110m_coastline.json +0 -0
  186. {gea_program-0.87.0 → gea_program-0.88.0}/gea/fluid.py +0 -0
  187. {gea_program-0.87.0 → gea_program-0.88.0}/gea/follower.py +0 -0
  188. {gea_program-0.87.0 → gea_program-0.88.0}/gea/forward_model.py +0 -0
  189. {gea_program-0.87.0 → gea_program-0.88.0}/gea/frac_hits.py +0 -0
  190. {gea_program-0.87.0 → gea_program-0.88.0}/gea/friction_priors.py +0 -0
  191. {gea_program-0.87.0 → gea_program-0.88.0}/gea/front.py +0 -0
  192. {gea_program-0.87.0 → gea_program-0.88.0}/gea/gamma.py +0 -0
  193. {gea_program-0.87.0 → gea_program-0.88.0}/gea/gauge_aging.py +0 -0
  194. {gea_program-0.87.0 → gea_program-0.88.0}/gea/gauge_specs.py +0 -0
  195. {gea_program-0.87.0 → gea_program-0.88.0}/gea/geodesy.py +0 -0
  196. {gea_program-0.87.0 → gea_program-0.88.0}/gea/geomag.py +0 -0
  197. {gea_program-0.87.0 → gea_program-0.88.0}/gea/gravity_reference.py +0 -0
  198. {gea_program-0.87.0 → gea_program-0.88.0}/gea/hartip.py +0 -0
  199. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/IT_SECURITY.md +0 -0
  200. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/TESTER_GUIDE.md +0 -0
  201. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/alarms.md +0 -0
  202. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/audit-update.md +0 -0
  203. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/backup.md +0 -0
  204. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/bit-image.md +0 -0
  205. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/calibration.md +0 -0
  206. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/casing.md +0 -0
  207. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/catalog.md +0 -0
  208. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/charts.md +0 -0
  209. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/collision.md +0 -0
  210. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/company-sign-in.md +0 -0
  211. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/conformance.md +0 -0
  212. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/control-room.md +0 -0
  213. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/data-in.md +0 -0
  214. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/declare.md +0 -0
  215. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/decline.md +0 -0
  216. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/dlis.md +0 -0
  217. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/doctor.md +0 -0
  218. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/dossier.md +0 -0
  219. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/drift.md +0 -0
  220. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/drillstring.md +0 -0
  221. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/economics.md +0 -0
  222. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/edr.md +0 -0
  223. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/etp.md +0 -0
  224. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/field-ports.md +0 -0
  225. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/files.md +0 -0
  226. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/fluid.md +0 -0
  227. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/frac-hits.md +0 -0
  228. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/front.md +0 -0
  229. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/historian.md +0 -0
  230. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/https.md +0 -0
  231. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/hydraulics.md +0 -0
  232. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/instruments.md +0 -0
  233. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/interval.md +0 -0
  234. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/invoice-check.md +0 -0
  235. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/map.md +0 -0
  236. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/month-end.md +0 -0
  237. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/notifications.md +0 -0
  238. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/opseis.md +0 -0
  239. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/osdu.md +0 -0
  240. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/pad-summary.md +0 -0
  241. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/patches.md +0 -0
  242. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/penetrator.md +0 -0
  243. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/plan.md +0 -0
  244. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/plume.md +0 -0
  245. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/pore-pressure.md +0 -0
  246. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/ppdm.md +0 -0
  247. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/quakeml.md +0 -0
  248. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/quality.md +0 -0
  249. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/records.md +0 -0
  250. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/report-history.md +0 -0
  251. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/rig-time.md +0 -0
  252. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/rocks.md +0 -0
  253. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/seedlink.md +0 -0
  254. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/seismic.md +0 -0
  255. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/setup.md +0 -0
  256. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/simulation.md +0 -0
  257. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/site.md +0 -0
  258. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/sites.md +0 -0
  259. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/slip.md +0 -0
  260. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/soak.md +0 -0
  261. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/sra.md +0 -0
  262. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/start.md +0 -0
  263. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/structure.md +0 -0
  264. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tools.md +0 -0
  265. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/torque-drag.md +0 -0
  266. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/transients.md +0 -0
  267. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/02-sign-in.md +0 -0
  268. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/03-site.md +0 -0
  269. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/04-add-well.md +0 -0
  270. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/05-records.md +0 -0
  271. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/06-well-page.md +0 -0
  272. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/07-declare.md +0 -0
  273. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/08-patches.md +0 -0
  274. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/09-alarms.md +0 -0
  275. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/10-control-room.md +0 -0
  276. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/11-summary-month.md +0 -0
  277. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/12-where-the-well-is.md +0 -0
  278. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/14-production-pages.md +0 -0
  279. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/15-seismic.md +0 -0
  280. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/16-seismicity.md +0 -0
  281. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/17-recorder-office.md +0 -0
  282. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/18-reports.md +0 -0
  283. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/20-admin.md +0 -0
  284. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/21-upkeep.md +0 -0
  285. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/24-the-box.md +0 -0
  286. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/26-monitor.md +0 -0
  287. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/27-mirror-vpn.md +0 -0
  288. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/tutorial/28-driller-office.md +0 -0
  289. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/upkeep.md +0 -0
  290. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/vibration.md +0 -0
  291. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/vpn.md +0 -0
  292. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/well-report.md +0 -0
  293. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/well-tests.md +0 -0
  294. {gea_program-0.87.0 → gea_program-0.88.0}/gea/help/well3d.md +0 -0
  295. {gea_program-0.87.0 → gea_program-0.88.0}/gea/housekeeping.py +0 -0
  296. {gea_program-0.87.0 → gea_program-0.88.0}/gea/hydraulics.py +0 -0
  297. {gea_program-0.87.0 → gea_program-0.88.0}/gea/icon.py +0 -0
  298. {gea_program-0.87.0 → gea_program-0.88.0}/gea/interval.py +0 -0
  299. {gea_program-0.87.0 → gea_program-0.88.0}/gea/inverse_engine.py +0 -0
  300. {gea_program-0.87.0 → gea_program-0.88.0}/gea/invoice_check.py +0 -0
  301. {gea_program-0.87.0 → gea_program-0.88.0}/gea/jobs.py +0 -0
  302. {gea_program-0.87.0 → gea_program-0.88.0}/gea/launcher.py +0 -0
  303. {gea_program-0.87.0 → gea_program-0.88.0}/gea/live_ports.py +0 -0
  304. {gea_program-0.87.0 → gea_program-0.88.0}/gea/loadtest.py +0 -0
  305. {gea_program-0.87.0 → gea_program-0.88.0}/gea/matplotlib_demo.py +0 -0
  306. {gea_program-0.87.0 → gea_program-0.88.0}/gea/modbus.py +0 -0
  307. {gea_program-0.87.0 → gea_program-0.88.0}/gea/modbus_rtu.py +0 -0
  308. {gea_program-0.87.0 → gea_program-0.88.0}/gea/model_card.py +0 -0
  309. {gea_program-0.87.0 → gea_program-0.88.0}/gea/month_end.py +0 -0
  310. {gea_program-0.87.0 → gea_program-0.88.0}/gea/mqtt_port.py +0 -0
  311. {gea_program-0.87.0 → gea_program-0.88.0}/gea/oidc.py +0 -0
  312. {gea_program-0.87.0 → gea_program-0.88.0}/gea/oidc_mock.py +0 -0
  313. {gea_program-0.87.0 → gea_program-0.88.0}/gea/op_seismicity.py +0 -0
  314. {gea_program-0.87.0 → gea_program-0.88.0}/gea/opcua_port.py +0 -0
  315. {gea_program-0.87.0 → gea_program-0.88.0}/gea/operator_app.py +0 -0
  316. {gea_program-0.87.0 → gea_program-0.88.0}/gea/osdu.py +0 -0
  317. {gea_program-0.87.0 → gea_program-0.88.0}/gea/pad_summary.py +0 -0
  318. {gea_program-0.87.0 → gea_program-0.88.0}/gea/patches.py +0 -0
  319. {gea_program-0.87.0 → gea_program-0.88.0}/gea/pdf_report.py +0 -0
  320. {gea_program-0.87.0 → gea_program-0.88.0}/gea/penetrator.py +0 -0
  321. {gea_program-0.87.0 → gea_program-0.88.0}/gea/permits.py +0 -0
  322. {gea_program-0.87.0 → gea_program-0.88.0}/gea/piwebapi.py +0 -0
  323. {gea_program-0.87.0 → gea_program-0.88.0}/gea/plume.py +0 -0
  324. {gea_program-0.87.0 → gea_program-0.88.0}/gea/pore_pressure.py +0 -0
  325. {gea_program-0.87.0 → gea_program-0.88.0}/gea/ports.py +0 -0
  326. {gea_program-0.87.0 → gea_program-0.88.0}/gea/ppdm.py +0 -0
  327. {gea_program-0.87.0 → gea_program-0.88.0}/gea/profile_catalog.py +0 -0
  328. {gea_program-0.87.0 → gea_program-0.88.0}/gea/project.py +0 -0
  329. {gea_program-0.87.0 → gea_program-0.88.0}/gea/qt6_downhole_app.py +0 -0
  330. {gea_program-0.87.0 → gea_program-0.88.0}/gea/quakeml.py +0 -0
  331. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reader.py +0 -0
  332. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reader_app.py +0 -0
  333. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reconciler.py +0 -0
  334. {gea_program-0.87.0 → gea_program-0.88.0}/gea/recorder_link.py +0 -0
  335. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/IU_ANMO_10_BHZ_response.provenance.json +0 -0
  336. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/IU_ANMO_10_BHZ_response.xml +0 -0
  337. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/WMM2025.COF +0 -0
  338. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/eia_henry_hub_daily.csv.gz +0 -0
  339. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/eia_prices.provenance.json +0 -0
  340. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/eia_wti_daily.csv.gz +0 -0
  341. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/iscwsa_rev4_example.json +0 -0
  342. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/iscwsa_rev5_example.json +0 -0
  343. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/l0701_sonic_gr.las.gz +0 -0
  344. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/l0701_sonic_gr.provenance.json +0 -0
  345. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/libmseed_steim.provenance.json +0 -0
  346. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/libmseed_steim1_4096.mseed +0 -0
  347. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/libmseed_steim2_4096.mseed +0 -0
  348. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/libmseed_steim2_512.mseed +0 -0
  349. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/mahoning_example.json +0 -0
  350. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/mud_motor_specs.json +0 -0
  351. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/owsg_tool_models.json +0 -0
  352. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/penetrator_ratings.json +0 -0
  353. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/seismicity_protocols.json +0 -0
  354. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/tool_sources.json +0 -0
  355. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/us_outline.json +0 -0
  356. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/us_outline.provenance.json +0 -0
  357. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_3d.provenance.json +0 -0
  358. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_f4_interpretation.las.gz +0 -0
  359. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_f4_logs.provenance.json +0 -0
  360. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_f4_lwd.las.gz +0 -0
  361. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_surfaces.json.gz +0 -0
  362. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_traj_F-10.xml.gz +0 -0
  363. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_traj_F-4.xml.gz +0 -0
  364. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_traj_F-5_12.25in.xml.gz +0 -0
  365. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_traj_F-5_17.5in.xml.gz +0 -0
  366. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_traj_F-5_36in.xml.gz +0 -0
  367. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_traj_F-5_8.5in.xml.gz +0 -0
  368. {gea_program-0.87.0 → gea_program-0.88.0}/gea/reference/volve_well_picks.csv.gz +0 -0
  369. {gea_program-0.87.0 → gea_program-0.88.0}/gea/report_history.py +0 -0
  370. {gea_program-0.87.0 → gea_program-0.88.0}/gea/rock_inventory.py +0 -0
  371. {gea_program-0.87.0 → gea_program-0.88.0}/gea/sample_record.py +0 -0
  372. {gea_program-0.87.0 → gea_program-0.88.0}/gea/sample_well_profile.csv +0 -0
  373. {gea_program-0.87.0 → gea_program-0.88.0}/gea/sbom.py +0 -0
  374. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seedlink.py +0 -0
  375. {gea_program-0.87.0 → gea_program-0.88.0}/gea/segy.py +0 -0
  376. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic.py +0 -0
  377. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_array.py +0 -0
  378. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_assoc.py +0 -0
  379. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_detect.py +0 -0
  380. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_film.py +0 -0
  381. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_harmonic.py +0 -0
  382. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_qc.py +0 -0
  383. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_response.py +0 -0
  384. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_signature.py +0 -0
  385. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_track.py +0 -0
  386. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_uncertainty.py +0 -0
  387. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_unlisted.py +0 -0
  388. {gea_program-0.87.0 → gea_program-0.88.0}/gea/seismic_watch.py +0 -0
  389. {gea_program-0.87.0 → gea_program-0.88.0}/gea/sensor_swap.py +0 -0
  390. {gea_program-0.87.0 → gea_program-0.88.0}/gea/service_life.py +0 -0
  391. {gea_program-0.87.0 → gea_program-0.88.0}/gea/setup_checklist.py +0 -0
  392. {gea_program-0.87.0 → gea_program-0.88.0}/gea/shapefile.py +0 -0
  393. {gea_program-0.87.0 → gea_program-0.88.0}/gea/shell.py +0 -0
  394. {gea_program-0.87.0 → gea_program-0.88.0}/gea/shut_in.py +0 -0
  395. {gea_program-0.87.0 → gea_program-0.88.0}/gea/simulation.py +0 -0
  396. {gea_program-0.87.0 → gea_program-0.88.0}/gea/site_map.py +0 -0
  397. {gea_program-0.87.0 → gea_program-0.88.0}/gea/sla_report.py +0 -0
  398. {gea_program-0.87.0 → gea_program-0.88.0}/gea/slip.py +0 -0
  399. {gea_program-0.87.0 → gea_program-0.88.0}/gea/soak.py +0 -0
  400. {gea_program-0.87.0 → gea_program-0.88.0}/gea/sra.py +0 -0
  401. {gea_program-0.87.0 → gea_program-0.88.0}/gea/store_forward.py +0 -0
  402. {gea_program-0.87.0 → gea_program-0.88.0}/gea/strata_join.py +0 -0
  403. {gea_program-0.87.0 → gea_program-0.88.0}/gea/structure.py +0 -0
  404. {gea_program-0.87.0 → gea_program-0.88.0}/gea/supervisor.py +0 -0
  405. {gea_program-0.87.0 → gea_program-0.88.0}/gea/survey_cmd.py +0 -0
  406. {gea_program-0.87.0 → gea_program-0.88.0}/gea/survey_view.py +0 -0
  407. {gea_program-0.87.0 → gea_program-0.88.0}/gea/telemetry.py +0 -0
  408. {gea_program-0.87.0 → gea_program-0.88.0}/gea/timestamp.py +0 -0
  409. {gea_program-0.87.0 → gea_program-0.88.0}/gea/tls.py +0 -0
  410. {gea_program-0.87.0 → gea_program-0.88.0}/gea/tool_catalog.py +0 -0
  411. {gea_program-0.87.0 → gea_program-0.88.0}/gea/tool_library.py +0 -0
  412. {gea_program-0.87.0 → gea_program-0.88.0}/gea/tool_taxonomy.py +0 -0
  413. {gea_program-0.87.0 → gea_program-0.88.0}/gea/torque_drag.py +0 -0
  414. {gea_program-0.87.0 → gea_program-0.88.0}/gea/transient.py +0 -0
  415. {gea_program-0.87.0 → gea_program-0.88.0}/gea/tray.py +0 -0
  416. {gea_program-0.87.0 → gea_program-0.88.0}/gea/tutorial.py +0 -0
  417. {gea_program-0.87.0 → gea_program-0.88.0}/gea/updates.py +0 -0
  418. {gea_program-0.87.0 → gea_program-0.88.0}/gea/vibration.py +0 -0
  419. {gea_program-0.87.0 → gea_program-0.88.0}/gea/vpn.py +0 -0
  420. {gea_program-0.87.0 → gea_program-0.88.0}/gea/web/reader.html +0 -0
  421. {gea_program-0.87.0 → gea_program-0.88.0}/gea/well3d.py +0 -0
  422. {gea_program-0.87.0 → gea_program-0.88.0}/gea/well_assembler.py +0 -0
  423. {gea_program-0.87.0 → gea_program-0.88.0}/gea/well_records.py +0 -0
  424. {gea_program-0.87.0 → gea_program-0.88.0}/gea/well_report.py +0 -0
  425. {gea_program-0.87.0 → gea_program-0.88.0}/gea/well_test_validation.py +0 -0
  426. {gea_program-0.87.0 → gea_program-0.88.0}/gea/wellplan.py +0 -0
  427. {gea_program-0.87.0 → gea_program-0.88.0}/gea/wellpos.py +0 -0
  428. {gea_program-0.87.0 → gea_program-0.88.0}/gea/winident.py +0 -0
  429. {gea_program-0.87.0 → gea_program-0.88.0}/gea/wits0.py +0 -0
  430. {gea_program-0.87.0 → gea_program-0.88.0}/gea/witsml.py +0 -0
  431. {gea_program-0.87.0 → gea_program-0.88.0}/gea/workspace.py +0 -0
  432. {gea_program-0.87.0 → gea_program-0.88.0}/gea/workspaces.py +0 -0
  433. {gea_program-0.87.0 → gea_program-0.88.0}/gea/x25519.py +0 -0
  434. {gea_program-0.87.0 → gea_program-0.88.0}/gea/xlsx_read.py +0 -0
  435. {gea_program-0.87.0 → gea_program-0.88.0}/gea_program.egg-info/dependency_links.txt +0 -0
  436. {gea_program-0.87.0 → gea_program-0.88.0}/gea_program.egg-info/entry_points.txt +0 -0
  437. {gea_program-0.87.0 → gea_program-0.88.0}/gea_program.egg-info/requires.txt +0 -0
  438. {gea_program-0.87.0 → gea_program-0.88.0}/gea_program.egg-info/top_level.txt +0 -0
  439. {gea_program-0.87.0 → gea_program-0.88.0}/setup.cfg +0 -0
  440. {gea_program-0.87.0 → gea_program-0.88.0}/tests/test_acceptance.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gea-program
3
- Version: 0.87.0
3
+ Version: 0.88.0
4
4
  Summary: GEA-Program: downhole gauge monitoring - canonical measurement records, quality rules, drift evaluation with a re-fit change log, well-test validation, alarm management, model cards, store-and-forward, monthly SLA measurement, FAT/SAT protocols and a dashboard, generated from live objects in the client's reporting outline.
5
5
  Author: Daniel T. Murphy
6
6
  License: MPL-2.0
@@ -847,7 +847,7 @@ unsigned, the key hand-overs - and shows the reports as they were signed. A
847
847
  reader made from the workspace knows the site's key fingerprints, so it
848
848
  says whether a dossier is the site's; it allows no network request, and it
849
849
  leaves the trusted time-stamp to `verify_dossier.py`. For a client who wants
850
- it installed, every release also carries `GEA-Reader-Setup-0.87.0.exe`: GEA
850
+ it installed, every release also carries `GEA-Reader-Setup-0.88.0.exe`: GEA
851
851
  Reader as a Windows program of its own - its own icon and taskbar button,
852
852
  Check with GEA Reader on a dossier's right-click menu, fingerprints the client
853
853
  saves kept on that computer, nothing of GEA-Program. `gea help reader`.
@@ -1022,6 +1022,37 @@ of review and the front. Run by a person, kept with the hash of its inputs,
1022
1022
  marked stale when they change. Every figure a SIMULATION. The
1023
1023
  **Calibration** tab, `gea calibrate`, `gea help calibration`.
1024
1024
 
1025
+ ### Drilling roadmap
1026
+
1027
+ What the fastest stands on the pad were drilled with, stretch by stretch.
1028
+ Every well's drilling record is cut into stands of 100 ft; each stand goes
1029
+ into the stretch of hole it was drilled in - 1,000 ft of true vertical
1030
+ depth down to the heel, 1,000 ft along the hole beyond it, named for the
1031
+ mapped formation where the workspace has the tops and the well its
1032
+ elevation. In each stretch the fastest quarter of the stands is found, and
1033
+ the window is what those stands ran: the weight on bit, the rotary speed,
1034
+ the flow, the differential pressure, beside the well that was fastest
1035
+ there and what every other well ran through the same rock. Then the
1036
+ roadmap checks itself: each well is set against the roadmap made from the
1037
+ others, the half of its stands nearer the window against the farther half,
1038
+ stretch by stretch - so the page says whether running nearer the window
1039
+ went with drilling faster, or did not, before anyone drills the next well
1040
+ from it. The **Roadmap** tab, `gea roadmap`, `gea help roadmap`.
1041
+
1042
+ ### Drilling alerts
1043
+
1044
+ Three old driller's rules, written down so each is applied to every stand
1045
+ of every well the same way, and replayed over the whole of each record:
1046
+ the off-bottom pressure falling at a steady flow, connection after
1047
+ connection (a washout - or a pump, the mud or a nozzle; the trip finds
1048
+ which); the differential pressure spiking with the bit stopped (a motor
1049
+ stall); the pick-up and slack-off weight leaving their own trend (the hole
1050
+ getting tight). The page shows every reading, what each rule would have
1051
+ said and when, and what the rig did next - whether a trip out of the hole
1052
+ followed. The thresholds are settings, each changed with its source. On a
1053
+ record still being written an event raises an alert once. The **Drilling
1054
+ alerts** tab, `gea dysfunction`, `gea help dysfunction`.
1055
+
1025
1056
  ### Plan vs actual and the survey tools
1026
1057
 
1027
1058
  Each well against its directional plan: at every survey station, how far
@@ -1686,7 +1717,7 @@ attaches the zips to the GitHub release of that tag.
1686
1717
 
1687
1718
  ### The Windows installer
1688
1719
 
1689
- Every release also carries `GEA-Program-Setup-0.87.0.exe` (for 0.87.0): the
1720
+ Every release also carries `GEA-Program-Setup-0.88.0.exe` (for 0.88.0): the
1690
1721
  same Windows kit installed like any Windows program, for the signed-in user
1691
1722
  alone and with no administrator rights (`%LOCALAPPDATA%\Programs\GEA-Program`).
1692
1723
  It asks for the site workspace (an existing one such as `C:\site` is used as
@@ -1705,7 +1736,7 @@ it, removes the program and leaves the workspace. Silent, for a site's
1705
1736
  software deployment:
1706
1737
 
1707
1738
  ```
1708
- GEA-Program-Setup-0.87.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
1739
+ GEA-Program-Setup-0.88.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
1709
1740
  ```
1710
1741
 
1711
1742
  The setup is built by Inno Setup 6 from `tools/installer.iss` in the same
@@ -808,7 +808,7 @@ unsigned, the key hand-overs - and shows the reports as they were signed. A
808
808
  reader made from the workspace knows the site's key fingerprints, so it
809
809
  says whether a dossier is the site's; it allows no network request, and it
810
810
  leaves the trusted time-stamp to `verify_dossier.py`. For a client who wants
811
- it installed, every release also carries `GEA-Reader-Setup-0.87.0.exe`: GEA
811
+ it installed, every release also carries `GEA-Reader-Setup-0.88.0.exe`: GEA
812
812
  Reader as a Windows program of its own - its own icon and taskbar button,
813
813
  Check with GEA Reader on a dossier's right-click menu, fingerprints the client
814
814
  saves kept on that computer, nothing of GEA-Program. `gea help reader`.
@@ -983,6 +983,37 @@ of review and the front. Run by a person, kept with the hash of its inputs,
983
983
  marked stale when they change. Every figure a SIMULATION. The
984
984
  **Calibration** tab, `gea calibrate`, `gea help calibration`.
985
985
 
986
+ ### Drilling roadmap
987
+
988
+ What the fastest stands on the pad were drilled with, stretch by stretch.
989
+ Every well's drilling record is cut into stands of 100 ft; each stand goes
990
+ into the stretch of hole it was drilled in - 1,000 ft of true vertical
991
+ depth down to the heel, 1,000 ft along the hole beyond it, named for the
992
+ mapped formation where the workspace has the tops and the well its
993
+ elevation. In each stretch the fastest quarter of the stands is found, and
994
+ the window is what those stands ran: the weight on bit, the rotary speed,
995
+ the flow, the differential pressure, beside the well that was fastest
996
+ there and what every other well ran through the same rock. Then the
997
+ roadmap checks itself: each well is set against the roadmap made from the
998
+ others, the half of its stands nearer the window against the farther half,
999
+ stretch by stretch - so the page says whether running nearer the window
1000
+ went with drilling faster, or did not, before anyone drills the next well
1001
+ from it. The **Roadmap** tab, `gea roadmap`, `gea help roadmap`.
1002
+
1003
+ ### Drilling alerts
1004
+
1005
+ Three old driller's rules, written down so each is applied to every stand
1006
+ of every well the same way, and replayed over the whole of each record:
1007
+ the off-bottom pressure falling at a steady flow, connection after
1008
+ connection (a washout - or a pump, the mud or a nozzle; the trip finds
1009
+ which); the differential pressure spiking with the bit stopped (a motor
1010
+ stall); the pick-up and slack-off weight leaving their own trend (the hole
1011
+ getting tight). The page shows every reading, what each rule would have
1012
+ said and when, and what the rig did next - whether a trip out of the hole
1013
+ followed. The thresholds are settings, each changed with its source. On a
1014
+ record still being written an event raises an alert once. The **Drilling
1015
+ alerts** tab, `gea dysfunction`, `gea help dysfunction`.
1016
+
986
1017
  ### Plan vs actual and the survey tools
987
1018
 
988
1019
  Each well against its directional plan: at every survey station, how far
@@ -1647,7 +1678,7 @@ attaches the zips to the GitHub release of that tag.
1647
1678
 
1648
1679
  ### The Windows installer
1649
1680
 
1650
- Every release also carries `GEA-Program-Setup-0.87.0.exe` (for 0.87.0): the
1681
+ Every release also carries `GEA-Program-Setup-0.88.0.exe` (for 0.88.0): the
1651
1682
  same Windows kit installed like any Windows program, for the signed-in user
1652
1683
  alone and with no administrator rights (`%LOCALAPPDATA%\Programs\GEA-Program`).
1653
1684
  It asks for the site workspace (an existing one such as `C:\site` is used as
@@ -1666,7 +1697,7 @@ it, removes the program and leaves the workspace. Silent, for a site's
1666
1697
  software deployment:
1667
1698
 
1668
1699
  ```
1669
- GEA-Program-Setup-0.87.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
1700
+ GEA-Program-Setup-0.88.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
1670
1701
  ```
1671
1702
 
1672
1703
  The setup is built by Inno Setup 6 from `tools/installer.iss` in the same
@@ -123,7 +123,7 @@ from .profile_catalog import (
123
123
  read_pangaea_txt,
124
124
  )
125
125
 
126
- __version__ = "0.87.0"
126
+ __version__ = "0.88.0"
127
127
  __all__ = [
128
128
  "aging_rate", "rate_psi_yr", "accuracy_psi",
129
129
  "Sensor", "SimulatorConfig", "DownholeEngine",
@@ -628,6 +628,24 @@ def main(argv=None) -> int:
628
628
  p_cb.add_argument("--write", action="store_true", help="write reports/calibration/calibration.json and .md from the kept result")
629
629
  p_cb.add_argument("--actor", type=str, default="cli")
630
630
  p_cb.add_argument("--json", action="store_true")
631
+ p_rm = sub.add_parser("roadmap", help="the drilling roadmap: for every stretch of hole, the weight on bit, rotary speed, flow and differential pressure the fastest quarter of the stands on the pad's wells were drilled with, which well was fastest there, and each well checked against the roadmap made from the others")
632
+ p_rm.add_argument("--workspace", type=str, default=None, help="the workspace folder; without one the self-test runs (three labelled wells through rock with a known best weight and speed)")
633
+ p_rm.add_argument("--well", type=str, default=None, help="the well the next stand is given for (default: the well whose record ends last)")
634
+ p_rm.add_argument("--write", action="store_true", help="write reports/roadmap/roadmap.json, .md and .csv")
635
+ p_rm.add_argument("--actor", type=str, default="cli")
636
+ p_rm.add_argument("--json", action="store_true")
637
+ p_dy = sub.add_parser("dysfunction", help="drilling alerts replayed over each well's record: the off-bottom pressure falling at a steady flow (a washout), the differential pressure spiking with the bit stopped (a motor stall), the pick-up weight leaving its own trend (the hole getting tight) - what each rule would have said, when, and whether a trip followed")
638
+ p_dy.add_argument("--workspace", type=str, default=None, help="the workspace folder; without one the self-test runs (a labelled record with a washout, three stalls and a tightening hole put in, and a sound one)")
639
+ p_dy.add_argument("--washout-fall", type=float, default=None, help="settings: the fall in off-bottom pressure that flags a reading, as a fraction (default 0.06)")
640
+ p_dy.add_argument("--washout-min-psi", type=float, default=None, help="settings: and the least fall in psi (default 100)")
641
+ p_dy.add_argument("--stall-rise", type=float, default=None, help="settings: the rise in differential pressure over its median that is a stall, as a fraction (default 0.6)")
642
+ p_dy.add_argument("--stall-min-psi", type=float, default=None, help="settings: and the least rise in psi (default 300)")
643
+ p_dy.add_argument("--drag-sigma", type=float, default=None, help="settings: how many scatters off its trend a pick-up or slack-off weight is flagged at (default 3)")
644
+ p_dy.add_argument("--drag-min-klbf", type=float, default=None, help="settings: and the least distance in klbf (default 10)")
645
+ p_dy.add_argument("--source", type=str, default="", help="who set a changed setting and on what grounds")
646
+ p_dy.add_argument("--write", action="store_true", help="write reports/dysfunction/drilling_alerts.json, .md and events.csv")
647
+ p_dy.add_argument("--actor", type=str, default="cli")
648
+ p_dy.add_argument("--json", action="store_true")
631
649
  p_os = sub.add_parser("seismicity", help="operations and seismicity: each well's drilling, completion and disposal windows against the earthquake catalogue around it - the events during and after each, the levels a regulator's protocol would reach, and the rate during operations against the rest of the record; the Mahoning Valley worked example")
632
650
  p_os.add_argument("--workspace", type=str, default=None)
633
651
  p_os.add_argument("--scene", type=str, default=None, choices=("workspace", "mahoning"), help="your wells (the default with --workspace) or the public worked example")
@@ -2832,6 +2850,52 @@ def main(argv=None) -> int:
2832
2850
  raise SystemExit(f"calibrate: {e.args[0] if e.args else e}")
2833
2851
  print(_json.dumps(p, default=str) if a.json else _CB.text(p))
2834
2852
  return 0
2853
+ elif a.cmd == "roadmap":
2854
+ import json as _json
2855
+ from . import roadmap as _RM
2856
+ from .cli import _safe_stdout
2857
+ from .workspace import Workspace, WorkspaceError
2858
+ _safe_stdout()
2859
+ if not a.workspace:
2860
+ r = _RM.selftest()
2861
+ print(_json.dumps(r, default=str) if a.json else "\n".join(f"{'PASS' if c['pass'] else 'FAIL'} {c['check']}: {c['value']}" for c in r["checks"]) + f"\n{'OK' if r['ok'] else 'FAILED'} - {r['label']}")
2862
+ return 0 if r["ok"] else 1
2863
+ try:
2864
+ ws = Workspace(a.workspace)
2865
+ if a.write:
2866
+ from . import __version__ as _ver88r
2867
+ r = _RM.write_report(ws, _ver88r, a.actor)
2868
+ print(f"written: {', '.join(r['files'])} under {r['folder']}")
2869
+ p = _RM.page(ws, a.well)
2870
+ except (_RM.RoadmapError, WorkspaceError, ValueError, OSError) as e:
2871
+ raise SystemExit(f"roadmap: {e.args[0] if e.args else e}")
2872
+ print(_json.dumps(p, default=str) if a.json else _RM.text(p))
2873
+ return 0
2874
+ elif a.cmd == "dysfunction":
2875
+ import json as _json
2876
+ from . import dysfunction as _DY
2877
+ from .cli import _safe_stdout
2878
+ from .workspace import Workspace, WorkspaceError
2879
+ _safe_stdout()
2880
+ if not a.workspace:
2881
+ r = _DY.selftest()
2882
+ print(_json.dumps(r, default=str) if a.json else "\n".join(f"{'PASS' if c['pass'] else 'FAIL'} {c['check']}: {c['value']}" for c in r["checks"]) + f"\n{'OK' if r['ok'] else 'FAILED'} - {r['label']}")
2883
+ return 0 if r["ok"] else 1
2884
+ try:
2885
+ ws = Workspace(a.workspace)
2886
+ kw_ = {"washout_fall": a.washout_fall, "washout_min_psi": a.washout_min_psi, "stall_rise": a.stall_rise, "stall_min_psi": a.stall_min_psi, "drag_sigma": a.drag_sigma, "drag_min_klbf": a.drag_min_klbf}
2887
+ if any(v is not None for v in kw_.values()):
2888
+ st_ = _DY.set_settings(ws, a.actor, a.source, **kw_)
2889
+ print("settings: " + ", ".join(f"{k} {st_[k]:g}" for k in _DY.DEFAULTS))
2890
+ if a.write:
2891
+ from . import __version__ as _ver88d
2892
+ r = _DY.write_report(ws, _ver88d, a.actor)
2893
+ print(f"written: {', '.join(r['files'])} under {r['folder']}")
2894
+ p = _DY.page(ws)
2895
+ except (_DY.DysfunctionError, WorkspaceError, ValueError, OSError) as e:
2896
+ raise SystemExit(f"dysfunction: {e.args[0] if e.args else e}")
2897
+ print(_json.dumps(p, default=str) if a.json else _DY.text(p))
2898
+ return 0
2835
2899
  elif a.cmd == "seismicity":
2836
2900
  import json as _json
2837
2901
  from . import op_seismicity as _OS