Extract and Plot LModeA Output cover
Research notebook

Extract and Plot LModeA Output

PlotLModeA is a Python package for turning LModeA 3.0 output into data that is easier to inspect and publish. Its extractor reads the local-mode analysis table, the normal-to-local decomposition matrix, and normal-mode properties, then writes three CSV files. Its plotter normalizes the contributions for each normal mode and renders a stacked percentage chart.

Optional TOML rules can combine rows into chemically meaningful groups. Rules match the number of atoms involved in a local coordinate and selected atom-symbol tuples. The first matching group owns a row, and the command writes a companion text report listing exactly which local modes were assigned to every group.

Typical workflow

uv sync
cd example
uv run --project .. lmodea-extract -i example.out
uv run --project .. lmodea-plot \
  --group-toml example.toml \
  --output example_grouped.png

Running from the dataset directory keeps the default CSV paths simple. From the project root, every input and output path can instead be supplied explicitly. --mode-list selects exact normal modes, while --top-n limits the displayed local-mode rows.

The separate group report is an important detail: a compact figure remains traceable to the individual coordinates that produced it.

Visit the PlotLModeA repository for the CLI reference and TOML format.