gea-program 0.30.0__tar.gz → 0.30.1__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.30.0/gea_program.egg-info → gea_program-0.30.1}/PKG-INFO +10 -4
- {gea_program-0.30.0 → gea_program-0.30.1}/README.md +9 -3
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/__init__.py +1 -1
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/acceptance_tests.py +38 -3
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/edr.py +370 -82
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/edr.md +4 -2
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/web/app.html +6 -0
- {gea_program-0.30.0 → gea_program-0.30.1/gea_program.egg-info}/PKG-INFO +10 -4
- {gea_program-0.30.0 → gea_program-0.30.1}/pyproject.toml +1 -1
- {gea_program-0.30.0 → gea_program-0.30.1}/LICENSE +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/BENCH_TEST_PROTOCOL.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/__main__.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/accuracy_statement.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/alarm_engine.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/backup.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/bench.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/blind_harness.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/acex_lomonosov_age_depth_model.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/acex_lomonosov_age_depth_model.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/agassiz77_canada_temperature.csv +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/agassiz77_canada_temperature.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/barbados_110_consolidation.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/barbados_110_consolidation.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/bengal_u1452_grain_size.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/bengal_u1452_grain_size.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/blake_164_methane_isotopes.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/blake_164_methane_isotopes.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/chicxulub_m0077a_pwave_velocity.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/chicxulub_m0077a_pwave_velocity.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/collingwood_1_28_ks_complete.las +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/collingwood_1_28_ks_complete.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/costa_rica_odp_friction_envelope.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/costa_rica_odp_friction_envelope.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/dead_sea_5017_debrite_xrf_ms.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/dead_sea_5017_debrite_xrf_ms.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/dsdp_504b_physical_properties.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/dsdp_504b_physical_properties.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/dsdp_504b_sound_velocity.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/dsdp_504b_sound_velocity.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/elgygytgyn_5011_turbidites.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/elgygytgyn_5011_turbidites.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/epica_domec_co2_800kyr.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/epica_domec_co2_800kyr.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/fram_909_organic_petrography.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/fram_909_organic_petrography.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/gbr_325_coral_uth_ages.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/gbr_325_coral_uth_ages.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/gisp2_greenland_temperature.csv +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/gisp2_greenland_temperature.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/gom_308_t2p_insitu.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/gom_308_t2p_insitu.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/guaymas_385_dom_d13c.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/guaymas_385_dom_d13c.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/hikurangi_u1520_friction_insitu.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/hikurangi_u1520_friction_insitu.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/hydrate_ridge_204_ncr_hydrate.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/hydrate_ridge_204_ncr_hydrate.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/iodp_u1324_pore_pressure.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/iodp_u1324_pore_pressure.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/jfast_c0019_slow_slip_events.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/jfast_c0019_slow_slip_events.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/kennetcook_2_p129_excerpt.las +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/kennetcook_2_p129_excerpt.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_hb_bhgm_density.dat +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_hb_bhgm_density.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_hb_complog_6020_excerpt.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_hb_complog_6020_excerpt.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_hb_hlog246_temperature.dat +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_hb_hlog246_temperature.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_hb_rockmech_compress.dat +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_hb_rockmech_compress.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.dat +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_vb_rockmech_compress.dat +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_vb_rockmech_compress.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_vb_vlog251_temperature.dat +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ktb_vb_vlog251_temperature.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/l06_06_nl_survey.csv +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/l06_06_nl_survey.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/l07_01_nl_excerpt.las +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/l07_01_nl_excerpt.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/mariana_1200_serpentinite_geochem.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/mariana_1200_serpentinite_geochem.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/med_160_sapropels.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/med_160_sapropels.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/nankai_megasplay_shear_strength.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/nankai_megasplay_shear_strength.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_1027b_thermal_conductivity.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_1027b_thermal_conductivity.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_1027c_cork_temperature.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_1027c_cork_temperature.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_1165b_thermal_conductivity.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_1165b_thermal_conductivity.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_1274a_mantle_peridotite_mad.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_1274a_mantle_peridotite_mad.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_504b_dike_elastic_moduli.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_504b_dike_elastic_moduli.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_504b_leg137_borehole_fluids.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_504b_leg137_borehole_fluids.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_735b_gabbro_elastic_moduli.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/odp_735b_gabbro_elastic_moduli.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/peru_201_sulfate_reduction.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/peru_201_sulfate_reduction.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/scorpio_e1_sa_excerpt.las +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/scorpio_e1_sa_excerpt.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/sumatra_362_cohesion.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/sumatra_362_cohesion.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/university_6_17_no1_tx_excerpt.las +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/university_6_17_no1_tx_excerpt.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ursa_308_xrd_mineralogy.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/ursa_308_xrd_mineralogy.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/volve_15_9_19_sr_excerpt.las +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/volve_15_9_19_sr_excerpt.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/volve_15_9_19a_core_excerpt.csv +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/volve_15_9_19a_core_excerpt.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/volve_f12_f14_production_excerpt.csv +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/volve_f12_f14_production_excerpt.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/walvis_208_petm_carbonate.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/walvis_208_petm_carbonate.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/woodlark_1109_rock_eval.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog/woodlark_1109_rock_eval.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog_map.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/catalog_register.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/certificates.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/cli.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/client_reports.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/config_versioning.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/conformance.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/correlation.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/dashboard.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/deviation.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/dlis.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/dnp3.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/doctor.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/downhole_engine.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/drift_monitor.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/earth_model.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/elevation.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/etp.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/etp12_schemas.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/example_register_map.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/fat_sat.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/files.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/fixtures/README.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/fixtures/comcat_delaware_basin_2026-09.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/fixtures/comcat_youngstown_2011-2012.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/fixtures/ne_110m_coastline.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/follower.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/forward_model.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/friction_priors.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/gamma.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/gauge_aging.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/gauge_specs.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/geodesy.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/gravity_reference.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/hartip.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/TESTER_GUIDE.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/alarms.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/audit-update.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/backup.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/catalog.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/conformance.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/data-in.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/dlis.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/doctor.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/drift.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/etp.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/field-ports.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/files.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/historian.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/instruments.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/interval.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/month-end.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/notifications.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/osdu.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/patches.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/ppdm.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/quakeml.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/quality.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/seedlink.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/seismic.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/site.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/sites.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/slip.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/soak.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/sra.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/start.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/structure.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/tools.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/transients.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/upkeep.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/vibration.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/help/well-tests.md +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/helplib.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/housekeeping.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/interval.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/inverse_engine.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/jobs.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/live_ports.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/loadtest.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/matplotlib_demo.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/modbus.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/modbus_rtu.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/model_card.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/month_end.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/mqtt_port.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/notify.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/opcua_port.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/operator_app.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/osdu.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/patches.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/permits.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/piwebapi.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/ports.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/ppdm.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/profile_catalog.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/project.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/qt6_downhole_app.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/quakeml.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/reconciler.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/reference/IU_ANMO_10_BHZ_response.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/reference/IU_ANMO_10_BHZ_response.xml +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/reference/libmseed_steim.provenance.json +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/reference/libmseed_steim1_4096.mseed +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/reference/libmseed_steim2_4096.mseed +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/reference/libmseed_steim2_512.mseed +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/rock_inventory.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/sample_record.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/sample_well_profile.csv +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/sbom.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seedlink.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/segy.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic_array.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic_assoc.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic_detect.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic_film.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic_harmonic.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic_qc.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic_response.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic_signature.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic_track.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic_uncertainty.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/seismic_unlisted.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/sensor_swap.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/service.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/service_life.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/shapefile.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/shell.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/shut_in.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/sla_report.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/slip.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/soak.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/sra.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/store_forward.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/strata_join.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/structure.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/supervisor.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/survey_cmd.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/survey_view.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/telemetry.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/tool_catalog.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/tool_library.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/transient.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/vibration.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/well_assembler.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/well_test_validation.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/wits0.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/witsml.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea/workspace.py +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea_program.egg-info/SOURCES.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea_program.egg-info/dependency_links.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea_program.egg-info/entry_points.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea_program.egg-info/requires.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/gea_program.egg-info/top_level.txt +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/setup.cfg +0 -0
- {gea_program-0.30.0 → gea_program-0.30.1}/tests/test_acceptance.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gea-program
|
|
3
|
-
Version: 0.30.
|
|
3
|
+
Version: 0.30.1
|
|
4
4
|
Summary: GEA-Program: downhole gauge monitoring - canonical measurement records, quality rules, drift evaluation with a re-fit change log, well-test validation, alarm management, model cards, store-and-forward, monthly SLA measurement, FAT/SAT protocols and a dashboard, generated from live objects in the client's reporting outline.
|
|
5
5
|
Author: Daniel T. Murphy
|
|
6
6
|
License: MPL-2.0
|
|
@@ -125,7 +125,7 @@ gea dashboard --catalog-well volve_f12_f14_production_excerpt:15/9-F-12:10000 --
|
|
|
125
125
|
gea client-report --report accuracy --out client_report
|
|
126
126
|
gea model-cards --out model_cards
|
|
127
127
|
gea sbom --out sbom
|
|
128
|
-
gea accept # the product gate (
|
|
128
|
+
gea accept # the product gate (377 checks)
|
|
129
129
|
gea help drift # the help library, by the job (16 pages; the same text is on every dashboard page)
|
|
130
130
|
gea guide # the click-by-click tester guide (docs/TESTER_GUIDE.md)
|
|
131
131
|
gea gui # the desktop window (pip install "gea-program[desktop]")
|
|
@@ -730,8 +730,14 @@ on bottom and rotating, the rate of penetration on bottom, the connections,
|
|
|
730
730
|
the peaks; for the well, total depth and when the bit was first on bottom
|
|
731
731
|
there, the recorder's TVD at it; per channel what was missing and how
|
|
732
732
|
often; and the **MD-TVD table**, hole depth against the recorder's
|
|
733
|
-
interpolated TVD, labelled an interpolation and not a survey.
|
|
734
|
-
|
|
733
|
+
interpolated TVD, labelled an interpolation and not a survey. Before any
|
|
734
|
+
footage is counted the hole depth is read for what it can be trusted for:
|
|
735
|
+
a depth carried over from the last well, a depth set back and counted up
|
|
736
|
+
again by running pipe, a sidetrack, an overstated or understated depth
|
|
737
|
+
corrected - each named as a depth event in the record and on the well
|
|
738
|
+
page, and handled so that total depth is the final borehole's and the
|
|
739
|
+
footage adds up. The recorder's gamma is written as a LAS log by bit
|
|
740
|
+
depth. `gea edr
|
|
735
741
|
--file C:\site\_incoming\30636033.csv`; `gea workspace --action add-file`
|
|
736
742
|
then `refresh` for the record beside the well's other reports. `gea help
|
|
737
743
|
edr`.
|
|
@@ -86,7 +86,7 @@ gea dashboard --catalog-well volve_f12_f14_production_excerpt:15/9-F-12:10000 --
|
|
|
86
86
|
gea client-report --report accuracy --out client_report
|
|
87
87
|
gea model-cards --out model_cards
|
|
88
88
|
gea sbom --out sbom
|
|
89
|
-
gea accept # the product gate (
|
|
89
|
+
gea accept # the product gate (377 checks)
|
|
90
90
|
gea help drift # the help library, by the job (16 pages; the same text is on every dashboard page)
|
|
91
91
|
gea guide # the click-by-click tester guide (docs/TESTER_GUIDE.md)
|
|
92
92
|
gea gui # the desktop window (pip install "gea-program[desktop]")
|
|
@@ -691,8 +691,14 @@ on bottom and rotating, the rate of penetration on bottom, the connections,
|
|
|
691
691
|
the peaks; for the well, total depth and when the bit was first on bottom
|
|
692
692
|
there, the recorder's TVD at it; per channel what was missing and how
|
|
693
693
|
often; and the **MD-TVD table**, hole depth against the recorder's
|
|
694
|
-
interpolated TVD, labelled an interpolation and not a survey.
|
|
695
|
-
|
|
694
|
+
interpolated TVD, labelled an interpolation and not a survey. Before any
|
|
695
|
+
footage is counted the hole depth is read for what it can be trusted for:
|
|
696
|
+
a depth carried over from the last well, a depth set back and counted up
|
|
697
|
+
again by running pipe, a sidetrack, an overstated or understated depth
|
|
698
|
+
corrected - each named as a depth event in the record and on the well
|
|
699
|
+
page, and handled so that total depth is the final borehole's and the
|
|
700
|
+
footage adds up. The recorder's gamma is written as a LAS log by bit
|
|
701
|
+
depth. `gea edr
|
|
696
702
|
--file C:\site\_incoming\30636033.csv`; `gea workspace --action add-file`
|
|
697
703
|
then `refresh` for the record beside the well's other reports. `gea help
|
|
698
704
|
edr`.
|
|
@@ -7697,10 +7697,11 @@ def section_by_edr(tmp: str) -> None:
|
|
|
7697
7697
|
"sections": rec["n_sections"] == 3 and all(x["rows"] == 3000 and x["hours"] == 0.83 for x in secs) and secs[0]["gap_before_hours"] is None
|
|
7698
7698
|
and secs[1]["gap_before_hours"] == 48.0 and secs[2]["gap_before_hours"] == 48.0 and all(x["connections"] == 25 for x in secs)
|
|
7699
7699
|
and all(x["rop_on_bottom_mean_ft_h"] == 600.0 and x["on_bottom_hours"] == 0.69 and x["rotating_hours"] == 0.69 for x in secs)
|
|
7700
|
-
and secs[0]["hole_depth_at_start_ft"] == 1500.2 and abs(secs[0]["feet_drilled"] - 416.5) < 0.2 and
|
|
7701
|
-
and "
|
|
7700
|
+
and secs[0]["hole_depth_at_start_ft"] == 1500.2 and abs(secs[0]["feet_drilled"] - 416.5) < 0.2 and "depth_events" not in secs[0]
|
|
7701
|
+
and secs[1]["hole_depth_at_start_ft"] == 1916.7 and secs[0]["wob_max_klbf"] == 20.0 and secs[0]["rpm_max"] == 60.0,
|
|
7702
7702
|
"well": rec["total_depth_md_ft"] == 2750.0 and rec["tvd_at_td_ft"] == 2015.0 and rec["on_bottom_hours"] == 2.08 and abs(rec["feet_drilled"] - 1249.8) < 0.2
|
|
7703
|
-
and rec["
|
|
7703
|
+
and rec["depth_events"] == [] and rec["excluded_hours"] == 0.0 and rec["flag_idle_hours"] == 0.0 and not rec["notes"]
|
|
7704
|
+
and rec["first_hole_depth_ft"] == 1500.2 and [b["status"] for b in rec["boreholes"]] == ["FINAL"]
|
|
7704
7705
|
and abs(rec["feet_per_on_bottom_hour"] - 600.9) < 0.2 and rec["hours_recorded"] == 2.5 and rec["span_days"] == 4.1 and rec["reached_td"].startswith("2026-06-05T02:29"),
|
|
7705
7706
|
"md_tvd": rec["md_tvd"]["status"] == "OK" and rec["md_tvd"]["n"] == 13 and rec["md_tvd"]["tvd_decreasing_steps"] == 0 and rec["md_tvd"]["samples_without_tvd"] == 900
|
|
7706
7707
|
and "not a survey" in rec["md_tvd"]["source"] and rec["lateral"]["lateral_start_md_ft"] == 1999.8 and abs(rec["lateral"]["lateral_length_ft"] - 750.2) < 0.2
|
|
@@ -7716,6 +7717,27 @@ def section_by_edr(tmp: str) -> None:
|
|
|
7716
7717
|
"registry": PORT_REGISTRY["edr"].status == "IMPLEMENTED" and read_any(r["path"]).source_format == "edr"
|
|
7717
7718
|
and any(p["name"] == "edr" and p["status"] == "IMPLEMENTED" for p in TC.catalog()["ports"]["files"]),
|
|
7718
7719
|
}
|
|
7720
|
+
# the depth events: a stale opening, a re-reference, a sidetrack and a correction, each named and handled
|
|
7721
|
+
ev = E.selftest_events(str(d)); er = ev["record"]
|
|
7722
|
+
types = [(e["type"], e["from_ft"], e["to_ft"]) for e in er["depth_events"]]
|
|
7723
|
+
bh = er["boreholes"]
|
|
7724
|
+
c4 = {}
|
|
7725
|
+
c4["events"] = (types == [("STALE OPENING", 9999.0, 5200.2), ("RE-REFERENCE", 5400.0, 2000.0), ("SIDETRACK", 5500.0, 4800.0), ("CORRECTION", 5700.0, 5650.2)]
|
|
7726
|
+
and er["total_depth_md_ft"] == 5750.0 and abs(er["feet_drilled"] - 1449.8) < 0.2 and er["first_hole_depth_ft"] == 5000.2
|
|
7727
|
+
and len(bh) == 2 and bh[0]["status"].startswith("ABANDONED") and bh[0]["deepest_ft"] == 5500.0 and bh[1]["status"] == "FINAL" and bh[1]["from_ft"] == 4800.0
|
|
7728
|
+
and er["on_bottom_hours"] == 8.45 and er["on_bottom_flag_hours"] == 9.39 and er["excluded_hours"] == 1.03
|
|
7729
|
+
and any("largest value is 9,999.0 ft" in x for x in er["notes"])
|
|
7730
|
+
and er["gamma"]["status"] == "OK" and er["gamma"]["bins"] == 951 and er["gamma"]["depth_from_ft"] == 4800.0 and er["gamma"]["depth_to_ft"] == 5750.0
|
|
7731
|
+
and len(ev["gamma"].index) == 951 and bool(np.all(ev["gamma"].channels["GR"].values == 110.0))
|
|
7732
|
+
and er["md_tvd"]["n"] == 10 and any(l.startswith("Depth event, SIDETRACK") and "abandoned" in l for l in er["lines"])
|
|
7733
|
+
and any(l.startswith("Boreholes:") for l in er["lines"]))
|
|
7734
|
+
fl = E.selftest_flag(str(d))["record"]
|
|
7735
|
+
c4["flag_and_corrections"] = ([(e["type"], e["from_ft"], e["to_ft"]) for e in fl["depth_events"]] == [("CORRECTION", 1060.0, 1080.0), ("CORRECTION", 1140.0, 1128.0), ("CORRECTION", 1128.0, 1140.0),
|
|
7736
|
+
("STALE OPENING", 9999.0, None), ("STALE OPENING", 9999.0, None), ("STALE OPENING", 9999.0, 1200.1)]
|
|
7737
|
+
and fl["total_depth_md_ft"] == 1230.0 and fl["first_hole_depth_ft"] == 1000.1 and abs(fl["feet_drilled"] - 229.9) < 0.05
|
|
7738
|
+
and fl["on_bottom_hours"] == 0.58 and fl["flag_idle_hours"] == 0.56 and fl["excluded_hours"] == 0.18 and fl["on_bottom_flag_hours"] == 1.14
|
|
7739
|
+
and [x.get("hole_depth_at_start_ft") for x in fl["sections"]] == [1000.1, 1128.0, None, None, 1200.0] and len(fl["boreholes"]) == 1
|
|
7740
|
+
and any("nothing drilled" in l for l in fl["lines"]))
|
|
7719
7741
|
odd = str(d / "odd.csv")
|
|
7720
7742
|
with open(r["path"], encoding="utf-8") as f, open(odd, "w", encoding="utf-8") as g:
|
|
7721
7743
|
for i, line in enumerate(f):
|
|
@@ -7820,6 +7842,19 @@ def section_by_edr(tmp: str) -> None:
|
|
|
7820
7842
|
"written gamma LAS converts its feet once, says so, recognizes the gamma and says what it lacks; the help page and its index entry"
|
|
7821
7843
|
+ (f" [failed: {', '.join(failed3)}]" if failed3 else ""))
|
|
7822
7844
|
|
|
7845
|
+
c4["help"] = all(t in help_md for t in ("STALE OPENING", "RE-REFERENCE", "SIDETRACK", "CORRECTION", "UNRESOLVED")) and "daily drilling report" in help_md \
|
|
7846
|
+
and "nothing drilled" in help_md and "total depth less the first depth" in help_md
|
|
7847
|
+
failed4 = [k for k, v in c4.items() if not v]
|
|
7848
|
+
ok(not failed4,
|
|
7849
|
+
"BY4 the depth events: a section opening on another well's depth (STALE OPENING, excluded), a depth set back and regained by counting pipe at 3,600 "
|
|
7850
|
+
"ft/h (RE-REFERENCE, excluded), a 700 ft set-back time-drilled at 5 ft/h (SIDETRACK: total depth 5,750 ft from the final borehole, 1,449.8 ft drilled "
|
|
7851
|
+
"counting the abandoned 4,800-5,500 ft, the gamma log and TVD table kept off the abandoned hole) and a 50 ft overstated depth (CORRECTION) each named; "
|
|
7852
|
+
"a 20 ft set-forward off bottom added, a 12 ft fall regained only in the next section a correction and never a re-reference, the next section drilling "
|
|
7853
|
+
"on from its opening depth not a stale opening, three restarts on another well's depth each a stale opening (judged against the last depth the file can "
|
|
7854
|
+
"be trusted for), and 2,000 s of on-bottom flag with nothing drilled kept out of the drilling hours - footage exactly total depth less the first depth "
|
|
7855
|
+
"(229.9 ft); the help page names every event"
|
|
7856
|
+
+ (f" [failed: {', '.join(failed4)}]" if failed4 else ""))
|
|
7857
|
+
|
|
7823
7858
|
|
|
7824
7859
|
def main() -> int:
|
|
7825
7860
|
print("GEA-Program - ACCEPTANCE SUITE (the product gate)")
|