gea-program 0.75.1__tar.gz → 0.77.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.
- {gea_program-0.75.1/gea_program.egg-info → gea_program-0.77.0}/PKG-INFO +51 -4
- {gea_program-0.75.1 → gea_program-0.77.0}/README.md +50 -3
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/__init__.py +1 -1
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/__main__.py +53 -3
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/acceptance_tests.py +400 -9
- gea_program-0.77.0/gea/driller_link.py +278 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/IT_SECURITY.md +14 -0
- gea_program-0.77.0/gea/help/driller.md +13 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/install.md +2 -2
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/reader.md +1 -1
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/recorder.md +1 -1
- gea_program-0.77.0/gea/help/tutorial/01-install.md +26 -0
- gea_program-0.77.0/gea/help/tutorial/02-sign-in.md +22 -0
- gea_program-0.77.0/gea/help/tutorial/03-site.md +22 -0
- gea_program-0.77.0/gea/help/tutorial/04-add-well.md +24 -0
- gea_program-0.77.0/gea/help/tutorial/05-records.md +22 -0
- gea_program-0.77.0/gea/help/tutorial/06-well-page.md +19 -0
- gea_program-0.77.0/gea/help/tutorial/07-declare.md +20 -0
- gea_program-0.77.0/gea/help/tutorial/08-patches.md +22 -0
- gea_program-0.77.0/gea/help/tutorial/09-alarms.md +19 -0
- gea_program-0.77.0/gea/help/tutorial/10-control-room.md +17 -0
- gea_program-0.77.0/gea/help/tutorial/11-summary-month.md +17 -0
- gea_program-0.77.0/gea/help/tutorial/12-where-the-well-is.md +19 -0
- gea_program-0.77.0/gea/help/tutorial/13-drilling-pages.md +24 -0
- gea_program-0.77.0/gea/help/tutorial/14-production-pages.md +17 -0
- gea_program-0.77.0/gea/help/tutorial/15-seismic.md +19 -0
- gea_program-0.77.0/gea/help/tutorial/16-seismicity.md +18 -0
- gea_program-0.77.0/gea/help/tutorial/17-recorder-office.md +18 -0
- gea_program-0.77.0/gea/help/tutorial/18-reports.md +18 -0
- gea_program-0.77.0/gea/help/tutorial/19-dossier-reader.md +17 -0
- gea_program-0.77.0/gea/help/tutorial/20-admin.md +19 -0
- gea_program-0.77.0/gea/help/tutorial/21-upkeep.md +19 -0
- gea_program-0.77.0/gea/help/tutorial/22-updates.md +17 -0
- gea_program-0.77.0/gea/help/tutorial/23-vpn.md +22 -0
- gea_program-0.77.0/gea/help/tutorial/24-the-box.md +26 -0
- gea_program-0.77.0/gea/help/tutorial/25-install-recorder.md +21 -0
- gea_program-0.77.0/gea/help/tutorial/26-monitor.md +17 -0
- gea_program-0.77.0/gea/help/tutorial/27-mirror-vpn.md +21 -0
- gea_program-0.77.0/gea/help/tutorial/28-driller-office.md +24 -0
- gea_program-0.77.0/gea/help/tutorial/29-driller-rig.md +21 -0
- gea_program-0.77.0/gea/help/tutorial.md +13 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/vpn.md +1 -1
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/helplib.py +13 -7
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/service.py +63 -0
- gea_program-0.77.0/gea/tutorial.py +238 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/updates.py +3 -3
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/vpn.py +2 -1
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/web/app.html +56 -4
- {gea_program-0.75.1 → gea_program-0.77.0/gea_program.egg-info}/PKG-INFO +51 -4
- {gea_program-0.75.1 → gea_program-0.77.0}/gea_program.egg-info/SOURCES.txt +33 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/pyproject.toml +2 -2
- {gea_program-0.75.1 → gea_program-0.77.0}/LICENSE +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/BENCH_TEST_PROTOCOL.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/accuracy_statement.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/alarm_engine.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/alerts.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/backup.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/bench.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/bit_seismic.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/blind_harness.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/casing_design.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/acex_lomonosov_age_depth_model.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/acex_lomonosov_age_depth_model.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/agassiz77_canada_temperature.csv +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/agassiz77_canada_temperature.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/barbados_110_consolidation.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/barbados_110_consolidation.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/bengal_u1452_grain_size.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/bengal_u1452_grain_size.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/blake_164_methane_isotopes.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/blake_164_methane_isotopes.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/collingwood_1_28_ks_complete.las +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/collingwood_1_28_ks_complete.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/costa_rica_odp_friction_envelope.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/costa_rica_odp_friction_envelope.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/dsdp_504b_physical_properties.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/dsdp_504b_physical_properties.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/dsdp_504b_sound_velocity.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/dsdp_504b_sound_velocity.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/elgygytgyn_5011_turbidites.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/elgygytgyn_5011_turbidites.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/epica_domec_co2_800kyr.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/epica_domec_co2_800kyr.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/fram_909_organic_petrography.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/fram_909_organic_petrography.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/gbr_325_coral_uth_ages.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/gbr_325_coral_uth_ages.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/gisp2_greenland_temperature.csv +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/gisp2_greenland_temperature.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/gom_308_t2p_insitu.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/gom_308_t2p_insitu.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/guaymas_385_dom_d13c.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/guaymas_385_dom_d13c.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/hikurangi_u1520_friction_insitu.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/hikurangi_u1520_friction_insitu.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/iodp_u1324_pore_pressure.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/iodp_u1324_pore_pressure.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/jfast_c0019_slow_slip_events.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/jfast_c0019_slow_slip_events.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/kennetcook_2_p129_excerpt.las +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/kennetcook_2_p129_excerpt.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_hb_bhgm_density.dat +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_hb_bhgm_density.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_hb_complog_6020_excerpt.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_hb_complog_6020_excerpt.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_hb_hlog246_temperature.dat +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_hb_hlog246_temperature.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_hb_rockmech_compress.dat +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_hb_rockmech_compress.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.dat +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_vb_rockmech_compress.dat +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_vb_rockmech_compress.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_vb_vlog251_temperature.dat +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ktb_vb_vlog251_temperature.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/l06_06_nl_survey.csv +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/l06_06_nl_survey.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/l07_01_nl_excerpt.las +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/l07_01_nl_excerpt.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/mariana_1200_serpentinite_geochem.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/mariana_1200_serpentinite_geochem.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/med_160_sapropels.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/med_160_sapropels.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/nankai_megasplay_shear_strength.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/nankai_megasplay_shear_strength.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_1027b_thermal_conductivity.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_1027b_thermal_conductivity.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_1027c_cork_temperature.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_1027c_cork_temperature.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_1165b_thermal_conductivity.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_1165b_thermal_conductivity.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_504b_dike_elastic_moduli.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_504b_dike_elastic_moduli.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_504b_leg137_borehole_fluids.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_504b_leg137_borehole_fluids.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/peru_201_sulfate_reduction.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/peru_201_sulfate_reduction.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/scorpio_e1_sa_excerpt.las +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/scorpio_e1_sa_excerpt.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/sumatra_362_cohesion.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/sumatra_362_cohesion.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/university_6_17_no1_tx_excerpt.las +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/university_6_17_no1_tx_excerpt.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ursa_308_xrd_mineralogy.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/ursa_308_xrd_mineralogy.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/volve_15_9_19_sr_excerpt.las +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/volve_15_9_19_sr_excerpt.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/volve_15_9_19a_core_excerpt.csv +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/volve_15_9_19a_core_excerpt.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/volve_f12_f14_production_excerpt.csv +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/volve_f12_f14_production_excerpt.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/walvis_208_petm_carbonate.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/walvis_208_petm_carbonate.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/woodlark_1109_rock_eval.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog/woodlark_1109_rock_eval.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog_map.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/catalog_register.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/certificates.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/cli.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/client_reports.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/collision.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/config_versioning.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/conformance.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/control_room.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/correlation.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/dashboard.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/declarations.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/decline.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/deviation.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/dlis.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/dnp3.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/doctor.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/dossier.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/dossier_verify.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/downhole_engine.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/drift_monitor.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/drill_string.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/earth_model.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/economics.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/ed25519.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/edr.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/elevation.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/etp.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/etp12_schemas.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/example_register_map.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/fat_sat.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/field_pull.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/files.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/fixtures/README.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/fixtures/comcat_delaware_basin_2026-09.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/fixtures/comcat_mahoning_1990-2026.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/fixtures/comcat_youngstown_2011-2012.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/fixtures/ne_110m_coastline.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/follower.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/forward_model.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/frac_hits.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/friction_priors.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/gamma.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/gauge_aging.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/gauge_specs.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/geodesy.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/geomag.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/gravity_reference.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/hartip.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/TESTER_GUIDE.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/alarms.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/alerts.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/audit-update.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/backup.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/bit-image.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/casing.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/catalog.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/charts.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/collision.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/company-sign-in.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/conformance.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/control-room.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/data-in.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/declare.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/decline.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/dlis.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/doctor.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/dossier.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/drift.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/drillstring.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/economics.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/edr.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/etp.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/field-ports.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/files.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/frac-hits.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/historian.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/https.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/hydraulics.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/instruments.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/interval.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/invoice-check.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/map.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/month-end.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/notifications.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/opseis.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/osdu.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/pad-summary.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/patches.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/penetrator.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/plan.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/pore-pressure.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/ppdm.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/quakeml.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/quality.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/records.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/report-history.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/rig-time.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/rocks.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/seedlink.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/seismic.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/setup.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/simulation.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/site.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/sites.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/slip.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/soak.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/sra.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/start.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/structure.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/tools.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/torque-drag.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/transients.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/upkeep.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/vibration.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/well-report.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/well-tests.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/help/well3d.md +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/housekeeping.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/hydraulics.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/icon.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/interval.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/inverse_engine.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/invoice_check.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/jobs.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/launcher.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/live_ports.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/loadtest.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/matplotlib_demo.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/modbus.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/modbus_rtu.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/model_card.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/month_end.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/mqtt_port.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/notify.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/oidc.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/oidc_mock.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/op_seismicity.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/opcua_port.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/operator_app.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/osdu.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/pad_summary.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/patches.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/pdf_report.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/penetrator.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/permits.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/piwebapi.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/pore_pressure.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/ports.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/ppdm.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/profile_catalog.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/project.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/qt6_downhole_app.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/quakeml.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reader.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reader_app.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reconciler.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/recorder_link.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/IU_ANMO_10_BHZ_response.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/IU_ANMO_10_BHZ_response.xml +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/WMM2025.COF +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/eia_henry_hub_daily.csv.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/eia_prices.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/eia_wti_daily.csv.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/iscwsa_rev4_example.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/iscwsa_rev5_example.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/l0701_sonic_gr.las.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/l0701_sonic_gr.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/libmseed_steim.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/libmseed_steim1_4096.mseed +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/libmseed_steim2_4096.mseed +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/libmseed_steim2_512.mseed +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/mahoning_example.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/mud_motor_specs.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/owsg_tool_models.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/penetrator_ratings.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/seismicity_protocols.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/tool_sources.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/us_outline.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/us_outline.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_3d.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_f4_interpretation.las.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_f4_logs.provenance.json +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_f4_lwd.las.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_surfaces.json.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_traj_F-10.xml.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_traj_F-4.xml.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_traj_F-5_12.25in.xml.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_traj_F-5_17.5in.xml.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_traj_F-5_36in.xml.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_traj_F-5_8.5in.xml.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/reference/volve_well_picks.csv.gz +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/report_history.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/rig_state.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/rock_inventory.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/sample_record.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/sample_well_profile.csv +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/sbom.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seedlink.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/segy.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_array.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_assoc.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_detect.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_film.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_harmonic.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_qc.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_response.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_signature.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_track.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_uncertainty.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_unlisted.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/seismic_watch.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/sensor_swap.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/series_cache.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/service_life.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/setup_checklist.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/shapefile.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/shell.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/shut_in.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/simulation.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/site_map.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/sla_report.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/slip.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/soak.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/sra.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/store_forward.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/strata_join.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/structure.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/supervisor.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/survey_cmd.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/survey_view.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/telemetry.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/timestamp.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/tls.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/tool_catalog.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/tool_library.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/tool_taxonomy.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/torque_drag.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/transient.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/tray.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/vibration.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/web/reader.html +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/well3d.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/well_assembler.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/well_records.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/well_report.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/well_test_validation.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/wellplan.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/wellpos.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/winident.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/wits0.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/witsml.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/workspace.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/workspaces.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/x25519.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea/xlsx_read.py +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea_program.egg-info/dependency_links.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea_program.egg-info/entry_points.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea_program.egg-info/requires.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/gea_program.egg-info/top_level.txt +0 -0
- {gea_program-0.75.1 → gea_program-0.77.0}/setup.cfg +0 -0
- {gea_program-0.75.1 → gea_program-0.77.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.
|
|
3
|
+
Version: 0.77.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
|
|
@@ -463,6 +463,53 @@ keeps them byte for byte and makes the array and electrode stations of
|
|
|
463
463
|
them. `gea help recorder`; the box's README has the parts, the wiring and
|
|
464
464
|
the clock.
|
|
465
465
|
|
|
466
|
+
### GEA Driller: the directional driller's agent
|
|
467
|
+
|
|
468
|
+
GEA Driller (`driller/`; `GEA-Driller-<version>.tar.gz` on every release;
|
|
469
|
+
since 0.77.0; `gea help driller`) is the program on the rig PC. It reads
|
|
470
|
+
the EDR's WITS0 feed and the pre-drill model of the target layer and, every
|
|
471
|
+
30 ft of new hole, recommends in the driller's units what to do next:
|
|
472
|
+
build, drop or hold and by how much (toolface and steering ratio for a
|
|
473
|
+
rotary steerable system), the weight on bit, the rotary speed, the flow
|
|
474
|
+
rate, and whether to drill on, circulate, or ream and wash first - with its
|
|
475
|
+
reasons and the confidence of each choice. The driller accepts, rejects or
|
|
476
|
+
records what was done instead, by name; every recommendation, answer and
|
|
477
|
+
command is on record with its hash, and GEA pulls the records into the
|
|
478
|
+
well from the **Drill string** tab's card (`gea workspace --path C:\site
|
|
479
|
+
--action driller-pull --box http://192.168.1.60:8790 --well SWD-1`). The
|
|
480
|
+
agent is a policy trained by proximal policy optimization in a physics
|
|
481
|
+
twin of the lateral - the layer rolling with dip, undulation and faults,
|
|
482
|
+
the gamma and the deep-resistivity boundary the tools read of it, the
|
|
483
|
+
steering tool, the bit, the hydraulics, the hole - on scenes drawn fresh,
|
|
484
|
+
judged against a textbook driller on scenes it never saw; the figures of
|
|
485
|
+
that judgement are a simulation's and are labelled so. Advisory by
|
|
486
|
+
default; the closed loop ships as a design with a switch, armed by a named
|
|
487
|
+
operator for one section, disarming itself on a stale feed, a crossed
|
|
488
|
+
limit or the section's end, through a downlink that keeps every command and
|
|
489
|
+
sends none - no vendor's protocol ships with this version. Before there is
|
|
490
|
+
a rig PC, **Start the twin as the rig** on the same card runs the driller's
|
|
491
|
+
program on the office PC with a scene drilling itself.
|
|
492
|
+
|
|
493
|
+
### The tutorial
|
|
494
|
+
|
|
495
|
+
Every step of GEA and the programs around it, as 29 lessons on the
|
|
496
|
+
**Tutorial** tab (since 0.76.0; `gea help tutorial`): the office's lessons
|
|
497
|
+
first - install, sign in, set up the site, bring wells and data in, the
|
|
498
|
+
well page, the declarations sheet, the patch panel, alarms and
|
|
499
|
+
notifications, the control room, the daily summary and the month-end
|
|
500
|
+
packet, the map and the 3D view, the drilling and production pages,
|
|
501
|
+
seismic, the recorder from the office, reports, the signed dossier and the
|
|
502
|
+
Reader, users and HTTPS, backups and the gate, new versions from inside
|
|
503
|
+
the program, GEA-VPN - and the pad attendant's after: the box and its
|
|
504
|
+
parts, installing the recorder on the Pi, the monitor, the USB mirror and
|
|
505
|
+
joining the VPN - and GEA Driller from the office and on the rig PC. Each lesson names who it is for, the page it is done on
|
|
506
|
+
(a button opens it), how long it takes, the numbered steps with the
|
|
507
|
+
buttons as the page names them, and how you know it worked; each account
|
|
508
|
+
ticks lessons off. **Print the handout** gives the whole course as one
|
|
509
|
+
page for the people who do not sit at the screen. From a terminal:
|
|
510
|
+
`gea tutorial`, `gea tutorial --lesson 3`, `gea tutorial --handout
|
|
511
|
+
--workspace C:\site`.
|
|
512
|
+
|
|
466
513
|
### GEA-VPN: the programs on separate computers, one private network
|
|
467
514
|
|
|
468
515
|
The control panel, each pad's recorder, the operator's window and the
|
|
@@ -780,7 +827,7 @@ unsigned, the key hand-overs - and shows the reports as they were signed. A
|
|
|
780
827
|
reader made from the workspace knows the site's key fingerprints, so it
|
|
781
828
|
says whether a dossier is the site's; it allows no network request, and it
|
|
782
829
|
leaves the trusted time-stamp to `verify_dossier.py`. For a client who wants
|
|
783
|
-
it installed, every release also carries `GEA-Reader-Setup-0.
|
|
830
|
+
it installed, every release also carries `GEA-Reader-Setup-0.77.0.exe`: GEA
|
|
784
831
|
Reader as a Windows program of its own - its own icon and taskbar button,
|
|
785
832
|
Check with GEA Reader on a dossier's right-click menu, fingerprints the client
|
|
786
833
|
saves kept on that computer, nothing of GEA-Program. `gea help reader`.
|
|
@@ -1545,7 +1592,7 @@ attaches the zips to the GitHub release of that tag.
|
|
|
1545
1592
|
|
|
1546
1593
|
### The Windows installer
|
|
1547
1594
|
|
|
1548
|
-
Every release also carries `GEA-Program-Setup-0.
|
|
1595
|
+
Every release also carries `GEA-Program-Setup-0.77.0.exe` (for 0.77.0): the
|
|
1549
1596
|
same Windows kit installed like any Windows program, for the signed-in user
|
|
1550
1597
|
alone and with no administrator rights (`%LOCALAPPDATA%\Programs\GEA-Program`).
|
|
1551
1598
|
It asks for the site workspace (an existing one such as `C:\site` is used as
|
|
@@ -1564,7 +1611,7 @@ it, removes the program and leaves the workspace. Silent, for a site's
|
|
|
1564
1611
|
software deployment:
|
|
1565
1612
|
|
|
1566
1613
|
```
|
|
1567
|
-
GEA-Program-Setup-0.
|
|
1614
|
+
GEA-Program-Setup-0.77.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
|
|
1568
1615
|
```
|
|
1569
1616
|
|
|
1570
1617
|
The setup is built by Inno Setup 6 from `tools/installer.iss` in the same
|
|
@@ -424,6 +424,53 @@ keeps them byte for byte and makes the array and electrode stations of
|
|
|
424
424
|
them. `gea help recorder`; the box's README has the parts, the wiring and
|
|
425
425
|
the clock.
|
|
426
426
|
|
|
427
|
+
### GEA Driller: the directional driller's agent
|
|
428
|
+
|
|
429
|
+
GEA Driller (`driller/`; `GEA-Driller-<version>.tar.gz` on every release;
|
|
430
|
+
since 0.77.0; `gea help driller`) is the program on the rig PC. It reads
|
|
431
|
+
the EDR's WITS0 feed and the pre-drill model of the target layer and, every
|
|
432
|
+
30 ft of new hole, recommends in the driller's units what to do next:
|
|
433
|
+
build, drop or hold and by how much (toolface and steering ratio for a
|
|
434
|
+
rotary steerable system), the weight on bit, the rotary speed, the flow
|
|
435
|
+
rate, and whether to drill on, circulate, or ream and wash first - with its
|
|
436
|
+
reasons and the confidence of each choice. The driller accepts, rejects or
|
|
437
|
+
records what was done instead, by name; every recommendation, answer and
|
|
438
|
+
command is on record with its hash, and GEA pulls the records into the
|
|
439
|
+
well from the **Drill string** tab's card (`gea workspace --path C:\site
|
|
440
|
+
--action driller-pull --box http://192.168.1.60:8790 --well SWD-1`). The
|
|
441
|
+
agent is a policy trained by proximal policy optimization in a physics
|
|
442
|
+
twin of the lateral - the layer rolling with dip, undulation and faults,
|
|
443
|
+
the gamma and the deep-resistivity boundary the tools read of it, the
|
|
444
|
+
steering tool, the bit, the hydraulics, the hole - on scenes drawn fresh,
|
|
445
|
+
judged against a textbook driller on scenes it never saw; the figures of
|
|
446
|
+
that judgement are a simulation's and are labelled so. Advisory by
|
|
447
|
+
default; the closed loop ships as a design with a switch, armed by a named
|
|
448
|
+
operator for one section, disarming itself on a stale feed, a crossed
|
|
449
|
+
limit or the section's end, through a downlink that keeps every command and
|
|
450
|
+
sends none - no vendor's protocol ships with this version. Before there is
|
|
451
|
+
a rig PC, **Start the twin as the rig** on the same card runs the driller's
|
|
452
|
+
program on the office PC with a scene drilling itself.
|
|
453
|
+
|
|
454
|
+
### The tutorial
|
|
455
|
+
|
|
456
|
+
Every step of GEA and the programs around it, as 29 lessons on the
|
|
457
|
+
**Tutorial** tab (since 0.76.0; `gea help tutorial`): the office's lessons
|
|
458
|
+
first - install, sign in, set up the site, bring wells and data in, the
|
|
459
|
+
well page, the declarations sheet, the patch panel, alarms and
|
|
460
|
+
notifications, the control room, the daily summary and the month-end
|
|
461
|
+
packet, the map and the 3D view, the drilling and production pages,
|
|
462
|
+
seismic, the recorder from the office, reports, the signed dossier and the
|
|
463
|
+
Reader, users and HTTPS, backups and the gate, new versions from inside
|
|
464
|
+
the program, GEA-VPN - and the pad attendant's after: the box and its
|
|
465
|
+
parts, installing the recorder on the Pi, the monitor, the USB mirror and
|
|
466
|
+
joining the VPN - and GEA Driller from the office and on the rig PC. Each lesson names who it is for, the page it is done on
|
|
467
|
+
(a button opens it), how long it takes, the numbered steps with the
|
|
468
|
+
buttons as the page names them, and how you know it worked; each account
|
|
469
|
+
ticks lessons off. **Print the handout** gives the whole course as one
|
|
470
|
+
page for the people who do not sit at the screen. From a terminal:
|
|
471
|
+
`gea tutorial`, `gea tutorial --lesson 3`, `gea tutorial --handout
|
|
472
|
+
--workspace C:\site`.
|
|
473
|
+
|
|
427
474
|
### GEA-VPN: the programs on separate computers, one private network
|
|
428
475
|
|
|
429
476
|
The control panel, each pad's recorder, the operator's window and the
|
|
@@ -741,7 +788,7 @@ unsigned, the key hand-overs - and shows the reports as they were signed. A
|
|
|
741
788
|
reader made from the workspace knows the site's key fingerprints, so it
|
|
742
789
|
says whether a dossier is the site's; it allows no network request, and it
|
|
743
790
|
leaves the trusted time-stamp to `verify_dossier.py`. For a client who wants
|
|
744
|
-
it installed, every release also carries `GEA-Reader-Setup-0.
|
|
791
|
+
it installed, every release also carries `GEA-Reader-Setup-0.77.0.exe`: GEA
|
|
745
792
|
Reader as a Windows program of its own - its own icon and taskbar button,
|
|
746
793
|
Check with GEA Reader on a dossier's right-click menu, fingerprints the client
|
|
747
794
|
saves kept on that computer, nothing of GEA-Program. `gea help reader`.
|
|
@@ -1506,7 +1553,7 @@ attaches the zips to the GitHub release of that tag.
|
|
|
1506
1553
|
|
|
1507
1554
|
### The Windows installer
|
|
1508
1555
|
|
|
1509
|
-
Every release also carries `GEA-Program-Setup-0.
|
|
1556
|
+
Every release also carries `GEA-Program-Setup-0.77.0.exe` (for 0.77.0): the
|
|
1510
1557
|
same Windows kit installed like any Windows program, for the signed-in user
|
|
1511
1558
|
alone and with no administrator rights (`%LOCALAPPDATA%\Programs\GEA-Program`).
|
|
1512
1559
|
It asks for the site workspace (an existing one such as `C:\site` is used as
|
|
@@ -1525,7 +1572,7 @@ it, removes the program and leaves the workspace. Silent, for a site's
|
|
|
1525
1572
|
software deployment:
|
|
1526
1573
|
|
|
1527
1574
|
```
|
|
1528
|
-
GEA-Program-Setup-0.
|
|
1575
|
+
GEA-Program-Setup-0.77.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /WORKSPACE="C:\site" /SITENAME="Pad 3" /TASKS="desktopicon"
|
|
1529
1576
|
```
|
|
1530
1577
|
|
|
1531
1578
|
The setup is built by Inno Setup 6 from `tools/installer.iss` in the same
|
|
@@ -370,7 +370,7 @@ def main(argv=None) -> int:
|
|
|
370
370
|
p_ws.add_argument("--path", type=str, required=True, help="the workspace folder")
|
|
371
371
|
p_ws.add_argument("--action", type=str, default="list",
|
|
372
372
|
choices=["init", "add-file", "add-catalog", "add-live", "remove", "list", "migrate", "refresh", "audit",
|
|
373
|
-
"add-seismic", "refresh-seismic", "remove-seismic", "sar-film", "bit-image", "field-pull", "refresh-all", "add-track", "refresh-track", "remove-track",
|
|
373
|
+
"add-seismic", "refresh-seismic", "remove-seismic", "sar-film", "bit-image", "field-pull", "driller-pull", "refresh-all", "add-track", "refresh-track", "remove-track",
|
|
374
374
|
"seismic-dataset", "seismic-field", "add-site", "sites", "site-report", "remove-site", "rename",
|
|
375
375
|
"set-well", "sra-define", "sra-report", "associate", "osdu-export", "quakeml-export", "well-identity", "vibration-report",
|
|
376
376
|
"add-live-station", "live-fold", "live-run", "month-end", "add-layer", "layers", "remove-layer", "structure", "interval",
|
|
@@ -428,7 +428,7 @@ def main(argv=None) -> int:
|
|
|
428
428
|
p_ws.add_argument("--truth", type=str, default=None, help="add-track: ground truth CSV (point_id, lat, lon, utc[, note])")
|
|
429
429
|
p_ws.add_argument("--track", type=str, default=None, help="refresh-track / remove-track: the track id")
|
|
430
430
|
p_ws.add_argument("--win", type=float, default=600.0, help="add-track: the window length, s (default 600)")
|
|
431
|
-
p_ws.add_argument("--box", type=str, default=None, help="field-pull: the recorder's address (http://192.168.1.50:8780, as its page shows) or its mirror folder")
|
|
431
|
+
p_ws.add_argument("--box", type=str, default=None, help="field-pull: the recorder's address (http://192.168.1.50:8780, as its page shows) or its mirror folder; driller-pull: the rig PC's address (http://192.168.1.60:8790)")
|
|
432
432
|
p_ws.add_argument("--n-stations", type=int, default=24, help="bit-image: ground stations, the reference among them")
|
|
433
433
|
p_ws.add_argument("--radius", type=float, default=6000.0, help="bit-image: the array's outer ring, ft")
|
|
434
434
|
p_ws.add_argument("--noise", type=float, default=1.0, help="bit-image: ground noise against a reference arrival of 50")
|
|
@@ -1023,6 +1023,15 @@ def main(argv=None) -> int:
|
|
|
1023
1023
|
p_up.add_argument("--install", type=str, default=None, help="run the fetched GEA-Program-Setup of this version (Windows): the control panel stops and comes back")
|
|
1024
1024
|
p_up.add_argument("--actor", type=str, default="cli")
|
|
1025
1025
|
|
|
1026
|
+
p_tu = sub.add_parser("tutorial", help="the tutorial: every step of GEA and the programs around it as lessons - list them, print one, write the handout (the Tutorial tab does the same by clicking)")
|
|
1027
|
+
p_tu.add_argument("--lesson", type=str, default=None, help="print one lesson by its number (3) or its name (install)")
|
|
1028
|
+
p_tu.add_argument("--handout", action="store_true", help="write the whole course as one printable HTML page (and Markdown)")
|
|
1029
|
+
p_tu.add_argument("--workspace", type=str, default=None, help="with --handout: the workspace whose exports\\tutorial folder gets it (C:\\site); with a workspace, --user shows that person's progress")
|
|
1030
|
+
p_tu.add_argument("--out", type=str, default=None, help="with --handout and no workspace: the HTML file to write (C:\\site\\GEA-Tutorial.html)")
|
|
1031
|
+
p_tu.add_argument("--user", type=str, default="", help="whose progress to show")
|
|
1032
|
+
p_tu.add_argument("--actor", type=str, default="cli")
|
|
1033
|
+
p_tu.add_argument("--json", action="store_true")
|
|
1034
|
+
|
|
1026
1035
|
p_vp = sub.add_parser("vpn", help="GEA-VPN: the private WireGuard network the programs talk over - make it, add and remove members, write the hub installer and every member's configuration (the Administration card does the same by clicking)")
|
|
1027
1036
|
p_vp.add_argument("--workspace", type=str, default=None, help="the workspace (C:\\site); keys in keys\\vpn\\network.json, files under exports\\vpn")
|
|
1028
1037
|
p_vp.add_argument("--create", type=str, default=None, metavar="HOST", help="make the network with the hub at this public name or address (vpn.pad3site.com or 203.0.113.10); the office member is made with it")
|
|
@@ -1030,7 +1039,7 @@ def main(argv=None) -> int:
|
|
|
1030
1039
|
p_vp.add_argument("--subnet", type=str, default=None, help="with --create: the private subnet (default 10.77.0.0/24)")
|
|
1031
1040
|
p_vp.add_argument("--hub", type=str, default=None, metavar="HOST", help="change the hub's public name or address; every configuration is written again")
|
|
1032
1041
|
p_vp.add_argument("--add", type=str, default=None, metavar="NAME", help="add a member of this name (Pad 3 box) of the --kind")
|
|
1033
|
-
p_vp.add_argument("--kind", type=str, default="box", help="with --add: office, box, operator, reader or other (default box)")
|
|
1042
|
+
p_vp.add_argument("--kind", type=str, default="box", help="with --add: office, box, driller, operator, reader or other (default box)")
|
|
1034
1043
|
p_vp.add_argument("--remove", type=str, default=None, metavar="ID", help="remove the member of this id (pad-3-box); run the hub installer again after")
|
|
1035
1044
|
p_vp.add_argument("--bundles", action="store_true", help="write the hub installer and every member's configuration again")
|
|
1036
1045
|
p_vp.add_argument("--json", action="store_true")
|
|
@@ -2371,6 +2380,34 @@ def main(argv=None) -> int:
|
|
|
2371
2380
|
return 0
|
|
2372
2381
|
from .doctor import update as _update
|
|
2373
2382
|
return _update(check_only=a.check, extras=a.extras, as_json=a.json)
|
|
2383
|
+
elif a.cmd == "tutorial":
|
|
2384
|
+
import json as _json
|
|
2385
|
+
from . import tutorial as TU
|
|
2386
|
+
ws = None
|
|
2387
|
+
if a.workspace or os.environ.get("GEA_WORKSPACE"):
|
|
2388
|
+
from .workspace import Workspace
|
|
2389
|
+
ws = Workspace(a.workspace or os.environ.get("GEA_WORKSPACE"))
|
|
2390
|
+
if a.handout:
|
|
2391
|
+
if ws is not None:
|
|
2392
|
+
r = TU.write_handout(ws, a.actor, __version__)
|
|
2393
|
+
print(f"written: {r['html']} and {r['md']} ({r['lessons']} lessons); open the HTML and print it for the PDF")
|
|
2394
|
+
return 0
|
|
2395
|
+
out = a.out or f"GEA-Tutorial-{__version__}.html"
|
|
2396
|
+
with open(out, "w", encoding="utf-8") as f:
|
|
2397
|
+
f.write(TU.handout_html(__version__))
|
|
2398
|
+
print(f"written: {out} ({len(TU.lessons())} lessons); open it and print it for the PDF")
|
|
2399
|
+
return 0
|
|
2400
|
+
if a.lesson:
|
|
2401
|
+
les = TU.lesson(a.lesson)
|
|
2402
|
+
if les is None:
|
|
2403
|
+
raise SystemExit(f"tutorial: no lesson {a.lesson}; `gea tutorial` lists them")
|
|
2404
|
+
print(_json.dumps({k: v for k, v in les.items() if k not in ("path", "html")}, indent=1) if a.json else les["markdown"])
|
|
2405
|
+
return 0
|
|
2406
|
+
if a.json:
|
|
2407
|
+
print(_json.dumps(TU.overview(ws, a.user), indent=1))
|
|
2408
|
+
else:
|
|
2409
|
+
print(TU.text(ws, a.user))
|
|
2410
|
+
return 0
|
|
2374
2411
|
elif a.cmd == "vpn":
|
|
2375
2412
|
import json as _json
|
|
2376
2413
|
from . import vpn as VP
|
|
@@ -3526,6 +3563,19 @@ def main(argv=None) -> int:
|
|
|
3526
3563
|
if not a.track:
|
|
3527
3564
|
raise SystemExit("remove-track needs --track TRACK_ID")
|
|
3528
3565
|
ws.remove_track(a.track, actor=a.actor); print("removed (folder kept):", a.track); return 0
|
|
3566
|
+
elif a.action == "driller-pull":
|
|
3567
|
+
from . import driller_link as DL
|
|
3568
|
+
if not a.box or not a.well:
|
|
3569
|
+
raise SystemExit("driller-pull needs --box http://192.168.1.60:8790 (the rig PC, or the folder of its records) and --well SWD-1")
|
|
3570
|
+
try:
|
|
3571
|
+
r = DL.pull(ws, a.box, a.well, actor=a.actor)
|
|
3572
|
+
except ValueError as e:
|
|
3573
|
+
raise SystemExit(f"driller-pull: {e}")
|
|
3574
|
+
sm = r['summary']
|
|
3575
|
+
print(f"driller-pull: {r['source']} ({r['rig_well']}) into {r['well']}: {len(r['fetched'])} file(s) fetched, {len(r['kept'])} already here, {len(r['bad'])} failed their hash; "
|
|
3576
|
+
f"{sm['decisions']} decisions ({sm['answers']['accept']} accepted, {sm['answers']['reject']} rejected, {sm['answers']['override']} done otherwise), "
|
|
3577
|
+
f"{sm['armed_sections']} armed section(s), {sm['commands']} command(s), {sm['commands_sent']} sent")
|
|
3578
|
+
return 0 if not r['bad'] else 1
|
|
3529
3579
|
elif a.action == "field-pull":
|
|
3530
3580
|
from . import field_pull as FP
|
|
3531
3581
|
if not a.box:
|