Skip to content
This repository was archived by the owner on Sep 27, 2023. It is now read-only.
David P. Chassin edited this page Nov 14, 2019 · 67 revisions

GridLAB-D Developer Guide

As of 11/13/19, this wiki is only for project administration. The user manuals for SLAC Gismo versions of GridLAB-D are deployed at SLAC Gismo GridLAB-D Documentation. This documentation uses the SLAC Gismo Docs-Browser, which allow developers to navigate the documentation of each branch separately.

Developer manuals, troubleshooting guides, and module guides are version specific and compiled when the application is build on a target host. You must start a server instance on that target host to view those documents.

If you are looking for documentation for the PNNL versions of GridLAB-D, please use the ShoutWiki GridLAB-D Documentation.

Current Workflow

  1. The master branch is the default branch.
  2. The develop branch is used for active development targeted for the next merge into master.
  3. All changes must be made to branches, including documentation changes, which must be made in the docs folder of the same branch in which the code changes are introduced. Documentation changes will be review at the same time that code changes are reviewed during a Pull Request.
  4. Please open a Draft Pull Request to obtain the status of a branch. All branches are automatically validated using CircleCI and you may monitor validation progress at the CircleCI GridLAB-D Workflow or by view the status of your Draft Pull Request. You may submit your Pull Request for review when it pass validation.
  5. The master and develop branches are automatically built on Docker Hub. The resulting containers are stored at the GridLAB-D org repositories.
  6. Only the project administrators may tag master commits. These will by automatically tagged in Docker Hub at that time.

Developer System Setup

master

To build the master branch and any branch from master, you must first manually prepare your system (which is host dependent). For a rough guide see the build-aux/setup*.sh files of the develop branch.

The regular build process is usually the following:

bash$ autoreconf -isf && ./configure
bash$ make -j30 install
bash$ gridlabd --version
<check the version>
bash$ gridlabd --validate
<check that it works ok>

develop

To build the develop branch and any branch from develop, you must first setup your system using the installation script:

bash$ ./install.sh

This might take a few minutes. At this time, only a few platforms are supported, e.g., Mac OS X (Darwin 17 and 18), Linux (Centos 7, Ubuntu 16 and 18, and Amazon 2). If you are using a different platform, please use the install script of the system that most closely resembles yours. The install scripts are located in the build-aux folder and use the naming convention setup-<type>-<version>.sh. For developers, these scripts are fairly self-explanatory.

To rebuild and install your code after making local changes run the following command:

bash$ make install

again, and running validation

bash$ gridlabd --validate

The develop version can manage multiple versions of GridLAB-D on the same host running concurrently. For more information use the command

bash$ gridlabd version help

Clone this wiki locally