Aller au contenu principal
Accès ouvert déclaré 2026 software

pyCSAMT: Scientific Python for electromagnetic geophysics

0Citations signalées, ce qui n’est pas une note de qualité
0Institutions déclarées
0Pays d’affiliation déclarés

Le résumé fourni par la source

Maintenance and reliability release: fixes three real bugs surfaced by production agent runs, hardens EDI/Jones/Zonge/impedance parsing against malformed inputs and pandas-version drift, and expands regression coverage across pycsamt.agents from 83% to 92%. Fixed Agents StaticShiftAgent's before/after comparison plots went blank for any station whose frequency count differed from the first station loaded (the normal case in real surveys, not an edge case) — it now interpolates each station's ρₐ curve onto a common grid instead of discarding it. DataQCAgent's confidence-section plots no longer spam RuntimeWarning: Mean of empty slice for genuine per-frequency data gaps. ReportAgent no longer copies a figure onto itself and logs a spurious "are the same file" warning on every orchestrated run. AgentResult.failed() now preserves warnings collected before a failure instead of discarding them; IoTFieldAgent, Inv2DAgent, Inv3DAgent, and JointInversionAgent no longer lose diagnostics at their early-return failure paths. IoTFieldAgent's signed-manifest write now passes the signing key through — this path always raised before. Workflow-plan validation now recognizes the already-supported mare2dem, pinn_inversion, hybrid_inversion, code_gen, and denoise workflow names. Parsing & data SEG/Jones source resolution tolerates unresolved Windows globs and OS-invalid paths instead of raising unrelated low-level exceptions. EDI TROT fallback to the impedance rotation angle actually triggers again (was unreachable). Head/Heads coordinate clearing, Jones n_freq on multi-element arrays, the Jones banner regex, and SEG xarray export dtype — all fixed. z.utils.invert_z / Z.remove_distortion consistently raise ZError for a singular tensor, regardless of which check detects it. Zonge Topography/Station in-memory construction and load_avg's UTM conversion are repaired. Compatibility format_iterable and split_by_station detect numeric pandas columns with pandas.api.types.is_numeric_dtype instead of a dtype-string comparison / np.issubdtype, both of which raised TypeError on pandas builds that infer a string extension dtype. AVGComponentBase.to_json no longer calls the pandas 2.x-removed pd.io.json.dumps. FlexDict, format_text, and format_dict_result robustness fixes. Changed Removed several unused duplicate private helpers (Jones block parser, SEG xarray exporter, Z determinant, Zonge variance) and a ~140-line dead topography-resolution method in Inv3DAgent. No public API removed. Tests 21 pycsamt.agents modules that sat below 80% branch coverage now reach 80–100%, several via real (non-mocked) forward solves, pipeline runs, and a full non-dry-run orchestrator execution — including its provenance-file writing path, exercised here for the first time. Package-wide agents coverage: 83% → 92%. Broad regression coverage added across airborne adapters, the public API/view layer, EMTF, SEG/Jones, Z/Zonge, inversion-model helpers, metadata, and I/O. CI compatibility fixes for Python 3.13's changed Path.rglob("**") semantics and Windows-only tests running on Linux/macOS runners. Compatibility No public APIs were intentionally removed or renamed. The new optional warnings argument on AgentResult.failed() is backward compatible. Full details: Release notes · Changelog pip install --upgrade pycsamt

Ce résumé expose les affirmations des auteurs. BNTIC ne l’interprète pas comme une validation indépendante des résultats.

Le contrôle bibliographique ouvert

La source scientifique ouverte est momentanément indisponible.

BNTIC News n’est pas le producteur de ces données. Les publications sont interrogées à la demande dans Crossref, OpenAIRE, DOAJ, Europe PMC, HAL, DataCite, AfricArXiv, ROR et la Banque mondiale, sans clé d’accès. OpenAlex reste optionnel. Aucun service payant n’est nécessaire et aucune donnée externe n’est enregistrée en base. Consulter les sources et leurs limites.