Observation Diagnostics Driver API

The obs_diagnostic module provides the command-line interface for running observation diagnostics.

Modules

obs_diagnostic.py

This module is the orchestrator for UFS DA observation diagnostics. It is intentionally lightweight and contains NO plotting logic.

Responsibilities:
  • Load YAML configuration

  • Construct ObsDiagPlotter (the real plotting engine)

  • Dispatch diagnostics for each observation type

  • Provide the main() function required by the CLI tool:

    ufsda-obs-diag –yaml config.yaml

All heavy plotting lives in:

ufs_da_diagnostics/plots/obs_diag_plotter.py

class ufs_da_diagnostics.obs.obs_diagnostic.ObsDiagPlotterWrapper(config_path)[source]

Bases: object

Wrapper class that:
  • Loads YAML config

  • Instantiates ObsDiagPlotter

  • Runs diagnostics

This keeps obs_diagnostic.py clean and import‑safe.

run()[source]

Run all diagnostics defined in the YAML.

ufs_da_diagnostics.obs.obs_diagnostic.main()[source]

Entry point for the CLI tool ufsda-obs-diag.

The CLI wrapper executes:

from ufs_da_diagnostics.obs.obs_diagnostic import main sys.exit(main())

This function:
  1. Parses –yaml argument

  2. Loads YAML config

  3. Runs ObsDiagPlotterWrapper

Function Summary

main

Entry point for the CLI tool ufsda-obs-diag.

Detailed API

ufs_da_diagnostics.obs.obs_diagnostic.main()[source]

Entry point for the CLI tool ufsda-obs-diag.

The CLI wrapper executes:

from ufs_da_diagnostics.obs.obs_diagnostic import main sys.exit(main())

This function:
  1. Parses –yaml argument

  2. Loads YAML config

  3. Runs ObsDiagPlotterWrapper