Skip to content

Add function(s) for inversion sensitivity and diagnostics #187

@lawrenceabird

Description

@lawrenceabird

Overview

To support the selection of inversion coefficients during rheology and/or friction inversion, the Australian ice sheet modelling community has requested capability to assess various inversion configurations to support the decision of "optimal" inversions. In particular, it would be useful to assess (at a minimum) the following diagnostics for various combinations of coefficient pairs:

  • Area-weighted RMSE (sim - obs velocity)
  • Ratio of the cost functions
  • Magnitude of cost
  • Convergence – at the end and during the simulation (from *.outlog)
  • Area (and proportion?) of domain with +ve vs -ve velocity difference
  • Slope of inverted field

The following plotting functionality should also be included:

  • Velocity differences
  • Friction field
  • Heat maps with above diagnostics
  • Distribution of velocity differences
  • Distribution of the slope of the friction field

Initial ideas

This implementation likely requires a suite of functions, something like:

  • pyissm.tools.inversion.diagnostics() - Overall function to return a pandas table of diagnostic values from select value-pairs of coefficients. This would call functions such as:
    • pyissm.tools.general.area_weighted_diagnostics() - Function to compute area-weighted values (e.g., mean, RMSE, etc.) from a given model field.
  • pyissm.tools.inversion.param_sensitivity() - Parent function to control model IO for select value-pairs of coefficients
  • pyissm.plot.inversion_param_sensitivity() - Plotting function to plot results of pyissm.tools.inversion.diagnostics(). This would likely contain a series of granular functions to plot specific pieces of the puzzle.

Metadata

Metadata

Assignees

Labels

pyissmDefault label for all pyISSM issues

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions