Skip to content

GEOPY-2800#379

Open
domfournier wants to merge 23 commits intorelease/GA_4.8from
GEOPY-2800
Open

GEOPY-2800#379
domfournier wants to merge 23 commits intorelease/GA_4.8from
GEOPY-2800

Conversation

@domfournier
Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI review requested due to automatic review settings April 16, 2026 22:15
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 Plate Match workflow to be more robust and diagnostic by adding explicit error handling for missing simulation directories, refining the matching/scoring pipeline (including spatial interpolation and normalization), and attaching per-query profile plots to generated plate outputs. It also refreshes multiple conda lock files to newer dependency revisions.

Changes:

  • Raise a GeoAppsError when the simulations directory is missing in PlateMatchOptions.simulation_files.
  • Update PlateMatchDriver scoring/normalization logic, add log suppression during options parsing, and attach a generated PNG profile to each created plate.
  • Regenerate/update conda lockfiles and environment lockfiles (including updated git SHAs for geoapps-utils/geoh5py/mira-simpeg).

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
simpeg_drivers/plate_simulation/match/options.py Adds a missing-directory guard for simulation file discovery.
simpeg_drivers/plate_simulation/match/driver.py Adds logging suppression, updates spatial interpolation + normalization/scoring, and generates/attaches diagnostic plots.
py-3.12.conda-lock.yml Updates locked dependencies (including geoapps-utils/geoh5py/mira-simpeg revisions).
py-3.13.conda-lock.yml Updates locked dependencies (including geoapps-utils/geoh5py/mira-simpeg revisions).
py-3.14.conda-lock.yml Updates locked dependencies (including geoapps-utils/geoh5py/mira-simpeg revisions).
environments/py-3.14-win-64.conda.lock.yml Updates env lock versions and git SHAs.
environments/py-3.14-win-64-dev.conda.lock.yml Updates dev env lock versions and git SHAs.
environments/py-3.14-linux-64.conda.lock.yml Updates env lock versions and git SHAs.
environments/py-3.14-linux-64-dev.conda.lock.yml Updates dev env lock versions and git SHAs.
environments/py-3.13-win-64.conda.lock.yml Updates env lock versions and git SHAs.
environments/py-3.13-win-64-dev.conda.lock.yml Updates dev env lock versions and git SHAs.
environments/py-3.13-linux-64.conda.lock.yml Updates env lock versions and git SHAs.
environments/py-3.13-linux-64-dev.conda.lock.yml Updates dev env lock versions and git SHAs.
environments/py-3.12-win-64.conda.lock.yml Updates env lock versions and git SHAs.
environments/py-3.12-win-64-dev.conda.lock.yml Updates dev env lock versions; notably switches some pip deps to @develop and pins simpeg-drivers to the feature branch.
environments/py-3.12-linux-64.conda.lock.yml Updates env lock versions and git SHAs.
environments/py-3.12-linux-64-dev.conda.lock.yml Updates dev env lock versions and git SHAs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread simpeg_drivers/plate_simulation/match/driver.py Outdated
Comment thread simpeg_drivers/plate_simulation/match/driver.py
Comment thread simpeg_drivers/plate_simulation/match/driver.py Outdated
Comment thread simpeg_drivers/plate_simulation/match/driver.py
Comment thread environments/py-3.12-win-64-dev.conda.lock.yml Outdated
Comment thread simpeg_drivers/plate_simulation/match/driver.py Outdated
Comment thread simpeg_drivers/plate_simulation/match/driver.py
Comment thread simpeg_drivers/plate_simulation/match/driver.py Outdated
Comment thread simpeg_drivers/plate_simulation/match/options.py
Comment thread simpeg_drivers/plate_simulation/match/driver.py
@domfournier domfournier changed the base branch from develop to release/GA_4.8 April 16, 2026 22:34
# Conflicts:
#	py-3.12.conda-lock.yml
#	py-3.13.conda-lock.yml
#	py-3.14.conda-lock.yml
Copy link
Copy Markdown
Contributor

@MatthieuCMira MatthieuCMira left a comment

Choose a reason for hiding this comment

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

I have not a lot of comment on the code itself.

Can you just add description to the PR so I know what you are trying to achieve?
As you said yourself, the tests are not completed with the figure.

Moreover, why did you changed the interpolation method? was it poorly working?
If it's the case, a non-regression test should be implemented

Comment thread simpeg_drivers/plate_simulation/match/driver.py Outdated
Comment thread simpeg_drivers/plate_simulation/match/driver.py
Comment thread simpeg_drivers/plate_simulation/match/driver.py
@domfournier
Copy link
Copy Markdown
Collaborator Author

domfournier commented Apr 17, 2026

Moreover, why did you changed the interpolation method? was it poorly working? If it's the case, a non-regression test should be implemented

Nobody had their hands on this yet, so I am not too worried about change in behaviour.
We have this test already: runtest.match_test.test_matching_driver that checks for the expected output. I did have to adjust it and validate the outcome.

What else did you have in mind specifically?

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 17, 2026

Codecov Report

❌ Patch coverage is 97.36842% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.27%. Comparing base (9377954) to head (6bd60d0).

Files with missing lines Patch % Lines
simpeg_drivers/plate_simulation/match/driver.py 97.26% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@                Coverage Diff                 @@
##           release/GA_4.8     #379      +/-   ##
==================================================
+ Coverage           90.21%   90.27%   +0.06%     
==================================================
  Files                 131      131              
  Lines                6497     6543      +46     
  Branches              809      810       +1     
==================================================
+ Hits                 5861     5907      +46     
  Misses                427      427              
  Partials              209      209              
Files with missing lines Coverage Δ
simpeg_drivers/plate_simulation/match/options.py 100.00% <100.00%> (ø)
simpeg_drivers/plate_simulation/match/driver.py 86.15% <97.26%> (+3.36%) ⬆️

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

@benk-mira benk-mira left a comment

Choose a reason for hiding this comment

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

Sorry, didn't notice Matthieu already took a pass on this one until I was well underway. I've got a couple notes to add.

Comment thread simpeg_drivers/plate_simulation/match/driver.py Outdated
Comment thread simpeg_drivers/plate_simulation/match/driver.py Outdated
Comment thread simpeg_drivers/plate_simulation/match/driver.py

dir_correction = strike_angle[ii] + 180 if flip else strike_angle[ii]
ind_center = int(centers[best])
plate = self._create_plate_from_parameters(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We've got Plate -> MaxwellPlate conversion in geoapps-utils now. Can we reuse here?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Not directly because we still need to convert from local to world coordinates, and apply the extra rotation from the strike_angle data

Comment thread simpeg_drivers/plate_simulation/match/driver.py Outdated
Comment thread simpeg_drivers/plate_simulation/match/driver.py
Co-authored-by: benk-mira <81254271+benk-mira@users.noreply.github.com>
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.

5 participants