Release Notes#

Release 0.5.0 (2026-06-05)#

Plate Simulation#

  • Create UI and Driver for the classification of EM anomalies

  • Export best match models as Maxwell plates (w/ GEOPY-2661)

  • Finalize Anglo Accelerated Development with synthetic example

  • Add documentation for plate sweep and match

  • Add summary option for plate sweep

  • Change reference of Plate from center-center to top-center

  • Plate Match: Attach figure with comparative plot of scaled obs versus simulated data

  • Make simpeg group names in plate-simulation more clear in the ui.jsons

Mag/Grav#

  • MVI: Add small value to reference amplitude if reference are used

  • Implement MVI with PDE inversion

  • Use cyclic colormap by default for declination angle model

  • Change data groups saved for MVI as requested by users

  • Revert legacy behaviour with reference model ON by default

FEM/TEM#

  • Implement arbitrary receiver orientations (u-v-w) for airborne EM surveys

  • Relabel ui.json for TEM using Vertical, inLine, cross-line

  • Airborne FEM coaxial do not rotate transmitter, and ppm normalization needs to be adjusted

  • Allow rotated receivers for ground EM survey

  • Remove dependency on Tx frequency for airborne FEM survey

Natural Sources#

  • Incorporate MobileMT inversion with SimPEG (apparent conductivity only) DC/IP

DC/IP#

  • Parallelize batch 2D inversion

  • Improve topography augmentation for DC and MT

  • Accept 2D inversion mesh (DrapeModel) in sensitivity_cutoff application

  • Add tooltips to missing IP inversion inputs

  • DC2D with single line crashes on run with n_workers set

  • Investigate edge cells recovered with DC2D inversions

Joint Inversion#

  • Joint surveys using mvi crashes with dimension mismatch

  • PGI: Add checks for reference model present on inversion groups. Return clean GeoAppsError if not

  • Research auto-scaling strategy for cross-gradient regularization terms

  • Membership flip between iterations in PGI

  • Add PGI documentation

General Utilities#

  • Add dip_direction to list of supported variables by plate_sweep

  • Micro-management of auto-scaling of misfits with tiles, channels and within joint inversions

  • Clip limits of topography extent based on mesh extent

  • Add datetime stamp to simpeg.log and simpeg.out file names

  • Add validator for negative on NDV values in uncertainties

  • Transfer visual parameters Core volume settings from the input mesh to the inversion mesh (if present)

  • Add optional out_group to Depth of Investigation app

Bugs and Maintenance#

  • Update GravityUIJson with new data forms

  • Conductivity/Resistivity switcher doesn’t make sense for joint mvi/mag

  • Synthetic topography for runtests is overly sampled

  • Fix capitalization in labels and tooltips of ui.json files

  • Update minimum requirement to python >=3.12, <3.14 and numpy 2.*

  • Implement direct run_commands to specific modules for forwards and inversions

  • DCIP 2D crash on line ID selection

  • PGI failure on petrophysical model with air cells

  • Inversion stalls on tiling for large problems during redistribution of clusters

  • Refactor extent property calculation for all grid objects

  • Consolidate code for plate model definition between different repos

  • Update dictionary to choose driver from run_command

  • Triangulation crash on input surface

  • Regularization parameters of sub-drivers always over-written by joint parameters

  • Inversion crash on tile mesh creation transferring data

  • Refresh screenshots of UIJsons in docs

Release 0.4.0 (2026-01-06)#

  • Support 3D vector property group for orientation of rotated gradients

  • Add rotated_gradient to 2D inversions

  • Refactor components of inversion options

  • single entry point to run any application

  • Joint inversion: PGI

  • Migrate param-sweeps to geoapps-utils

  • Migrate plate-simulation to simpeg-drivers

  • Hook up 2D rotated gradients to batch 2D inversions

  • Investigate random failure of cross-gradient test

  • Amplitude model stuck on upper bound for MVI

  • Change default sensitivity threshold for DC inversions

  • Fix plate simulation label and tooltip

  • Speed up saving directive by keeping the file open during series

  • Change units displayed on selector of data type for V/Am^2

  • Investigate slow startup time for TEM inversion

  • Make pydantic validator issues returns clean GeoAppsError option

  • Add case study with Forestania datasets

  • Improve rotated gradient on octree change with average cell dim

  • Add files via upload

  • Add docs on rotated gradient options

  • Force use of MKL for Blas implementation

  • Bad flipping of large loop orientation

  • Refactor of the Factory classes

  • Migrate octree-creation-app to grid-app

  • Investigate double-print of Geoapps-Error

  • Can’t handle topography grid with nan

  • Parallelize 1D simulations

  • Forward simulation of potential fields always forms the full J

  • Re-order parameters to mimic the order in metadata

  • Add check for negative cond/res model values

  • Lost control on reference angles for MVI

  • Add core depth to the max-min elevation of the survey

  • Detect issues with waveform and throw a custom GeoappsError if found

  • Add a copy group+object base in input file as it exists in the UIJson group

  • Failure of directives when using Futures for simulation

  • Create custom sweep UIjson for plate-simulation

  • Investigate speckly looking MVI models with rotated gradients

  • Make start/stop group optional, and use the plate-sim parameter instead if disabled

  • Missing grouping of EM data in save directive for joint inversions

  • Parallelize the Sweeps

  • Explore 2D gridding techniques for EM line data

  • Pydantic error on auto-mesh creation with Grid2D topography object

  • Crash on Zarr file shape for tiled inversions with disk storage

  • Crash on no-upper bound for MVI within a joint process

  • Improve parallel creation of 1D simulations

  • Investigate erratic corner cells when using rotated gradients

  • Add custom error for topography grid selected without data

  • Random failure of sensitivity cutoff app tests

  • Workers crash on creating misfits for large problems

  • Remove save directive for petrophysical model

  • Adjust target misfit down to account for number of NDV in data

  • PGI fails with single simulation selected

  • MT predicted channels missing [] indices

  • Break edge case for 1D inversion with negative elevation (release 4.7)

  • Save sensitivities option ignored (release 4.7)

  • Wrong normalization for MT

  • Speed up active from topography algorithm

  • Bring in doc of plate simulation

  • Remove out_group form ui.json

  • Cannot load results from Batch 2D inversion runs

  • DEVOPS-922: adjust or fix text in ui.json

  • Check for MVI Simpeg groups and raise error

  • Joint surveys fails validation if no starting/reference models chosen

Release 0.3.0 (2025-06-20)#

  • Create spatial tiling estimator

  • Add a depth of investigation application

  • Add auto-meshing option for all inversions with default parameters

  • Fix simpeg-drivers pyproject still pointing to octree-creation-app/*

  • Auto-meshing: Round cell size to nearest 5 multiplier

  • Allow option for percentile cutoff in sensitivity based depth of investigation

  • Auto-meshing: Only use depth_code (no vertical pads) for potential fields and DC-IP inversions

  • Add UIJson group to hold octree creation parameters and update options

  • Octree mesh upside down

  • Refactor Params class with BaseData

  • Convert all of potential fields to BaseData params class

  • Faulty air cells in 2D inversion active

  • Reduce tests runtime

  • Use MetaSimulations instead of custom misfit mapping towards distributed process

  • Convert all DC/IP 3D/2D params to BaseData

  • Convert all EM params to BaseData

  • Convert both joint params to BaseData

  • Export uml from simpeg-drivers and design class structure for inversion parameters.

  • Selecting an active model instead of topography with surface survey option crashes

  • Update discretize to >=0.11.*

  • Cleanup constant files and data classes

  • Add version validation and write_default method to update version in …

  • Update SimPEG 0.21.2 to 0.23

  • Crash running 2D IP

  • Add custom Error for problem too large

  • Add UIJson class for gravity forward/inversion

  • Add option for MUMPS solver

  • Duplicated survey object when monitoring_directory is used

  • Resolve deprecation warnings with latest simpeg 0.23 and discretize 0.11

  • Create documentation for depth of investigation app

  • Fixup dependencies

  • Draft uml file for the UIJson/Params design

  • Update inversion docs to describe the auto-mesh option

  • Phi-d at Iter 0 shows as nan in the *.out file

  • Handle extra fields and deprecations in UIJson version validation

  • Clean up pydantic warnings

  • Implement structural orientation (rotated gradient) option to the inversion UI

  • Migrate em_inversion (EM1D) script to simpeg-drivers

  • Should update version when writing ui.json from simpeg-drivers options classes

  • Migrate FEM-1D from simpeg-drivers

  • Make lower bound for MVI visible=False

  • Add strike/dip option to the choice list of rotated_gradients.

  • Deprecate gradient_type

  • Fix warning about differing number of parameters between ui_json and data.

  • Relock on latest git dev revisions

  • Environment for coming pre-release

  • Fix UI json version tests (part of GEOPY-2049)

  • Rename params modules to options

  • Group models for L2 and LP

  • Add version to print screen

  • Allow IntegerData for active cell value model type

  • Use published dependencies, no git branches

  • Correctly declare dask for pip and dask-core for conda

  • Fixup dask dependency: do not lock on pypi

  • Use dask.distributed with workers as default behaviour

  • IP inversion with resistivity option does not convert the model to conductivity

  • Name of conductivity_model does not match the selection for resistivity

  • Change default auto-scaling to false

  • Bring back adjusted ui.json from Analyst to their respective repo

  • Bad referencing to transmitter id name

  • MVI name change breaks the forward

  • Fem1d title

  • Outdated inversion_type for 3D FDEM

  • Non-zero evaluation of the rotated gradient of a constant model

  • Sub-mesh reused on split data

  • Ensure backward compatibility of saved ui.json from Analyst 4.5 to 4.6

Release 0.2.0 (2025-02-07)#

  • Octree mesh cell definition not update if rec array

  • Make the canny add_data optional on get_edges method

  • Crash on joint survey with apparent resistivity

  • Update simpeg fork to 0.21.2

  • Streamline geoapps-utils

  • Generate tutorial for Natural source EM

  • Add checks on waveform before sending to SimPEG

  • Training material for ATEM

  • Always check/closed EM loops and return warning

  • Fix handling of UBC ordered Octree cells

  • Add docs for validation

  • Allow input active cells instead of topography

  • Fix formatting of warning for LargeLoop. Use logging instead warning

  • Inversion: Allow for model vector to define norms

  • Re-order the inversion inputs following users comments

  • Add option to export sensitivities for all inversions

  • Enable cell/face weights in params

  • Fill in default ui.json tooltips for inversion parameters

  • Review stitching of predicted data on tipper inversion

  • Review log and out for cross-gradient inversion.

  • Regression: Crash with no-reference data

  • Group vector model orientation parameters as “Dip Direction & Dip”

  • Add option for cond/resis for all EM/DC methods

  • Flip upper and lower bound value for resistivity style inversions

  • Implement rescaling of misfit functions for joint inversion

  • Tipper inversion crashes on background_model if not constant

  • DC3D inversion reports disconnected cells

  • Ram/Disk option not working in simpeg through Analyst

  • Save sensitivities fails for MVI inversion in Analyst

  • Nan data values not handled by the inversion

  • Simpeg-drivers is adding a transmitter id to the transmitter always

  • Make the transmitter id name agnostic

Release 0.1.0 (2024-06-17)#

  • Copy model to avoid applying double log

  • prepare distribution

  • Remove factor of half on cpu count for n_cpu=disabled

  • Fix reduced set of linter errors on simpeg-drivers

  • Regenerate env lock files (for SimPEG rc.1)

  • Enforce counter-clockwise ordering of EM large loops

  • Move params tests from geoapps to simpeg-drivers

  • Deal with negative octree cell dimensions from legacy inversions

  • Improve tiling strategy for large loop EM

  • Improve scaling of cross-gradient regularization

  • Build distribution files for geology and geophysics modules for Analyst

  • Use new dev script to create lock files

  • Fix tile ID on save directive

  • New RC distribution for Analyst 4.4

  • Import of simpeg-drivers too slow

  • Merge Release/0.1.0 to main

  • Use octree-creation-app v0.1.1

Copyright (c) 2023-2026 Mira Geoscience Ltd.