gea-program 0.40.0__tar.gz → 0.42.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.40.0 → gea_program-0.42.0}/PKG-INFO +40 -3
- {gea_program-0.40.0 → gea_program-0.42.0}/README.md +39 -2
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/__init__.py +1 -1
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/__main__.py +152 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/acceptance_tests.py +470 -5
- gea_program-0.42.0/gea/declarations.py +672 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/fixtures/README.md +6 -0
- gea_program-0.42.0/gea/fixtures/comcat_mahoning_1990-2026.txt +22 -0
- gea_program-0.42.0/gea/help/declare.md +13 -0
- gea_program-0.42.0/gea/help/opseis.md +13 -0
- gea_program-0.42.0/gea/help/penetrator.md +15 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/helplib.py +4 -1
- gea_program-0.42.0/gea/op_seismicity.py +625 -0
- gea_program-0.42.0/gea/penetrator.py +520 -0
- gea_program-0.42.0/gea/reference/mahoning_example.json +48 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/mud_motor_specs.json +52 -2
- gea_program-0.42.0/gea/reference/penetrator_ratings.json +75 -0
- gea_program-0.42.0/gea/reference/seismicity_protocols.json +95 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/tool_sources.json +21 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/service.py +74 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/tool_taxonomy.py +10 -1
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/web/app.html +174 -2
- {gea_program-0.40.0 → gea_program-0.42.0}/gea_program.egg-info/PKG-INFO +40 -3
- {gea_program-0.40.0 → gea_program-0.42.0}/gea_program.egg-info/SOURCES.txt +10 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/pyproject.toml +1 -1
- {gea_program-0.40.0 → gea_program-0.42.0}/LICENSE +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/BENCH_TEST_PROTOCOL.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/accuracy_statement.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/alarm_engine.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/backup.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/bench.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/blind_harness.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/acex_lomonosov_age_depth_model.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/acex_lomonosov_age_depth_model.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/agassiz77_canada_temperature.csv +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/agassiz77_canada_temperature.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/barbados_110_consolidation.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/barbados_110_consolidation.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/bengal_u1452_grain_size.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/bengal_u1452_grain_size.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/blake_164_methane_isotopes.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/blake_164_methane_isotopes.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/collingwood_1_28_ks_complete.las +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/collingwood_1_28_ks_complete.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/costa_rica_odp_friction_envelope.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/costa_rica_odp_friction_envelope.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/dsdp_504b_physical_properties.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/dsdp_504b_physical_properties.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/dsdp_504b_sound_velocity.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/dsdp_504b_sound_velocity.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/elgygytgyn_5011_turbidites.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/elgygytgyn_5011_turbidites.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/epica_domec_co2_800kyr.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/epica_domec_co2_800kyr.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/fram_909_organic_petrography.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/fram_909_organic_petrography.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/gbr_325_coral_uth_ages.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/gbr_325_coral_uth_ages.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/gisp2_greenland_temperature.csv +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/gisp2_greenland_temperature.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/gom_308_t2p_insitu.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/gom_308_t2p_insitu.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/guaymas_385_dom_d13c.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/guaymas_385_dom_d13c.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/hikurangi_u1520_friction_insitu.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/hikurangi_u1520_friction_insitu.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/iodp_u1324_pore_pressure.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/iodp_u1324_pore_pressure.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/jfast_c0019_slow_slip_events.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/jfast_c0019_slow_slip_events.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/kennetcook_2_p129_excerpt.las +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/kennetcook_2_p129_excerpt.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_hb_bhgm_density.dat +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_hb_bhgm_density.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_hb_complog_6020_excerpt.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_hb_complog_6020_excerpt.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_hb_hlog246_temperature.dat +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_hb_hlog246_temperature.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_hb_rockmech_compress.dat +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_hb_rockmech_compress.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.dat +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_vb_rockmech_compress.dat +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_vb_rockmech_compress.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_vb_vlog251_temperature.dat +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ktb_vb_vlog251_temperature.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/l06_06_nl_survey.csv +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/l06_06_nl_survey.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/l07_01_nl_excerpt.las +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/l07_01_nl_excerpt.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/mariana_1200_serpentinite_geochem.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/mariana_1200_serpentinite_geochem.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/med_160_sapropels.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/med_160_sapropels.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/nankai_megasplay_shear_strength.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/nankai_megasplay_shear_strength.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_1027b_thermal_conductivity.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_1027b_thermal_conductivity.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_1027c_cork_temperature.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_1027c_cork_temperature.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_1165b_thermal_conductivity.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_1165b_thermal_conductivity.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_504b_dike_elastic_moduli.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_504b_dike_elastic_moduli.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_504b_leg137_borehole_fluids.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_504b_leg137_borehole_fluids.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/peru_201_sulfate_reduction.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/peru_201_sulfate_reduction.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/scorpio_e1_sa_excerpt.las +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/scorpio_e1_sa_excerpt.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/sumatra_362_cohesion.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/sumatra_362_cohesion.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/university_6_17_no1_tx_excerpt.las +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/university_6_17_no1_tx_excerpt.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ursa_308_xrd_mineralogy.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/ursa_308_xrd_mineralogy.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/volve_15_9_19_sr_excerpt.las +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/volve_15_9_19_sr_excerpt.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/volve_15_9_19a_core_excerpt.csv +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/volve_15_9_19a_core_excerpt.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/volve_f12_f14_production_excerpt.csv +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/volve_f12_f14_production_excerpt.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/walvis_208_petm_carbonate.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/walvis_208_petm_carbonate.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/woodlark_1109_rock_eval.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog/woodlark_1109_rock_eval.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog_map.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/catalog_register.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/certificates.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/cli.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/client_reports.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/config_versioning.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/conformance.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/control_room.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/correlation.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/dashboard.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/deviation.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/dlis.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/dnp3.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/doctor.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/downhole_engine.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/drift_monitor.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/drill_string.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/earth_model.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/economics.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/edr.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/elevation.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/etp.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/etp12_schemas.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/example_register_map.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/fat_sat.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/files.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/fixtures/comcat_delaware_basin_2026-09.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/fixtures/comcat_youngstown_2011-2012.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/fixtures/ne_110m_coastline.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/follower.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/forward_model.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/friction_priors.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/gamma.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/gauge_aging.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/gauge_specs.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/geodesy.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/gravity_reference.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/hartip.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/TESTER_GUIDE.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/alarms.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/audit-update.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/backup.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/catalog.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/charts.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/conformance.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/control-room.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/data-in.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/dlis.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/doctor.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/drift.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/drillstring.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/economics.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/edr.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/etp.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/field-ports.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/files.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/historian.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/instruments.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/interval.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/map.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/month-end.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/notifications.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/osdu.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/patches.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/ppdm.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/quakeml.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/quality.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/seedlink.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/seismic.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/setup.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/simulation.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/site.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/sites.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/slip.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/soak.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/sra.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/start.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/structure.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/tools.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/transients.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/upkeep.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/vibration.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/well-report.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/well-tests.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/help/well3d.md +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/housekeeping.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/interval.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/inverse_engine.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/jobs.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/live_ports.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/loadtest.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/matplotlib_demo.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/modbus.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/modbus_rtu.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/model_card.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/month_end.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/mqtt_port.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/notify.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/opcua_port.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/operator_app.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/osdu.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/patches.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/permits.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/piwebapi.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/ports.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/ppdm.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/profile_catalog.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/project.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/qt6_downhole_app.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/quakeml.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reconciler.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/IU_ANMO_10_BHZ_response.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/IU_ANMO_10_BHZ_response.xml +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/eia_henry_hub_daily.csv.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/eia_prices.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/eia_wti_daily.csv.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/libmseed_steim.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/libmseed_steim1_4096.mseed +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/libmseed_steim2_4096.mseed +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/libmseed_steim2_512.mseed +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/us_outline.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/us_outline.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_3d.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_f4_interpretation.las.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_f4_logs.provenance.json +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_f4_lwd.las.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_surfaces.json.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_traj_F-10.xml.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_traj_F-4.xml.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_traj_F-5_12.25in.xml.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_traj_F-5_17.5in.xml.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_traj_F-5_36in.xml.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_traj_F-5_8.5in.xml.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/reference/volve_well_picks.csv.gz +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/rock_inventory.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/sample_record.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/sample_well_profile.csv +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/sbom.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seedlink.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/segy.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic_array.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic_assoc.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic_detect.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic_film.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic_harmonic.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic_qc.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic_response.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic_signature.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic_track.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic_uncertainty.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/seismic_unlisted.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/sensor_swap.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/series_cache.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/service_life.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/setup_checklist.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/shapefile.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/shell.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/shut_in.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/simulation.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/site_map.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/sla_report.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/slip.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/soak.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/sra.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/store_forward.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/strata_join.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/structure.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/supervisor.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/survey_cmd.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/survey_view.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/telemetry.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/tool_catalog.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/tool_library.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/transient.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/vibration.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/well3d.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/well_assembler.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/well_report.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/well_test_validation.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/wits0.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/witsml.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea/workspace.py +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea_program.egg-info/dependency_links.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea_program.egg-info/entry_points.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea_program.egg-info/requires.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/gea_program.egg-info/top_level.txt +0 -0
- {gea_program-0.40.0 → gea_program-0.42.0}/setup.cfg +0 -0
- {gea_program-0.40.0 → gea_program-0.42.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.42.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
|
|
@@ -648,6 +648,43 @@ 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
|
+
### Operations and seismicity
|
|
652
|
+
|
|
653
|
+
The Operations & Seismicity tab sets each well's drilling, completion and
|
|
654
|
+
disposal windows against the earthquake catalogue around it: every event
|
|
655
|
+
within the screening distance by its distance and time, whether it fell
|
|
656
|
+
during an operation or in the months after, what the rig was doing when a
|
|
657
|
+
drilling record covers it, the level a regulator's protocol would reach
|
|
658
|
+
(British Columbia, Alberta, Oklahoma, Ohio, Texas, each with its
|
|
659
|
+
document), and the exact test of whether the rate near the well is higher
|
|
660
|
+
while it works than in the rest of the record. The Mahoning Valley, Ohio -
|
|
661
|
+
the 2011 Youngstown sequence against the Northstar 1 injection year, the
|
|
662
|
+
2014 Poland Township events against a stimulation - ships as a worked
|
|
663
|
+
example from the public record. `gea seismicity`, `gea help opseis`.
|
|
664
|
+
|
|
665
|
+
### The declarations sheet
|
|
666
|
+
|
|
667
|
+
Everything the operator declares about a pad comes in from one spreadsheet:
|
|
668
|
+
each well's API number, position and reference elevation, its directional
|
|
669
|
+
survey, the day rates, one-off costs and AFE, the fleet, the drill-string
|
|
670
|
+
runs and their components, and the ESP penetrator and drive. Every row is
|
|
671
|
+
checked against the workspace and planned NEW, CHANGE or SAME before
|
|
672
|
+
anything is written; one error and nothing is. The sheet the program writes
|
|
673
|
+
for a workspace is already filled with what is declared, so a site fills in
|
|
674
|
+
the blanks. On the Setup tab, or `gea declare --template`, `gea declare
|
|
675
|
+
--file`, `gea help declare`.
|
|
676
|
+
|
|
677
|
+
### Completion - the ESP wellhead penetrator
|
|
678
|
+
|
|
679
|
+
The Completion tab keeps each ESP well's penetrator installation record -
|
|
680
|
+
the installer and their certification, the motor, the gauge distance, the
|
|
681
|
+
insulation readings, the void test - and checks the well's ESP drive, motor
|
|
682
|
+
nameplate and wellhead against the penetrator's ratings as its maker's
|
|
683
|
+
document prints them, one line each: voltage, current, frequency, phases,
|
|
684
|
+
hazardous area, gas group, temperature class, ambient range and altitude.
|
|
685
|
+
It carries the permanent magnet motor safety note with its sources.
|
|
686
|
+
`gea penetrator`, `gea help penetrator`.
|
|
687
|
+
|
|
651
688
|
### Drill string
|
|
652
689
|
|
|
653
690
|
The Drill String tab holds each run's string from the bit up - drawn as a
|
|
@@ -657,7 +694,7 @@ its declared service interval. The downhole motor tracker charts the
|
|
|
657
694
|
differential against the maker's limits, the stalls, the motor's and the
|
|
658
695
|
bit's speed and a torque estimate, and judges the motor's stability from
|
|
659
696
|
the slow oscillations of the torque and the differential, block by block.
|
|
660
|
-
The tool catalogue carries
|
|
697
|
+
The tool catalogue carries 43 downhole motors with the maker's figures.
|
|
661
698
|
`gea drillstring`, `gea tools --action motors`, `gea help drillstring`.
|
|
662
699
|
|
|
663
700
|
### Simulation
|
|
@@ -785,7 +822,7 @@ library**: every class of downhole tool in use across the industry - bits
|
|
|
785
822
|
and hole openers, motors and rotary steerable systems, MWD and LWD, the drill
|
|
786
823
|
string and its subs, casing and cementing equipment, completion and
|
|
787
824
|
artificial lift, wireline and cased-hole tools, fishing and milling, test
|
|
788
|
-
tools - ninety-
|
|
825
|
+
tools - ninety-seven classes in nine categories. Point at a tool, or Tab to
|
|
789
826
|
it, for a one-line description; click, tap or press Enter for its tutorial:
|
|
790
827
|
what it is, where it runs, how it works, what it shows in the data, what to
|
|
791
828
|
watch, and what this program does with it, with the published figures
|
|
@@ -609,6 +609,43 @@ 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
|
+
### Operations and seismicity
|
|
613
|
+
|
|
614
|
+
The Operations & Seismicity tab sets each well's drilling, completion and
|
|
615
|
+
disposal windows against the earthquake catalogue around it: every event
|
|
616
|
+
within the screening distance by its distance and time, whether it fell
|
|
617
|
+
during an operation or in the months after, what the rig was doing when a
|
|
618
|
+
drilling record covers it, the level a regulator's protocol would reach
|
|
619
|
+
(British Columbia, Alberta, Oklahoma, Ohio, Texas, each with its
|
|
620
|
+
document), and the exact test of whether the rate near the well is higher
|
|
621
|
+
while it works than in the rest of the record. The Mahoning Valley, Ohio -
|
|
622
|
+
the 2011 Youngstown sequence against the Northstar 1 injection year, the
|
|
623
|
+
2014 Poland Township events against a stimulation - ships as a worked
|
|
624
|
+
example from the public record. `gea seismicity`, `gea help opseis`.
|
|
625
|
+
|
|
626
|
+
### The declarations sheet
|
|
627
|
+
|
|
628
|
+
Everything the operator declares about a pad comes in from one spreadsheet:
|
|
629
|
+
each well's API number, position and reference elevation, its directional
|
|
630
|
+
survey, the day rates, one-off costs and AFE, the fleet, the drill-string
|
|
631
|
+
runs and their components, and the ESP penetrator and drive. Every row is
|
|
632
|
+
checked against the workspace and planned NEW, CHANGE or SAME before
|
|
633
|
+
anything is written; one error and nothing is. The sheet the program writes
|
|
634
|
+
for a workspace is already filled with what is declared, so a site fills in
|
|
635
|
+
the blanks. On the Setup tab, or `gea declare --template`, `gea declare
|
|
636
|
+
--file`, `gea help declare`.
|
|
637
|
+
|
|
638
|
+
### Completion - the ESP wellhead penetrator
|
|
639
|
+
|
|
640
|
+
The Completion tab keeps each ESP well's penetrator installation record -
|
|
641
|
+
the installer and their certification, the motor, the gauge distance, the
|
|
642
|
+
insulation readings, the void test - and checks the well's ESP drive, motor
|
|
643
|
+
nameplate and wellhead against the penetrator's ratings as its maker's
|
|
644
|
+
document prints them, one line each: voltage, current, frequency, phases,
|
|
645
|
+
hazardous area, gas group, temperature class, ambient range and altitude.
|
|
646
|
+
It carries the permanent magnet motor safety note with its sources.
|
|
647
|
+
`gea penetrator`, `gea help penetrator`.
|
|
648
|
+
|
|
612
649
|
### Drill string
|
|
613
650
|
|
|
614
651
|
The Drill String tab holds each run's string from the bit up - drawn as a
|
|
@@ -618,7 +655,7 @@ its declared service interval. The downhole motor tracker charts the
|
|
|
618
655
|
differential against the maker's limits, the stalls, the motor's and the
|
|
619
656
|
bit's speed and a torque estimate, and judges the motor's stability from
|
|
620
657
|
the slow oscillations of the torque and the differential, block by block.
|
|
621
|
-
The tool catalogue carries
|
|
658
|
+
The tool catalogue carries 43 downhole motors with the maker's figures.
|
|
622
659
|
`gea drillstring`, `gea tools --action motors`, `gea help drillstring`.
|
|
623
660
|
|
|
624
661
|
### Simulation
|
|
@@ -746,7 +783,7 @@ library**: every class of downhole tool in use across the industry - bits
|
|
|
746
783
|
and hole openers, motors and rotary steerable systems, MWD and LWD, the drill
|
|
747
784
|
string and its subs, casing and cementing equipment, completion and
|
|
748
785
|
artificial lift, wireline and cased-hole tools, fishing and milling, test
|
|
749
|
-
tools - ninety-
|
|
786
|
+
tools - ninety-seven classes in nine categories. Point at a tool, or Tab to
|
|
750
787
|
it, for a one-line description; click, tap or press Enter for its tutorial:
|
|
751
788
|
what it is, where it runs, how it works, what it shows in the data, what to
|
|
752
789
|
watch, and what this program does with it, with the published figures
|
|
@@ -524,6 +524,48 @@ def main(argv=None) -> int:
|
|
|
524
524
|
p_ds.add_argument("--actor", type=str, default="cli")
|
|
525
525
|
p_ds.add_argument("--json", action="store_true")
|
|
526
526
|
|
|
527
|
+
p_dc = sub.add_parser("declare", help="the declarations sheet: wells' identity, position and elevation, surveys, rates, items and AFEs, fleet tools, drill-string runs, ESP penetrators and drives - one CSV, checked against the workspace before anything is written")
|
|
528
|
+
p_dc.add_argument("--workspace", type=str, required=True)
|
|
529
|
+
p_dc.add_argument("--file", type=str, default=None, help="the sheet (CSV); every row is planned NEW, CHANGE or SAME and nothing is written without --apply")
|
|
530
|
+
p_dc.add_argument("--apply", action="store_true", help="write the NEW and CHANGE rows (only when the sheet has no error)")
|
|
531
|
+
p_dc.add_argument("--template", type=str, default=None, help="write the sheet for this workspace, filled with what is already declared, to this path")
|
|
532
|
+
p_dc.add_argument("--actor", type=str, default="cli")
|
|
533
|
+
p_dc.add_argument("--json", action="store_true")
|
|
534
|
+
|
|
535
|
+
p_pn = sub.add_parser("penetrator", help="the ESP wellhead penetrator: the penetrators the program knows with their ratings, the permanent magnet motor safety note, and each well's installation record and drive checked against the ratings")
|
|
536
|
+
p_pn.add_argument("--workspace", type=str, default=None)
|
|
537
|
+
p_pn.add_argument("--well", type=str, default=None)
|
|
538
|
+
p_pn.add_argument("--remove", type=str, default=None, choices=("install", "drive"), help="remove the well's installation record or its drive")
|
|
539
|
+
p_pn.add_argument("--actor", type=str, default="cli")
|
|
540
|
+
p_pn.add_argument("--json", action="store_true")
|
|
541
|
+
|
|
542
|
+
p_os = sub.add_parser("seismicity", help="operations and seismicity: each well's drilling, completion and disposal windows against the earthquake catalogue around it - the events during and after each, the levels a regulator's protocol would reach, and the rate during operations against the rest of the record; the Mahoning Valley worked example")
|
|
543
|
+
p_os.add_argument("--workspace", type=str, default=None)
|
|
544
|
+
p_os.add_argument("--scene", type=str, default=None, choices=("workspace", "mahoning"), help="your wells (the default with --workspace) or the public worked example")
|
|
545
|
+
p_os.add_argument("--protocol", type=str, default=None, help="a protocol id (--protocols lists them)")
|
|
546
|
+
p_os.add_argument("--radius-km", type=float, default=None, help="the association radius (default 5 km)")
|
|
547
|
+
p_os.add_argument("--screen-km", type=float, default=None, help="the screening distance (default 20 km)")
|
|
548
|
+
p_os.add_argument("--post-days", type=float, default=None, help="the association window after an operation ends (default 90 days)")
|
|
549
|
+
p_os.add_argument("--mc", type=float, default=None, help="the completeness magnitude counted in the rate (default the catalogue's minimum)")
|
|
550
|
+
p_os.add_argument("--set", action="store_true", help="keep --protocol, --radius-km, --screen-km, --post-days and --mc as this workspace's settings")
|
|
551
|
+
p_os.add_argument("--protocols", action="store_true", help="list the protocols and their levels")
|
|
552
|
+
p_os.add_argument("--query", action="store_true", help="print the ComCat query for the workspace's wells (run it where the catalogue service is reachable)")
|
|
553
|
+
p_os.add_argument("--attach", type=str, default=None, help="a catalogue export to attach (with --start --end --min-magnitude --lat --lon --catalog-radius-km --source)")
|
|
554
|
+
p_os.add_argument("--start", type=str, default=None)
|
|
555
|
+
p_os.add_argument("--end", type=str, default=None)
|
|
556
|
+
p_os.add_argument("--min-magnitude", type=float, default=None)
|
|
557
|
+
p_os.add_argument("--lat", type=float, default=None)
|
|
558
|
+
p_os.add_argument("--lon", type=float, default=None)
|
|
559
|
+
p_os.add_argument("--catalog-radius-km", type=float, default=None)
|
|
560
|
+
p_os.add_argument("--source", type=str, default="")
|
|
561
|
+
p_os.add_argument("--declare-op", action="store_true", help="declare an operation window (with --well --kind --start [--end] --source)")
|
|
562
|
+
p_os.add_argument("--well", type=str, default=None)
|
|
563
|
+
p_os.add_argument("--kind", type=str, default=None, choices=("drilling", "completion", "disposal", "injection", "other"))
|
|
564
|
+
p_os.add_argument("--remove-op", type=str, default=None)
|
|
565
|
+
p_os.add_argument("--remove-catalog", type=str, default=None)
|
|
566
|
+
p_os.add_argument("--actor", type=str, default="cli")
|
|
567
|
+
p_os.add_argument("--json", action="store_true")
|
|
568
|
+
|
|
527
569
|
p_sm = sub.add_parser("simulation", help="the simulation in words: the scenes (Volve 15/9-F-4 with its logs and interpretation, Volve F-5 and F-10 on the survey clock, every drilling-recorder well), and what the record says at a depth (the Simulation tab replays it)")
|
|
528
570
|
p_sm.add_argument("--workspace", type=str, default=None)
|
|
529
571
|
p_sm.add_argument("--scene", type=str, default=None, help="e.g. volve-f4, or well:Well-30636033")
|
|
@@ -2074,6 +2116,116 @@ def main(argv=None) -> int:
|
|
|
2074
2116
|
raise SystemExit(f"drillstring: {e.args[0] if e.args else e}")
|
|
2075
2117
|
print(_json.dumps(p, default=str) if a.json else _DS.text(p))
|
|
2076
2118
|
return 0
|
|
2119
|
+
elif a.cmd == "declare":
|
|
2120
|
+
import json as _json
|
|
2121
|
+
from . import declarations as _DC
|
|
2122
|
+
from .cli import _safe_stdout
|
|
2123
|
+
from .workspace import Workspace, WorkspaceError
|
|
2124
|
+
_safe_stdout()
|
|
2125
|
+
try:
|
|
2126
|
+
ws = Workspace(a.workspace)
|
|
2127
|
+
except WorkspaceError as e:
|
|
2128
|
+
raise SystemExit(f"declare: {e}")
|
|
2129
|
+
if a.template:
|
|
2130
|
+
with open(a.template, "w", encoding="utf-8", newline="") as f:
|
|
2131
|
+
f.write(_DC.template(ws))
|
|
2132
|
+
print(f"wrote {a.template}: fill in the blanks, then gea declare --workspace {a.workspace} --file {a.template}")
|
|
2133
|
+
return 0
|
|
2134
|
+
if not a.file:
|
|
2135
|
+
raise SystemExit("declare: give --file <sheet.csv> (or --template <out.csv> to start one)")
|
|
2136
|
+
try:
|
|
2137
|
+
with open(a.file, encoding="utf-8-sig") as f:
|
|
2138
|
+
text_ = f.read()
|
|
2139
|
+
except OSError as e:
|
|
2140
|
+
raise SystemExit(f"declare: {e}")
|
|
2141
|
+
p = _DC.apply(ws, text_, a.actor, os.path.dirname(os.path.abspath(a.file)), write=a.apply)
|
|
2142
|
+
print(_json.dumps(p, default=str) if a.json else _DC.text(p))
|
|
2143
|
+
return 1 if p["errors"] else 0
|
|
2144
|
+
elif a.cmd == "penetrator":
|
|
2145
|
+
import json as _json
|
|
2146
|
+
from . import penetrator as _PN
|
|
2147
|
+
from .cli import _safe_stdout
|
|
2148
|
+
from .workspace import Workspace, WorkspaceError
|
|
2149
|
+
_safe_stdout()
|
|
2150
|
+
ws = None
|
|
2151
|
+
if a.workspace:
|
|
2152
|
+
try:
|
|
2153
|
+
ws = Workspace(a.workspace)
|
|
2154
|
+
except WorkspaceError as e:
|
|
2155
|
+
raise SystemExit(f"penetrator: {e}")
|
|
2156
|
+
try:
|
|
2157
|
+
if a.remove:
|
|
2158
|
+
if ws is None or not a.well:
|
|
2159
|
+
raise SystemExit("penetrator: --remove needs --workspace and --well")
|
|
2160
|
+
_PN.remove(ws, a.actor, a.well, a.remove)
|
|
2161
|
+
print(f"removed the {a.remove} record of {a.well}")
|
|
2162
|
+
return 0
|
|
2163
|
+
if a.well:
|
|
2164
|
+
if ws is None:
|
|
2165
|
+
raise SystemExit("penetrator: --well needs --workspace")
|
|
2166
|
+
c = _PN.check(ws, a.well)
|
|
2167
|
+
print(_json.dumps(c, default=str) if a.json else _PN.text_check(c))
|
|
2168
|
+
return 0
|
|
2169
|
+
p = _PN.page(ws)
|
|
2170
|
+
except (ValueError, KeyError, OSError) as e:
|
|
2171
|
+
raise SystemExit(f"penetrator: {e.args[0] if e.args else e}")
|
|
2172
|
+
print(_json.dumps(p, default=str) if a.json else _PN.text(p))
|
|
2173
|
+
return 0
|
|
2174
|
+
elif a.cmd == "seismicity":
|
|
2175
|
+
import json as _json
|
|
2176
|
+
from . import op_seismicity as _OS
|
|
2177
|
+
from .cli import _safe_stdout
|
|
2178
|
+
from .workspace import Workspace, WorkspaceError
|
|
2179
|
+
_safe_stdout()
|
|
2180
|
+
if a.protocols:
|
|
2181
|
+
for p_ in _OS.protocols()["protocols"]:
|
|
2182
|
+
print(f"{p_['id']}: {p_['name']} - within {p_['radius_km'] if p_['radius_km'] is not None else 'the permit distance'} km of {p_['radius_from']}; covers {', '.join(p_['applies_to'])}")
|
|
2183
|
+
for lv in p_["levels"]:
|
|
2184
|
+
print(f" M {lv['m']:g}{' (' + lv['condition'] + ')' if lv.get('condition') else ''}: {lv['action']}")
|
|
2185
|
+
print(f" {p_['document']} - {p_['url']}{' (a secondary summary)' if p_['source_kind'] == 'secondary' else ''}")
|
|
2186
|
+
return 0
|
|
2187
|
+
ws = None
|
|
2188
|
+
if a.workspace:
|
|
2189
|
+
try:
|
|
2190
|
+
ws = Workspace(a.workspace)
|
|
2191
|
+
except WorkspaceError as e:
|
|
2192
|
+
raise SystemExit(f"seismicity: {e}")
|
|
2193
|
+
try:
|
|
2194
|
+
if a.attach:
|
|
2195
|
+
if ws is None:
|
|
2196
|
+
raise SystemExit("seismicity: --attach needs --workspace")
|
|
2197
|
+
with open(a.attach, "rb") as f:
|
|
2198
|
+
r = _OS.attach_catalog(ws, a.actor, os.path.basename(a.attach), f.read(), a.start, a.end, a.min_magnitude, a.lat, a.lon, a.catalog_radius_km, a.source)
|
|
2199
|
+
print(f"attached {r['file']}: {r['n_events']} event(s), {r['start']} to {r['end']}, M >= {r['min_magnitude']:g}")
|
|
2200
|
+
return 0
|
|
2201
|
+
if a.declare_op:
|
|
2202
|
+
if ws is None or not a.well or not a.kind:
|
|
2203
|
+
raise SystemExit("seismicity: --declare-op needs --workspace, --well and --kind")
|
|
2204
|
+
r = _OS.save_operation(ws, a.actor, a.well, a.kind, a.start, a.end, a.source)
|
|
2205
|
+
print(f"declared {r['id']}: {r['kind']} on {r['well_id']}, {r['start']} to {r['end'] or 'open'}")
|
|
2206
|
+
return 0
|
|
2207
|
+
if a.remove_op:
|
|
2208
|
+
_OS.remove_operation(ws, a.actor, a.remove_op); print(f"removed {a.remove_op}"); return 0
|
|
2209
|
+
if a.remove_catalog:
|
|
2210
|
+
_OS.remove_catalog(ws, a.actor, a.remove_catalog); print(f"removed {a.remove_catalog}"); return 0
|
|
2211
|
+
over = {k: v for k, v in (("protocol", a.protocol), ("radius_km", a.radius_km), ("screen_km", a.screen_km), ("post_days", a.post_days), ("mc", a.mc)) if v is not None}
|
|
2212
|
+
if a.set:
|
|
2213
|
+
if ws is None:
|
|
2214
|
+
raise SystemExit("seismicity: --set needs --workspace")
|
|
2215
|
+
s_ = _OS.set_settings(ws, a.actor, over.get("protocol"), over.get("radius_km"), over.get("screen_km"), over.get("post_days"), over.get("mc"))
|
|
2216
|
+
print("settings: " + ", ".join(f"{k} {v}" for k, v in s_.items()))
|
|
2217
|
+
return 0
|
|
2218
|
+
if over.get("protocol"):
|
|
2219
|
+
_OS.protocol(over["protocol"])
|
|
2220
|
+
r = _OS.page(ws, a.scene or ("workspace" if ws is not None else "mahoning"), over or None)
|
|
2221
|
+
except (ValueError, KeyError, OSError) as e:
|
|
2222
|
+
raise SystemExit(f"seismicity: {e.args[0] if e.args else e}")
|
|
2223
|
+
if a.query:
|
|
2224
|
+
q = r.get("query")
|
|
2225
|
+
print(q["url"] if q else "no well of the workspace has a surface position yet: declare one first")
|
|
2226
|
+
return 0
|
|
2227
|
+
print(_json.dumps(r, default=str) if a.json else _OS.text(r))
|
|
2228
|
+
return 0
|
|
2077
2229
|
elif a.cmd == "simulation":
|
|
2078
2230
|
import json as _json
|
|
2079
2231
|
from . import simulation as _SIM
|