Is your feature request related to a problem? Please describe.
Neural weather prediction models are starting to compete with traditional numerical models in operational settings, but their black-box nature makes it difficult for forecasters to trust them, diagnose failure modes on extreme events, or verify that predictions are physically grounded. Anemoi currently has no built-in interpretability or attribution tooling, so users who want to understand why a trained model produced a given forecast have to build this from scratch outside the framework. This is a recognized gap in the community, XAI for data-driven NWP has been a recurring theme at the recent EGU 2026 conference.
Describe the solution you'd like
As a first contribution, I'd like to add SmoothGrad input attribution for trained Anemoi models: a gradient-based method that averages saliency maps under input noise, producing cleaner attributions than vanilla gradients.
User-facing API: The user specifies a target (output variable + spatial region + lead time, e.g. precipitation over Paris at +24h) and optionally the hyperparameters of the xai method and receives an attribution map over the full input state showing the model's sensitivity to each input variable and grid point.
Proposed implementation. A new submodule, e.g. anemoi.inference.explain, containing:
-
An ExplainableRunner subclass of the existing Runner that disables torch.no_grad / inference_mode for the forward pass, keeps model parameters frozen, and retains the computation graph for backward.
-
A SmoothGrad attributor class that takes an ExplainableRunner, a target specification, and noise parameters, and returns attributions with the same coordinates as the input state.
-
YAML configuration consistent with existing Anemoi patterns, so an attribution run is launched similarly to a forecast.
Describe alternatives you've considered
No response
Additional context
About me. PhD student at CNRS, co-supervised with Météo-France working on Explainable AI for neural weather prediction. Happy to be assigned this issue and to maintain the contribution across follow-up methods.
Longer-term plan. If this direction is endorsed, I'd contribute additional methods as well as adding visualization utilities (maps, statistical summaries), and eventually an evaluation framework for comparing methods.
Open questions for maintainers:
-
Is anemoi-inference the right home, or would anemoi-models / a new sub-package be preferred?
-
Any operational constraints I should be aware of when designing the API?
Organisation
CNRS
Is your feature request related to a problem? Please describe.
Neural weather prediction models are starting to compete with traditional numerical models in operational settings, but their black-box nature makes it difficult for forecasters to trust them, diagnose failure modes on extreme events, or verify that predictions are physically grounded. Anemoi currently has no built-in interpretability or attribution tooling, so users who want to understand why a trained model produced a given forecast have to build this from scratch outside the framework. This is a recognized gap in the community, XAI for data-driven NWP has been a recurring theme at the recent EGU 2026 conference.
Describe the solution you'd like
As a first contribution, I'd like to add SmoothGrad input attribution for trained Anemoi models: a gradient-based method that averages saliency maps under input noise, producing cleaner attributions than vanilla gradients.
User-facing API: The user specifies a target (output variable + spatial region + lead time, e.g. precipitation over Paris at +24h) and optionally the hyperparameters of the xai method and receives an attribution map over the full input state showing the model's sensitivity to each input variable and grid point.
Proposed implementation. A new submodule, e.g. anemoi.inference.explain, containing:
An ExplainableRunner subclass of the existing Runner that disables torch.no_grad / inference_mode for the forward pass, keeps model parameters frozen, and retains the computation graph for backward.
A SmoothGrad attributor class that takes an ExplainableRunner, a target specification, and noise parameters, and returns attributions with the same coordinates as the input state.
YAML configuration consistent with existing Anemoi patterns, so an attribution run is launched similarly to a forecast.
Describe alternatives you've considered
No response
Additional context
About me. PhD student at CNRS, co-supervised with Météo-France working on Explainable AI for neural weather prediction. Happy to be assigned this issue and to maintain the contribution across follow-up methods.
Longer-term plan. If this direction is endorsed, I'd contribute additional methods as well as adding visualization utilities (maps, statistical summaries), and eventually an evaluation framework for comparing methods.
Open questions for maintainers:
Is anemoi-inference the right home, or would anemoi-models / a new sub-package be preferred?
Any operational constraints I should be aware of when designing the API?
Organisation
CNRS