1. Model Variation A model variation is used to change the structure of the model in combination with conditions. While conditions control which variables to vary, model variations allow you to modify the model itself by adding, removing or replacing model objects, or by modifying variable values. A model variation contains an ordered list of operations that are applied sequentially when the variation is activated. Each operation performs a specific modification to the model. The available operations are: Addition: Add new model objects to a parent object Removal: Remove existing model objects Replacement: Replace a model object with another Variable Modification: Override variable values Model Variation Reference: Include operations from other model variations When a condition with a model variation is run, the operations are executed in the order they are listed. This means that the order of operations matters - for example, you should add objects before attempting to replace them. Model variations can reference other model variations through the model variation reference operation. Circular references between model variations are detected and reported as errors during validation. See how to make variants of the model