gea-program 0.27.0__tar.gz → 0.29.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 (276) hide show
  1. {gea_program-0.27.0/gea_program.egg-info → gea_program-0.29.0}/PKG-INFO +45 -14
  2. {gea_program-0.27.0 → gea_program-0.29.0}/README.md +44 -13
  3. {gea_program-0.27.0 → gea_program-0.29.0}/gea/__init__.py +1 -1
  4. {gea_program-0.27.0 → gea_program-0.29.0}/gea/__main__.py +91 -34
  5. {gea_program-0.27.0 → gea_program-0.29.0}/gea/acceptance_tests.py +334 -2
  6. {gea_program-0.27.0 → gea_program-0.29.0}/gea/backup.py +2 -2
  7. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/acex_lomonosov_age_depth_model.provenance.json +10 -1
  8. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/agassiz77_canada_temperature.provenance.json +15 -2
  9. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/barbados_110_consolidation.provenance.json +10 -1
  10. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/bengal_u1452_grain_size.provenance.json +10 -1
  11. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/blake_164_methane_isotopes.provenance.json +10 -1
  12. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.provenance.json +10 -1
  13. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/collingwood_1_28_ks_complete.provenance.json +14 -2
  14. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/costa_rica_odp_friction_envelope.provenance.json +10 -1
  15. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.provenance.json +10 -1
  16. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/dsdp_504b_physical_properties.provenance.json +10 -1
  17. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/dsdp_504b_sound_velocity.provenance.json +10 -1
  18. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/elgygytgyn_5011_turbidites.provenance.json +10 -1
  19. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/epica_domec_co2_800kyr.provenance.json +10 -1
  20. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/fram_909_organic_petrography.provenance.json +10 -1
  21. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/gbr_325_coral_uth_ages.provenance.json +10 -1
  22. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/gisp2_greenland_temperature.provenance.json +14 -2
  23. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/gom_308_t2p_insitu.provenance.json +10 -1
  24. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/guaymas_385_dom_d13c.provenance.json +10 -1
  25. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/hikurangi_u1520_friction_insitu.provenance.json +10 -1
  26. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.provenance.json +10 -1
  27. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/iodp_u1324_pore_pressure.provenance.json +10 -1
  28. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/jfast_c0019_slow_slip_events.provenance.json +10 -1
  29. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/kennetcook_2_p129_excerpt.provenance.json +26 -2
  30. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_hb_bhgm_density.provenance.json +10 -1
  31. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_hb_complog_6020_excerpt.provenance.json +11 -1
  32. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_hb_hlog246_temperature.provenance.json +18 -1
  33. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_hb_rockmech_compress.provenance.json +11 -1
  34. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.provenance.json +11 -1
  35. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_vb_rockmech_compress.provenance.json +11 -1
  36. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_vb_vlog251_temperature.provenance.json +18 -1
  37. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/l06_06_nl_survey.provenance.json +18 -2
  38. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/l07_01_nl_excerpt.provenance.json +17 -2
  39. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/mariana_1200_serpentinite_geochem.provenance.json +10 -1
  40. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/med_160_sapropels.provenance.json +10 -1
  41. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/nankai_megasplay_shear_strength.provenance.json +10 -1
  42. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_1027b_thermal_conductivity.provenance.json +10 -1
  43. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_1027c_cork_temperature.provenance.json +10 -1
  44. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_1165b_thermal_conductivity.provenance.json +10 -1
  45. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.provenance.json +10 -1
  46. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_504b_dike_elastic_moduli.provenance.json +10 -1
  47. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_504b_leg137_borehole_fluids.provenance.json +10 -1
  48. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.provenance.json +10 -1
  49. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/peru_201_sulfate_reduction.provenance.json +10 -1
  50. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/scorpio_e1_sa_excerpt.provenance.json +21 -2
  51. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/sumatra_362_cohesion.provenance.json +10 -1
  52. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/university_6_17_no1_tx_excerpt.provenance.json +29 -2
  53. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ursa_308_xrd_mineralogy.provenance.json +10 -1
  54. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/volve_15_9_19_sr_excerpt.provenance.json +20 -2
  55. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/volve_15_9_19a_core_excerpt.provenance.json +21 -2
  56. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/volve_f12_f14_production_excerpt.provenance.json +10 -1
  57. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/walvis_208_petm_carbonate.provenance.json +10 -1
  58. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/woodlark_1109_rock_eval.provenance.json +10 -1
  59. gea_program-0.29.0/gea/catalog_map.py +310 -0
  60. {gea_program-0.27.0 → gea_program-0.29.0}/gea/doctor.py +3 -3
  61. {gea_program-0.27.0 → gea_program-0.29.0}/gea/fixtures/README.md +5 -0
  62. gea_program-0.29.0/gea/fixtures/ne_110m_coastline.json +1 -0
  63. {gea_program-0.27.0 → gea_program-0.29.0}/gea/geodesy.py +12 -0
  64. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/backup.md +1 -1
  65. gea_program-0.29.0/gea/help/catalog.md +11 -0
  66. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/conformance.md +1 -1
  67. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/field-ports.md +1 -1
  68. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/historian.md +1 -1
  69. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/instruments.md +1 -1
  70. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/interval.md +1 -1
  71. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/month-end.md +1 -1
  72. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/osdu.md +1 -1
  73. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/ppdm.md +1 -1
  74. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/quakeml.md +1 -1
  75. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/seedlink.md +1 -1
  76. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/seismic.md +1 -1
  77. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/sites.md +1 -1
  78. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/slip.md +1 -1
  79. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/sra.md +1 -1
  80. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/structure.md +1 -1
  81. gea_program-0.29.0/gea/help/tools.md +11 -0
  82. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/vibration.md +1 -1
  83. {gea_program-0.27.0 → gea_program-0.29.0}/gea/helplib.py +2 -1
  84. {gea_program-0.27.0 → gea_program-0.29.0}/gea/service.py +44 -0
  85. {gea_program-0.27.0 → gea_program-0.29.0}/gea/shapefile.py +3 -0
  86. gea_program-0.29.0/gea/tool_catalog.py +190 -0
  87. {gea_program-0.27.0 → gea_program-0.29.0}/gea/web/app.html +105 -3
  88. {gea_program-0.27.0 → gea_program-0.29.0}/gea/workspace.py +10 -1
  89. {gea_program-0.27.0 → gea_program-0.29.0/gea_program.egg-info}/PKG-INFO +45 -14
  90. {gea_program-0.27.0 → gea_program-0.29.0}/gea_program.egg-info/SOURCES.txt +4 -0
  91. {gea_program-0.27.0 → gea_program-0.29.0}/pyproject.toml +1 -1
  92. gea_program-0.27.0/gea/help/catalog.md +0 -11
  93. {gea_program-0.27.0 → gea_program-0.29.0}/LICENSE +0 -0
  94. {gea_program-0.27.0 → gea_program-0.29.0}/gea/BENCH_TEST_PROTOCOL.md +0 -0
  95. {gea_program-0.27.0 → gea_program-0.29.0}/gea/accuracy_statement.py +0 -0
  96. {gea_program-0.27.0 → gea_program-0.29.0}/gea/alarm_engine.py +0 -0
  97. {gea_program-0.27.0 → gea_program-0.29.0}/gea/bench.py +0 -0
  98. {gea_program-0.27.0 → gea_program-0.29.0}/gea/blind_harness.py +0 -0
  99. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/acex_lomonosov_age_depth_model.txt +0 -0
  100. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/agassiz77_canada_temperature.csv +0 -0
  101. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/barbados_110_consolidation.txt +0 -0
  102. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/bengal_u1452_grain_size.txt +0 -0
  103. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/blake_164_methane_isotopes.txt +0 -0
  104. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.txt +0 -0
  105. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/collingwood_1_28_ks_complete.las +0 -0
  106. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/costa_rica_odp_friction_envelope.txt +0 -0
  107. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.txt +0 -0
  108. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/dsdp_504b_physical_properties.txt +0 -0
  109. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/dsdp_504b_sound_velocity.txt +0 -0
  110. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/elgygytgyn_5011_turbidites.txt +0 -0
  111. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/epica_domec_co2_800kyr.txt +0 -0
  112. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/fram_909_organic_petrography.txt +0 -0
  113. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/gbr_325_coral_uth_ages.txt +0 -0
  114. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/gisp2_greenland_temperature.csv +0 -0
  115. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/gom_308_t2p_insitu.txt +0 -0
  116. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/guaymas_385_dom_d13c.txt +0 -0
  117. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/hikurangi_u1520_friction_insitu.txt +0 -0
  118. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.txt +0 -0
  119. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/iodp_u1324_pore_pressure.txt +0 -0
  120. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/jfast_c0019_slow_slip_events.txt +0 -0
  121. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/kennetcook_2_p129_excerpt.las +0 -0
  122. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_hb_bhgm_density.dat +0 -0
  123. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_hb_complog_6020_excerpt.txt +0 -0
  124. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_hb_hlog246_temperature.dat +0 -0
  125. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_hb_rockmech_compress.dat +0 -0
  126. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.dat +0 -0
  127. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_vb_rockmech_compress.dat +0 -0
  128. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ktb_vb_vlog251_temperature.dat +0 -0
  129. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/l06_06_nl_survey.csv +0 -0
  130. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/l07_01_nl_excerpt.las +0 -0
  131. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/mariana_1200_serpentinite_geochem.txt +0 -0
  132. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/med_160_sapropels.txt +0 -0
  133. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/nankai_megasplay_shear_strength.txt +0 -0
  134. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_1027b_thermal_conductivity.txt +0 -0
  135. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_1027c_cork_temperature.txt +0 -0
  136. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_1165b_thermal_conductivity.txt +0 -0
  137. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.txt +0 -0
  138. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_504b_dike_elastic_moduli.txt +0 -0
  139. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_504b_leg137_borehole_fluids.txt +0 -0
  140. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.txt +0 -0
  141. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/peru_201_sulfate_reduction.txt +0 -0
  142. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/scorpio_e1_sa_excerpt.las +0 -0
  143. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/sumatra_362_cohesion.txt +0 -0
  144. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/university_6_17_no1_tx_excerpt.las +0 -0
  145. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/ursa_308_xrd_mineralogy.txt +0 -0
  146. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/volve_15_9_19_sr_excerpt.las +0 -0
  147. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/volve_15_9_19a_core_excerpt.csv +0 -0
  148. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/volve_f12_f14_production_excerpt.csv +0 -0
  149. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/walvis_208_petm_carbonate.txt +0 -0
  150. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog/woodlark_1109_rock_eval.txt +0 -0
  151. {gea_program-0.27.0 → gea_program-0.29.0}/gea/catalog_register.py +0 -0
  152. {gea_program-0.27.0 → gea_program-0.29.0}/gea/certificates.py +0 -0
  153. {gea_program-0.27.0 → gea_program-0.29.0}/gea/cli.py +0 -0
  154. {gea_program-0.27.0 → gea_program-0.29.0}/gea/client_reports.py +0 -0
  155. {gea_program-0.27.0 → gea_program-0.29.0}/gea/config_versioning.py +0 -0
  156. {gea_program-0.27.0 → gea_program-0.29.0}/gea/conformance.py +0 -0
  157. {gea_program-0.27.0 → gea_program-0.29.0}/gea/correlation.py +0 -0
  158. {gea_program-0.27.0 → gea_program-0.29.0}/gea/dashboard.py +0 -0
  159. {gea_program-0.27.0 → gea_program-0.29.0}/gea/deviation.py +0 -0
  160. {gea_program-0.27.0 → gea_program-0.29.0}/gea/dlis.py +0 -0
  161. {gea_program-0.27.0 → gea_program-0.29.0}/gea/dnp3.py +0 -0
  162. {gea_program-0.27.0 → gea_program-0.29.0}/gea/downhole_engine.py +0 -0
  163. {gea_program-0.27.0 → gea_program-0.29.0}/gea/drift_monitor.py +0 -0
  164. {gea_program-0.27.0 → gea_program-0.29.0}/gea/earth_model.py +0 -0
  165. {gea_program-0.27.0 → gea_program-0.29.0}/gea/elevation.py +0 -0
  166. {gea_program-0.27.0 → gea_program-0.29.0}/gea/etp.py +0 -0
  167. {gea_program-0.27.0 → gea_program-0.29.0}/gea/etp12_schemas.json +0 -0
  168. {gea_program-0.27.0 → gea_program-0.29.0}/gea/example_register_map.json +0 -0
  169. {gea_program-0.27.0 → gea_program-0.29.0}/gea/fat_sat.py +0 -0
  170. {gea_program-0.27.0 → gea_program-0.29.0}/gea/files.py +0 -0
  171. {gea_program-0.27.0 → gea_program-0.29.0}/gea/fixtures/comcat_delaware_basin_2026-09.txt +0 -0
  172. {gea_program-0.27.0 → gea_program-0.29.0}/gea/fixtures/comcat_youngstown_2011-2012.txt +0 -0
  173. {gea_program-0.27.0 → gea_program-0.29.0}/gea/follower.py +0 -0
  174. {gea_program-0.27.0 → gea_program-0.29.0}/gea/forward_model.py +0 -0
  175. {gea_program-0.27.0 → gea_program-0.29.0}/gea/friction_priors.py +0 -0
  176. {gea_program-0.27.0 → gea_program-0.29.0}/gea/gamma.py +0 -0
  177. {gea_program-0.27.0 → gea_program-0.29.0}/gea/gauge_aging.py +0 -0
  178. {gea_program-0.27.0 → gea_program-0.29.0}/gea/gauge_specs.py +0 -0
  179. {gea_program-0.27.0 → gea_program-0.29.0}/gea/gravity_reference.py +0 -0
  180. {gea_program-0.27.0 → gea_program-0.29.0}/gea/hartip.py +0 -0
  181. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/TESTER_GUIDE.md +0 -0
  182. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/alarms.md +0 -0
  183. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/audit-update.md +0 -0
  184. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/data-in.md +0 -0
  185. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/dlis.md +0 -0
  186. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/doctor.md +0 -0
  187. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/drift.md +0 -0
  188. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/etp.md +0 -0
  189. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/files.md +0 -0
  190. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/notifications.md +0 -0
  191. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/patches.md +0 -0
  192. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/quality.md +0 -0
  193. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/site.md +0 -0
  194. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/soak.md +0 -0
  195. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/start.md +0 -0
  196. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/transients.md +0 -0
  197. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/upkeep.md +0 -0
  198. {gea_program-0.27.0 → gea_program-0.29.0}/gea/help/well-tests.md +0 -0
  199. {gea_program-0.27.0 → gea_program-0.29.0}/gea/housekeeping.py +0 -0
  200. {gea_program-0.27.0 → gea_program-0.29.0}/gea/interval.py +0 -0
  201. {gea_program-0.27.0 → gea_program-0.29.0}/gea/inverse_engine.py +0 -0
  202. {gea_program-0.27.0 → gea_program-0.29.0}/gea/jobs.py +0 -0
  203. {gea_program-0.27.0 → gea_program-0.29.0}/gea/live_ports.py +0 -0
  204. {gea_program-0.27.0 → gea_program-0.29.0}/gea/loadtest.py +0 -0
  205. {gea_program-0.27.0 → gea_program-0.29.0}/gea/matplotlib_demo.py +0 -0
  206. {gea_program-0.27.0 → gea_program-0.29.0}/gea/modbus.py +0 -0
  207. {gea_program-0.27.0 → gea_program-0.29.0}/gea/modbus_rtu.py +0 -0
  208. {gea_program-0.27.0 → gea_program-0.29.0}/gea/model_card.py +0 -0
  209. {gea_program-0.27.0 → gea_program-0.29.0}/gea/month_end.py +0 -0
  210. {gea_program-0.27.0 → gea_program-0.29.0}/gea/mqtt_port.py +0 -0
  211. {gea_program-0.27.0 → gea_program-0.29.0}/gea/notify.py +0 -0
  212. {gea_program-0.27.0 → gea_program-0.29.0}/gea/opcua_port.py +0 -0
  213. {gea_program-0.27.0 → gea_program-0.29.0}/gea/operator_app.py +0 -0
  214. {gea_program-0.27.0 → gea_program-0.29.0}/gea/osdu.py +0 -0
  215. {gea_program-0.27.0 → gea_program-0.29.0}/gea/patches.py +0 -0
  216. {gea_program-0.27.0 → gea_program-0.29.0}/gea/permits.py +0 -0
  217. {gea_program-0.27.0 → gea_program-0.29.0}/gea/piwebapi.py +0 -0
  218. {gea_program-0.27.0 → gea_program-0.29.0}/gea/ports.py +0 -0
  219. {gea_program-0.27.0 → gea_program-0.29.0}/gea/ppdm.py +0 -0
  220. {gea_program-0.27.0 → gea_program-0.29.0}/gea/profile_catalog.py +0 -0
  221. {gea_program-0.27.0 → gea_program-0.29.0}/gea/project.py +0 -0
  222. {gea_program-0.27.0 → gea_program-0.29.0}/gea/qt6_downhole_app.py +0 -0
  223. {gea_program-0.27.0 → gea_program-0.29.0}/gea/quakeml.py +0 -0
  224. {gea_program-0.27.0 → gea_program-0.29.0}/gea/reconciler.py +0 -0
  225. {gea_program-0.27.0 → gea_program-0.29.0}/gea/reference/IU_ANMO_10_BHZ_response.provenance.json +0 -0
  226. {gea_program-0.27.0 → gea_program-0.29.0}/gea/reference/IU_ANMO_10_BHZ_response.xml +0 -0
  227. {gea_program-0.27.0 → gea_program-0.29.0}/gea/reference/libmseed_steim.provenance.json +0 -0
  228. {gea_program-0.27.0 → gea_program-0.29.0}/gea/reference/libmseed_steim1_4096.mseed +0 -0
  229. {gea_program-0.27.0 → gea_program-0.29.0}/gea/reference/libmseed_steim2_4096.mseed +0 -0
  230. {gea_program-0.27.0 → gea_program-0.29.0}/gea/reference/libmseed_steim2_512.mseed +0 -0
  231. {gea_program-0.27.0 → gea_program-0.29.0}/gea/rock_inventory.py +0 -0
  232. {gea_program-0.27.0 → gea_program-0.29.0}/gea/sample_record.py +0 -0
  233. {gea_program-0.27.0 → gea_program-0.29.0}/gea/sample_well_profile.csv +0 -0
  234. {gea_program-0.27.0 → gea_program-0.29.0}/gea/sbom.py +0 -0
  235. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seedlink.py +0 -0
  236. {gea_program-0.27.0 → gea_program-0.29.0}/gea/segy.py +0 -0
  237. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic.py +0 -0
  238. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic_array.py +0 -0
  239. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic_assoc.py +0 -0
  240. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic_detect.py +0 -0
  241. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic_film.py +0 -0
  242. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic_harmonic.py +0 -0
  243. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic_qc.py +0 -0
  244. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic_response.py +0 -0
  245. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic_signature.py +0 -0
  246. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic_track.py +0 -0
  247. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic_uncertainty.py +0 -0
  248. {gea_program-0.27.0 → gea_program-0.29.0}/gea/seismic_unlisted.py +0 -0
  249. {gea_program-0.27.0 → gea_program-0.29.0}/gea/sensor_swap.py +0 -0
  250. {gea_program-0.27.0 → gea_program-0.29.0}/gea/service_life.py +0 -0
  251. {gea_program-0.27.0 → gea_program-0.29.0}/gea/shell.py +0 -0
  252. {gea_program-0.27.0 → gea_program-0.29.0}/gea/shut_in.py +0 -0
  253. {gea_program-0.27.0 → gea_program-0.29.0}/gea/sla_report.py +0 -0
  254. {gea_program-0.27.0 → gea_program-0.29.0}/gea/slip.py +0 -0
  255. {gea_program-0.27.0 → gea_program-0.29.0}/gea/soak.py +0 -0
  256. {gea_program-0.27.0 → gea_program-0.29.0}/gea/sra.py +0 -0
  257. {gea_program-0.27.0 → gea_program-0.29.0}/gea/store_forward.py +0 -0
  258. {gea_program-0.27.0 → gea_program-0.29.0}/gea/strata_join.py +0 -0
  259. {gea_program-0.27.0 → gea_program-0.29.0}/gea/structure.py +0 -0
  260. {gea_program-0.27.0 → gea_program-0.29.0}/gea/supervisor.py +0 -0
  261. {gea_program-0.27.0 → gea_program-0.29.0}/gea/survey_cmd.py +0 -0
  262. {gea_program-0.27.0 → gea_program-0.29.0}/gea/survey_view.py +0 -0
  263. {gea_program-0.27.0 → gea_program-0.29.0}/gea/telemetry.py +0 -0
  264. {gea_program-0.27.0 → gea_program-0.29.0}/gea/tool_library.py +0 -0
  265. {gea_program-0.27.0 → gea_program-0.29.0}/gea/transient.py +0 -0
  266. {gea_program-0.27.0 → gea_program-0.29.0}/gea/vibration.py +0 -0
  267. {gea_program-0.27.0 → gea_program-0.29.0}/gea/well_assembler.py +0 -0
  268. {gea_program-0.27.0 → gea_program-0.29.0}/gea/well_test_validation.py +0 -0
  269. {gea_program-0.27.0 → gea_program-0.29.0}/gea/wits0.py +0 -0
  270. {gea_program-0.27.0 → gea_program-0.29.0}/gea/witsml.py +0 -0
  271. {gea_program-0.27.0 → gea_program-0.29.0}/gea_program.egg-info/dependency_links.txt +0 -0
  272. {gea_program-0.27.0 → gea_program-0.29.0}/gea_program.egg-info/entry_points.txt +0 -0
  273. {gea_program-0.27.0 → gea_program-0.29.0}/gea_program.egg-info/requires.txt +0 -0
  274. {gea_program-0.27.0 → gea_program-0.29.0}/gea_program.egg-info/top_level.txt +0 -0
  275. {gea_program-0.27.0 → gea_program-0.29.0}/setup.cfg +0 -0
  276. {gea_program-0.27.0 → gea_program-0.29.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.27.0
3
+ Version: 0.29.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
@@ -125,7 +125,7 @@ gea dashboard --catalog-well volve_f12_f14_production_excerpt:15/9-F-12:10000 --
125
125
  gea client-report --report accuracy --out client_report
126
126
  gea model-cards --out model_cards
127
127
  gea sbom --out sbom
128
- gea accept # the product gate (366 checks)
128
+ gea accept # the product gate (373 checks)
129
129
  gea help drift # the help library, by the job (16 pages; the same text is on every dashboard page)
130
130
  gea guide # the click-by-click tester guide (docs/TESTER_GUIDE.md)
131
131
  gea gui # the desktop window (pip install "gea-program[desktop]")
@@ -236,7 +236,7 @@ value in your units (field or SI - "Your preferences", with site defaults
236
236
  under Administration); a first-run guide walks a new site through its
237
237
  settings, first well, people and first refresh; every page prints cleanly.
238
238
 
239
- Every action the page takes is a job: `python -m gea <command>` run by the
239
+ Every action the page takes is a job: `python -m gea ...` run by the
240
240
  service with its log kept under `jobs/`, so one code path serves the page, the
241
241
  terminal and the acceptance gate, and a failed action shows its log instead of
242
242
  disappearing. Every action is written to `records/audit.jsonl` with the
@@ -558,7 +558,7 @@ an aftershock: those are declarations, and the packet says so.
558
558
  ### The OSDU-shaped export
559
559
 
560
560
  What a buyer's data team asks for on the first call. `gea workspace --action
561
- osdu-export --site <id> --partition ... --acl-owner ... --acl-viewer ...
561
+ osdu-export --site retama-block --partition opendes --acl-owner ... --acl-viewer ...
562
562
  --legal-tag ...` writes the site as an `osdu:wks:Manifest:1.0.0` to the
563
563
  published well-known schemas: each well as Well and Wellbore 1.0.0 with its
564
564
  API and UIC as name aliases, its record as a WellLog 1.1.0 in the time
@@ -573,8 +573,8 @@ tag the manifest is NOT LOADABLE and says so. `gea help osdu`.
573
573
  ### The QuakeML catalogue export
574
574
 
575
575
  The site's own events in the format the regulator's catalogue tools read.
576
- After `associate`, `gea workspace --action quakeml-export --site <id>
577
- [--agency "<name>"]` writes `reports/sites/<site>/quakeml/<site>_events.xml`
576
+ After `associate`, `gea workspace --action quakeml-export --site retama-block
577
+ [--agency "Acme Operating"]` writes `reports/sites/<site>/quakeml/<site>_events.xml`
578
578
  as QuakeML 1.2 to the Basic Event Description schema: one event per
579
579
  associated event with its origin (the misfit region as the uncertainties,
580
580
  depth in metres and "operator assigned" because it was declared, the method
@@ -590,7 +590,7 @@ quakeml`; `gea quakeml` runs the labelled scene.
590
590
 
591
591
  ### The well as master data names it
592
592
 
593
- `gea workspace --action well-identity --well <id>` names a well the way the
593
+ `gea workspace --action well-identity --well SWD-1` names a well the way the
594
594
  operator's master data and a regulator's well file name it: the US Well
595
595
  Number (the API number, whose standard PPDM has held since 2010) taken apart
596
596
  - state and offshore code, county code, unique well and its range, sidetrack
@@ -609,7 +609,7 @@ number apart from the command line; `gea help ppdm`.
609
609
  ### Machine vibration
610
610
 
611
611
  The pump's record read the way an operations engineer expects. `gea
612
- workspace --action vibration-report --well <id> --record pump.csv --vib-unit
612
+ workspace --action vibration-report --well SWD-1 --record pump.csv --vib-unit
613
613
  g --rpm 1780 --group 2 --support rigid --bearing 9,7.94,39.04` writes the
614
614
  broadband r.m.s. vibration velocity over 10-1000 Hz (2-1000 Hz below 600
615
615
  r/min), the quantity ISO 20816-1 defines, and the ISO 20816-3 zone for the
@@ -648,6 +648,20 @@ against it; `gea seedlink --config ... --hello` prints what a server says of
648
648
  itself; `gea help seedlink`. A TexNet station is served by EarthScope at
649
649
  `rtserve.iris.washington.edu:18000`, network `TX`.
650
650
 
651
+ ### Tools and ports
652
+
653
+ The Tools & ports tab (`#/tools`, `gea tools`) is the program's two
654
+ registers in one place: the tool library - every downhole and surface tool
655
+ with its source citation, ratings, what it measures, the telemetry interface
656
+ it declares and its datasheet aging rate where the vendor published one -
657
+ and the ports, the file formats read and the eleven live protocols spoken,
658
+ each with what it speaks to, what the site must supply and what to rehearse
659
+ against. Tools whose declared interface no port in this build speaks are
660
+ listed by name. The rating check hangs a tool string in a well and reports
661
+ each station's tool against the conditions there, with the basis stated:
662
+ `gea tools --rating --station 16000:quartz_pt_geoq177_16k` exits 1 when a
663
+ station is over a rating. `gea help tools`.
664
+
651
665
  ### ComCat
652
666
 
653
667
  The seismicity response plan reads a TexNet export; it reads the FDSN text
@@ -678,7 +692,7 @@ statement on declared inputs, not a probability and not a verdict.
678
692
  `gea catalog --list` is the register of the 52 shipped public datasets: for
679
693
  each, what in this program reads it, or CARRIED, NO BAND with the reason;
680
694
  the gate holds the register to the code both ways and reads every entry.
681
- `gea survey --catalog <entry>` runs the strata survey on any catalogue log
695
+ `gea survey --catalog collingwood_1_28_ks_complete` runs the strata survey on any catalogue log
682
696
  with its provenance; `gea catalog --friction` reads seven laboratory
683
697
  datasets on natural fault and sediment samples as the measured friction
684
698
  envelope (0.21-0.90 on 70 measurements, none from the Permian) against
@@ -686,6 +700,23 @@ Byerlee's 0.6; `gea catalog --core` checks the published sandstone range
686
700
  against the Volve core (65 of 70 plugs inside), an evaluation on the rock
687
701
  inventory model card. `gea help catalog`.
688
702
 
703
+ ### The catalogue on a world map
704
+
705
+ The Catalogue tab is where each of the 52 entries was drilled: 49 wells and
706
+ sites from the KTB to Hikurangi, taken from each entry's own file - a
707
+ PANGAEA event line, a LAS header, a KTB Gauss-Krueger grid reference
708
+ unprojected on the Bessel ellipsoid and shifted to WGS84 with the shift
709
+ stated - or from the sidecar's source record, or NO POSITION. Nothing is
710
+ looked up: 44 of 52 are positioned (33 distinct marks; the entries of one
711
+ borehole share a mark) and the 8 that are not are listed with what their
712
+ files do say. The coastline is Natural Earth 1:110m (public domain, in
713
+ `gea/fixtures` with its provenance). Each position is written into the
714
+ entry's sidecar with the line it came from, and the gate holds the sidecars
715
+ equal to a fresh read of the files. `gea catalog --positions`, `gea catalog
716
+ --map catalogue.svg` (the same picture as a file, with the key),
717
+ `--check-positions`. A mark is the coordinate the record states, not a
718
+ position this program measured.
719
+
689
720
  ### The log as delivered, and the historian
690
721
 
691
722
  A well log arrives as DLIS (API RP66 V1); `gea/dlis.py` reads the container
@@ -730,7 +761,7 @@ derrick floor) and where it came from: `gea workspace --action set-well --well
730
761
  (`--elev-3dep` fetches the ground elevation from the USGS 3DEP point service
731
762
  instead, stored with its raster and named as the ground). A contours layer is
732
763
  told what it maps (`add-layer ... --formation-name Wolfcamp --role
733
- top|isopach|base`). `--action interval --well <id>` then converts the interval
764
+ top|isopach|base`). `--action interval --well SWD-1` then converts the interval
734
765
  to subsea with the arithmetic printed and sets it beside each formation-top
735
766
  bracket at the well: ABOVE the mapped top, BELOW it, or NOT RESOLVED where
736
767
  the bracket overlaps the interval; a formation with a top and an isopach gets
@@ -751,8 +782,8 @@ index, the .dbf attributes, the .prj coordinate system; geographic NAD83 or
751
782
  WGS84 taken as is, the Texas State Plane NAD83 zones unprojected, anything
752
783
  else refused by name) and kept in the workspace with every part hashed:
753
784
  `gea workspace --action add-layer --name ... --layer structure.zip
754
- --citation ...` (`--member <name>` names one shapefile in a zip holding
755
- several; `gea structure --layer <zip> --list` lists them). Each layer is
785
+ --citation ...` (`--member Faults_Permian_201712` names one shapefile in a zip holding
786
+ several; `gea structure --layer PermianBasin_Boundary_Structural_Tectonic.zip --list` lists them). Each layer is
756
787
  kept by kind and read for what it is: faults and folds (`--action structure
757
788
  --well <id>` prints the nearest mapped fault and the nearest fold by
758
789
  distance along the ellipsoid and bearing, and what else the map holds within
@@ -763,7 +794,7 @@ A position outside the layer's extent is OUTSIDE LAYER EXTENT, which is not
763
794
  "no faults". Proven on the USGS PP 1708 Appalachian structure layer and the
764
795
  EIA Permian Basin set. On the well page, in the SRA packet's
765
796
  section 2b for every well inside the area, and from `gea structure --layer
766
- <file> --lat --lon` for any position. A distance to a mapped trace is a fact
797
+ structure.zip --lat 41.1 --lon -80.68` for any position. A distance to a mapped trace is a fact
767
798
  of the map at the map's scale, not a hazard judgement. `gea help structure`.
768
799
 
769
800
  ### WITSML 2.x over ETP
@@ -884,7 +915,7 @@ without administrator rights, and keeps the site's data in a separate
884
915
  workspace folder it never deletes.
885
916
 
886
917
  ```
887
- python tools/build_installer.py # dist/gea-program-<version>-win64/ and .zip (needs internet here, none there)
918
+ python tools/build_installer.py # dist/gea-program-0.29.0-win64/ and .zip (needs internet here, none there)
888
919
  python tools/build_installer.py --extras live,plotting,xls # a smaller kit without the PyQt6 desktop window
889
920
  python tools/build_installer.py --platform linux # a venv-based kit for a Linux site server
890
921
  ```
@@ -86,7 +86,7 @@ gea dashboard --catalog-well volve_f12_f14_production_excerpt:15/9-F-12:10000 --
86
86
  gea client-report --report accuracy --out client_report
87
87
  gea model-cards --out model_cards
88
88
  gea sbom --out sbom
89
- gea accept # the product gate (366 checks)
89
+ gea accept # the product gate (373 checks)
90
90
  gea help drift # the help library, by the job (16 pages; the same text is on every dashboard page)
91
91
  gea guide # the click-by-click tester guide (docs/TESTER_GUIDE.md)
92
92
  gea gui # the desktop window (pip install "gea-program[desktop]")
@@ -197,7 +197,7 @@ value in your units (field or SI - "Your preferences", with site defaults
197
197
  under Administration); a first-run guide walks a new site through its
198
198
  settings, first well, people and first refresh; every page prints cleanly.
199
199
 
200
- Every action the page takes is a job: `python -m gea <command>` run by the
200
+ Every action the page takes is a job: `python -m gea ...` run by the
201
201
  service with its log kept under `jobs/`, so one code path serves the page, the
202
202
  terminal and the acceptance gate, and a failed action shows its log instead of
203
203
  disappearing. Every action is written to `records/audit.jsonl` with the
@@ -519,7 +519,7 @@ an aftershock: those are declarations, and the packet says so.
519
519
  ### The OSDU-shaped export
520
520
 
521
521
  What a buyer's data team asks for on the first call. `gea workspace --action
522
- osdu-export --site <id> --partition ... --acl-owner ... --acl-viewer ...
522
+ osdu-export --site retama-block --partition opendes --acl-owner ... --acl-viewer ...
523
523
  --legal-tag ...` writes the site as an `osdu:wks:Manifest:1.0.0` to the
524
524
  published well-known schemas: each well as Well and Wellbore 1.0.0 with its
525
525
  API and UIC as name aliases, its record as a WellLog 1.1.0 in the time
@@ -534,8 +534,8 @@ tag the manifest is NOT LOADABLE and says so. `gea help osdu`.
534
534
  ### The QuakeML catalogue export
535
535
 
536
536
  The site's own events in the format the regulator's catalogue tools read.
537
- After `associate`, `gea workspace --action quakeml-export --site <id>
538
- [--agency "<name>"]` writes `reports/sites/<site>/quakeml/<site>_events.xml`
537
+ After `associate`, `gea workspace --action quakeml-export --site retama-block
538
+ [--agency "Acme Operating"]` writes `reports/sites/<site>/quakeml/<site>_events.xml`
539
539
  as QuakeML 1.2 to the Basic Event Description schema: one event per
540
540
  associated event with its origin (the misfit region as the uncertainties,
541
541
  depth in metres and "operator assigned" because it was declared, the method
@@ -551,7 +551,7 @@ quakeml`; `gea quakeml` runs the labelled scene.
551
551
 
552
552
  ### The well as master data names it
553
553
 
554
- `gea workspace --action well-identity --well <id>` names a well the way the
554
+ `gea workspace --action well-identity --well SWD-1` names a well the way the
555
555
  operator's master data and a regulator's well file name it: the US Well
556
556
  Number (the API number, whose standard PPDM has held since 2010) taken apart
557
557
  - state and offshore code, county code, unique well and its range, sidetrack
@@ -570,7 +570,7 @@ number apart from the command line; `gea help ppdm`.
570
570
  ### Machine vibration
571
571
 
572
572
  The pump's record read the way an operations engineer expects. `gea
573
- workspace --action vibration-report --well <id> --record pump.csv --vib-unit
573
+ workspace --action vibration-report --well SWD-1 --record pump.csv --vib-unit
574
574
  g --rpm 1780 --group 2 --support rigid --bearing 9,7.94,39.04` writes the
575
575
  broadband r.m.s. vibration velocity over 10-1000 Hz (2-1000 Hz below 600
576
576
  r/min), the quantity ISO 20816-1 defines, and the ISO 20816-3 zone for the
@@ -609,6 +609,20 @@ against it; `gea seedlink --config ... --hello` prints what a server says of
609
609
  itself; `gea help seedlink`. A TexNet station is served by EarthScope at
610
610
  `rtserve.iris.washington.edu:18000`, network `TX`.
611
611
 
612
+ ### Tools and ports
613
+
614
+ The Tools & ports tab (`#/tools`, `gea tools`) is the program's two
615
+ registers in one place: the tool library - every downhole and surface tool
616
+ with its source citation, ratings, what it measures, the telemetry interface
617
+ it declares and its datasheet aging rate where the vendor published one -
618
+ and the ports, the file formats read and the eleven live protocols spoken,
619
+ each with what it speaks to, what the site must supply and what to rehearse
620
+ against. Tools whose declared interface no port in this build speaks are
621
+ listed by name. The rating check hangs a tool string in a well and reports
622
+ each station's tool against the conditions there, with the basis stated:
623
+ `gea tools --rating --station 16000:quartz_pt_geoq177_16k` exits 1 when a
624
+ station is over a rating. `gea help tools`.
625
+
612
626
  ### ComCat
613
627
 
614
628
  The seismicity response plan reads a TexNet export; it reads the FDSN text
@@ -639,7 +653,7 @@ statement on declared inputs, not a probability and not a verdict.
639
653
  `gea catalog --list` is the register of the 52 shipped public datasets: for
640
654
  each, what in this program reads it, or CARRIED, NO BAND with the reason;
641
655
  the gate holds the register to the code both ways and reads every entry.
642
- `gea survey --catalog <entry>` runs the strata survey on any catalogue log
656
+ `gea survey --catalog collingwood_1_28_ks_complete` runs the strata survey on any catalogue log
643
657
  with its provenance; `gea catalog --friction` reads seven laboratory
644
658
  datasets on natural fault and sediment samples as the measured friction
645
659
  envelope (0.21-0.90 on 70 measurements, none from the Permian) against
@@ -647,6 +661,23 @@ Byerlee's 0.6; `gea catalog --core` checks the published sandstone range
647
661
  against the Volve core (65 of 70 plugs inside), an evaluation on the rock
648
662
  inventory model card. `gea help catalog`.
649
663
 
664
+ ### The catalogue on a world map
665
+
666
+ The Catalogue tab is where each of the 52 entries was drilled: 49 wells and
667
+ sites from the KTB to Hikurangi, taken from each entry's own file - a
668
+ PANGAEA event line, a LAS header, a KTB Gauss-Krueger grid reference
669
+ unprojected on the Bessel ellipsoid and shifted to WGS84 with the shift
670
+ stated - or from the sidecar's source record, or NO POSITION. Nothing is
671
+ looked up: 44 of 52 are positioned (33 distinct marks; the entries of one
672
+ borehole share a mark) and the 8 that are not are listed with what their
673
+ files do say. The coastline is Natural Earth 1:110m (public domain, in
674
+ `gea/fixtures` with its provenance). Each position is written into the
675
+ entry's sidecar with the line it came from, and the gate holds the sidecars
676
+ equal to a fresh read of the files. `gea catalog --positions`, `gea catalog
677
+ --map catalogue.svg` (the same picture as a file, with the key),
678
+ `--check-positions`. A mark is the coordinate the record states, not a
679
+ position this program measured.
680
+
650
681
  ### The log as delivered, and the historian
651
682
 
652
683
  A well log arrives as DLIS (API RP66 V1); `gea/dlis.py` reads the container
@@ -691,7 +722,7 @@ derrick floor) and where it came from: `gea workspace --action set-well --well
691
722
  (`--elev-3dep` fetches the ground elevation from the USGS 3DEP point service
692
723
  instead, stored with its raster and named as the ground). A contours layer is
693
724
  told what it maps (`add-layer ... --formation-name Wolfcamp --role
694
- top|isopach|base`). `--action interval --well <id>` then converts the interval
725
+ top|isopach|base`). `--action interval --well SWD-1` then converts the interval
695
726
  to subsea with the arithmetic printed and sets it beside each formation-top
696
727
  bracket at the well: ABOVE the mapped top, BELOW it, or NOT RESOLVED where
697
728
  the bracket overlaps the interval; a formation with a top and an isopach gets
@@ -712,8 +743,8 @@ index, the .dbf attributes, the .prj coordinate system; geographic NAD83 or
712
743
  WGS84 taken as is, the Texas State Plane NAD83 zones unprojected, anything
713
744
  else refused by name) and kept in the workspace with every part hashed:
714
745
  `gea workspace --action add-layer --name ... --layer structure.zip
715
- --citation ...` (`--member <name>` names one shapefile in a zip holding
716
- several; `gea structure --layer <zip> --list` lists them). Each layer is
746
+ --citation ...` (`--member Faults_Permian_201712` names one shapefile in a zip holding
747
+ several; `gea structure --layer PermianBasin_Boundary_Structural_Tectonic.zip --list` lists them). Each layer is
717
748
  kept by kind and read for what it is: faults and folds (`--action structure
718
749
  --well <id>` prints the nearest mapped fault and the nearest fold by
719
750
  distance along the ellipsoid and bearing, and what else the map holds within
@@ -724,7 +755,7 @@ A position outside the layer's extent is OUTSIDE LAYER EXTENT, which is not
724
755
  "no faults". Proven on the USGS PP 1708 Appalachian structure layer and the
725
756
  EIA Permian Basin set. On the well page, in the SRA packet's
726
757
  section 2b for every well inside the area, and from `gea structure --layer
727
- <file> --lat --lon` for any position. A distance to a mapped trace is a fact
758
+ structure.zip --lat 41.1 --lon -80.68` for any position. A distance to a mapped trace is a fact
728
759
  of the map at the map's scale, not a hazard judgement. `gea help structure`.
729
760
 
730
761
  ### WITSML 2.x over ETP
@@ -845,7 +876,7 @@ without administrator rights, and keeps the site's data in a separate
845
876
  workspace folder it never deletes.
846
877
 
847
878
  ```
848
- python tools/build_installer.py # dist/gea-program-<version>-win64/ and .zip (needs internet here, none there)
879
+ python tools/build_installer.py # dist/gea-program-0.29.0-win64/ and .zip (needs internet here, none there)
849
880
  python tools/build_installer.py --extras live,plotting,xls # a smaller kit without the PyQt6 desktop window
850
881
  python tools/build_installer.py --platform linux # a venv-based kit for a Linux site server
851
882
  ```
@@ -123,7 +123,7 @@ from .profile_catalog import (
123
123
  read_pangaea_txt,
124
124
  )
125
125
 
126
- __version__ = "0.27.0"
126
+ __version__ = "0.29.0"
127
127
  __all__ = [
128
128
  "aging_rate", "rate_psi_yr", "accuracy_psi",
129
129
  "Sensor", "SimulatorConfig", "DownholeEngine",