gea-program 0.61.0__tar.gz → 0.63.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.61.0 → gea_program-0.63.0}/PKG-INFO +14 -2
- {gea_program-0.61.0 → gea_program-0.63.0}/README.md +13 -1
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/__init__.py +1 -1
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/__main__.py +48 -4
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/acceptance_tests.py +505 -2
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/casing_design.py +205 -34
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/declarations.py +6 -3
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/dossier.py +165 -4
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/dossier_verify.py +41 -7
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/IT_SECURITY.md +1 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/casing.md +4 -4
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/dossier.md +3 -1
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/helplib.py +1 -1
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/service.py +17 -0
- gea_program-0.63.0/gea/timestamp.py +568 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/web/app.html +16 -4
- {gea_program-0.61.0 → gea_program-0.63.0}/gea_program.egg-info/PKG-INFO +14 -2
- {gea_program-0.61.0 → gea_program-0.63.0}/gea_program.egg-info/SOURCES.txt +1 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/pyproject.toml +1 -1
- {gea_program-0.61.0 → gea_program-0.63.0}/LICENSE +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/BENCH_TEST_PROTOCOL.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/accuracy_statement.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/alarm_engine.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/alerts.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/backup.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/bench.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/blind_harness.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/acex_lomonosov_age_depth_model.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/acex_lomonosov_age_depth_model.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/agassiz77_canada_temperature.csv +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/agassiz77_canada_temperature.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/barbados_110_consolidation.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/barbados_110_consolidation.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/bengal_u1452_grain_size.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/bengal_u1452_grain_size.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/blake_164_methane_isotopes.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/blake_164_methane_isotopes.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/chicxulub_m0077a_pwave_velocity.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/collingwood_1_28_ks_complete.las +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/collingwood_1_28_ks_complete.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/costa_rica_odp_friction_envelope.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/costa_rica_odp_friction_envelope.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/dead_sea_5017_debrite_xrf_ms.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/dsdp_504b_physical_properties.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/dsdp_504b_physical_properties.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/dsdp_504b_sound_velocity.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/dsdp_504b_sound_velocity.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/elgygytgyn_5011_turbidites.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/elgygytgyn_5011_turbidites.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/epica_domec_co2_800kyr.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/epica_domec_co2_800kyr.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/fram_909_organic_petrography.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/fram_909_organic_petrography.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/gbr_325_coral_uth_ages.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/gbr_325_coral_uth_ages.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/gisp2_greenland_temperature.csv +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/gisp2_greenland_temperature.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/gom_308_t2p_insitu.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/gom_308_t2p_insitu.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/guaymas_385_dom_d13c.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/guaymas_385_dom_d13c.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/hikurangi_u1520_friction_insitu.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/hikurangi_u1520_friction_insitu.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/hydrate_ridge_204_ncr_hydrate.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/iodp_u1324_pore_pressure.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/iodp_u1324_pore_pressure.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/jfast_c0019_slow_slip_events.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/jfast_c0019_slow_slip_events.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/kennetcook_2_p129_excerpt.las +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/kennetcook_2_p129_excerpt.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_hb_bhgm_density.dat +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_hb_bhgm_density.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_hb_complog_6020_excerpt.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_hb_complog_6020_excerpt.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_hb_hlog246_temperature.dat +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_hb_hlog246_temperature.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_hb_rockmech_compress.dat +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_hb_rockmech_compress.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.dat +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_hb_tvd_0_9080_excerpt.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_vb_rockmech_compress.dat +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_vb_rockmech_compress.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_vb_vlog251_temperature.dat +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ktb_vb_vlog251_temperature.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/l06_06_nl_survey.csv +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/l06_06_nl_survey.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/l07_01_nl_excerpt.las +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/l07_01_nl_excerpt.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/mariana_1200_serpentinite_geochem.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/mariana_1200_serpentinite_geochem.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/med_160_sapropels.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/med_160_sapropels.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/nankai_megasplay_shear_strength.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/nankai_megasplay_shear_strength.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_1027b_thermal_conductivity.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_1027b_thermal_conductivity.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_1027c_cork_temperature.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_1027c_cork_temperature.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_1165b_thermal_conductivity.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_1165b_thermal_conductivity.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_1274a_mantle_peridotite_mad.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_504b_dike_elastic_moduli.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_504b_dike_elastic_moduli.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_504b_leg137_borehole_fluids.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_504b_leg137_borehole_fluids.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/odp_735b_gabbro_elastic_moduli.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/peru_201_sulfate_reduction.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/peru_201_sulfate_reduction.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/scorpio_e1_sa_excerpt.las +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/scorpio_e1_sa_excerpt.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/sumatra_362_cohesion.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/sumatra_362_cohesion.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/university_6_17_no1_tx_excerpt.las +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/university_6_17_no1_tx_excerpt.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ursa_308_xrd_mineralogy.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/ursa_308_xrd_mineralogy.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/volve_15_9_19_sr_excerpt.las +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/volve_15_9_19_sr_excerpt.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/volve_15_9_19a_core_excerpt.csv +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/volve_15_9_19a_core_excerpt.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/volve_f12_f14_production_excerpt.csv +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/volve_f12_f14_production_excerpt.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/walvis_208_petm_carbonate.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/walvis_208_petm_carbonate.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/woodlark_1109_rock_eval.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog/woodlark_1109_rock_eval.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog_map.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/catalog_register.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/certificates.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/cli.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/client_reports.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/collision.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/config_versioning.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/conformance.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/control_room.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/correlation.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/dashboard.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/decline.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/deviation.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/dlis.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/dnp3.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/doctor.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/downhole_engine.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/drift_monitor.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/drill_string.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/earth_model.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/economics.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/ed25519.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/edr.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/elevation.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/etp.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/etp12_schemas.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/example_register_map.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/fat_sat.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/files.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/fixtures/README.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/fixtures/comcat_delaware_basin_2026-09.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/fixtures/comcat_mahoning_1990-2026.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/fixtures/comcat_youngstown_2011-2012.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/fixtures/ne_110m_coastline.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/follower.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/forward_model.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/frac_hits.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/friction_priors.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/gamma.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/gauge_aging.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/gauge_specs.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/geodesy.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/geomag.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/gravity_reference.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/hartip.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/TESTER_GUIDE.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/alarms.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/alerts.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/audit-update.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/backup.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/catalog.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/charts.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/collision.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/company-sign-in.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/conformance.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/control-room.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/data-in.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/declare.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/decline.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/dlis.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/doctor.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/drift.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/drillstring.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/economics.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/edr.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/etp.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/field-ports.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/files.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/frac-hits.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/historian.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/https.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/hydraulics.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/instruments.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/interval.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/invoice-check.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/map.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/month-end.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/notifications.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/opseis.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/osdu.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/pad-summary.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/patches.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/penetrator.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/plan.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/pore-pressure.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/ppdm.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/quakeml.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/quality.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/report-history.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/rig-time.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/seedlink.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/seismic.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/setup.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/simulation.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/site.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/sites.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/slip.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/soak.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/sra.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/start.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/structure.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/tools.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/torque-drag.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/transients.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/upkeep.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/vibration.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/well-report.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/well-tests.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/help/well3d.md +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/housekeeping.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/hydraulics.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/interval.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/inverse_engine.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/invoice_check.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/jobs.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/live_ports.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/loadtest.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/matplotlib_demo.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/modbus.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/modbus_rtu.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/model_card.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/month_end.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/mqtt_port.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/notify.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/oidc.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/oidc_mock.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/op_seismicity.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/opcua_port.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/operator_app.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/osdu.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/pad_summary.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/patches.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/pdf_report.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/penetrator.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/permits.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/piwebapi.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/pore_pressure.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/ports.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/ppdm.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/profile_catalog.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/project.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/qt6_downhole_app.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/quakeml.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reconciler.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/IU_ANMO_10_BHZ_response.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/IU_ANMO_10_BHZ_response.xml +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/WMM2025.COF +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/eia_henry_hub_daily.csv.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/eia_prices.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/eia_wti_daily.csv.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/iscwsa_rev4_example.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/iscwsa_rev5_example.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/l0701_sonic_gr.las.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/l0701_sonic_gr.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/libmseed_steim.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/libmseed_steim1_4096.mseed +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/libmseed_steim2_4096.mseed +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/libmseed_steim2_512.mseed +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/mahoning_example.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/mud_motor_specs.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/owsg_tool_models.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/penetrator_ratings.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/seismicity_protocols.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/tool_sources.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/us_outline.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/us_outline.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_3d.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_f4_interpretation.las.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_f4_logs.provenance.json +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_f4_lwd.las.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_surfaces.json.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_traj_F-10.xml.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_traj_F-4.xml.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_traj_F-5_12.25in.xml.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_traj_F-5_17.5in.xml.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_traj_F-5_36in.xml.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_traj_F-5_8.5in.xml.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/reference/volve_well_picks.csv.gz +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/report_history.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/rig_state.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/rock_inventory.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/sample_record.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/sample_well_profile.csv +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/sbom.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seedlink.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/segy.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_array.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_assoc.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_detect.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_film.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_harmonic.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_qc.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_response.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_signature.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_track.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_uncertainty.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_unlisted.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/seismic_watch.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/sensor_swap.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/series_cache.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/service_life.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/setup_checklist.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/shapefile.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/shell.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/shut_in.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/simulation.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/site_map.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/sla_report.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/slip.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/soak.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/sra.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/store_forward.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/strata_join.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/structure.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/supervisor.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/survey_cmd.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/survey_view.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/telemetry.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/tls.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/tool_catalog.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/tool_library.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/tool_taxonomy.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/torque_drag.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/transient.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/vibration.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/well3d.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/well_assembler.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/well_report.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/well_test_validation.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/wellplan.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/wellpos.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/wits0.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/witsml.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/workspace.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea/xlsx_read.py +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea_program.egg-info/dependency_links.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea_program.egg-info/entry_points.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea_program.egg-info/requires.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/gea_program.egg-info/top_level.txt +0 -0
- {gea_program-0.61.0 → gea_program-0.63.0}/setup.cfg +0 -0
- {gea_program-0.61.0 → gea_program-0.63.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.63.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
|
|
@@ -683,13 +683,25 @@ catalogue well is added only from an entry that carries a downhole gauge
|
|
|
683
683
|
series, with a well inside it and its gauge depth; a live seismic station
|
|
684
684
|
whose feed has written nothing yet is listed as having no recording yet.
|
|
685
685
|
|
|
686
|
+
### Trusted timestamps
|
|
687
|
+
|
|
688
|
+
A signed dossier's time is the signing machine's clock. With a public
|
|
689
|
+
time-stamping service named (RFC 3161: DigiCert, Sectigo or the site's
|
|
690
|
+
own), each dossier also carries the authority's signed word that its
|
|
691
|
+
signature existed at a given time - only the signature's SHA-256 is
|
|
692
|
+
sent - and the dossier's own checker verifies it to a root the reader's
|
|
693
|
+
computer trusts. `gea dossier --workspace C:\site --timestamp-url
|
|
694
|
+
http://timestamp.digicert.com --timestamp on`; `gea help dossier`.
|
|
695
|
+
|
|
686
696
|
### Casing design and kick tolerance
|
|
687
697
|
|
|
688
698
|
Each casing string's burst, collapse and tension ratings by API TR 5C3,
|
|
689
699
|
from its size, weight and grade, against the loads the hole can put on it
|
|
690
700
|
- gas to the surface held by the shoe, an emptied string, the buoyed
|
|
691
701
|
weight with overpull - with the smallest safety factor and where, and the
|
|
692
|
-
gas kick each open hole below a shoe can take and still be shut in
|
|
702
|
+
gas kick each open hole below a shoe can take and still be shut in - the
|
|
703
|
+
gas a real gas at the well's pressure and temperature, with a swabbed
|
|
704
|
+
kick beside each. `gea
|
|
693
705
|
casing --example`; declared on the **Casing & kick tolerance** tab, with
|
|
694
706
|
`gea casing --workspace C:\site --well SWD-1 --strings ...`, or in the
|
|
695
707
|
declarations sheet. `gea help casing`.
|
|
@@ -644,13 +644,25 @@ catalogue well is added only from an entry that carries a downhole gauge
|
|
|
644
644
|
series, with a well inside it and its gauge depth; a live seismic station
|
|
645
645
|
whose feed has written nothing yet is listed as having no recording yet.
|
|
646
646
|
|
|
647
|
+
### Trusted timestamps
|
|
648
|
+
|
|
649
|
+
A signed dossier's time is the signing machine's clock. With a public
|
|
650
|
+
time-stamping service named (RFC 3161: DigiCert, Sectigo or the site's
|
|
651
|
+
own), each dossier also carries the authority's signed word that its
|
|
652
|
+
signature existed at a given time - only the signature's SHA-256 is
|
|
653
|
+
sent - and the dossier's own checker verifies it to a root the reader's
|
|
654
|
+
computer trusts. `gea dossier --workspace C:\site --timestamp-url
|
|
655
|
+
http://timestamp.digicert.com --timestamp on`; `gea help dossier`.
|
|
656
|
+
|
|
647
657
|
### Casing design and kick tolerance
|
|
648
658
|
|
|
649
659
|
Each casing string's burst, collapse and tension ratings by API TR 5C3,
|
|
650
660
|
from its size, weight and grade, against the loads the hole can put on it
|
|
651
661
|
- gas to the surface held by the shoe, an emptied string, the buoyed
|
|
652
662
|
weight with overpull - with the smallest safety factor and where, and the
|
|
653
|
-
gas kick each open hole below a shoe can take and still be shut in
|
|
663
|
+
gas kick each open hole below a shoe can take and still be shut in - the
|
|
664
|
+
gas a real gas at the well's pressure and temperature, with a swabbed
|
|
665
|
+
kick beside each. `gea
|
|
654
666
|
casing --example`; declared on the **Casing & kick tolerance** tab, with
|
|
655
667
|
`gea casing --workspace C:\site --well SWD-1 --strings ...`, or in the
|
|
656
668
|
declarations sheet. `gea help casing`.
|
|
@@ -596,6 +596,12 @@ def main(argv=None) -> int:
|
|
|
596
596
|
p_dz.add_argument("--rotate-key", action="store_true", help="retire this site's signing key and start a new one, signed over by the old (give --reason)")
|
|
597
597
|
p_dz.add_argument("--reason", type=str, default="", help="with --rotate-key: why the key is retired")
|
|
598
598
|
p_dz.add_argument("--key-history", action="store_true", help="the site's keys, current and retired, and the rotations between them")
|
|
599
|
+
p_dz.add_argument("--timestamp-url", type=str, default=None, help="the RFC 3161 time-stamping service to use, e.g. http://timestamp.digicert.com ('none' to forget it)")
|
|
600
|
+
p_dz.add_argument("--timestamp", type=str, choices=["on", "off"], default=None, help="stamp every dossier as it is signed (on) or not (off)")
|
|
601
|
+
p_dz.add_argument("--timestamp-anchors", type=str, default=None, help="a PEM file with the service's root certificate, when this machine's store does not hold it ('none' to forget it)")
|
|
602
|
+
p_dz.add_argument("--timestamp-test", action="store_true", help="ask the service to stamp a random hash and check its reply (nothing is written)")
|
|
603
|
+
p_dz.add_argument("--stamp", type=str, default=None, help="stamp a dossier this site signed, by its id (gea dossier --list)")
|
|
604
|
+
p_dz.add_argument("--anchors", type=str, default="", help="with --verify: a PEM file of roots to trust for the timestamp, beside this machine's own")
|
|
599
605
|
p_dz.add_argument("--actor", type=str, default="cli")
|
|
600
606
|
p_dz.add_argument("--json", action="store_true")
|
|
601
607
|
|
|
@@ -653,7 +659,9 @@ def main(argv=None) -> int:
|
|
|
653
659
|
p_cs.add_argument("--strings", type=str, default=None, help="shallowest shoe first: 'surface:13-3/8:54.5:J55:0-1500:17.5:9.0; intermediate:9-5/8:47:N80:0-7000:12.25:9.8' (what:od:lb_ft:grade:top-shoe:hole_in:mud_ppg[:wall_in])")
|
|
654
660
|
for k_, h_ in (("td", "the well's TD below the deepest string, ft MD"), ("td-hole", "the hole below the deepest string, in"), ("td-mw", "the mud below the deepest string, ppg"),
|
|
655
661
|
("pp", "a pore pressure for the well when the Pore pressure tab has none, ppg"), ("fg", "a fracture gradient for the well when the Pore pressure tab has none, ppg"),
|
|
656
|
-
("kick", "kick intensity above the mud, ppg (0.5)"), ("gas", "gas gradient, psi/ft
|
|
662
|
+
("kick", "kick intensity above the mud, ppg (0.5)"), ("gas", "a fixed gas gradient, psi/ft, in place of the real gas ('none' for the real gas again)"),
|
|
663
|
+
("gas-sg", "the gas's specific gravity, air 1 (0.65)"), ("surface-temp", "the temperature at the surface, F (70)"),
|
|
664
|
+
("geothermal", "the geothermal gradient, F per 100 ft (1.5)"), ("backup", "burst backup gradient outside, psi/ft (0.465)"),
|
|
657
665
|
("evacuation", "how far the string is emptied for collapse, 0 to 1 (1: to the shoe)"), ("df-burst", "burst design factor (1.1)"),
|
|
658
666
|
("df-collapse", "collapse design factor (1.125)"), ("df-tension", "tension design factor (1.6)"), ("overpull", "overpull, klbf (100)"),
|
|
659
667
|
("bha-od", "BHA outside diameter, in"), ("bha-length", "BHA length, ft"), ("dp-od", "drill pipe outside diameter, in")):
|
|
@@ -2505,11 +2513,40 @@ def main(argv=None) -> int:
|
|
|
2505
2513
|
except WorkspaceError as e:
|
|
2506
2514
|
raise SystemExit(f"dossier: {e}")
|
|
2507
2515
|
if a.verify:
|
|
2508
|
-
|
|
2516
|
+
if a.anchors and ws is None:
|
|
2517
|
+
from . import dossier_verify as _DV, timestamp as _TSM
|
|
2518
|
+
with open(a.anchors, "rb") as fh_:
|
|
2519
|
+
r = _DV.check(a.verify, a.sources, _TSM.ts_system_anchors() + _TSM.ts_pem_certs(fh_.read()))
|
|
2520
|
+
else:
|
|
2521
|
+
r = _DZ.verify(a.verify, ws, a.sources)
|
|
2509
2522
|
print(_json.dumps(r, default=str) if a.json else _DZ.text(r))
|
|
2510
2523
|
return 0 if r["status"] == "VALID" else 1
|
|
2511
2524
|
if ws is None:
|
|
2512
2525
|
raise SystemExit("dossier: give --workspace (or --verify FILE)")
|
|
2526
|
+
if a.timestamp_url is not None or a.timestamp is not None or a.timestamp_anchors is not None:
|
|
2527
|
+
try:
|
|
2528
|
+
st_ = _DZ.set_timestamp(ws, a.actor, ("" if (a.timestamp_url or "").lower() == "none" else a.timestamp_url),
|
|
2529
|
+
None if a.timestamp is None else a.timestamp == "on",
|
|
2530
|
+
("" if (a.timestamp_anchors or "").lower() == "none" else a.timestamp_anchors))
|
|
2531
|
+
except ValueError as ex:
|
|
2532
|
+
raise SystemExit(f"dossier: {ex}")
|
|
2533
|
+
print(f"time-stamping service: {st_['url'] or 'none'}; every dossier stamped as it is signed: {'yes' if st_['enabled'] else 'no'}"
|
|
2534
|
+
+ (f"; extra trusted roots: {st_['anchors']}" if st_["anchors"] else ""))
|
|
2535
|
+
return 0
|
|
2536
|
+
if a.timestamp_test or a.stamp:
|
|
2537
|
+
from . import timestamp as _TSM
|
|
2538
|
+
try:
|
|
2539
|
+
if a.timestamp_test:
|
|
2540
|
+
t_ = _DZ.test_timestamp(ws)
|
|
2541
|
+
print(f"{t_['url']}: {t_['status']} - {t_['tsa']} stamped {t_['gen_time']}" + (f" (accuracy {t_['accuracy_s']:g} s)" if t_.get("accuracy_s") else ""))
|
|
2542
|
+
print(f" the chain: {t_['chain_detail']}")
|
|
2543
|
+
return 0 if t_["status"] in ("TRUSTED", "VERIFIED") else 1
|
|
2544
|
+
rec = _DZ.stamp(ws, a.actor, a.stamp)
|
|
2545
|
+
except (KeyError, ValueError, OSError) as ex:
|
|
2546
|
+
raise SystemExit(f"dossier: {ex.args[0] if ex.args else ex}")
|
|
2547
|
+
print(f"stamped {rec['dossier_id']}: {rec['status']} - {rec['tsa']} at {rec['gen_time']} (signed {rec['signed_utc']} by this machine's clock)")
|
|
2548
|
+
print(f" the chain: {rec['chain']}")
|
|
2549
|
+
return 0
|
|
2513
2550
|
if a.key:
|
|
2514
2551
|
k = _DZ.key_info(ws)
|
|
2515
2552
|
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")
|
|
@@ -2532,8 +2569,11 @@ def main(argv=None) -> int:
|
|
|
2532
2569
|
print("no key history yet")
|
|
2533
2570
|
return 0
|
|
2534
2571
|
if a.list:
|
|
2572
|
+
st_ = _DZ.stamps(ws)
|
|
2535
2573
|
for e in reversed(_DZ.ledger(ws)):
|
|
2536
|
-
|
|
2574
|
+
t_ = st_.get(e["dossier_id"]) or {}
|
|
2575
|
+
print(f"{e['utc']} {e['dossier_id']} {e['display']:<24} {e['n_files']:>4} files {e['path']}"
|
|
2576
|
+
+ (f" [timestamp {t_['status']}" + (f" {t_['gen_time']}]" if t_.get("gen_time") else "]") if t_ else ""))
|
|
2537
2577
|
return 0
|
|
2538
2578
|
try:
|
|
2539
2579
|
e = _DZ.build(ws, a.actor, __version__, a.well, a.include_sources)
|
|
@@ -2542,6 +2582,9 @@ def main(argv=None) -> int:
|
|
|
2542
2582
|
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'}")
|
|
2543
2583
|
print(f" {os.path.join(ws.reports_dir, e['path'])}")
|
|
2544
2584
|
print(f" key fingerprint {e['fingerprint']}")
|
|
2585
|
+
t_ = e.get("timestamp")
|
|
2586
|
+
if t_:
|
|
2587
|
+
print(f" trusted timestamp: {t_['status']}" + (f" - {t_['tsa']} at {t_['gen_time']}" if t_.get("gen_time") else f" - {t_.get('reason', '')}"))
|
|
2545
2588
|
return 0
|
|
2546
2589
|
elif a.cmd == "collision":
|
|
2547
2590
|
import json as _json
|
|
@@ -2625,7 +2668,8 @@ def main(argv=None) -> int:
|
|
|
2625
2668
|
ws = Workspace(a.workspace) if a.workspace else None
|
|
2626
2669
|
scene = "example" if (a.example or ws is None) else "workspace"
|
|
2627
2670
|
keys_ = {"td": "td_md_ft", "td_hole": "td_hole_in", "td_mw": "td_mw_ppg", "pp": "pp_ppg", "fg": "fg_ppg", "kick": "kick_intensity_ppg",
|
|
2628
|
-
"gas": "gas_gradient_psi_ft", "
|
|
2671
|
+
"gas": "gas_gradient_psi_ft", "gas_sg": "gas_sg", "surface_temp": "surface_temp_f", "geothermal": "geothermal_f_100ft",
|
|
2672
|
+
"backup": "backup_gradient_psi_ft", "evacuation": "evacuation", "df_burst": "df_burst",
|
|
2629
2673
|
"df_collapse": "df_collapse", "df_tension": "df_tension", "overpull": "overpull_klbf", "bha_od": "bha_od_in",
|
|
2630
2674
|
"bha_length": "bha_length_ft", "dp_od": "dp_od_in"}
|
|
2631
2675
|
vals_ = {v: getattr(a, k) for k, v in keys_.items() if getattr(a, k) is not None}
|