Skip to content

pyDARTdiags example DA notebook for MOM6/CICE DA #6

@hkershaw-brown

Description

@hkershaw-brown

DA Diagnostics

Summary:
pyDARTdiags is a Python package for observation-space diagnostics within the Data Assimilation Research Testbed (DART) framework. It provides tools for analyzing, visualizing, and interpreting the performance of data assimilation (DA) systems by comparing model predictions with observational data.
The package includes an example gallery showcasing typical diagnostic workflows:
https://ncar.github.io/pyDARTdiags/examples/index.html

Motivation:
Understanding where and why data assimilation performs poorly is crucial for improving forecast skill and model accuracy.
In particular, identifying spatial and vertical regions of high analysis error or innovation bias can reveal issues with model physics, observation quality, or sampling.
This project focuses on making these diagnostics more interactive and intuitive through visualization.

Goals:

Develop a Jupyter notebook that enables users to:

  • Display the MOM6 model grid on a geographic map.
  • Overlay observation-space diagnostics (e.g., innovations, observation-minus-forecast, observation-minus-analysis).
  • Interactively explore regional, temporal, and depth-dependent patterns in assimilation performance.

Optional extensions could include:

  • Interactive filtering by variable, depth, or observation type.
  • Statistical summaries (e.g., RMS innovation by region).
  • Support for additional DART model interfaces beyond MOM6.

Approach:
The project will combine pyDARTdiags capabilities with Python visualization libraries such as matplotlib, cartopy, and xarray to display diagnostics on curvilinear ocean grids.

Steps:

  1. Plotting MOM6 output on geographical grids
  2. Overlaying DART observation space data
  3. Building an interactive Jupyter notebook for visualization and exploratory analysis.

Key Questions to Explore:

  • Which fields, regions and depth levels are most relevant to ocean modelers and observationalists?
  • Which visualization approaches (e.g., contour maps, scatter overlays, heatmaps) best highlight regions of poor DA performance?
  • How can pyDARTdiags outputs be linked with existing tools such as CUPiD or CESM diagnostics?

Skills Needed:

  • Python programming
  • Data analysis with xarray, numpy, and pandas
  • Visualization with matplotlib, cartopy, or plotly
  • Basic understanding of data assimilation concepts and ocean model grids (MOM6)

Possible Challenges:

  • Managing large diagnostic datasets efficiently.
  • Designing intuitive visualizations that convey complex spatio-temporal patterns.
  • Ensuring compatibility with various DART output formats and model configurations.

References:

Metadata

Metadata

Assignees

No one assigned

    Labels

    PythonPython Skills!enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions