
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.