<commit_before># webgme-gridlabd

Metamodel, visualization, and model generators for gridlab-d in
WebGME.

## Using webgme-gridlabd

### WebGME interface

The webgme interface allows the visual creation and editing of models,
where the top level (ROOT) of the webgme interface can contain models,
and each model represents a GLM (gridlabd model).

![Root view showing models and language.](./images/models.png)

### META

![Base meta defining the base types from which all gridlabd objects inheirit.](./images/baseMeta.png)

![Example imported powerflow meta.](./images/powerflowMeta.png)

### Models

Within a model, you have the ability to create nodes, links between
nodes (e.g. overhead lines, transformers), schedules, loads, etc. just
as you would in a gridlab-d model. Any connection objects between
nodes are visualized as lines connecting those nodes.

![Simple 4 node powerflow model.](./images/simpleModel.png)

![More complex Two Community model.](./images/simpleModel.png)

### ImportGLM Plugin

### GenerateGLM Plugin

### SimulateWithGridlabD Plugin

### SimulateTES Plugin

### SimulateTESCluster Plugin

### UpdateGLDMeta Plugin<commit_msg>added more descriptions.<commit_after># webgme-gridlabd

Metamodel, visualization, and model generators for gridlab-d in
WebGME.

## Using webgme-gridlabd

### WebGME interface

The webgme interface allows the visual creation and editing of models,
where the top level (ROOT) of the webgme interface can contain models,
and each model represents a GLM (gridlabd model).

![Root view showing models and language.](./images/models.png)

### META

The meta for webgme-gridlabd is broken up into many parts, with the
base meta (GridlabD) being the only hand-crafted part of the meta. The
base meta defines what a model is, what it can contain such as
objects, globals, variables, modules, classes, etc. The types defined
in this aspect are the most basic class definitions from which all
other gridlabd types derive (e.g. a node derives from a powerflow
object which derives from object).

![Base meta defining the base types from which all gridlabd objects inheirit.](./images/baseMeta.png)

The specific metas for each of the different gridlab-d modules are
defined in their own separate sheets, which are automatically created
when running the UpdateGLDMeta plugin (described below). An example of
an imported meta can be found below (note that when it is imported it
is not automatically laid out, so some manual layout of the objects
may be necessary to better visualize the meta).

![Example imported powerflow meta.](./images/powerflowMeta.png)

### Models

Within a model, you have the ability to create nodes, links between
nodes (e.g. overhead lines, transformers), schedules, loads, etc. just
as you would in a gridlab-d model. Any connection objects between
nodes are visualized as lines connecting those nodes.

Below is a simple 4 node powerflow model which was automatically
imported from a gridlab-d model (GLM) file that exists in the gridlabd
repository.

![Simple 4 node powerflow model.](./images/simpleModel.png)

Below is a more complex example showing two communities of houses
connected to two generators. Each house has water heaters, HVAC
systems, and controllers.

![More complex Two Community model.](./images/simpleModel.png)

### ImportGLM Plugin

### GenerateGLM Plugin

### SimulateWithGridlabD Plugin

### SimulateTES Plugin

### SimulateTESCluster Plugin

### UpdateGLDMeta Plugin
{'fraction_non_alphanumeric': 0.07383905393712142, 'fraction_numerical': 0.0008653014133256418, 'mean_word_length': 4.789649415692821, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5023838', 'n_tokens_mistral': 965, 'n_tokens_neox': 913, 'n_words': 452}