gea-program 0.41.0__tar.gz → 0.43.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.41.0 → gea_program-0.43.0}/PKG-INFO +28 -1
- {gea_program-0.41.0 → gea_program-0.43.0}/README.md +27 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/__init__.py +1 -1
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/__main__.py +162 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/acceptance_tests.py +416 -1
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/client_reports.py +5 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/declarations.py +52 -2
- gea_program-0.43.0/gea/dossier.py +369 -0
- gea_program-0.43.0/gea/dossier_verify.py +136 -0
- gea_program-0.43.0/gea/ed25519.py +131 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/files.py +3 -1
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/fixtures/README.md +6 -0
- gea_program-0.43.0/gea/fixtures/comcat_mahoning_1990-2026.txt +22 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/declare.md +3 -3
- gea_program-0.43.0/gea/help/dossier.md +15 -0
- gea_program-0.43.0/gea/help/opseis.md +13 -0
- gea_program-0.43.0/gea/help/report-history.md +11 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/helplib.py +4 -1
- gea_program-0.43.0/gea/op_seismicity.py +625 -0
- gea_program-0.43.0/gea/reference/mahoning_example.json +48 -0
- gea_program-0.43.0/gea/reference/seismicity_protocols.json +95 -0
- gea_program-0.43.0/gea/report_history.py +148 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/service.py +80 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/web/app.html +123 -2
- {gea_program-0.41.0 → gea_program-0.43.0}/gea_program.egg-info/PKG-INFO +28 -1
- {gea_program-0.41.0 → gea_program-0.43.0}/gea_program.egg-info/SOURCES.txt +11 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/pyproject.toml +1 -1
- {gea_program-0.41.0 → gea_program-0.43.0}/LICENSE +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/BENCH_TEST_PROTOCOL.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/accuracy_statement.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/alarm_engine.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/backup.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/bench.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/blind_harness.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/acex_lomonosov_age_depth_model.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/acex_lomonosov_age_depth_model.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/agassiz77_canada_temperature.csv +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/agassiz77_canada_temperature.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/barbados_110_consolidation.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/barbados_110_consolidation.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/bengal_u1452_grain_size.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/bengal_u1452_grain_size.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/blake_164_methane_isotopes.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/blake_164_methane_isotopes.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/collingwood_1_28_ks_complete.las +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/collingwood_1_28_ks_complete.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/costa_rica_odp_friction_envelope.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/costa_rica_odp_friction_envelope.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/dsdp_504b_physical_properties.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/dsdp_504b_physical_properties.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/dsdp_504b_sound_velocity.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/dsdp_504b_sound_velocity.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/elgygytgyn_5011_turbidites.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/elgygytgyn_5011_turbidites.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/epica_domec_co2_800kyr.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/epica_domec_co2_800kyr.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/fram_909_organic_petrography.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/fram_909_organic_petrography.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/gbr_325_coral_uth_ages.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/gbr_325_coral_uth_ages.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/gisp2_greenland_temperature.csv +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/gisp2_greenland_temperature.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/gom_308_t2p_insitu.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/gom_308_t2p_insitu.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/guaymas_385_dom_d13c.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/guaymas_385_dom_d13c.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/hikurangi_u1520_friction_insitu.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/hikurangi_u1520_friction_insitu.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/iodp_u1324_pore_pressure.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/iodp_u1324_pore_pressure.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/jfast_c0019_slow_slip_events.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/jfast_c0019_slow_slip_events.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/kennetcook_2_p129_excerpt.las +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/kennetcook_2_p129_excerpt.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_hb_bhgm_density.dat +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_hb_bhgm_density.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_hb_complog_6020_excerpt.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_hb_complog_6020_excerpt.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_hb_hlog246_temperature.dat +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_hb_hlog246_temperature.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_hb_rockmech_compress.dat +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_hb_rockmech_compress.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.dat +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_vb_rockmech_compress.dat +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_vb_rockmech_compress.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_vb_vlog251_temperature.dat +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ktb_vb_vlog251_temperature.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/l06_06_nl_survey.csv +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/l06_06_nl_survey.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/l07_01_nl_excerpt.las +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/l07_01_nl_excerpt.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/mariana_1200_serpentinite_geochem.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/mariana_1200_serpentinite_geochem.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/med_160_sapropels.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/med_160_sapropels.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/nankai_megasplay_shear_strength.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/nankai_megasplay_shear_strength.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_1027b_thermal_conductivity.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_1027b_thermal_conductivity.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_1027c_cork_temperature.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_1027c_cork_temperature.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_1165b_thermal_conductivity.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_1165b_thermal_conductivity.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_504b_dike_elastic_moduli.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_504b_dike_elastic_moduli.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_504b_leg137_borehole_fluids.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_504b_leg137_borehole_fluids.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/peru_201_sulfate_reduction.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/peru_201_sulfate_reduction.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/scorpio_e1_sa_excerpt.las +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/scorpio_e1_sa_excerpt.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/sumatra_362_cohesion.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/sumatra_362_cohesion.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/university_6_17_no1_tx_excerpt.las +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/university_6_17_no1_tx_excerpt.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ursa_308_xrd_mineralogy.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/ursa_308_xrd_mineralogy.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/volve_15_9_19_sr_excerpt.las +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/volve_15_9_19_sr_excerpt.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/volve_15_9_19a_core_excerpt.csv +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/volve_15_9_19a_core_excerpt.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/volve_f12_f14_production_excerpt.csv +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/volve_f12_f14_production_excerpt.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/walvis_208_petm_carbonate.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/walvis_208_petm_carbonate.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/woodlark_1109_rock_eval.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog/woodlark_1109_rock_eval.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog_map.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/catalog_register.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/certificates.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/cli.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/config_versioning.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/conformance.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/control_room.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/correlation.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/dashboard.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/deviation.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/dlis.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/dnp3.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/doctor.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/downhole_engine.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/drift_monitor.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/drill_string.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/earth_model.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/economics.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/edr.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/elevation.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/etp.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/etp12_schemas.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/example_register_map.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/fat_sat.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/fixtures/comcat_delaware_basin_2026-09.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/fixtures/comcat_youngstown_2011-2012.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/fixtures/ne_110m_coastline.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/follower.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/forward_model.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/friction_priors.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/gamma.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/gauge_aging.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/gauge_specs.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/geodesy.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/gravity_reference.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/hartip.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/TESTER_GUIDE.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/alarms.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/audit-update.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/backup.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/catalog.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/charts.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/conformance.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/control-room.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/data-in.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/dlis.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/doctor.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/drift.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/drillstring.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/economics.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/edr.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/etp.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/field-ports.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/files.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/historian.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/instruments.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/interval.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/map.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/month-end.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/notifications.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/osdu.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/patches.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/penetrator.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/ppdm.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/quakeml.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/quality.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/seedlink.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/seismic.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/setup.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/simulation.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/site.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/sites.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/slip.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/soak.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/sra.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/start.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/structure.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/tools.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/transients.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/upkeep.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/vibration.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/well-report.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/well-tests.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/help/well3d.md +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/housekeeping.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/interval.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/inverse_engine.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/jobs.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/live_ports.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/loadtest.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/matplotlib_demo.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/modbus.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/modbus_rtu.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/model_card.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/month_end.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/mqtt_port.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/notify.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/opcua_port.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/operator_app.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/osdu.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/patches.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/penetrator.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/permits.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/piwebapi.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/ports.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/ppdm.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/profile_catalog.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/project.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/qt6_downhole_app.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/quakeml.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reconciler.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/IU_ANMO_10_BHZ_response.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/IU_ANMO_10_BHZ_response.xml +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/eia_henry_hub_daily.csv.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/eia_prices.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/eia_wti_daily.csv.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/libmseed_steim.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/libmseed_steim1_4096.mseed +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/libmseed_steim2_4096.mseed +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/libmseed_steim2_512.mseed +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/mud_motor_specs.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/penetrator_ratings.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/tool_sources.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/us_outline.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/us_outline.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_3d.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_f4_interpretation.las.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_f4_logs.provenance.json +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_f4_lwd.las.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_surfaces.json.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_traj_F-10.xml.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_traj_F-4.xml.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_traj_F-5_12.25in.xml.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_traj_F-5_17.5in.xml.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_traj_F-5_36in.xml.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_traj_F-5_8.5in.xml.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/reference/volve_well_picks.csv.gz +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/rock_inventory.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/sample_record.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/sample_well_profile.csv +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/sbom.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seedlink.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/segy.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic_array.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic_assoc.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic_detect.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic_film.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic_harmonic.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic_qc.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic_response.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic_signature.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic_track.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic_uncertainty.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/seismic_unlisted.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/sensor_swap.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/series_cache.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/service_life.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/setup_checklist.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/shapefile.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/shell.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/shut_in.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/simulation.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/site_map.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/sla_report.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/slip.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/soak.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/sra.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/store_forward.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/strata_join.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/structure.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/supervisor.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/survey_cmd.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/survey_view.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/telemetry.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/tool_catalog.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/tool_library.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/tool_taxonomy.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/transient.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/vibration.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/well3d.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/well_assembler.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/well_report.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/well_test_validation.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/wits0.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/witsml.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea/workspace.py +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea_program.egg-info/dependency_links.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea_program.egg-info/entry_points.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea_program.egg-info/requires.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/gea_program.egg-info/top_level.txt +0 -0
- {gea_program-0.41.0 → gea_program-0.43.0}/setup.cfg +0 -0
- {gea_program-0.41.0 → gea_program-0.43.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.43.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,33 @@ 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
|
+
### Report history and the signed dossier
|
|
652
|
+
|
|
653
|
+
Every client report a workspace writes is kept, version by version, under
|
|
654
|
+
`reports\history\` with each file's SHA-256, so pressing a report button
|
|
655
|
+
again no longer loses the last one; the Reports tab lists every version.
|
|
656
|
+
The signed dossier puts a well's - or the pad's - reports, declarations,
|
|
657
|
+
audit log and source-record hashes in one zip, signed with the site's own
|
|
658
|
+
Ed25519 key (made on the site's machine, never sent anywhere), with a
|
|
659
|
+
checker inside that anyone can run with plain Python: VALID when the
|
|
660
|
+
signature and every file's hash hold, and inside the workspace a check that
|
|
661
|
+
the source records and the audit log still match what was signed.
|
|
662
|
+
`gea dossier`, `gea reports-history`, `gea help dossier`.
|
|
663
|
+
|
|
664
|
+
### Operations and seismicity
|
|
665
|
+
|
|
666
|
+
The Operations & Seismicity tab sets each well's drilling, completion and
|
|
667
|
+
disposal windows against the earthquake catalogue around it: every event
|
|
668
|
+
within the screening distance by its distance and time, whether it fell
|
|
669
|
+
during an operation or in the months after, what the rig was doing when a
|
|
670
|
+
drilling record covers it, the level a regulator's protocol would reach
|
|
671
|
+
(British Columbia, Alberta, Oklahoma, Ohio, Texas, each with its
|
|
672
|
+
document), and the exact test of whether the rate near the well is higher
|
|
673
|
+
while it works than in the rest of the record. The Mahoning Valley, Ohio -
|
|
674
|
+
the 2011 Youngstown sequence against the Northstar 1 injection year, the
|
|
675
|
+
2014 Poland Township events against a stimulation - ships as a worked
|
|
676
|
+
example from the public record. `gea seismicity`, `gea help opseis`.
|
|
677
|
+
|
|
651
678
|
### The declarations sheet
|
|
652
679
|
|
|
653
680
|
Everything the operator declares about a pad comes in from one spreadsheet:
|
|
@@ -609,6 +609,33 @@ 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
|
+
### Report history and the signed dossier
|
|
613
|
+
|
|
614
|
+
Every client report a workspace writes is kept, version by version, under
|
|
615
|
+
`reports\history\` with each file's SHA-256, so pressing a report button
|
|
616
|
+
again no longer loses the last one; the Reports tab lists every version.
|
|
617
|
+
The signed dossier puts a well's - or the pad's - reports, declarations,
|
|
618
|
+
audit log and source-record hashes in one zip, signed with the site's own
|
|
619
|
+
Ed25519 key (made on the site's machine, never sent anywhere), with a
|
|
620
|
+
checker inside that anyone can run with plain Python: VALID when the
|
|
621
|
+
signature and every file's hash hold, and inside the workspace a check that
|
|
622
|
+
the source records and the audit log still match what was signed.
|
|
623
|
+
`gea dossier`, `gea reports-history`, `gea help dossier`.
|
|
624
|
+
|
|
625
|
+
### Operations and seismicity
|
|
626
|
+
|
|
627
|
+
The Operations & Seismicity tab sets each well's drilling, completion and
|
|
628
|
+
disposal windows against the earthquake catalogue around it: every event
|
|
629
|
+
within the screening distance by its distance and time, whether it fell
|
|
630
|
+
during an operation or in the months after, what the rig was doing when a
|
|
631
|
+
drilling record covers it, the level a regulator's protocol would reach
|
|
632
|
+
(British Columbia, Alberta, Oklahoma, Ohio, Texas, each with its
|
|
633
|
+
document), and the exact test of whether the rate near the well is higher
|
|
634
|
+
while it works than in the rest of the record. The Mahoning Valley, Ohio -
|
|
635
|
+
the 2011 Youngstown sequence against the Northstar 1 injection year, the
|
|
636
|
+
2014 Poland Township events against a stimulation - ships as a worked
|
|
637
|
+
example from the public record. `gea seismicity`, `gea help opseis`.
|
|
638
|
+
|
|
612
639
|
### The declarations sheet
|
|
613
640
|
|
|
614
641
|
Everything the operator declares about a pad comes in from one spreadsheet:
|
|
@@ -539,6 +539,52 @@ def main(argv=None) -> int:
|
|
|
539
539
|
p_pn.add_argument("--actor", type=str, default="cli")
|
|
540
540
|
p_pn.add_argument("--json", action="store_true")
|
|
541
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
|
+
|
|
569
|
+
p_dz = sub.add_parser("dossier", help="the signed dossier: a well's (or the pad's) reports, declarations, audit log and source hashes in one zip, signed with the site's Ed25519 key, with a checker anyone can run without this program")
|
|
570
|
+
p_dz.add_argument("--workspace", type=str, default=None)
|
|
571
|
+
p_dz.add_argument("--well", type=str, default=None, help="a well; without it, the pad (every well and the site reports)")
|
|
572
|
+
p_dz.add_argument("--include-sources", action="store_true", help="embed the source records (by default they are listed by hash)")
|
|
573
|
+
p_dz.add_argument("--verify", type=str, default=None, help="a dossier to check (with --workspace, also against this site)")
|
|
574
|
+
p_dz.add_argument("--sources", type=str, default="", help="with --verify: a folder holding the source records to check against their hashes")
|
|
575
|
+
p_dz.add_argument("--key", action="store_true", help="print this site's signing key fingerprint")
|
|
576
|
+
p_dz.add_argument("--list", action="store_true", help="list the dossiers this site has signed")
|
|
577
|
+
p_dz.add_argument("--actor", type=str, default="cli")
|
|
578
|
+
p_dz.add_argument("--json", action="store_true")
|
|
579
|
+
|
|
580
|
+
p_rh = sub.add_parser("reports-history", help="every version of every client report this workspace has written, kept under reports/history; --prune keeps the newest N")
|
|
581
|
+
p_rh.add_argument("--workspace", type=str, required=True)
|
|
582
|
+
p_rh.add_argument("--family", type=str, default=None, help="e.g. wells/Well-1/well_report or pad_report")
|
|
583
|
+
p_rh.add_argument("--prune", action="store_true")
|
|
584
|
+
p_rh.add_argument("--keep", type=int, default=0)
|
|
585
|
+
p_rh.add_argument("--apply", action="store_true", help="with --prune: remove (without it, list what would go)")
|
|
586
|
+
p_rh.add_argument("--json", action="store_true")
|
|
587
|
+
|
|
542
588
|
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)")
|
|
543
589
|
p_sm.add_argument("--workspace", type=str, default=None)
|
|
544
590
|
p_sm.add_argument("--scene", type=str, default=None, help="e.g. volve-f4, or well:Well-30636033")
|
|
@@ -2144,6 +2190,122 @@ def main(argv=None) -> int:
|
|
|
2144
2190
|
raise SystemExit(f"penetrator: {e.args[0] if e.args else e}")
|
|
2145
2191
|
print(_json.dumps(p, default=str) if a.json else _PN.text(p))
|
|
2146
2192
|
return 0
|
|
2193
|
+
elif a.cmd == "seismicity":
|
|
2194
|
+
import json as _json
|
|
2195
|
+
from . import op_seismicity as _OS
|
|
2196
|
+
from .cli import _safe_stdout
|
|
2197
|
+
from .workspace import Workspace, WorkspaceError
|
|
2198
|
+
_safe_stdout()
|
|
2199
|
+
if a.protocols:
|
|
2200
|
+
for p_ in _OS.protocols()["protocols"]:
|
|
2201
|
+
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'])}")
|
|
2202
|
+
for lv in p_["levels"]:
|
|
2203
|
+
print(f" M {lv['m']:g}{' (' + lv['condition'] + ')' if lv.get('condition') else ''}: {lv['action']}")
|
|
2204
|
+
print(f" {p_['document']} - {p_['url']}{' (a secondary summary)' if p_['source_kind'] == 'secondary' else ''}")
|
|
2205
|
+
return 0
|
|
2206
|
+
ws = None
|
|
2207
|
+
if a.workspace:
|
|
2208
|
+
try:
|
|
2209
|
+
ws = Workspace(a.workspace)
|
|
2210
|
+
except WorkspaceError as e:
|
|
2211
|
+
raise SystemExit(f"seismicity: {e}")
|
|
2212
|
+
try:
|
|
2213
|
+
if a.attach:
|
|
2214
|
+
if ws is None:
|
|
2215
|
+
raise SystemExit("seismicity: --attach needs --workspace")
|
|
2216
|
+
with open(a.attach, "rb") as f:
|
|
2217
|
+
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)
|
|
2218
|
+
print(f"attached {r['file']}: {r['n_events']} event(s), {r['start']} to {r['end']}, M >= {r['min_magnitude']:g}")
|
|
2219
|
+
return 0
|
|
2220
|
+
if a.declare_op:
|
|
2221
|
+
if ws is None or not a.well or not a.kind:
|
|
2222
|
+
raise SystemExit("seismicity: --declare-op needs --workspace, --well and --kind")
|
|
2223
|
+
r = _OS.save_operation(ws, a.actor, a.well, a.kind, a.start, a.end, a.source)
|
|
2224
|
+
print(f"declared {r['id']}: {r['kind']} on {r['well_id']}, {r['start']} to {r['end'] or 'open'}")
|
|
2225
|
+
return 0
|
|
2226
|
+
if a.remove_op:
|
|
2227
|
+
_OS.remove_operation(ws, a.actor, a.remove_op); print(f"removed {a.remove_op}"); return 0
|
|
2228
|
+
if a.remove_catalog:
|
|
2229
|
+
_OS.remove_catalog(ws, a.actor, a.remove_catalog); print(f"removed {a.remove_catalog}"); return 0
|
|
2230
|
+
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}
|
|
2231
|
+
if a.set:
|
|
2232
|
+
if ws is None:
|
|
2233
|
+
raise SystemExit("seismicity: --set needs --workspace")
|
|
2234
|
+
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"))
|
|
2235
|
+
print("settings: " + ", ".join(f"{k} {v}" for k, v in s_.items()))
|
|
2236
|
+
return 0
|
|
2237
|
+
if over.get("protocol"):
|
|
2238
|
+
_OS.protocol(over["protocol"])
|
|
2239
|
+
r = _OS.page(ws, a.scene or ("workspace" if ws is not None else "mahoning"), over or None)
|
|
2240
|
+
except (ValueError, KeyError, OSError) as e:
|
|
2241
|
+
raise SystemExit(f"seismicity: {e.args[0] if e.args else e}")
|
|
2242
|
+
if a.query:
|
|
2243
|
+
q = r.get("query")
|
|
2244
|
+
print(q["url"] if q else "no well of the workspace has a surface position yet: declare one first")
|
|
2245
|
+
return 0
|
|
2246
|
+
print(_json.dumps(r, default=str) if a.json else _OS.text(r))
|
|
2247
|
+
return 0
|
|
2248
|
+
elif a.cmd == "dossier":
|
|
2249
|
+
import json as _json
|
|
2250
|
+
from . import dossier as _DZ
|
|
2251
|
+
from .cli import _safe_stdout
|
|
2252
|
+
from .workspace import Workspace, WorkspaceError
|
|
2253
|
+
_safe_stdout()
|
|
2254
|
+
ws = None
|
|
2255
|
+
if a.workspace:
|
|
2256
|
+
try:
|
|
2257
|
+
ws = Workspace(a.workspace)
|
|
2258
|
+
except WorkspaceError as e:
|
|
2259
|
+
raise SystemExit(f"dossier: {e}")
|
|
2260
|
+
if a.verify:
|
|
2261
|
+
r = _DZ.verify(a.verify, ws, a.sources)
|
|
2262
|
+
print(_json.dumps(r, default=str) if a.json else _DZ.text(r))
|
|
2263
|
+
return 0 if r["status"] == "VALID" else 1
|
|
2264
|
+
if ws is None:
|
|
2265
|
+
raise SystemExit("dossier: give --workspace (or --verify FILE)")
|
|
2266
|
+
if a.key:
|
|
2267
|
+
k = _DZ.key_info(ws)
|
|
2268
|
+
print(f"Ed25519 {k['fingerprint']} (public key {k['public_key']}, made {k['created_utc']})" if k else "no signing key yet: the first dossier makes one")
|
|
2269
|
+
return 0
|
|
2270
|
+
if a.list:
|
|
2271
|
+
for e in reversed(_DZ.ledger(ws)):
|
|
2272
|
+
print(f"{e['utc']} {e['dossier_id']} {e['display']:<24} {e['n_files']:>4} files {e['path']}")
|
|
2273
|
+
return 0
|
|
2274
|
+
try:
|
|
2275
|
+
e = _DZ.build(ws, a.actor, __version__, a.well, a.include_sources)
|
|
2276
|
+
except (KeyError, ValueError) as ex:
|
|
2277
|
+
raise SystemExit(f"dossier: {ex.args[0] if ex.args else ex}")
|
|
2278
|
+
print(f"signed {e['dossier_id']}: {e['display']}, {e['n_files']} file(s), {e['n_sources']} source record(s) {'embedded' if e['sources_embedded'] else 'by hash'}")
|
|
2279
|
+
print(f" {os.path.join(ws.reports_dir, e['path'])}")
|
|
2280
|
+
print(f" key fingerprint {e['fingerprint']}")
|
|
2281
|
+
return 0
|
|
2282
|
+
elif a.cmd == "reports-history":
|
|
2283
|
+
import json as _json
|
|
2284
|
+
from . import report_history as _RH
|
|
2285
|
+
from .cli import _safe_stdout
|
|
2286
|
+
from .workspace import Workspace, WorkspaceError
|
|
2287
|
+
_safe_stdout()
|
|
2288
|
+
try:
|
|
2289
|
+
ws = Workspace(a.workspace)
|
|
2290
|
+
except WorkspaceError as e:
|
|
2291
|
+
raise SystemExit(f"reports-history: {e}")
|
|
2292
|
+
if a.prune:
|
|
2293
|
+
if a.keep < 1:
|
|
2294
|
+
raise SystemExit("reports-history: --prune needs --keep N (at least 1)")
|
|
2295
|
+
r = _RH.prune(ws.reports_dir, a.keep, a.family, a.apply)
|
|
2296
|
+
print(f"{'removed' if r['applied'] else 'would remove'} {len(r['removed'])} version(s), {r['bytes_freed']:,} bytes" + ("" if r['applied'] else " - add --apply to remove them"))
|
|
2297
|
+
return 0
|
|
2298
|
+
sm = _RH.summary(ws.reports_dir)
|
|
2299
|
+
if a.json:
|
|
2300
|
+
print(_json.dumps(sm, default=str)); return 0
|
|
2301
|
+
print(f"{sm['n_versions']} version(s) of {len(sm['families'])} report(s), {sm['bytes']:,} bytes under {os.path.join(ws.reports_dir, 'history')}")
|
|
2302
|
+
for f_ in sm["families"]:
|
|
2303
|
+
if a.family and f_["family"] != a.family:
|
|
2304
|
+
continue
|
|
2305
|
+
print(f" {f_['family']}: {f_['n']} version(s)")
|
|
2306
|
+
for v in f_["versions"][: (50 if a.family else 3)]:
|
|
2307
|
+
print(f" {v['utc']} {v.get('report_id') or ''} reports/{v['dir']}")
|
|
2308
|
+
return 0
|
|
2147
2309
|
elif a.cmd == "simulation":
|
|
2148
2310
|
import json as _json
|
|
2149
2311
|
from . import simulation as _SIM
|