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 Dec 15, 2019 · 67 revisions

SLAC-Gismo 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 allows developers to manage 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. Please make all changes in new or existing branches and submit a new Draft Pull Request. Pull Requests must 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 reviewed at the same time that code changes are reviewed after you submit your Draft Pull Request for review.
  4. You may view the Pull Requests to determine 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 viewing the status of the 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