gea-program 0.83.3__tar.gz → 0.85.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 (432) hide show
  1. {gea_program-0.83.3/gea_program.egg-info → gea_program-0.85.0}/PKG-INFO +37 -4
  2. {gea_program-0.83.3 → gea_program-0.85.0}/README.md +36 -3
  3. {gea_program-0.83.3 → gea_program-0.85.0}/gea/__init__.py +1 -1
  4. {gea_program-0.83.3 → gea_program-0.85.0}/gea/__main__.py +130 -0
  5. {gea_program-0.83.3 → gea_program-0.85.0}/gea/acceptance_tests.py +411 -0
  6. {gea_program-0.83.3 → gea_program-0.85.0}/gea/dossier.py +16 -1
  7. gea_program-0.85.0/gea/fluid.py +981 -0
  8. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/driller.md +1 -1
  9. gea_program-0.85.0/gea/help/fluid.md +13 -0
  10. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/install.md +2 -2
  11. gea_program-0.85.0/gea/help/plume.md +13 -0
  12. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/reader.md +1 -1
  13. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/recorder.md +1 -1
  14. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/01-install.md +2 -2
  15. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/14-production-pages.md +8 -6
  16. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/19-dossier-reader.md +1 -1
  17. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/22-updates.md +1 -1
  18. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/23-vpn.md +1 -1
  19. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/25-install-recorder.md +2 -2
  20. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/29-driller-rig.md +1 -1
  21. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial.md +2 -2
  22. {gea_program-0.83.3 → gea_program-0.85.0}/gea/helplib.py +3 -1
  23. gea_program-0.85.0/gea/plume.py +709 -0
  24. {gea_program-0.83.3 → gea_program-0.85.0}/gea/service.py +47 -0
  25. {gea_program-0.83.3 → gea_program-0.85.0}/gea/web/app.html +139 -1
  26. {gea_program-0.83.3 → gea_program-0.85.0}/gea/well3d.py +18 -0
  27. {gea_program-0.83.3 → gea_program-0.85.0/gea_program.egg-info}/PKG-INFO +37 -4
  28. {gea_program-0.83.3 → gea_program-0.85.0}/gea_program.egg-info/SOURCES.txt +4 -0
  29. {gea_program-0.83.3 → gea_program-0.85.0}/pyproject.toml +1 -1
  30. {gea_program-0.83.3 → gea_program-0.85.0}/LICENSE +0 -0
  31. {gea_program-0.83.3 → gea_program-0.85.0}/gea/BENCH_TEST_PROTOCOL.md +0 -0
  32. {gea_program-0.83.3 → gea_program-0.85.0}/gea/accuracy_statement.py +0 -0
  33. {gea_program-0.83.3 → gea_program-0.85.0}/gea/alarm_engine.py +0 -0
  34. {gea_program-0.83.3 → gea_program-0.85.0}/gea/alerts.py +0 -0
  35. {gea_program-0.83.3 → gea_program-0.85.0}/gea/backup.py +0 -0
  36. {gea_program-0.83.3 → gea_program-0.85.0}/gea/bench.py +0 -0
  37. {gea_program-0.83.3 → gea_program-0.85.0}/gea/bit_seismic.py +0 -0
  38. {gea_program-0.83.3 → gea_program-0.85.0}/gea/blind_harness.py +0 -0
  39. {gea_program-0.83.3 → gea_program-0.85.0}/gea/casing_design.py +0 -0
  40. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/acex_lomonosov_age_depth_model.provenance.json +0 -0
  41. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/acex_lomonosov_age_depth_model.txt +0 -0
  42. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/agassiz77_canada_temperature.csv +0 -0
  43. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/agassiz77_canada_temperature.provenance.json +0 -0
  44. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/barbados_110_consolidation.provenance.json +0 -0
  45. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/barbados_110_consolidation.txt +0 -0
  46. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/bengal_u1452_grain_size.provenance.json +0 -0
  47. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/bengal_u1452_grain_size.txt +0 -0
  48. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/blake_164_methane_isotopes.provenance.json +0 -0
  49. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/blake_164_methane_isotopes.txt +0 -0
  50. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.provenance.json +0 -0
  51. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.txt +0 -0
  52. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/collingwood_1_28_ks_complete.las +0 -0
  53. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/collingwood_1_28_ks_complete.provenance.json +0 -0
  54. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/costa_rica_odp_friction_envelope.provenance.json +0 -0
  55. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/costa_rica_odp_friction_envelope.txt +0 -0
  56. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.provenance.json +0 -0
  57. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.txt +0 -0
  58. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/dsdp_504b_physical_properties.provenance.json +0 -0
  59. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/dsdp_504b_physical_properties.txt +0 -0
  60. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/dsdp_504b_sound_velocity.provenance.json +0 -0
  61. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/dsdp_504b_sound_velocity.txt +0 -0
  62. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/elgygytgyn_5011_turbidites.provenance.json +0 -0
  63. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/elgygytgyn_5011_turbidites.txt +0 -0
  64. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/epica_domec_co2_800kyr.provenance.json +0 -0
  65. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/epica_domec_co2_800kyr.txt +0 -0
  66. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/fram_909_organic_petrography.provenance.json +0 -0
  67. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/fram_909_organic_petrography.txt +0 -0
  68. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/gbr_325_coral_uth_ages.provenance.json +0 -0
  69. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/gbr_325_coral_uth_ages.txt +0 -0
  70. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/gisp2_greenland_temperature.csv +0 -0
  71. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/gisp2_greenland_temperature.provenance.json +0 -0
  72. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/gom_308_t2p_insitu.provenance.json +0 -0
  73. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/gom_308_t2p_insitu.txt +0 -0
  74. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/guaymas_385_dom_d13c.provenance.json +0 -0
  75. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/guaymas_385_dom_d13c.txt +0 -0
  76. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/hikurangi_u1520_friction_insitu.provenance.json +0 -0
  77. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/hikurangi_u1520_friction_insitu.txt +0 -0
  78. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.provenance.json +0 -0
  79. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.txt +0 -0
  80. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/iodp_u1324_pore_pressure.provenance.json +0 -0
  81. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/iodp_u1324_pore_pressure.txt +0 -0
  82. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/jfast_c0019_slow_slip_events.provenance.json +0 -0
  83. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/jfast_c0019_slow_slip_events.txt +0 -0
  84. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/kennetcook_2_p129_excerpt.las +0 -0
  85. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/kennetcook_2_p129_excerpt.provenance.json +0 -0
  86. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_hb_bhgm_density.dat +0 -0
  87. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_hb_bhgm_density.provenance.json +0 -0
  88. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_hb_complog_6020_excerpt.provenance.json +0 -0
  89. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_hb_complog_6020_excerpt.txt +0 -0
  90. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_hb_hlog246_temperature.dat +0 -0
  91. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_hb_hlog246_temperature.provenance.json +0 -0
  92. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_hb_rockmech_compress.dat +0 -0
  93. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_hb_rockmech_compress.provenance.json +0 -0
  94. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.dat +0 -0
  95. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.provenance.json +0 -0
  96. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_vb_rockmech_compress.dat +0 -0
  97. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_vb_rockmech_compress.provenance.json +0 -0
  98. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_vb_vlog251_temperature.dat +0 -0
  99. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ktb_vb_vlog251_temperature.provenance.json +0 -0
  100. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/l06_06_nl_survey.csv +0 -0
  101. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/l06_06_nl_survey.provenance.json +0 -0
  102. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/l07_01_nl_excerpt.las +0 -0
  103. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/l07_01_nl_excerpt.provenance.json +0 -0
  104. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/mariana_1200_serpentinite_geochem.provenance.json +0 -0
  105. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/mariana_1200_serpentinite_geochem.txt +0 -0
  106. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/med_160_sapropels.provenance.json +0 -0
  107. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/med_160_sapropels.txt +0 -0
  108. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/nankai_megasplay_shear_strength.provenance.json +0 -0
  109. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/nankai_megasplay_shear_strength.txt +0 -0
  110. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_1027b_thermal_conductivity.provenance.json +0 -0
  111. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_1027b_thermal_conductivity.txt +0 -0
  112. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_1027c_cork_temperature.provenance.json +0 -0
  113. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_1027c_cork_temperature.txt +0 -0
  114. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_1165b_thermal_conductivity.provenance.json +0 -0
  115. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_1165b_thermal_conductivity.txt +0 -0
  116. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.provenance.json +0 -0
  117. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.txt +0 -0
  118. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_504b_dike_elastic_moduli.provenance.json +0 -0
  119. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_504b_dike_elastic_moduli.txt +0 -0
  120. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_504b_leg137_borehole_fluids.provenance.json +0 -0
  121. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_504b_leg137_borehole_fluids.txt +0 -0
  122. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.provenance.json +0 -0
  123. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.txt +0 -0
  124. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/peru_201_sulfate_reduction.provenance.json +0 -0
  125. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/peru_201_sulfate_reduction.txt +0 -0
  126. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/scorpio_e1_sa_excerpt.las +0 -0
  127. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/scorpio_e1_sa_excerpt.provenance.json +0 -0
  128. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/sumatra_362_cohesion.provenance.json +0 -0
  129. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/sumatra_362_cohesion.txt +0 -0
  130. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/university_6_17_no1_tx_excerpt.las +0 -0
  131. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/university_6_17_no1_tx_excerpt.provenance.json +0 -0
  132. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ursa_308_xrd_mineralogy.provenance.json +0 -0
  133. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/ursa_308_xrd_mineralogy.txt +0 -0
  134. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/volve_15_9_19_sr_excerpt.las +0 -0
  135. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/volve_15_9_19_sr_excerpt.provenance.json +0 -0
  136. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/volve_15_9_19a_core_excerpt.csv +0 -0
  137. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/volve_15_9_19a_core_excerpt.provenance.json +0 -0
  138. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/volve_f12_f14_production_excerpt.csv +0 -0
  139. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/volve_f12_f14_production_excerpt.provenance.json +0 -0
  140. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/walvis_208_petm_carbonate.provenance.json +0 -0
  141. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/walvis_208_petm_carbonate.txt +0 -0
  142. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/woodlark_1109_rock_eval.provenance.json +0 -0
  143. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog/woodlark_1109_rock_eval.txt +0 -0
  144. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog_map.py +0 -0
  145. {gea_program-0.83.3 → gea_program-0.85.0}/gea/catalog_register.py +0 -0
  146. {gea_program-0.83.3 → gea_program-0.85.0}/gea/certificates.py +0 -0
  147. {gea_program-0.83.3 → gea_program-0.85.0}/gea/cli.py +0 -0
  148. {gea_program-0.83.3 → gea_program-0.85.0}/gea/client_reports.py +0 -0
  149. {gea_program-0.83.3 → gea_program-0.85.0}/gea/collision.py +0 -0
  150. {gea_program-0.83.3 → gea_program-0.85.0}/gea/config_versioning.py +0 -0
  151. {gea_program-0.83.3 → gea_program-0.85.0}/gea/conformance.py +0 -0
  152. {gea_program-0.83.3 → gea_program-0.85.0}/gea/control_room.py +0 -0
  153. {gea_program-0.83.3 → gea_program-0.85.0}/gea/correlation.py +0 -0
  154. {gea_program-0.83.3 → gea_program-0.85.0}/gea/dashboard.py +0 -0
  155. {gea_program-0.83.3 → gea_program-0.85.0}/gea/declarations.py +0 -0
  156. {gea_program-0.83.3 → gea_program-0.85.0}/gea/decline.py +0 -0
  157. {gea_program-0.83.3 → gea_program-0.85.0}/gea/deviation.py +0 -0
  158. {gea_program-0.83.3 → gea_program-0.85.0}/gea/dlis.py +0 -0
  159. {gea_program-0.83.3 → gea_program-0.85.0}/gea/dnp3.py +0 -0
  160. {gea_program-0.83.3 → gea_program-0.85.0}/gea/doctor.py +0 -0
  161. {gea_program-0.83.3 → gea_program-0.85.0}/gea/dossier_verify.py +0 -0
  162. {gea_program-0.83.3 → gea_program-0.85.0}/gea/downhole_engine.py +0 -0
  163. {gea_program-0.83.3 → gea_program-0.85.0}/gea/drift_monitor.py +0 -0
  164. {gea_program-0.83.3 → gea_program-0.85.0}/gea/drill_string.py +0 -0
  165. {gea_program-0.83.3 → gea_program-0.85.0}/gea/driller_link.py +0 -0
  166. {gea_program-0.83.3 → gea_program-0.85.0}/gea/earth_model.py +0 -0
  167. {gea_program-0.83.3 → gea_program-0.85.0}/gea/economics.py +0 -0
  168. {gea_program-0.83.3 → gea_program-0.85.0}/gea/ed25519.py +0 -0
  169. {gea_program-0.83.3 → gea_program-0.85.0}/gea/edr.py +0 -0
  170. {gea_program-0.83.3 → gea_program-0.85.0}/gea/elevation.py +0 -0
  171. {gea_program-0.83.3 → gea_program-0.85.0}/gea/etp.py +0 -0
  172. {gea_program-0.83.3 → gea_program-0.85.0}/gea/etp12_schemas.json +0 -0
  173. {gea_program-0.83.3 → gea_program-0.85.0}/gea/example_register_map.json +0 -0
  174. {gea_program-0.83.3 → gea_program-0.85.0}/gea/fat_sat.py +0 -0
  175. {gea_program-0.83.3 → gea_program-0.85.0}/gea/field_pull.py +0 -0
  176. {gea_program-0.83.3 → gea_program-0.85.0}/gea/files.py +0 -0
  177. {gea_program-0.83.3 → gea_program-0.85.0}/gea/fixtures/README.md +0 -0
  178. {gea_program-0.83.3 → gea_program-0.85.0}/gea/fixtures/comcat_delaware_basin_2026-09.txt +0 -0
  179. {gea_program-0.83.3 → gea_program-0.85.0}/gea/fixtures/comcat_mahoning_1990-2026.txt +0 -0
  180. {gea_program-0.83.3 → gea_program-0.85.0}/gea/fixtures/comcat_youngstown_2011-2012.txt +0 -0
  181. {gea_program-0.83.3 → gea_program-0.85.0}/gea/fixtures/ne_110m_coastline.json +0 -0
  182. {gea_program-0.83.3 → gea_program-0.85.0}/gea/follower.py +0 -0
  183. {gea_program-0.83.3 → gea_program-0.85.0}/gea/forward_model.py +0 -0
  184. {gea_program-0.83.3 → gea_program-0.85.0}/gea/frac_hits.py +0 -0
  185. {gea_program-0.83.3 → gea_program-0.85.0}/gea/friction_priors.py +0 -0
  186. {gea_program-0.83.3 → gea_program-0.85.0}/gea/gamma.py +0 -0
  187. {gea_program-0.83.3 → gea_program-0.85.0}/gea/gauge_aging.py +0 -0
  188. {gea_program-0.83.3 → gea_program-0.85.0}/gea/gauge_specs.py +0 -0
  189. {gea_program-0.83.3 → gea_program-0.85.0}/gea/geodesy.py +0 -0
  190. {gea_program-0.83.3 → gea_program-0.85.0}/gea/geomag.py +0 -0
  191. {gea_program-0.83.3 → gea_program-0.85.0}/gea/gravity_reference.py +0 -0
  192. {gea_program-0.83.3 → gea_program-0.85.0}/gea/hartip.py +0 -0
  193. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/IT_SECURITY.md +0 -0
  194. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/TESTER_GUIDE.md +0 -0
  195. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/alarms.md +0 -0
  196. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/alerts.md +0 -0
  197. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/audit-update.md +0 -0
  198. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/backup.md +0 -0
  199. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/bit-image.md +0 -0
  200. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/casing.md +0 -0
  201. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/catalog.md +0 -0
  202. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/charts.md +0 -0
  203. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/collision.md +0 -0
  204. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/company-sign-in.md +0 -0
  205. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/conformance.md +0 -0
  206. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/control-room.md +0 -0
  207. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/data-in.md +0 -0
  208. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/declare.md +0 -0
  209. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/decline.md +0 -0
  210. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/dlis.md +0 -0
  211. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/doctor.md +0 -0
  212. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/dossier.md +0 -0
  213. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/drift.md +0 -0
  214. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/drillstring.md +0 -0
  215. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/economics.md +0 -0
  216. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/edr.md +0 -0
  217. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/etp.md +0 -0
  218. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/field-ports.md +0 -0
  219. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/files.md +0 -0
  220. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/frac-hits.md +0 -0
  221. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/historian.md +0 -0
  222. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/https.md +0 -0
  223. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/hydraulics.md +0 -0
  224. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/instruments.md +0 -0
  225. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/interval.md +0 -0
  226. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/invoice-check.md +0 -0
  227. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/map.md +0 -0
  228. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/month-end.md +0 -0
  229. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/notifications.md +0 -0
  230. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/opseis.md +0 -0
  231. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/osdu.md +0 -0
  232. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/pad-summary.md +0 -0
  233. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/patches.md +0 -0
  234. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/penetrator.md +0 -0
  235. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/plan.md +0 -0
  236. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/pore-pressure.md +0 -0
  237. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/ppdm.md +0 -0
  238. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/quakeml.md +0 -0
  239. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/quality.md +0 -0
  240. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/records.md +0 -0
  241. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/report-history.md +0 -0
  242. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/rig-time.md +0 -0
  243. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/rocks.md +0 -0
  244. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/seedlink.md +0 -0
  245. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/seismic.md +0 -0
  246. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/setup.md +0 -0
  247. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/simulation.md +0 -0
  248. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/site.md +0 -0
  249. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/sites.md +0 -0
  250. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/slip.md +0 -0
  251. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/soak.md +0 -0
  252. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/sra.md +0 -0
  253. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/start.md +0 -0
  254. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/structure.md +0 -0
  255. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tools.md +0 -0
  256. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/torque-drag.md +0 -0
  257. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/transients.md +0 -0
  258. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/02-sign-in.md +0 -0
  259. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/03-site.md +0 -0
  260. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/04-add-well.md +0 -0
  261. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/05-records.md +0 -0
  262. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/06-well-page.md +0 -0
  263. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/07-declare.md +0 -0
  264. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/08-patches.md +0 -0
  265. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/09-alarms.md +0 -0
  266. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/10-control-room.md +0 -0
  267. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/11-summary-month.md +0 -0
  268. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/12-where-the-well-is.md +0 -0
  269. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/13-drilling-pages.md +0 -0
  270. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/15-seismic.md +0 -0
  271. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/16-seismicity.md +0 -0
  272. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/17-recorder-office.md +0 -0
  273. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/18-reports.md +0 -0
  274. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/20-admin.md +0 -0
  275. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/21-upkeep.md +0 -0
  276. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/24-the-box.md +0 -0
  277. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/26-monitor.md +0 -0
  278. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/27-mirror-vpn.md +0 -0
  279. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/tutorial/28-driller-office.md +0 -0
  280. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/upkeep.md +0 -0
  281. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/vibration.md +0 -0
  282. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/vpn.md +0 -0
  283. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/well-report.md +0 -0
  284. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/well-tests.md +0 -0
  285. {gea_program-0.83.3 → gea_program-0.85.0}/gea/help/well3d.md +0 -0
  286. {gea_program-0.83.3 → gea_program-0.85.0}/gea/housekeeping.py +0 -0
  287. {gea_program-0.83.3 → gea_program-0.85.0}/gea/hydraulics.py +0 -0
  288. {gea_program-0.83.3 → gea_program-0.85.0}/gea/icon.py +0 -0
  289. {gea_program-0.83.3 → gea_program-0.85.0}/gea/interval.py +0 -0
  290. {gea_program-0.83.3 → gea_program-0.85.0}/gea/inverse_engine.py +0 -0
  291. {gea_program-0.83.3 → gea_program-0.85.0}/gea/invoice_check.py +0 -0
  292. {gea_program-0.83.3 → gea_program-0.85.0}/gea/jobs.py +0 -0
  293. {gea_program-0.83.3 → gea_program-0.85.0}/gea/launcher.py +0 -0
  294. {gea_program-0.83.3 → gea_program-0.85.0}/gea/live_ports.py +0 -0
  295. {gea_program-0.83.3 → gea_program-0.85.0}/gea/loadtest.py +0 -0
  296. {gea_program-0.83.3 → gea_program-0.85.0}/gea/matplotlib_demo.py +0 -0
  297. {gea_program-0.83.3 → gea_program-0.85.0}/gea/modbus.py +0 -0
  298. {gea_program-0.83.3 → gea_program-0.85.0}/gea/modbus_rtu.py +0 -0
  299. {gea_program-0.83.3 → gea_program-0.85.0}/gea/model_card.py +0 -0
  300. {gea_program-0.83.3 → gea_program-0.85.0}/gea/month_end.py +0 -0
  301. {gea_program-0.83.3 → gea_program-0.85.0}/gea/mqtt_port.py +0 -0
  302. {gea_program-0.83.3 → gea_program-0.85.0}/gea/notify.py +0 -0
  303. {gea_program-0.83.3 → gea_program-0.85.0}/gea/oidc.py +0 -0
  304. {gea_program-0.83.3 → gea_program-0.85.0}/gea/oidc_mock.py +0 -0
  305. {gea_program-0.83.3 → gea_program-0.85.0}/gea/op_seismicity.py +0 -0
  306. {gea_program-0.83.3 → gea_program-0.85.0}/gea/opcua_port.py +0 -0
  307. {gea_program-0.83.3 → gea_program-0.85.0}/gea/operator_app.py +0 -0
  308. {gea_program-0.83.3 → gea_program-0.85.0}/gea/osdu.py +0 -0
  309. {gea_program-0.83.3 → gea_program-0.85.0}/gea/pad_summary.py +0 -0
  310. {gea_program-0.83.3 → gea_program-0.85.0}/gea/patches.py +0 -0
  311. {gea_program-0.83.3 → gea_program-0.85.0}/gea/pdf_report.py +0 -0
  312. {gea_program-0.83.3 → gea_program-0.85.0}/gea/penetrator.py +0 -0
  313. {gea_program-0.83.3 → gea_program-0.85.0}/gea/permits.py +0 -0
  314. {gea_program-0.83.3 → gea_program-0.85.0}/gea/piwebapi.py +0 -0
  315. {gea_program-0.83.3 → gea_program-0.85.0}/gea/pore_pressure.py +0 -0
  316. {gea_program-0.83.3 → gea_program-0.85.0}/gea/ports.py +0 -0
  317. {gea_program-0.83.3 → gea_program-0.85.0}/gea/ppdm.py +0 -0
  318. {gea_program-0.83.3 → gea_program-0.85.0}/gea/profile_catalog.py +0 -0
  319. {gea_program-0.83.3 → gea_program-0.85.0}/gea/project.py +0 -0
  320. {gea_program-0.83.3 → gea_program-0.85.0}/gea/qt6_downhole_app.py +0 -0
  321. {gea_program-0.83.3 → gea_program-0.85.0}/gea/quakeml.py +0 -0
  322. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reader.py +0 -0
  323. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reader_app.py +0 -0
  324. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reconciler.py +0 -0
  325. {gea_program-0.83.3 → gea_program-0.85.0}/gea/recorder_link.py +0 -0
  326. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/IU_ANMO_10_BHZ_response.provenance.json +0 -0
  327. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/IU_ANMO_10_BHZ_response.xml +0 -0
  328. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/WMM2025.COF +0 -0
  329. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/eia_henry_hub_daily.csv.gz +0 -0
  330. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/eia_prices.provenance.json +0 -0
  331. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/eia_wti_daily.csv.gz +0 -0
  332. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/iscwsa_rev4_example.json +0 -0
  333. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/iscwsa_rev5_example.json +0 -0
  334. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/l0701_sonic_gr.las.gz +0 -0
  335. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/l0701_sonic_gr.provenance.json +0 -0
  336. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/libmseed_steim.provenance.json +0 -0
  337. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/libmseed_steim1_4096.mseed +0 -0
  338. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/libmseed_steim2_4096.mseed +0 -0
  339. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/libmseed_steim2_512.mseed +0 -0
  340. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/mahoning_example.json +0 -0
  341. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/mud_motor_specs.json +0 -0
  342. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/owsg_tool_models.json +0 -0
  343. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/penetrator_ratings.json +0 -0
  344. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/seismicity_protocols.json +0 -0
  345. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/tool_sources.json +0 -0
  346. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/us_outline.json +0 -0
  347. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/us_outline.provenance.json +0 -0
  348. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_3d.provenance.json +0 -0
  349. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_f4_interpretation.las.gz +0 -0
  350. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_f4_logs.provenance.json +0 -0
  351. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_f4_lwd.las.gz +0 -0
  352. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_surfaces.json.gz +0 -0
  353. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_traj_F-10.xml.gz +0 -0
  354. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_traj_F-4.xml.gz +0 -0
  355. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_traj_F-5_12.25in.xml.gz +0 -0
  356. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_traj_F-5_17.5in.xml.gz +0 -0
  357. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_traj_F-5_36in.xml.gz +0 -0
  358. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_traj_F-5_8.5in.xml.gz +0 -0
  359. {gea_program-0.83.3 → gea_program-0.85.0}/gea/reference/volve_well_picks.csv.gz +0 -0
  360. {gea_program-0.83.3 → gea_program-0.85.0}/gea/report_history.py +0 -0
  361. {gea_program-0.83.3 → gea_program-0.85.0}/gea/rig_state.py +0 -0
  362. {gea_program-0.83.3 → gea_program-0.85.0}/gea/rock_inventory.py +0 -0
  363. {gea_program-0.83.3 → gea_program-0.85.0}/gea/sample_record.py +0 -0
  364. {gea_program-0.83.3 → gea_program-0.85.0}/gea/sample_well_profile.csv +0 -0
  365. {gea_program-0.83.3 → gea_program-0.85.0}/gea/sbom.py +0 -0
  366. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seedlink.py +0 -0
  367. {gea_program-0.83.3 → gea_program-0.85.0}/gea/segy.py +0 -0
  368. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic.py +0 -0
  369. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_array.py +0 -0
  370. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_assoc.py +0 -0
  371. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_detect.py +0 -0
  372. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_film.py +0 -0
  373. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_harmonic.py +0 -0
  374. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_qc.py +0 -0
  375. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_response.py +0 -0
  376. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_signature.py +0 -0
  377. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_track.py +0 -0
  378. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_uncertainty.py +0 -0
  379. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_unlisted.py +0 -0
  380. {gea_program-0.83.3 → gea_program-0.85.0}/gea/seismic_watch.py +0 -0
  381. {gea_program-0.83.3 → gea_program-0.85.0}/gea/sensor_swap.py +0 -0
  382. {gea_program-0.83.3 → gea_program-0.85.0}/gea/series_cache.py +0 -0
  383. {gea_program-0.83.3 → gea_program-0.85.0}/gea/service_life.py +0 -0
  384. {gea_program-0.83.3 → gea_program-0.85.0}/gea/setup_checklist.py +0 -0
  385. {gea_program-0.83.3 → gea_program-0.85.0}/gea/shapefile.py +0 -0
  386. {gea_program-0.83.3 → gea_program-0.85.0}/gea/shell.py +0 -0
  387. {gea_program-0.83.3 → gea_program-0.85.0}/gea/shut_in.py +0 -0
  388. {gea_program-0.83.3 → gea_program-0.85.0}/gea/simulation.py +0 -0
  389. {gea_program-0.83.3 → gea_program-0.85.0}/gea/site_map.py +0 -0
  390. {gea_program-0.83.3 → gea_program-0.85.0}/gea/sla_report.py +0 -0
  391. {gea_program-0.83.3 → gea_program-0.85.0}/gea/slip.py +0 -0
  392. {gea_program-0.83.3 → gea_program-0.85.0}/gea/soak.py +0 -0
  393. {gea_program-0.83.3 → gea_program-0.85.0}/gea/sra.py +0 -0
  394. {gea_program-0.83.3 → gea_program-0.85.0}/gea/store_forward.py +0 -0
  395. {gea_program-0.83.3 → gea_program-0.85.0}/gea/strata_join.py +0 -0
  396. {gea_program-0.83.3 → gea_program-0.85.0}/gea/structure.py +0 -0
  397. {gea_program-0.83.3 → gea_program-0.85.0}/gea/supervisor.py +0 -0
  398. {gea_program-0.83.3 → gea_program-0.85.0}/gea/survey_cmd.py +0 -0
  399. {gea_program-0.83.3 → gea_program-0.85.0}/gea/survey_view.py +0 -0
  400. {gea_program-0.83.3 → gea_program-0.85.0}/gea/telemetry.py +0 -0
  401. {gea_program-0.83.3 → gea_program-0.85.0}/gea/timestamp.py +0 -0
  402. {gea_program-0.83.3 → gea_program-0.85.0}/gea/tls.py +0 -0
  403. {gea_program-0.83.3 → gea_program-0.85.0}/gea/tool_catalog.py +0 -0
  404. {gea_program-0.83.3 → gea_program-0.85.0}/gea/tool_library.py +0 -0
  405. {gea_program-0.83.3 → gea_program-0.85.0}/gea/tool_taxonomy.py +0 -0
  406. {gea_program-0.83.3 → gea_program-0.85.0}/gea/torque_drag.py +0 -0
  407. {gea_program-0.83.3 → gea_program-0.85.0}/gea/transient.py +0 -0
  408. {gea_program-0.83.3 → gea_program-0.85.0}/gea/tray.py +0 -0
  409. {gea_program-0.83.3 → gea_program-0.85.0}/gea/tutorial.py +0 -0
  410. {gea_program-0.83.3 → gea_program-0.85.0}/gea/updates.py +0 -0
  411. {gea_program-0.83.3 → gea_program-0.85.0}/gea/vibration.py +0 -0
  412. {gea_program-0.83.3 → gea_program-0.85.0}/gea/vpn.py +0 -0
  413. {gea_program-0.83.3 → gea_program-0.85.0}/gea/web/reader.html +0 -0
  414. {gea_program-0.83.3 → gea_program-0.85.0}/gea/well_assembler.py +0 -0
  415. {gea_program-0.83.3 → gea_program-0.85.0}/gea/well_records.py +0 -0
  416. {gea_program-0.83.3 → gea_program-0.85.0}/gea/well_report.py +0 -0
  417. {gea_program-0.83.3 → gea_program-0.85.0}/gea/well_test_validation.py +0 -0
  418. {gea_program-0.83.3 → gea_program-0.85.0}/gea/wellplan.py +0 -0
  419. {gea_program-0.83.3 → gea_program-0.85.0}/gea/wellpos.py +0 -0
  420. {gea_program-0.83.3 → gea_program-0.85.0}/gea/winident.py +0 -0
  421. {gea_program-0.83.3 → gea_program-0.85.0}/gea/wits0.py +0 -0
  422. {gea_program-0.83.3 → gea_program-0.85.0}/gea/witsml.py +0 -0
  423. {gea_program-0.83.3 → gea_program-0.85.0}/gea/workspace.py +0 -0
  424. {gea_program-0.83.3 → gea_program-0.85.0}/gea/workspaces.py +0 -0
  425. {gea_program-0.83.3 → gea_program-0.85.0}/gea/x25519.py +0 -0
  426. {gea_program-0.83.3 → gea_program-0.85.0}/gea/xlsx_read.py +0 -0
  427. {gea_program-0.83.3 → gea_program-0.85.0}/gea_program.egg-info/dependency_links.txt +0 -0
  428. {gea_program-0.83.3 → gea_program-0.85.0}/gea_program.egg-info/entry_points.txt +0 -0
  429. {gea_program-0.83.3 → gea_program-0.85.0}/gea_program.egg-info/requires.txt +0 -0
  430. {gea_program-0.83.3 → gea_program-0.85.0}/gea_program.egg-info/top_level.txt +0 -0
  431. {gea_program-0.83.3 → gea_program-0.85.0}/setup.cfg +0 -0
  432. {gea_program-0.83.3 → gea_program-0.85.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.83.3
3
+ Version: 0.85.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.83.3.exe`: GEA
850
+ it installed, every release also carries `GEA-Reader-Setup-0.85.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`.
@@ -948,6 +948,39 @@ stage to the monitored well; with an earthquake catalogue, the earthquakes
948
948
  during each stage. A frac hit is an alert. The **Frac hits** tab,
949
949
  `gea frac-hits`, `gea help frac-hits`.
950
950
 
951
+ ### Fluid balance
952
+
953
+ Where the water went, as far as arithmetic can say. Every barrel that went
954
+ into or came out of a formation through the site's wells, by day, with its
955
+ density and its dissolved solids (declared as specific gravity or TDS, the
956
+ density from TDS by McCain's correlation), from the operator's own injection
957
+ or production reports attached as CSV or from a disposal well's declared
958
+ injection channels; the formation declared with its porosity, thickness,
959
+ area and compressibilities; the storage the wells' bottomhole pressures say
960
+ the formation has against the storage declared - closed as declared, more
961
+ room (the fluid finding room the declaration does not have: an aquifer,
962
+ leak-off, a larger connected volume) or less - with the unaccounted barrels
963
+ and their tonnes of solids named; each injection well's Hall plot; and its
964
+ neighbours by distance with the day the pressure front reaches them, the
965
+ pressure rise there and the volume it would take for the water itself to
966
+ arrive, every projection labelled SIMULATION. The **Fluid balance** tab,
967
+ `gea fluid`, `gea help fluid`.
968
+
969
+ ### Pressure plume
970
+
971
+ The ledger's barrels put into the declared formation on a plan grid
972
+ centred on the injection well and stepped forward day by day - single-phase,
973
+ slightly compressible flow by explicit finite differences, checked against
974
+ the line source on the page. The rise drawn as contours at every month's
975
+ end of the record and a year on, both continued at the last rates and shut
976
+ in now; the cells over a declared threshold as the area of review, in acres
977
+ and reach; every mapped fault within the radius read for its rise and its
978
+ slip tendency at each snapshot, with the first day its margin would be used
979
+ up; a fault layer declared sealing blocks the flow and the plume piles up
980
+ against it. The same contours drawn at the declared top in the 3D tab and
981
+ carried in the dossier. Every figure a SIMULATION, said on every line. The
982
+ **Pressure plume** tab, `gea plume`, `gea help plume`.
983
+
951
984
  ### Plan vs actual and the survey tools
952
985
 
953
986
  Each well against its directional plan: at every survey station, how far
@@ -1612,7 +1645,7 @@ attaches the zips to the GitHub release of that tag.
1612
1645
 
1613
1646
  ### The Windows installer
1614
1647
 
1615
- Every release also carries `GEA-Program-Setup-0.83.3.exe` (for 0.83.3): the
1648
+ Every release also carries `GEA-Program-Setup-0.85.0.exe` (for 0.85.0): the
1616
1649
  same Windows kit installed like any Windows program, for the signed-in user
1617
1650
  alone and with no administrator rights (`%LOCALAPPDATA%\Programs\GEA-Program`).
1618
1651
  It asks for the site workspace (an existing one such as `C:\site` is used as
@@ -1631,7 +1664,7 @@ it, removes the program and leaves the workspace. Silent, for a site's
1631
1664
  software deployment:
1632
1665
 
1633
1666
  ```
1634
- GEA-Program-Setup-0.83.3.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
1667
+ GEA-Program-Setup-0.85.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
1635
1668
  ```
1636
1669
 
1637
1670
  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.83.3.exe`: GEA
811
+ it installed, every release also carries `GEA-Reader-Setup-0.85.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`.
@@ -909,6 +909,39 @@ stage to the monitored well; with an earthquake catalogue, the earthquakes
909
909
  during each stage. A frac hit is an alert. The **Frac hits** tab,
910
910
  `gea frac-hits`, `gea help frac-hits`.
911
911
 
912
+ ### Fluid balance
913
+
914
+ Where the water went, as far as arithmetic can say. Every barrel that went
915
+ into or came out of a formation through the site's wells, by day, with its
916
+ density and its dissolved solids (declared as specific gravity or TDS, the
917
+ density from TDS by McCain's correlation), from the operator's own injection
918
+ or production reports attached as CSV or from a disposal well's declared
919
+ injection channels; the formation declared with its porosity, thickness,
920
+ area and compressibilities; the storage the wells' bottomhole pressures say
921
+ the formation has against the storage declared - closed as declared, more
922
+ room (the fluid finding room the declaration does not have: an aquifer,
923
+ leak-off, a larger connected volume) or less - with the unaccounted barrels
924
+ and their tonnes of solids named; each injection well's Hall plot; and its
925
+ neighbours by distance with the day the pressure front reaches them, the
926
+ pressure rise there and the volume it would take for the water itself to
927
+ arrive, every projection labelled SIMULATION. The **Fluid balance** tab,
928
+ `gea fluid`, `gea help fluid`.
929
+
930
+ ### Pressure plume
931
+
932
+ The ledger's barrels put into the declared formation on a plan grid
933
+ centred on the injection well and stepped forward day by day - single-phase,
934
+ slightly compressible flow by explicit finite differences, checked against
935
+ the line source on the page. The rise drawn as contours at every month's
936
+ end of the record and a year on, both continued at the last rates and shut
937
+ in now; the cells over a declared threshold as the area of review, in acres
938
+ and reach; every mapped fault within the radius read for its rise and its
939
+ slip tendency at each snapshot, with the first day its margin would be used
940
+ up; a fault layer declared sealing blocks the flow and the plume piles up
941
+ against it. The same contours drawn at the declared top in the 3D tab and
942
+ carried in the dossier. Every figure a SIMULATION, said on every line. The
943
+ **Pressure plume** tab, `gea plume`, `gea help plume`.
944
+
912
945
  ### Plan vs actual and the survey tools
913
946
 
914
947
  Each well against its directional plan: at every survey station, how far
@@ -1573,7 +1606,7 @@ attaches the zips to the GitHub release of that tag.
1573
1606
 
1574
1607
  ### The Windows installer
1575
1608
 
1576
- Every release also carries `GEA-Program-Setup-0.83.3.exe` (for 0.83.3): the
1609
+ Every release also carries `GEA-Program-Setup-0.85.0.exe` (for 0.85.0): the
1577
1610
  same Windows kit installed like any Windows program, for the signed-in user
1578
1611
  alone and with no administrator rights (`%LOCALAPPDATA%\Programs\GEA-Program`).
1579
1612
  It asks for the site workspace (an existing one such as `C:\site` is used as
@@ -1592,7 +1625,7 @@ it, removes the program and leaves the workspace. Silent, for a site's
1592
1625
  software deployment:
1593
1626
 
1594
1627
  ```
1595
- GEA-Program-Setup-0.83.3.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
1628
+ GEA-Program-Setup-0.85.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
1596
1629
  ```
1597
1630
 
1598
1631
  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.83.3"
126
+ __version__ = "0.85.0"
127
127
  __all__ = [
128
128
  "aging_rate", "rate_psi_yr", "accuracy_psi",
129
129
  "Sensor", "SimulatorConfig", "DownholeEngine",
@@ -561,6 +561,48 @@ def main(argv=None) -> int:
561
561
  p_pn.add_argument("--actor", type=str, default="cli")
562
562
  p_pn.add_argument("--json", action="store_true")
563
563
 
564
+ p_fl = sub.add_parser("fluid", help="the fluid ledger and the material balance: every barrel in or out of a formation through the site's wells by day, with its density and dissolved solids, against the room the formation has; the storage the pressure says against the storage declared; the Hall plot; the neighbours with the front and pressure projections (SIMULATION)")
565
+ p_fl.add_argument("--workspace", type=str, default=None, help="the workspace folder; without one the self-test runs on labelled scenes")
566
+ p_fl.add_argument("--well", type=str, default=None, help="the well a declaration, a report or a removal is for")
567
+ p_fl.add_argument("--declare", action="store_true", help="declare the well's role, formation or density (with --source)")
568
+ p_fl.add_argument("--role", type=str, default=None, choices=("injection", "production"))
569
+ p_fl.add_argument("--formation", type=str, default=None, help="--declare: the formation the well is completed in; alone with --porosity etc.: the formation to declare")
570
+ p_fl.add_argument("--density-sg", type=float, default=None, help="--declare: the injected water's specific gravity")
571
+ p_fl.add_argument("--density-ppg", type=float, default=None, help="--declare: the injected water's density in lb/gal")
572
+ p_fl.add_argument("--tds-mgl", type=float, default=None, help="--declare: the injected water's total dissolved solids, mg/L (density by McCain 1991)")
573
+ p_fl.add_argument("--from", dest="from_day", type=str, default=None, help="--declare: the first day the density applies (YYYY-MM-DD; blank: from the start)")
574
+ p_fl.add_argument("--to", dest="to_day", type=str, default=None, help="--declare: the last day the density applies (blank: open)")
575
+ p_fl.add_argument("--attach", type=str, default=None, help="the operator's injection or production report (CSV: a date column and a volume column; pressures, BHP, density or TDS when it has them) for --well")
576
+ p_fl.add_argument("--porosity", type=float, default=None, help="--formation: porosity, fraction")
577
+ p_fl.add_argument("--thickness-ft", type=float, default=None, help="--formation: net thickness, ft")
578
+ p_fl.add_argument("--area-acres", type=float, default=None, help="--formation: the connected area, acres")
579
+ p_fl.add_argument("--c-water", type=float, default=None, help="--formation: water compressibility, 1/psi (default 3e-6)")
580
+ p_fl.add_argument("--c-pore", type=float, default=None, help="--formation: pore-volume compressibility, 1/psi (default 4e-6)")
581
+ p_fl.add_argument("--k-md", type=float, default=None, help="--formation: permeability, md (for the front and pressure projections)")
582
+ p_fl.add_argument("--mu-cp", type=float, default=None, help="--formation: water viscosity, cp (default 0.6)")
583
+ p_fl.add_argument("--p-initial-psi", type=float, default=None, help="--formation: the initial formation pressure, psi (the Hall plot's p_e)")
584
+ p_fl.add_argument("--water-sg", type=float, default=None, help="--formation: the formation water's specific gravity")
585
+ p_fl.add_argument("--water-tds-mgl", type=float, default=None, help="--formation: the formation water's TDS, mg/L")
586
+ p_fl.add_argument("--source", type=str, default="", help="where the declaration or the report came from (required with --declare, --attach and a formation)")
587
+ p_fl.add_argument("--remove", action="store_true", help="remove the well's fluid declaration (--well), one of its reports (--well --report) or a formation (--formation)")
588
+ p_fl.add_argument("--report", type=str, default=None, help="--remove: the report file to remove from --well")
589
+ p_fl.add_argument("--as-of", type=str, default=None, help="the balance up to this day (YYYY-MM-DD)")
590
+ p_fl.add_argument("--write", action="store_true", help="write the report under reports/fluid/ (fluid_balance.json, .md, the ledger CSVs)")
591
+ p_fl.add_argument("--actor", type=str, default="cli")
592
+ p_fl.add_argument("--json", action="store_true")
593
+ p_pm = sub.add_parser("plume", help="the pressure plume (SIMULATION): the ledger's barrels put into the formation on a plan grid and stepped through time - the rise as contours at every month's end and a year on, continued or shut in; the area of review over a declared threshold; every mapped fault's rise and slip tendency through time, sealing or open as declared")
594
+ p_pm.add_argument("--workspace", type=str, default=None, help="the workspace folder; without one the self-test runs (the grid against the line source, a sealing fault, the contours)")
595
+ p_pm.add_argument("--formation", type=str, default=None, help="one formation's plume (default: every formation with an injection ledger)")
596
+ p_pm.add_argument("--threshold-psi", type=float, default=None, help="settings: the area of review's threshold, psi (default 50)")
597
+ p_pm.add_argument("--cells", type=int, default=None, help="settings: cells per side of the grid, odd, 21 to 121 (default 81)")
598
+ p_pm.add_argument("--radius-km", type=float, default=None, help="settings: the radius the faults are taken within (default 25)")
599
+ p_pm.add_argument("--projection-days", type=int, default=None, help="settings: how far beyond the record to project (default 365)")
600
+ p_pm.add_argument("--sealing", type=str, default=None, help="settings: a structure layer whose faults block flow (with --source)")
601
+ p_pm.add_argument("--open", dest="open_layer", type=str, default=None, help="settings: a structure layer whose faults do not block flow again")
602
+ p_pm.add_argument("--source", type=str, default="", help="where the sealing declaration comes from")
603
+ p_pm.add_argument("--write", action="store_true", help="write reports/plume/plume.json and .md")
604
+ p_pm.add_argument("--actor", type=str, default="cli")
605
+ p_pm.add_argument("--json", action="store_true")
564
606
  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")
565
607
  p_os.add_argument("--workspace", type=str, default=None)
566
608
  p_os.add_argument("--scene", type=str, default=None, choices=("workspace", "mahoning"), help="your wells (the default with --workspace) or the public worked example")
@@ -2608,6 +2650,94 @@ def main(argv=None) -> int:
2608
2650
  raise SystemExit(f"penetrator: {e.args[0] if e.args else e}")
2609
2651
  print(_json.dumps(p, default=str) if a.json else _PN.text(p))
2610
2652
  return 0
2653
+ elif a.cmd == "fluid":
2654
+ import json as _json
2655
+ from . import fluid as _FL
2656
+ from .cli import _safe_stdout
2657
+ from .workspace import Workspace, WorkspaceError
2658
+ _safe_stdout()
2659
+ if not a.workspace:
2660
+ r = _FL.selftest()
2661
+ print(_json.dumps(r, default=str) if a.json else "\n".join(f"{'PASS' if c['pass'] else 'FAIL'} {c['check']}" + (f": {c['value']}" if 'value' in c else '') for c in r["checks"]) + f"\n{'OK' if r['ok'] else 'FAILED'} - {r['label']}")
2662
+ return 0 if r["ok"] else 1
2663
+ try:
2664
+ ws = Workspace(a.workspace)
2665
+ except WorkspaceError as e:
2666
+ raise SystemExit(f"fluid: {e}")
2667
+ try:
2668
+ if a.remove:
2669
+ r = _FL.remove(ws, a.actor, a.well, a.report, None if a.well else a.formation)
2670
+ print("removed " + ", ".join(f"{k} {v}" for k, v in r.items())); return 0
2671
+ if a.attach:
2672
+ if not a.well:
2673
+ raise SystemExit("fluid: --attach needs --well")
2674
+ with open(a.attach, "rb") as f:
2675
+ r = _FL.attach_report(ws, a.actor, a.well, os.path.basename(a.attach), f.read(), a.source)
2676
+ print(f"attached {r['file']} to {a.well}: {r['n_rows']} day(s), {r['start']} to {r['end']}; columns " + ", ".join(f"{k}={v}" for k, v in r["columns"].items())
2677
+ + (f"; {r['skipped']} row(s) skipped" if r["skipped"] else "") + (f"; {r['duplicate_days']} day(s) twice" if r["duplicate_days"] else ""))
2678
+ return 0
2679
+ if a.declare:
2680
+ if not a.well:
2681
+ raise SystemExit("fluid: --declare needs --well")
2682
+ r = _FL.declare_well(ws, a.actor, a.well, a.role, a.formation, a.density_sg, a.tds_mgl, a.density_ppg, a.from_day, a.to_day, a.source)
2683
+ print(f"{a.well}: role {r.get('role') or '-'}, formation {r.get('formation') or '-'}, {len(r.get('densities', []))} density declaration(s)")
2684
+ return 0
2685
+ fm_vals = {"porosity": a.porosity, "thickness_ft": a.thickness_ft, "area_acres": a.area_acres, "c_water_per_psi": a.c_water, "c_pore_per_psi": a.c_pore,
2686
+ "k_md": a.k_md, "mu_cp": a.mu_cp, "p_initial_psi": a.p_initial_psi, "water_sg": a.water_sg, "water_tds_mgl": a.water_tds_mgl}
2687
+ if a.formation and any(v is not None for v in fm_vals.values()):
2688
+ r = _FL.declare_formation(ws, a.actor, a.formation, a.source, **fm_vals)
2689
+ st = _FL.storage_declared(r)
2690
+ print(f"{a.formation}: " + ", ".join(f"{k} {v:g}" for k, v in r.items() if isinstance(v, (int, float))) + f"; {st['how']}")
2691
+ return 0
2692
+ if a.write:
2693
+ from . import __version__ as _ver84
2694
+ r = _FL.write_report(ws, _ver84, a.actor)
2695
+ print(f"written: {', '.join(r['files'])} under {r['folder']}")
2696
+ p = r["page"]
2697
+ else:
2698
+ p = _FL.page(ws, a.as_of)
2699
+ except (_FL.FluidError, WorkspaceError, ValueError, OSError) as e:
2700
+ raise SystemExit(f"fluid: {e.args[0] if e.args else e}")
2701
+ print(_json.dumps(p, default=str) if a.json else _FL.text(p))
2702
+ return 0
2703
+ elif a.cmd == "plume":
2704
+ import json as _json
2705
+ from . import plume as _PM
2706
+ from .cli import _safe_stdout
2707
+ from .workspace import Workspace, WorkspaceError
2708
+ _safe_stdout()
2709
+ if not a.workspace:
2710
+ r = _PM.selftest()
2711
+ 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']} (grid {r['grid']['n']} x {r['grid']['n']}, {r['grid']['dx_ft']} ft, {r['grid']['substeps_per_day']} sub-steps a day)")
2712
+ return 0 if r["ok"] else 1
2713
+ try:
2714
+ ws = Workspace(a.workspace)
2715
+ except WorkspaceError as e:
2716
+ raise SystemExit(f"plume: {e}")
2717
+ try:
2718
+ if any(v is not None for v in (a.threshold_psi, a.cells, a.radius_km, a.projection_days, a.sealing, a.open_layer)):
2719
+ sealing = {}
2720
+ if a.sealing:
2721
+ sealing[a.sealing] = True
2722
+ if a.open_layer:
2723
+ sealing[a.open_layer] = False
2724
+ st_ = _PM.set_settings(ws, a.actor, a.threshold_psi, a.cells, a.radius_km, sealing or None, a.projection_days, a.source)
2725
+ print("settings: " + ", ".join(f"{k} {v}" for k, v in st_.items() if k in ("threshold_psi", "cells", "radius_km", "projection_days", "sealing_layers")))
2726
+ return 0
2727
+ if a.write:
2728
+ from . import __version__ as _ver85
2729
+ r = _PM.write_report(ws, _ver85, a.actor)
2730
+ print(f"written: {', '.join(r['files'])} under {r['folder']}")
2731
+ p = r["page"]
2732
+ else:
2733
+ p = _PM.page(ws, a.formation)
2734
+ except (_PM.PlumeError, WorkspaceError, ValueError, OSError) as e:
2735
+ raise SystemExit(f"plume: {e.args[0] if e.args else e}")
2736
+ if a.json:
2737
+ print(_json.dumps(p, default=str))
2738
+ else:
2739
+ print(_PM.text(p))
2740
+ return 0
2611
2741
  elif a.cmd == "seismicity":
2612
2742
  import json as _json
2613
2743
  from . import op_seismicity as _OS