This repo contains LinkML artifacts and documentation for the Common Power System Model (CPSM) and CPSM Network Analysis (NA) profile groups. CPSM and CPSM-NA are two foundational Common Information Model (CIM) profile groups that define the classes, class attributes, and associations from the CIM required to model transmission network models and represent solved state estimation or power flow results.
To run the site locally use Python 3.11+. It will likely be easiest to use a Python virtual environment as shown below to install the dependencies.
python -m venv venv
venv\Scripts\activate
pip install mkdocs-material linkmlFor exact (known working) versions of dependencies, run pip install -r requirements.txt instead.
Once installed, you can then run the documentation site locally with hot reload using mkdocs serve
mkdocs serveOr you can build the static HTML files once with
mkdocs buildThis project uses LinkML to generate Markdown files from LinkML schemas. So a typical workflow for working on this project is to add or update LinkML .yaml files to the schemas subdirectory, do the following:
- Run the
make cleancommand to delete all Markdown files in the subdirectories ofdocs. It does not changeimagesandstylesheetssubdirectories or thedocs/index.mdfile.
make clean- Use LinkML's Markdown generator to create the static Markdown files from the LinkML schema by running
make markdown
make markdownThis is using Makefile to hide the complexity of running commands manually. You can see the full usage by running make help.
Note that if a new profile has been added, make sure to add it to the list in the docs/index.md file.