Skip to content

v3.1.2

Choose a tag to compare

@jouvetg jouvetg released this 25 Jun 14:43
· 228 commits to main since this release

The highlights of this release are a new SR-based data assimilation module, a major overhaul of the data assimilation framework with support for both iceflow backends, and new optimization solvers (MUON, SOAP, improved CG-Newton and Trust Region).

Improvements and Updates

Modules

  • data_assimilation:

    • Compatibility: new dispatch layer for use with both emulated and unified iceflow
    • Fix: early stop with patience for the optimization loop
  • data_assimilation_SR (new):

    • SR-based inversion with flexible misfit terms (Huber, L²) and regularization (L2, Laplacian-squared)
    • Normalization: cost terms normalized by domain area (ice mask)
    • Fix: boundary effects in mask-based regularization
  • iceflow:

    • New: no_inflow boundary condition
    • New: NiceNet and CNO emulator architectures
    • Schema v3 for pretrained model artifacts with improved loading and validation
    • Improved double-precision support
    • Sliding: new u_ref / tau_ref convention for Weertman (more interpretable); Budd and Coulomb slidingco definitions aligned with Weertman; new use_mask_gr flag to force zero friction on floating areas
  • pretraining:

    • Overhaul: warmup phase, cleaner normalization layer, model save/load
    • Checkpoint resumption
  • optimizers:

    • New: MUON and SOAP optimizers
    • Improved CG-Newton and Trust Region solvers
    • L-BFGS-B: improved bound constraints and memory updates
  • live_dashboard (new):

    • Real-time monitoring during runs

Code maintenance

  • Optuna is now an optional dependency (pip install igm-model[optuna])
  • Early stop with patience for training loops
  • Profiler option added

Contributors: @shrrosier, @brfi3983, @tgregov, @jouvetg, @gillian-smith, @tancredeleger.