pycsamt 2.2.0__tar.gz → 2.2.2__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.
- {pycsamt-2.2.0/pycsamt.egg-info → pycsamt-2.2.2}/PKG-INFO +4 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/__init__.py +1 -1
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/_session.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/plot.py +4 -13
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/util.py +6 -6
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/view/frame.py +17 -1
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/core/_registry.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/core/registry.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/plot.py +1 -1
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/em1d.py +77 -124
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/doc.py +28 -15
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/export.py +7 -7
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/mesh.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/objective.py +1 -1
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/plot.py +7 -7
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/regularization.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/results.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/plot.py +16 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/blocks.py +6 -6
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/cbase.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/collection.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/heads.py +6 -6
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/j.py +16 -16
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/property.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/validation.py +1 -1
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/base.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/config.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/runner.py +1 -1
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/source.py +1 -1
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/base.py +1 -1
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/builder.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/config.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/control.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/covariance.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/data.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/log.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/model2d.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/model3d.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/results.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/runner.py +1 -1
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/__init__.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/builder.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/config.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/data.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/log.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/mesh.py +30 -7
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/model.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/plot.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/response.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/results.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/runner.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/startup.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/cbase.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/collection.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/edi.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/heads.py +10 -10
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/other.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/spectra.py +15 -15
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/survey.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/time_series.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/utils.py +1 -1
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/validation.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/base.py +8 -8
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/compute.py +7 -7
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/edit.py +16 -16
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/export.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/selection.py +6 -6
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/transformers/_base.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/transformers/jedi.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/z/base.py +3 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/z/resphase.py +8 -8
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/z/tipper.py +19 -19
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/z/z.py +9 -9
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/avg.py +8 -8
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/proc_utils.py +4 -4
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/processing.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/resphase.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/var_std.py +2 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2/pycsamt.egg-info}/PKG-INFO +4 -3
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt.egg-info/requires.txt +3 -2
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pyproject.toml +10 -5
- {pycsamt-2.2.0 → pycsamt-2.2.2}/LICENSE.md +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/MANIFEST.in +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/README.md +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/_typing.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/__main__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/_corrections.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/_package_context.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/_param_schemas.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/_pricing.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/_topography.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/_workflow_plan.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/_workflows.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/ai_inversion.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/anomaly_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/batch_survey.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/code_gen.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/context.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/coordinator.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/denoising.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/edi_export.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/ensemble_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/forward.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/freq_decimation.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/hybrid_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/interpretation.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/inv2d_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/inv3d_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/inversion_backend.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/inversion_comparison.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/inversion_eval.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/inversion_prep.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/iot_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/joint_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/loader.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/mare2dem_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/master.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/metrics.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/model_zoo_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/modem_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/occam2d_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/orchestrator.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/package_qa.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/phase_analysis.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/pinn_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/pipeline_agent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/plotting.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/qc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/report.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/resistivity_map.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/router.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/sensitivity.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/static_shift.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/tensor_rotation.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/tipper_analysis.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/tooling.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/agents/web.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/_backend_utils.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/_zoo.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/data/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/data/contracts.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/data/manifest.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/data/normalization.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/data/splits.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/domain_gap/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/domain_gap/audit.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/domain_gap/report.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/domain_gap/simulator.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/domain_gap/survey_fit.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/experiments/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/experiments/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/geology/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/geology/fields.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/geology/layers.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/geology/lenses.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/geology/topography.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/_pinn_ops.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/_pinn_ops_tf.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/_pinn_ops_torch.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/_sites_bridge.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/calibration.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/ensemble.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/hybrid1d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/hybrid2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/hybrid3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/inv1d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/inv2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/inv3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/joint.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/pinn1d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/pinn2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/pinn3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/inversion/run_config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/losses/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/losses/_common.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/losses/boundary.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/losses/model.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/losses/response.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/losses/spatial.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/losses/uncertainty.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/nets/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/nets/cnn1d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/nets/drcnn.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/nets/fcn.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/nets/gcn.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/nets/resnet.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/nets/unet.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/plot/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/plot/_style.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/plot/compare.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/plot/convergence.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/plot/diagnostics.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/plot/inversion.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/plot/section.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/processing/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/processing/anomaly.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/processing/classify.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/processing/denoise.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/processing/plot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/processing/qc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/training/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/training/augment.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/training/dataset.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/training/dataset2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/training/dataset2d_tri.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/training/dataset3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/training/metrics.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/training/trainer.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/validation/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/validation/calibration.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/validation/ood.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/validation/recovery.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ai/validation/residuals.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/_rose_style.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/agents.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/bunch.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/cli/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/cli/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/cli/options.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/cli/params.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/control.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/docs.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/interp.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/labels.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/mesh.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/ordering.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/pipe/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/pipe/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/property.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/section.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/station.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/style.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/topo/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/typing.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/view/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/view/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/view/io.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/view/progress.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/view/result.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/view/survey.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/api/view/tables.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/__main__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/_ids.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/_markdown.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/_providers.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/app.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/chat.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/edi.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/help.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/inv_params.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/line_sel.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/outdir.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/params.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/plus.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/postproc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/preview.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/session.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/settings.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/sidebar.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/callbacks/splash.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/agent_master/layout.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/__main__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/agent_master_bridge.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/agent_registry.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/advanced_controller.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/app_controller.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/correction_controller.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/data_controller.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/forward_controller.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/interp_controller.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/pipeline_controller.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/plot_controller.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/qc_controller.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/settings_controller.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/controllers/tdem_controller.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/dialogs/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/dialogs/about_dialog.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/dialogs/export_dlg.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/dialogs/inversion_dlg.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/dialogs/load_data_dlg.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/dialogs/no_data_dialog.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/dialogs/preferences_dlg.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/dialogs/recompute_dlg.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/dialogs/run_agent_dlg.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/dialogs/settings_dialog.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/main_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/models/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/models/session.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/models/station_model.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/panels/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/panels/agent_panel.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/panels/log_panel.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/panels/map_panel.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/panels/profile_panel.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/panels/qc_panel.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/panels/section_panel.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/panels/station_panel.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/dark_theme.qss +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/3d.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/EDI-validator.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/advanced-tools.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/agents.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/ai.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/batch-export.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/chat.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/conversion.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/coordinate-transformer.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/coverage.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/depth.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/dimensionnality.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/distorsion.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/docs.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/elevation.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/export.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/file.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/format-converter.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/forward.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/frequency-editor.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/github.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/help.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/impendance-tensor.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/induction.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/interpret.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/inversion.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/layered-model.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/load-edis.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/log.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/map-view.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/more.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/open.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/overview.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/phase-tensor.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/phase.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/pipeline.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/pop-out.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/processing.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/profile-view.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/pycsamt-v2-symbol.ico +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/pycsamt-v2-symbol.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/pycsamt.ico +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/pycsamt_256.png +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/pycsamt_logo.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/qc.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/quit.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/recompute.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/reset.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/resistivity.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/results.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/save-session.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/save.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/shift.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/sites-correction.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/skew.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/static-shift.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/station-response.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/strike-analyzer.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/strike-profile.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/summary.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/survey-tools.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/tdem.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/text-strike.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/tools.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/topography.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/icons/utilities.svg +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/resources/light_theme.qss +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/batch_export_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/converter_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/coord_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/dimensionality_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/elevation_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/frequency_editor_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/layered_model_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/phase_tensor_map_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/phase_tensor_strip_grid_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/station_response_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/strike_profile_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/strike_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/tools/validator_tool.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/agent_browser.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/category_bar.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/colorbar_widget.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/freq_selector.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/mpl_canvas.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/overlay_combo.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/searchable_combo.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/settings_pages/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/settings_pages/base_page.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/settings_pages/display_page.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/settings_pages/interpretation_page.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/settings_pages/pseudosections_page.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/settings_pages/topography_page.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/settings_pages/view_controls_page.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/station_detail.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/station_table.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/widgets/survey_overview.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/advanced_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/agent_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/correction_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/forward_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/interp_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/inversion_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/map_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/pipeline_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/profile_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/publication_view_dialog.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/qc_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/windows/tdem_window.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/workers/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/workers/agent_worker.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/workers/ai_inversion_worker.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/workers/forward_worker.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/workers/inversion_worker.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/workers/loader_worker.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/workers/pipeline_worker.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/desktop/workers/recompute_worker.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/__main__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/_ids.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/_render.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/app.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/assets/edi_loader.js +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/assets/favicon.ico +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/assets/mapview.css +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/assets/modem_loader.js +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/cache.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/chrome.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/controls.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/export.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/inversion_import.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/lines.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/load.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/session.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/settings.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/toolbar.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/topo.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/callbacks/view.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/mapview/layout.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/__main__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/app.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/assets/analytics_carousel.js +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/assets/custom.css +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/assets/favicon.ico +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/assets/folder_loader.js +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/assets/popout.js +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/assets/profile_panzoom.js +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/cache.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/_session.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/advanced.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/agents.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/correction.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/dashboard.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/data.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/forward.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/freq.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/help.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/interp.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/inv_results.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/inversion.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/lines.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/map.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/map3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/navigation.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/pipeline.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/profile.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/qc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/recompute.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/settings.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/tdem.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/theme.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks/tools.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/callbacks.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/layout.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/advanced.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/agents_page.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/correction.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/forward.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/home.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/interpretation.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/inv_results.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/inversion.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/map3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/pipeline.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/qc_page.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/pages/tdem.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/utils.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/app/web/utils_pinn.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/evals/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/evals/harness.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/memory/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/memory/project_state.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/memory/session_state.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/memory/workflow_history.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/__main__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/ast_indexer.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/cli.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/context_builder.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/doc_indexer.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/embeddings.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/expansion.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/feedback.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/graph.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/index_store.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/ingest.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/rerank.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/retriever.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/rewrite.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/rag/schemas.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/tools/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/tools/plot_tools.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/tools/project_registry.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/tools/validation_tools.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/assistant/tools/workflow_tools.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/backends/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/backends/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/backends/_config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/backends/_detect.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/backends/_tensorflow.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/backends/_torch.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/__main__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/avg/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/avg/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/avg/correct.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/avg/export.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/avg/info.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/avg/stations.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/avg/validate.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/build/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/build/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/build/commands.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/config/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/config/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/config/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/convert.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/edi/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/edi/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/edi/info.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/edi/profile.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/edi/rotate.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/edi/select.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/edi/stations.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/edi/validate.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/forward/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/forward/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/forward/generate.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/forward/model.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/forward/run.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/info.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/interp/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/interp/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/interp/classify.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/interp/export.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/interp/rocks.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/invert/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/invert/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/invert/build.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/invert/plot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/invert/results.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/invert/run.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/invert/status.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/jones/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/jones/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/jones/blocks.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/jones/info.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/jones/select.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/jones/stations.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/jones/validate.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/map/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/map/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/map/plot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/map/stations.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/pipe/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/pipe/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/pipe/init.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/pipe/presets.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/pipe/run.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/pipe/show.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/pipe/steps.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/site/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/site/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/site/compute.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/site/edit.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/site/export.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/site/info.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/site/recompute.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/site/select.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/survey.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/tdem/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/tdem/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/tdem/convert.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/tdem/info.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/tdem/plot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/transform/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/transform/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/transform/avg.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/transform/j.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/commands/transform/spectra.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/cli/survey.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/compat/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/compat/aliases.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/compat/matplotlib.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/compat/numpy.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/compat/pandas.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/compat/python.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/compat/qt.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/compat/sklearn.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/constants.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/context.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/core/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/core/base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/core/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/core/mixins.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/decorators.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/_core.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/_rose_style.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/advanced.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/anisotropy.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/csumt.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/diag.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/dimensionality.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/fieldzone.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/frequency.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/gb.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/gradient_imaging.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/impedance.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/inspect.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/lcurve.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/legacy.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/qc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/remove_noise.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/skew.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/source_array.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/source_effects.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/spectra.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/ss.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/strike.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/tensor.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/emtools/tf.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/exceptions.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/batch.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/config2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/config3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/em2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/em3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/grid2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/grid3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/adapters.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/backends.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/batch.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/benchmarks.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/cache.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/contracts.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/contracts_tri.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/external.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/mare2dem.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/mesh.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/modem3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/mt2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/mt3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/tri_fem2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/maxwell/tri_mesh_gen.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/noise.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/plot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/forward/synthetic.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/gis/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/gis/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/gis/constants.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/gis/coord_correction.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/gis/utils.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/borehole.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/calibrate.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/constraints.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/export.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/fusion.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/hydro.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/hydromodel.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/lithology.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/petrophysics.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/plot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/timelapse.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/interp/uncertainty.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/_method.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/amt/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/amt/inv1d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/amt/inv2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/backends/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/backends/builtin.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/backends/modem.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/backends/occam2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/backends/pygimli.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/backends/simpeg.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/data.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/emap/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/emap/inv2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/model.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/mt/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/mt/inv1d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/mt/inv2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/mt/inv3d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/tdem/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/tdem/inv1d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/tdem/inv2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/inversion/workflow.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/io/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/io/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/io/parsers.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/_common.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/bridge.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/core.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/edge.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/edge_amt.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/edge_csamt.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/edge_csem.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/methods.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/monitoring.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/power.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/protocols/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/protocols/base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/protocols/file.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/protocols/http.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/protocols/mqtt.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/protocols/serial.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/protocols/store_forward.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/protocols/websocket.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/provenance.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/schemas.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/security.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/session.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/sim.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/station.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/iot/sync.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/components.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/utils.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/jones/xa.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/loc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/log/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/log/_config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/log/logger.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/log/p.configlog.yml +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/_app.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/_backends.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/_core.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/export.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/geometry.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/inversion.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/loader.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/overlays.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/profile.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/station.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/styles.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/topo.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/view.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/map/volume.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/metadata/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/metadata/_property.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/metadata/e.g.data.json +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/metadata/e.g.data.yml +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/metadata/frequency.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/metadata/geology.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/metadata/instrument.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/metadata/quality.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/metadata/rocks.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/metadata/survey.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/_solver_build/README.md +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/_solver_build/build.sh +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/_solver_build/lib/common.sh +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/_solver_build/mare2dem.sh +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/_solver_build/modem2d.sh +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/_solver_build/modem3d.sh +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/_solver_build/occam2d.sh +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/config_io.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/builder.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/data.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/diff.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/doc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/edi.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/geom/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/geom/area_of_interest.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/geom/centroids.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/geom/intersections.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/geom/line_orientation.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/geom/simplify.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/geom/simplify_poly.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/geom/topo.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/geom/triangle_regions.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/geom/utm.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/grid_to_m2d.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/import_topo.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/iotools/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/iotools/codes.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/iotools/data_group.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/iotools/emdata.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/iotools/group_rms.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/iotools/most_recent.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/iotools/poly.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/iotools/resistivity.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/iotools/settings.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/log.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/merge.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/mesh.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/noise.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/plot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/results.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/survey.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/tri_mesh.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/triangle_exec.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/validation.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/mare2dem/zmm.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/DICT/dataTypes.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/DICT/receivers.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/DICT/transmitters.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/DataFunc.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/DataIO.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/EMfield.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/EMfieldInterp.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/FWD/FwdTEmod.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/FWD/FwdTMmod.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/FWD/WSfwd2D.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/ForwardSolver.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/GridDef.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/Main.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/SolnSpace.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/SolverSens.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/Sub_MPI.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/ioMod/ioAscii.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/ioMod/ioBinary.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/modelParam/ModelMap.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/modelParam/ModelParam_MPI.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/modelParam/ModelSpace.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/modelParam/modelCov/Diffusion.hd +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/modelParam/modelCov/Diffusion.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/modelParam/modelParamIO/Binary.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/modelParam/modelParamIO/Mackie.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/2D_MT/mtInvSetup.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/INV/DCG.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/INV/INVcore.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/INV/NLCG.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/LAPACK/wsBLAS.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/LAPACK/wsLAPACK.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/LAPACK/wsio.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/MPI/Declaration_MPI.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/MPI/Main_MPI.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/Makefile +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/Mod2DMT.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/SENS/DataSens.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/SENS/DataSpace.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/SENS/SensComp.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/SENS/SensMatrix.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/SENS/SymmetryTest.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/UTILS/elements.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/UTILS/file_units.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/UTILS/math_constants.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/UTILS/polpak.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/UTILS/utilities.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/2D/UserCtrl.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/DICT/dataTypes.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/DICT/receivers.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/DICT/transmitters.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/DataFunc.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/DataIO.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/EMfieldInterp.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/EMsolve3D.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/Mod2d/FWDtest.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/Mod2d/FwdTEmod.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/Mod2d/FwdTMmod.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/Mod2d/WSfwd1Dmod.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/Mod2d/WSfwd2Dmod.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/Mod2d/WSfwd2Dpar.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/Mod2d/WSutils.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/boundary_ws.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/modelOperator3D.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/nestedEM.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/FWD/solver.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/ForwardSolver.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/GridCalc.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/GridDef.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/Main.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/SolnSpace.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/SolverSens.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/Sub_MPI.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/ioMod/ioAscii.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/ioMod/ioBinary.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/modelParam/ModelMap.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/modelParam/ModelParam_MPI.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/modelParam/ModelSpace.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/modelParam/modelCov/Diffusion.hd +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/modelParam/modelCov/Diffusion.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/modelParam/modelCov/RecursiveAR.hd +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/modelParam/modelCov/RecursiveAR.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/modelParam/modelParamIO/Binary.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/modelParam/modelParamIO/Mackie.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/modelParam/modelParamIO/WS.inc +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/3D_MT/mtInvSetup.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/FIELDS/FiniteDiff3D/sg_boundary.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/FIELDS/FiniteDiff3D/sg_diff_oper.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/FIELDS/FiniteDiff3D/sg_scalar.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/FIELDS/FiniteDiff3D/sg_sparse_vector.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/FIELDS/FiniteDiff3D/sg_spherical.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/FIELDS/FiniteDiff3D/sg_vector.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/INV/DCG.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/INV/INVcore.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/INV/NLCG.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/LAPACK/wsBLAS.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/LAPACK/wsLAPACK.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/LAPACK/wsio.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/MPI/Declaration_MPI.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/MPI/Main_MPI.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/Makefile +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/Mod3DMT.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/SENS/DataSens.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/SENS/DataSpace.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/SENS/SensComp.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/SENS/SensMatrix.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/SENS/SymmetryTest.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/UTILS/elements.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/UTILS/file_units.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/UTILS/math_constants.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/UTILS/polpak.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/UTILS/utilities.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/3D/UserCtrl.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/COPYRIGHT +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/Code_availability.txt +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/Egbert&Kelbert_2012_ModEM_GJI.pdf +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/Kelbert_et_al_2014_ModEM.pdf +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/README +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/User_instructions.txt +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/_source/install_sources.sh +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/doc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/iotools/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/iotools/export.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/iotools/impedance.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/iotools/interpolate.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/iotools/mackie.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/iotools/utils.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/plot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/section.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/modem/validation.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/_source/MT2D.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/_source/MT2DModules.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/_source/Makefile +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/_source/Occam.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/_source/OccamModules.f90 +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/doc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/models/occam2d/validation.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/pipeline/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/pipeline/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/pipeline/_config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/pipeline/_output.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/pipeline/_pipeline.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/pipeline/_presets.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/pipeline/_registry.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/pipeline/_report.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/pipeline/_steps.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/pipeline/plot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/pipeline/stratagem.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/projection.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/property.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/components.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/meas.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/mtemap.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/ops.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/property.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/schema.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/sections.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/seg/xa.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/session.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/lines.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/location.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/metadata.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/profile.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/recompute.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/report.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/site/utils.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/stratagem/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/stratagem/gis_correct.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/stratagem/io.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/stratagem/process.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/stratagem/qc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/stratagem/rename.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/stratagem/survey.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/avg.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/coordinates.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/io.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/log.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/plot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/reader.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/survey.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/transform.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/waveform.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/workflow.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/tdem/zplot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/topo/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/topo/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/topo/drape.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/topo/extract.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/topo/overlay.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/topo/section.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/transformers/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/transformers/spectra.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/transformers/ts.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ts/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ts/_base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ts/convert.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ts/process.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/ts/readers.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/_dependency.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/arrayops.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/cleaner.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/conversion.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/deps.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/em.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/exmath.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/features.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/funcutils.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/generic.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/handlers.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/io.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/mathext.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/plot.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/progress.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/stats.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/text.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/validation.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/version.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/utils/zmath.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/z/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/z/utils.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/__init__.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/_transfer.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/base.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/components.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/config.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/heads.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/info.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/meas.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/ops.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/property.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/qc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/schema.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/survey.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/tensor.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/tipper.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/utils.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/var_pc.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt/zonge/z.py +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt.egg-info/SOURCES.txt +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt.egg-info/dependency_links.txt +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt.egg-info/entry_points.txt +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/pycsamt.egg-info/top_level.txt +0 -0
- {pycsamt-2.2.0 → pycsamt-2.2.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pycsamt
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.2
|
|
4
4
|
Summary: Scientific Python for electromagnetic geophysics — processing, inversion, AI agents, and apps
|
|
5
5
|
Author-email: Laurent Kouadio <etanoyau@gmail.com>
|
|
6
6
|
Maintainer-email: Laurent Kouadio <etanoyau@gmail.com>
|
|
@@ -36,6 +36,9 @@ Requires-Dist: tqdm>=4.60
|
|
|
36
36
|
Requires-Dist: click>=8.1
|
|
37
37
|
Requires-Dist: rich>=13.0
|
|
38
38
|
Requires-Dist: typing_extensions>=4.1; python_version < "3.10"
|
|
39
|
+
Requires-Dist: scikit-learn>=1.1
|
|
40
|
+
Requires-Dist: empymod>=2.5
|
|
41
|
+
Requires-Dist: h5py>=3.8
|
|
39
42
|
Provides-Extra: torch
|
|
40
43
|
Requires-Dist: torch>=1.13; extra == "torch"
|
|
41
44
|
Provides-Extra: tensorflow
|
|
@@ -44,7 +47,6 @@ Provides-Extra: geo
|
|
|
44
47
|
Requires-Dist: pyproj>=3.3; extra == "geo"
|
|
45
48
|
Requires-Dist: xarray>=2022.6; extra == "geo"
|
|
46
49
|
Requires-Dist: contextily>=1.6; extra == "geo"
|
|
47
|
-
Requires-Dist: h5py>=3.8; extra == "geo"
|
|
48
50
|
Provides-Extra: dev
|
|
49
51
|
Requires-Dist: pytest>=7.2; extra == "dev"
|
|
50
52
|
Requires-Dist: pytest-cov>=4.0; extra == "dev"
|
|
@@ -52,7 +54,6 @@ Requires-Dist: pytest-timeout>=2.3; extra == "dev"
|
|
|
52
54
|
Requires-Dist: pytest-xdist>=3.5; extra == "dev"
|
|
53
55
|
Requires-Dist: ruff>=0.4; extra == "dev"
|
|
54
56
|
Requires-Dist: pre-commit>=3.0; extra == "dev"
|
|
55
|
-
Requires-Dist: scikit-learn>=1.1; extra == "dev"
|
|
56
57
|
Provides-Extra: docs
|
|
57
58
|
Requires-Dist: sphinx>=7.2; extra == "docs"
|
|
58
59
|
Requires-Dist: pydata-sphinx-theme>=0.15; extra == "docs"
|
|
@@ -17,7 +17,7 @@ try:
|
|
|
17
17
|
|
|
18
18
|
__version__ = _pkg_version(__name__)
|
|
19
19
|
except Exception:
|
|
20
|
-
__version__ = "2.2.
|
|
20
|
+
__version__ = "2.2.2"
|
|
21
21
|
|
|
22
22
|
# ── Removed v1 names ──────────────────────────────────────────────────────────
|
|
23
23
|
# Defined BEFORE logging (and before __getattr__) so this dict is always
|
|
@@ -145,8 +145,8 @@ class Session(CoreObject):
|
|
|
145
145
|
|
|
146
146
|
References
|
|
147
147
|
----------
|
|
148
|
-
.. [1] Python Stdlib. *context managers* (`with` statement).
|
|
149
|
-
.. [2] NumPy. *np.savez_compressed* used by registry packers.
|
|
148
|
+
.. [Session-1] Python Stdlib. *context managers* (`with` statement).
|
|
149
|
+
.. [Session-2] NumPy. *np.savez_compressed* used by registry packers.
|
|
150
150
|
"""
|
|
151
151
|
|
|
152
152
|
def __init__(
|
|
@@ -473,8 +473,8 @@ class Normalize(CoreObject):
|
|
|
473
473
|
|
|
474
474
|
References
|
|
475
475
|
----------
|
|
476
|
-
.. [1] D. Wight (1991). *SEG MT/EMAP EDI Standard*.
|
|
477
|
-
.. [2] Zonge International. *AVG data format*, tech notes.
|
|
476
|
+
.. [Normalize-1] D. Wight (1991). *SEG MT/EMAP EDI Standard*.
|
|
477
|
+
.. [Normalize-2] Zonge International. *AVG data format*, tech notes.
|
|
478
478
|
"""
|
|
479
479
|
|
|
480
480
|
def __init__(
|
|
@@ -107,19 +107,10 @@ Each token is a format extension (without the leading dot):
|
|
|
107
107
|
Supported formats: ``png``, ``svg``, ``pdf``, ``eps``, ``tiff``,
|
|
108
108
|
``jpg``/``jpeg``.
|
|
109
109
|
|
|
110
|
-
PlotConfig
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
PlotConfig.fmt
|
|
115
|
-
PlotConfig.base_fmt
|
|
116
|
-
PlotConfig.dpi
|
|
117
|
-
PlotConfig.bbox_inches
|
|
118
|
-
PlotConfig.transparent
|
|
119
|
-
PlotConfig.facecolor
|
|
120
|
-
PlotConfig.savedir
|
|
121
|
-
PlotConfig.close_after_save
|
|
122
|
-
PlotConfig.verbose
|
|
110
|
+
See :class:`PlotConfig` below for the full list of configurable
|
|
111
|
+
attributes (``fmt``, ``base_fmt``, ``dpi``, ``bbox_inches``,
|
|
112
|
+
``transparent``, ``facecolor``, ``savedir``, ``close_after_save``,
|
|
113
|
+
``verbose``).
|
|
123
114
|
"""
|
|
124
115
|
|
|
125
116
|
from __future__ import annotations
|
|
@@ -56,9 +56,9 @@ class TerminalSize:
|
|
|
56
56
|
|
|
57
57
|
References
|
|
58
58
|
----------
|
|
59
|
-
.. [1] Python Software Foundation. Python Language Reference, version 3.9.
|
|
59
|
+
.. [TerminalSize-1] Python Software Foundation. Python Language Reference, version 3.9.
|
|
60
60
|
Available at http://www.python.org
|
|
61
|
-
.. [2] Python `shutil` module documentation. Available at
|
|
61
|
+
.. [TerminalSize-2] Python `shutil` module documentation. Available at
|
|
62
62
|
https://docs.python.org/3/library/shutil.html#get_terminal_size
|
|
63
63
|
"""
|
|
64
64
|
|
|
@@ -667,7 +667,7 @@ def get_table_width_from(
|
|
|
667
667
|
|
|
668
668
|
References
|
|
669
669
|
----------
|
|
670
|
-
.. [1] McKinney, Wes. "Data Structures for Statistical Computing in Python."
|
|
670
|
+
.. [get-table-width-from-1] McKinney, Wes. "Data Structures for Statistical Computing in Python."
|
|
671
671
|
Proceedings of the 9th Python in Science Conference. 2010.
|
|
672
672
|
"""
|
|
673
673
|
border_lines = [
|
|
@@ -1452,9 +1452,9 @@ def count_functions(
|
|
|
1452
1452
|
|
|
1453
1453
|
References
|
|
1454
1454
|
----------
|
|
1455
|
-
.. [1] Python Software Foundation. Python Language Reference, version 3.9.
|
|
1455
|
+
.. [count-functions-1] Python Software Foundation. Python Language Reference, version 3.9.
|
|
1456
1456
|
Available at http://www.python.org
|
|
1457
|
-
.. [2] Python `ast` module documentation. Available at
|
|
1457
|
+
.. [count-functions-2] Python `ast` module documentation. Available at
|
|
1458
1458
|
https://docs.python.org/3/library/ast.html
|
|
1459
1459
|
"""
|
|
1460
1460
|
|
|
@@ -1592,7 +1592,7 @@ def round_numeric_values(df, precision=4):
|
|
|
1592
1592
|
|
|
1593
1593
|
References
|
|
1594
1594
|
----------
|
|
1595
|
-
.. [1] "NumPy Documentation", https://numpy.org/doc/stable/
|
|
1595
|
+
.. [round-numeric-values-1] "NumPy Documentation", https://numpy.org/doc/stable/
|
|
1596
1596
|
|
|
1597
1597
|
"""
|
|
1598
1598
|
|
|
@@ -391,7 +391,23 @@ def maybe_wrap_frame(
|
|
|
391
391
|
if api is False:
|
|
392
392
|
return data
|
|
393
393
|
if api is True:
|
|
394
|
-
# Explicit per-call override: always
|
|
394
|
+
# Explicit per-call override: always wrap. A configured custom
|
|
395
|
+
# wrapper still applies here -- only an explicit "pandas"/disabled
|
|
396
|
+
# backend is overridden, since that would contradict "always wrap".
|
|
397
|
+
from .config import PYCSAMT_API_VIEW
|
|
398
|
+
|
|
399
|
+
if callable(PYCSAMT_API_VIEW.backend):
|
|
400
|
+
return wrap_frame(
|
|
401
|
+
data,
|
|
402
|
+
name=name,
|
|
403
|
+
kind=kind,
|
|
404
|
+
source=source,
|
|
405
|
+
units=units,
|
|
406
|
+
meta=meta,
|
|
407
|
+
description=description,
|
|
408
|
+
copy=copy,
|
|
409
|
+
**frame_kwargs,
|
|
410
|
+
)
|
|
395
411
|
return _default_wrap_frame(
|
|
396
412
|
data,
|
|
397
413
|
name=name,
|
|
@@ -508,8 +508,8 @@ class FileManifestStore(ManifestStore):
|
|
|
508
508
|
|
|
509
509
|
References
|
|
510
510
|
----------
|
|
511
|
-
.. [1] Python Standard Library. *json* module.
|
|
512
|
-
.. [2] Python 3.11+. *tomllib* — TOML parser.
|
|
511
|
+
.. [FileManifestStore-1] Python Standard Library. *json* module.
|
|
512
|
+
.. [FileManifestStore-2] Python 3.11+. *tomllib* — TOML parser.
|
|
513
513
|
"""
|
|
514
514
|
|
|
515
515
|
def load(self, path: Path) -> Manifest:
|
|
@@ -654,9 +654,9 @@ class Registry(CoreObject):
|
|
|
654
654
|
|
|
655
655
|
References
|
|
656
656
|
----------
|
|
657
|
-
.. [1] D. Wight (1991). *SEG MT/EMAP EDI Standard*.
|
|
657
|
+
.. [Registry-1] D. Wight (1991). *SEG MT/EMAP EDI Standard*.
|
|
658
658
|
Society of Exploration Geophysicists.
|
|
659
|
-
.. [2] Python Standard Library. *pathlib* module.
|
|
659
|
+
.. [Registry-2] Python Standard Library. *pathlib* module.
|
|
660
660
|
"""
|
|
661
661
|
|
|
662
662
|
def __init__(
|
|
@@ -76,7 +76,7 @@ def register_packer(kind: str, packer: Packer) -> None:
|
|
|
76
76
|
|
|
77
77
|
References
|
|
78
78
|
----------
|
|
79
|
-
.. [1] NumPy. ``np.savez_compressed`` for NPZ payloads.
|
|
79
|
+
.. [register-packer-1] NumPy. ``np.savez_compressed`` for NPZ payloads.
|
|
80
80
|
"""
|
|
81
81
|
|
|
82
82
|
if not kind or not isinstance(kind, str):
|
|
@@ -275,7 +275,7 @@ def pack_to_file(
|
|
|
275
275
|
|
|
276
276
|
References
|
|
277
277
|
----------
|
|
278
|
-
.. [1] NumPy Reference. *np.savez_compressed*.
|
|
278
|
+
.. [pack-to-file-1] NumPy Reference. *np.savez_compressed*.
|
|
279
279
|
"""
|
|
280
280
|
|
|
281
281
|
p = Path(path)
|
|
@@ -423,8 +423,8 @@ class RegistryAPI(CoreObject):
|
|
|
423
423
|
|
|
424
424
|
References
|
|
425
425
|
----------
|
|
426
|
-
.. [1] D. Wight (1991). *SEG MT/EMAP EDI Standard*.
|
|
427
|
-
.. [2] NumPy Reference. *np.savez_compressed*, *np.load*.
|
|
426
|
+
.. [RegistryAPI-1] D. Wight (1991). *SEG MT/EMAP EDI Standard*.
|
|
427
|
+
.. [RegistryAPI-2] NumPy Reference. *np.savez_compressed*, *np.load*.
|
|
428
428
|
"""
|
|
429
429
|
|
|
430
430
|
def __init__(
|
|
@@ -1429,7 +1429,7 @@ def plot_response_tipper(
|
|
|
1429
1429
|
bbox_to_anchor=(0.38, -0.015),
|
|
1430
1430
|
fontsize=8,
|
|
1431
1431
|
)
|
|
1432
|
-
if show_tipper_legend:
|
|
1432
|
+
if show_tipper_legend and tips:
|
|
1433
1433
|
real_style = PYCSAMT_STYLE.mt.xy
|
|
1434
1434
|
imag_style = PYCSAMT_STYLE.mt.yx.copy(
|
|
1435
1435
|
ls="--",
|
|
@@ -12,11 +12,9 @@ Three EM methods are provided, all using the same
|
|
|
12
12
|
MT/AMT/CSAMT far-field training data.
|
|
13
13
|
|
|
14
14
|
``TEM1DForward``
|
|
15
|
-
Central-loop time-domain EM (step-off waveform).
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
``scipy.integrate`` (correct but not optimised; a DLF
|
|
19
|
-
acceleration layer is planned for Phase 2).
|
|
15
|
+
Central-loop time-domain EM (step-off waveform). Delegates the
|
|
16
|
+
Hankel/Fourier transform to :mod:`empymod`'s validated digital
|
|
17
|
+
linear filters rather than a hand-rolled quadrature.
|
|
20
18
|
|
|
21
19
|
``CSAMT1DForward``
|
|
22
20
|
Controlled-source AMT. In the far-field limit this reduces to
|
|
@@ -192,82 +190,9 @@ def _z_surface_mt(omega: float, rho: np.ndarray, thick: np.ndarray) -> complex:
|
|
|
192
190
|
return Z
|
|
193
191
|
|
|
194
192
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
"""
|
|
199
|
-
Vectorised TE-mode surface admittance Y_TE(λ, ω) for all λ at once.
|
|
200
|
-
|
|
201
|
-
Parameters
|
|
202
|
-
----------
|
|
203
|
-
lam : ndarray (n_lam,)
|
|
204
|
-
Horizontal wavenumbers [1/m].
|
|
205
|
-
omega : float
|
|
206
|
-
Angular frequency [rad/s].
|
|
207
|
-
rho, thick : as in _z_surface_mt
|
|
208
|
-
|
|
209
|
-
Returns
|
|
210
|
-
-------
|
|
211
|
-
Y_TE : ndarray (n_lam,), complex
|
|
212
|
-
"""
|
|
213
|
-
sigma = 1.0 / rho # conductivities
|
|
214
|
-
|
|
215
|
-
# Vertical wavenumber ν_j² = λ² + iωμ₀σ_j
|
|
216
|
-
# Shape broadcast: (n_lam, n_layers)
|
|
217
|
-
nu = np.sqrt(lam[:, None] ** 2 + 1j * omega * MU0 * sigma[None, :])
|
|
218
|
-
|
|
219
|
-
# Intrinsic TE admittance Y0_j = ν_j / (iωμ₀)
|
|
220
|
-
Y0 = nu / (1j * omega * MU0) # (n_lam, n_layers)
|
|
221
|
-
|
|
222
|
-
# Start from halfspace
|
|
223
|
-
Y = Y0[:, -1].copy() # (n_lam,)
|
|
224
|
-
|
|
225
|
-
for j in range(len(rho) - 2, -1, -1):
|
|
226
|
-
Y0j = Y0[:, j]
|
|
227
|
-
nu_j = nu[:, j]
|
|
228
|
-
th = np.tanh(nu_j * thick[j])
|
|
229
|
-
Y = Y0j * (Y + Y0j * th) / (Y0j + Y * th)
|
|
230
|
-
|
|
231
|
-
return Y
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
def _hankel_hz_fd(
|
|
235
|
-
omega: float,
|
|
236
|
-
rho: np.ndarray,
|
|
237
|
-
thick: np.ndarray,
|
|
238
|
-
loop_radius: float,
|
|
239
|
-
n_lam: int = 150,
|
|
240
|
-
) -> complex:
|
|
241
|
-
"""
|
|
242
|
-
Frequency-domain H_z at the centre of a horizontal circular loop of
|
|
243
|
-
radius *loop_radius* over a 1-D earth.
|
|
244
|
-
|
|
245
|
-
The integral ∫₀^∞ λ · r_TE(λ,ω) · J₁(λa) dλ is evaluated with
|
|
246
|
-
Gauss-Legendre quadrature in log(λ) space.
|
|
247
|
-
|
|
248
|
-
Returns H_z per unit moment [1/m³].
|
|
249
|
-
"""
|
|
250
|
-
from numpy.polynomial.legendre import leggauss
|
|
251
|
-
from scipy.special import j1 as J1
|
|
252
|
-
|
|
253
|
-
a = loop_radius
|
|
254
|
-
lam_lo = np.log(1e-5 / a)
|
|
255
|
-
lam_hi = np.log(1e5 / a)
|
|
256
|
-
|
|
257
|
-
nodes, wts = leggauss(n_lam)
|
|
258
|
-
t = 0.5 * (lam_hi - lam_lo) * nodes + 0.5 * (lam_hi + lam_lo)
|
|
259
|
-
lam = np.exp(t)
|
|
260
|
-
jac = 0.5 * (lam_hi - lam_lo)
|
|
261
|
-
|
|
262
|
-
Y_TE = _te_admittance(lam, omega, rho, thick)
|
|
263
|
-
Y0_air = lam / (1j * omega * MU0) # air admittance ν₀/iωμ₀ ≈ λ/iωμ₀
|
|
264
|
-
|
|
265
|
-
r_TE = (Y0_air - Y_TE) / (Y0_air + Y_TE)
|
|
266
|
-
|
|
267
|
-
# Kernel: λ · r_TE · J₁(λa) × λ (Jacobian for log substitution)
|
|
268
|
-
integrand = lam * r_TE * J1(lam * a) * lam
|
|
269
|
-
|
|
270
|
-
return jac * complex(np.dot(wts, integrand)) / (4.0 * np.pi)
|
|
193
|
+
# TEM1DForward's frequency-domain Hankel transform and time-domain Fourier
|
|
194
|
+
# transform are delegated to empymod (Werthmüller, 2017) rather than
|
|
195
|
+
# hand-rolled here -- see TEM1DForward's docstring for why.
|
|
271
196
|
|
|
272
197
|
|
|
273
198
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -358,15 +283,28 @@ class TEM1DForward(_Base1DForward):
|
|
|
358
283
|
"""
|
|
359
284
|
1-D central-loop TEM forward solver (step-off waveform).
|
|
360
285
|
|
|
361
|
-
Computes the vertical magnetic field
|
|
362
|
-
|
|
363
|
-
|
|
286
|
+
Computes the vertical magnetic field via :mod:`empymod`'s validated
|
|
287
|
+
digital-linear-filter Hankel and Fourier transforms
|
|
288
|
+
(Werthmüller, 2017), rather than a hand-rolled quadrature.
|
|
364
289
|
|
|
365
290
|
.. note::
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
291
|
+
An earlier from-scratch implementation (fixed-order Gauss-Legendre
|
|
292
|
+
Hankel transform + naive trapezoidal cosine transform) did not
|
|
293
|
+
converge at realistic time ranges -- its own frequency-domain
|
|
294
|
+
kernel grew unboundedly at high frequency instead of decaying, and
|
|
295
|
+
refining either quadrature's resolution changed the answer's
|
|
296
|
+
*sign*, not just its accuracy, at several requested times. That
|
|
297
|
+
implementation is gone; :mod:`empymod` is a peer-reviewed,
|
|
298
|
+
independently validated EM modelling library built specifically
|
|
299
|
+
for this class of problem, and is verified byte-for-byte against
|
|
300
|
+
Ward & Hohmann (1988)'s own closed-form half-space dBz/dt formula
|
|
301
|
+
(their eq. 4.70) as part of this module's test suite.
|
|
302
|
+
|
|
303
|
+
The loop itself is represented as a small tangential electric bipole
|
|
304
|
+
at the loop radius, scaled by the loop's circumference -- the same
|
|
305
|
+
"loop as a scaled dipole segment" construction :mod:`empymod` uses to
|
|
306
|
+
reproduce Ward & Hohmann's own central-loop figures (4.7-4.8), valid
|
|
307
|
+
by the axisymmetry of a horizontal circular loop.
|
|
370
308
|
|
|
371
309
|
Parameters
|
|
372
310
|
----------
|
|
@@ -377,14 +315,20 @@ class TEM1DForward(_Base1DForward):
|
|
|
377
315
|
Transmitter loop radius [m]. Default 50 m.
|
|
378
316
|
moment : float
|
|
379
317
|
Transmitter magnetic moment [A·m²]. Default 1 A·m².
|
|
380
|
-
n_freqs : int
|
|
381
|
-
|
|
382
|
-
|
|
318
|
+
n_freqs, n_lam : int
|
|
319
|
+
Unused. Accepted only so existing callers (e.g.
|
|
320
|
+
:class:`pycsamt.inversion.backends.builtin.Builtin1DBackend`,
|
|
321
|
+
which threads ``backend_options`` straight through) do not break;
|
|
322
|
+
:mod:`empymod`'s own filters pick their resolution automatically.
|
|
383
323
|
|
|
384
324
|
References
|
|
385
325
|
----------
|
|
386
326
|
Ward & Hohmann (1988), *Electromagnetic Methods in Applied
|
|
387
327
|
Geophysics*, Vol. 1.
|
|
328
|
+
|
|
329
|
+
Werthmüller, D. (2017). An open-source full 3D electromagnetic
|
|
330
|
+
modeler for 1D VTI media in Python: empymod. *Geophysics*, 82(6),
|
|
331
|
+
WB9-WB19.
|
|
388
332
|
"""
|
|
389
333
|
|
|
390
334
|
def __init__(
|
|
@@ -400,16 +344,40 @@ class TEM1DForward(_Base1DForward):
|
|
|
400
344
|
self.moment = float(moment)
|
|
401
345
|
self.n_freqs = n_freqs
|
|
402
346
|
self.n_lam = n_lam
|
|
403
|
-
#
|
|
347
|
+
# Frequency grid for the (informational) hz_freq field only --
|
|
348
|
+
# not used by the dBz/dt computation itself.
|
|
404
349
|
t_min = self.times.min()
|
|
405
350
|
t_max = self.times.max()
|
|
406
|
-
# Cover 4 decades below/above the time window
|
|
407
351
|
self._omega = np.logspace(
|
|
408
352
|
np.log10(2.0 * np.pi / (10.0 * t_max)),
|
|
409
353
|
np.log10(2.0 * np.pi / (t_min / 10.0)),
|
|
410
354
|
n_freqs,
|
|
411
355
|
)
|
|
412
356
|
|
|
357
|
+
def _empymod_kwargs(self, model) -> dict:
|
|
358
|
+
rho = np.asarray(model.resistivity, dtype=float)
|
|
359
|
+
thick = np.asarray(model.thickness, dtype=float)
|
|
360
|
+
a = self.loop_radius
|
|
361
|
+
|
|
362
|
+
res = np.concatenate(([2e14], rho)) # air, then earth layers
|
|
363
|
+
depth = np.concatenate(([0.0], np.cumsum(thick)))
|
|
364
|
+
|
|
365
|
+
# A loop driven by current I has magnetic moment m = I * area;
|
|
366
|
+
# empymod's loop-as-bipole trick wants strength = I * circumference
|
|
367
|
+
# = (m / area) * (2*pi*a) = 2*m/a.
|
|
368
|
+
strength = 2.0 * self.moment / a
|
|
369
|
+
|
|
370
|
+
return dict(
|
|
371
|
+
src=[a, 0.0, 0.0, 90.0, 0.0],
|
|
372
|
+
rec=[0.0, 0.0, 0.0, 0.0, 90.0],
|
|
373
|
+
depth=depth.tolist(),
|
|
374
|
+
res=res.tolist(),
|
|
375
|
+
strength=strength,
|
|
376
|
+
mrec=True,
|
|
377
|
+
epermH=[0.0] * res.size, # reduces early-time numerical noise
|
|
378
|
+
verb=0,
|
|
379
|
+
)
|
|
380
|
+
|
|
413
381
|
def run(self, model) -> ForwardResponse:
|
|
414
382
|
"""
|
|
415
383
|
Compute the TEM 1-D step-off response for *model*.
|
|
@@ -424,24 +392,25 @@ class TEM1DForward(_Base1DForward):
|
|
|
424
392
|
ForwardResponse
|
|
425
393
|
Fields populated: ``dBz_dt``, ``hz_freq``, ``times``.
|
|
426
394
|
"""
|
|
427
|
-
|
|
428
|
-
thick = model.thickness
|
|
395
|
+
import empymod
|
|
429
396
|
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
* self.moment
|
|
397
|
+
kwargs = self._empymod_kwargs(model)
|
|
398
|
+
|
|
399
|
+
# signal=0 (impulse response) is dBz/dt for a step-off source --
|
|
400
|
+
# standard LTI result: d/dt of the switch-off step equals minus
|
|
401
|
+
# the impulse response, and empymod returns that derivative
|
|
402
|
+
# directly (verified against Ward & Hohmann 1988 eq. 4.70).
|
|
403
|
+
dBz_dt = np.asarray(
|
|
404
|
+
empymod.bipole(freqtime=self.times, signal=0, **kwargs).real,
|
|
405
|
+
dtype=float,
|
|
440
406
|
)
|
|
441
407
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
408
|
+
hz_fd = np.asarray(
|
|
409
|
+
empymod.bipole(
|
|
410
|
+
freqtime=self._omega / (2.0 * np.pi), signal=None, **kwargs
|
|
411
|
+
),
|
|
412
|
+
dtype=complex,
|
|
413
|
+
)
|
|
445
414
|
|
|
446
415
|
return ForwardResponse(
|
|
447
416
|
method="TEM1D",
|
|
@@ -451,22 +420,6 @@ class TEM1DForward(_Base1DForward):
|
|
|
451
420
|
model=model,
|
|
452
421
|
)
|
|
453
422
|
|
|
454
|
-
def _cosine_transform(self, hz_fd: np.ndarray) -> np.ndarray:
|
|
455
|
-
"""Numerical cosine transform → dBz/dt at self.times."""
|
|
456
|
-
omega = self._omega
|
|
457
|
-
dlog_omega = np.diff(np.log(omega)) # spacings
|
|
458
|
-
# Trapezoidal integration in log(ω) space
|
|
459
|
-
# ∫ f(ω) dω ≈ Σ f(ω_k) · ω_k · Δlog(ω)
|
|
460
|
-
result = np.empty(len(self.times))
|
|
461
|
-
for i, t in enumerate(self.times):
|
|
462
|
-
integrand = omega * np.imag(hz_fd) * np.cos(omega * t)
|
|
463
|
-
# Trapezoidal in log-space: integrate f(ω)*ω d(log ω)
|
|
464
|
-
pts = integrand * omega # f·ω for log spacing
|
|
465
|
-
result[i] = (2.0 / np.pi) * np.sum(
|
|
466
|
-
0.5 * (pts[:-1] + pts[1:]) * dlog_omega
|
|
467
|
-
)
|
|
468
|
-
return result
|
|
469
|
-
|
|
470
423
|
|
|
471
424
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
472
425
|
# CSAMT 1-D forward
|
|
@@ -105,9 +105,9 @@ Run from a dictionary in one line::
|
|
|
105
105
|
references="""
|
|
106
106
|
References
|
|
107
107
|
----------
|
|
108
|
-
.. [1] Aster, R. C., Borchers, B. and Thurber, C. H. (2018). *Parameter
|
|
108
|
+
.. [workflow-1] Aster, R. C., Borchers, B. and Thurber, C. H. (2018). *Parameter
|
|
109
109
|
Estimation and Inverse Problems*, 3rd edition. Elsevier.
|
|
110
|
-
.. [2] Chave, A. D. and Jones, A. G. (2012). *The Magnetotelluric Method:
|
|
110
|
+
.. [workflow-2] Chave, A. D. and Jones, A. G. (2012). *The Magnetotelluric Method:
|
|
111
111
|
Theory and Practice*. Cambridge University Press.
|
|
112
112
|
""",
|
|
113
113
|
)
|
|
@@ -182,10 +182,10 @@ Coerce a mapping supplied in a configuration file::
|
|
|
182
182
|
references="""
|
|
183
183
|
References
|
|
184
184
|
----------
|
|
185
|
-
.. [1] Constable, S. C., Parker, R. L. and Constable, C. G. (1987). Occam's
|
|
185
|
+
.. [model-1] Constable, S. C., Parker, R. L. and Constable, C. G. (1987). Occam's
|
|
186
186
|
inversion: A practical algorithm for generating smooth models from
|
|
187
187
|
electromagnetic sounding data. *Geophysics*, 52(3), 289-300.
|
|
188
|
-
.. [2] Aster, R. C., Borchers, B. and Thurber, C. H. (2018). *Parameter
|
|
188
|
+
.. [model-2] Aster, R. C., Borchers, B. and Thurber, C. H. (2018). *Parameter
|
|
189
189
|
Estimation and Inverse Problems*, 3rd edition. Elsevier.
|
|
190
190
|
""",
|
|
191
191
|
)
|
|
@@ -228,11 +228,11 @@ Use component masks to down-weight stations or samples::
|
|
|
228
228
|
error_model_references="""
|
|
229
229
|
References
|
|
230
230
|
----------
|
|
231
|
-
.. [1] Tarantola, A. (2005). *Inverse Problem Theory and Methods for Model
|
|
231
|
+
.. [errors-1] Tarantola, A. (2005). *Inverse Problem Theory and Methods for Model
|
|
232
232
|
Parameter Estimation*. SIAM.
|
|
233
|
-
.. [2] Aster, R. C., Borchers, B. and Thurber, C. H. (2018). *Parameter
|
|
233
|
+
.. [errors-2] Aster, R. C., Borchers, B. and Thurber, C. H. (2018). *Parameter
|
|
234
234
|
Estimation and Inverse Problems*, 3rd edition. Elsevier.
|
|
235
|
-
.. [3] Chave, A. D. and Jones, A. G. (2012). *The Magnetotelluric Method:
|
|
235
|
+
.. [errors-3] Chave, A. D. and Jones, A. G. (2012). *The Magnetotelluric Method:
|
|
236
236
|
Theory and Practice*. Cambridge University Press.
|
|
237
237
|
""",
|
|
238
238
|
)
|
|
@@ -317,12 +317,12 @@ Read shared settings from an inversion config::
|
|
|
317
317
|
references="""
|
|
318
318
|
References
|
|
319
319
|
----------
|
|
320
|
-
.. [1] Tikhonov, A. N. and Arsenin, V. Y. (1977). *Solutions of Ill-Posed
|
|
320
|
+
.. [regularization-1] Tikhonov, A. N. and Arsenin, V. Y. (1977). *Solutions of Ill-Posed
|
|
321
321
|
Problems*. Winston.
|
|
322
|
-
.. [2] Constable, S. C., Parker, R. L. and Constable, C. G. (1987). Occam's
|
|
322
|
+
.. [regularization-2] Constable, S. C., Parker, R. L. and Constable, C. G. (1987). Occam's
|
|
323
323
|
inversion: A practical algorithm for generating smooth models from
|
|
324
324
|
electromagnetic sounding data. *Geophysics*, 52(3), 289-300.
|
|
325
|
-
.. [3] Farquharson, C. G. and Oldenburg, D. W. (1998). Non-linear inversion
|
|
325
|
+
.. [regularization-3] Farquharson, C. G. and Oldenburg, D. W. (1998). Non-linear inversion
|
|
326
326
|
using general measures of data misfit and model structure. *Geophysical
|
|
327
327
|
Journal International*, 134(1), 213-227.
|
|
328
328
|
""",
|
|
@@ -396,10 +396,23 @@ Summarize a result in logs or notebooks::
|
|
|
396
396
|
references="""
|
|
397
397
|
References
|
|
398
398
|
----------
|
|
399
|
-
.. [1] Constable, S. C., Parker, R. L. and Constable, C. G. (1987). Occam's
|
|
399
|
+
.. [result-1] Constable, S. C., Parker, R. L. and Constable, C. G. (1987). Occam's
|
|
400
400
|
inversion: A practical algorithm for generating smooth models from
|
|
401
401
|
electromagnetic sounding data. *Geophysics*, 52(3), 289-300.
|
|
402
|
-
.. [2] Aster, R. C., Borchers, B. and Thurber, C. H. (2018). *Parameter
|
|
402
|
+
.. [result-2] Aster, R. C., Borchers, B. and Thurber, C. H. (2018). *Parameter
|
|
403
|
+
Estimation and Inverse Problems*, 3rd edition. Elsevier.
|
|
404
|
+
""",
|
|
405
|
+
# Same citations as `references`, but with distinct footnote labels:
|
|
406
|
+
# both blocks are interpolated into different classes' docstrings that
|
|
407
|
+
# render on the same page (pycsamt.inversion.results), so the labels
|
|
408
|
+
# must not collide.
|
|
409
|
+
references_uncertainty="""
|
|
410
|
+
References
|
|
411
|
+
----------
|
|
412
|
+
.. [result-unc-1] Constable, S. C., Parker, R. L. and Constable, C. G. (1987). Occam's
|
|
413
|
+
inversion: A practical algorithm for generating smooth models from
|
|
414
|
+
electromagnetic sounding data. *Geophysics*, 52(3), 289-300.
|
|
415
|
+
.. [result-unc-2] Aster, R. C., Borchers, B. and Thurber, C. H. (2018). *Parameter
|
|
403
416
|
Estimation and Inverse Problems*, 3rd edition. Elsevier.
|
|
404
417
|
""",
|
|
405
418
|
)
|
|
@@ -531,11 +544,11 @@ Build TDEM data from time gates and decay values::
|
|
|
531
544
|
references="""
|
|
532
545
|
References
|
|
533
546
|
----------
|
|
534
|
-
.. [1] Simpson, F. and Bahr, K. (2005). *Practical Magnetotellurics*.
|
|
547
|
+
.. [data-1] Simpson, F. and Bahr, K. (2005). *Practical Magnetotellurics*.
|
|
535
548
|
Cambridge University Press.
|
|
536
|
-
.. [2] Chave, A. D. and Jones, A. G. (2012). *The Magnetotelluric Method:
|
|
549
|
+
.. [data-2] Chave, A. D. and Jones, A. G. (2012). *The Magnetotelluric Method:
|
|
537
550
|
Theory and Practice*. Cambridge University Press.
|
|
538
|
-
.. [3] Nabighian, M. N. and Macnae, J. C. (1991). Time domain electromagnetic
|
|
551
|
+
.. [data-3] Nabighian, M. N. and Macnae, J. C. (1991). Time domain electromagnetic
|
|
539
552
|
prospecting methods. In *Electromagnetic Methods in Applied Geophysics*,
|
|
540
553
|
volume 2, SEG.
|
|
541
554
|
""",
|
|
@@ -61,7 +61,7 @@ def to_csv(
|
|
|
61
61
|
|
|
62
62
|
References
|
|
63
63
|
----------
|
|
64
|
-
.. [1] Shafranovich, Y. (2005). Common Format and MIME Type for
|
|
64
|
+
.. [to-csv-1] Shafranovich, Y. (2005). Common Format and MIME Type for
|
|
65
65
|
Comma-Separated Values (CSV) Files. RFC 4180.
|
|
66
66
|
"""
|
|
67
67
|
model = result.to_resistivity_model()
|
|
@@ -116,7 +116,7 @@ def to_npz(result: InversionResult, path: PathLike) -> Path:
|
|
|
116
116
|
|
|
117
117
|
References
|
|
118
118
|
----------
|
|
119
|
-
.. [1] NumPy Developers. ``numpy.savez_compressed`` documentation.
|
|
119
|
+
.. [to-npz-1] NumPy Developers. ``numpy.savez_compressed`` documentation.
|
|
120
120
|
"""
|
|
121
121
|
model = result.to_resistivity_model()
|
|
122
122
|
out = Path(path)
|
|
@@ -187,7 +187,7 @@ def to_geojson(
|
|
|
187
187
|
|
|
188
188
|
References
|
|
189
189
|
----------
|
|
190
|
-
.. [1] Butler, H. et al. (2016). The GeoJSON Format. RFC 7946.
|
|
190
|
+
.. [to-geojson-1] Butler, H. et al. (2016). The GeoJSON Format. RFC 7946.
|
|
191
191
|
"""
|
|
192
192
|
model = result.to_resistivity_model()
|
|
193
193
|
rho = np.asarray(model.rho_2d, dtype=float)
|
|
@@ -281,7 +281,7 @@ def to_vtk(
|
|
|
281
281
|
|
|
282
282
|
References
|
|
283
283
|
----------
|
|
284
|
-
.. [1] Schroeder, W., Martin, K. and Lorensen, B. (2006). *The
|
|
284
|
+
.. [to-vtk-1] Schroeder, W., Martin, K. and Lorensen, B. (2006). *The
|
|
285
285
|
Visualization Toolkit*, 4th edition.
|
|
286
286
|
"""
|
|
287
287
|
model = result.to_resistivity_model()
|
|
@@ -352,8 +352,8 @@ def to_geotiff(
|
|
|
352
352
|
|
|
353
353
|
References
|
|
354
354
|
----------
|
|
355
|
-
.. [1] Ritter, N. and Ruth, M. (1997). GeoTIFF Format Specification.
|
|
356
|
-
.. [2] Gillies, S. et al. Rasterio documentation.
|
|
355
|
+
.. [to-geotiff-1] Ritter, N. and Ruth, M. (1997). GeoTIFF Format Specification.
|
|
356
|
+
.. [to-geotiff-2] Gillies, S. et al. Rasterio documentation.
|
|
357
357
|
"""
|
|
358
358
|
try:
|
|
359
359
|
import rasterio
|
|
@@ -440,7 +440,7 @@ def to_archive(
|
|
|
440
440
|
|
|
441
441
|
References
|
|
442
442
|
----------
|
|
443
|
-
.. [1] PKWARE Inc. ZIP File Format Specification.
|
|
443
|
+
.. [to-archive-1] PKWARE Inc. ZIP File Format Specification.
|
|
444
444
|
"""
|
|
445
445
|
out = Path(path)
|
|
446
446
|
out.parent.mkdir(parents=True, exist_ok=True)
|
|
@@ -57,7 +57,7 @@ class InversionMesh(PyCSAMTObject, MetadataMixin):
|
|
|
57
57
|
|
|
58
58
|
References
|
|
59
59
|
----------
|
|
60
|
-
.. [1] Oldenburg, D. W. and Li, Y. (2005). Inversion for applied
|
|
60
|
+
.. [InversionMesh-1] Oldenburg, D. W. and Li, Y. (2005). Inversion for applied
|
|
61
61
|
geophysics: A tutorial. In *Near-Surface Geophysics*, SEG.
|
|
62
62
|
"""
|
|
63
63
|
|
|
@@ -146,7 +146,7 @@ def depth_widths(
|
|
|
146
146
|
|
|
147
147
|
References
|
|
148
148
|
----------
|
|
149
|
-
.. [1] Ward, S. H. and Hohmann, G. W. (1988). Electromagnetic theory for
|
|
149
|
+
.. [depth-widths-1] Ward, S. H. and Hohmann, G. W. (1988). Electromagnetic theory for
|
|
150
150
|
geophysical applications. In *Electromagnetic Methods in Applied
|
|
151
151
|
Geophysics*, volume 1, SEG.
|
|
152
152
|
"""
|
|
@@ -370,7 +370,7 @@ def weighted_rms(observed, predicted, errors=None) -> float:
|
|
|
370
370
|
|
|
371
371
|
References
|
|
372
372
|
----------
|
|
373
|
-
.. [1] Tarantola, A. (2005). *Inverse Problem Theory and Methods for Model
|
|
373
|
+
.. [weighted-rms-1] Tarantola, A. (2005). *Inverse Problem Theory and Methods for Model
|
|
374
374
|
Parameter Estimation*. SIAM.
|
|
375
375
|
"""
|
|
376
376
|
obs = np.asarray(observed, dtype=float)
|