Skip to content

GEOPY-3035: Striping of data with no values running MVI with disk storage - #169

Merged
domfournier merged 2 commits into
developfrom
GEOPY-3035
Aug 24, 2026
Merged

domfournier merged 2 commits into
developfrom
GEOPY-3035

Conversation

@domfournier

@domfournier domfournier commented Aug 17, 2026 •

Copy link
Copy Markdown

GEOPY-3035 - Striping of data with no values running MVI with disk storage

Copilot AI lite review requested due to automatic review settings August 17, 2026 20:47
@github-actions github-actions Bot changed the title GEOPY-3035 GEOPY-3035: Striping of data with no values running MVI with disk storage Aug 17, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Dask-based potential-fields sensitivity (J) assembly to better support disk-backed storage workflows (per GEOPY-3035), shifting away from manual Zarr writes toward Dask Array concatenation and to_zarr.

Changes:

  • Simplifies block_compute to return stacked NumPy blocks (removing the prior on-disk write helper).
  • Adds distributed-client handling during linear_operator assembly.
  • Writes disk-backed sensitivities via dask.array.to_zarr(...) instead of direct Zarr selection writes.
Suppressed comments (2)

simpeg/dask/potential_fields/base.py:82

  • For disk-backed sensitivities, rows needs to be a list of Dask arrays (built via from_delayed) so it can be concatenated and written with .to_zarr(). Keeping the Future-based client.submit path for disk mode makes rows incompatible with dask.array.concatenate.
        if client and worker:

simpeg/dask/potential_fields/base.py:109

  • When store_sensitivities == "disk", rows should be Dask arrays (from from_delayed), not distributed Futures, so this client.gather(rows) branch should be disabled in disk mode to keep the later .to_zarr() path consistent.
    if client and worker:

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread simpeg/dask/potential_fields/base.py
Comment thread simpeg/dask/potential_fields/base.py Outdated
Comment thread simpeg/dask/potential_fields/base.py
Comment thread simpeg/dask/potential_fields/base.py Outdated
@gmcga
gmcga self-requested a review August 24, 2026 14:56
gmcga
gmcga previously approved these changes Aug 24, 2026

@gmcga gmcga left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems to be working correctly!

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@domfournier
domfournier merged commit ff97cf5 into develop Aug 24, 2026
13 checks passed
@domfournier
domfournier deleted the GEOPY-3035 branch August 24, 2026 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants