Creating a new dataset

The first step in running a model with Pharoes tools is to define a dataset that describes the system to be analyzed. For first-time users, we strongly recommend using the MDIT macro-enabled Excel Template, which provides a structured and user-friendly way to build datasets using Microsoft Excel.

Why Use the MDIT Template?

The MDIT template allows you to create datasets quickly while ensuring consistency with the data format required by the Pharoes platform. It includes automated macros to generate the data.json file and organize the associated time series profiles.


Structure of the MDIT Template

The Excel template includes several key tabs, each serving a specific purpose:


Main

Contains the meta-information of the project, such as template version, authorship, and creation date. 📌 Do not modify this tab.


schema

Defines the data schema and serves as a reference for dataset structure and formatting. It helps users understand the meaning and constraints of each field.

Fields in this tab include:

  1. Category: Object category (e.g., generator, storage)

  2. Property: The specific attribute or relation

  3. Model: Internal variable name used by the engine

  4. Label: Friendly name displayed in the template

  5. Message: Description of the property

  6. Unit: Unit of measurement

  7. Constant: Whether the value is time-invariant

  8. Variants: Whether it can change across scenarios

  9. Subset: Use of the property (e.g., expansion, operation)

  10. Type: Data type (e.g., float, integer, string)

  11. Required: Indicates if the field is mandatory

  12. Inherit: Whether it can be inherited from the parent

  13. Category: The association category (if applicable)

  14. Vars: Whether multiple relationships are allowed

📌 Do not modify this tab. Use it as a reference if you are unsure about field formats or requirements.


devices (objects)

Defines the list of modelled objects by category (e.g., nodes, generators, storage units).

Columns to populate:

  1. Category: Type of object (e.g., “Generator”)

  2. ObjectName: Unique name of the object

  3. Parent: Object from which properties can be inherited

  4. Comments: Free-text notes for versioning or internal tracking


devices (relationships)

Specifies the connections between objects and optionally defines properties on those relationships.

Fields to fill:

  1. Category: Category of the primary object

  2. ObjectName: Name of the primary object

  3. Property: Type of relation or attribute

  4. Associated Category: Category of the secondary object

  5. Associated Object: Name of the related object

  6. Value (optional): Value associated with the relationship (e.g., weight, distribution factor)

Example: Assign a demand object “Industry” to a node “North” and define the percentage of its load.


devices (properties)

Defines the properties of each object, including static values or time-varying inputs.

Columns to populate:

  1. Category: Object category (e.g., Storage)

  2. ObjectName: Name of the object

  3. Property: The attribute being set (e.g., capacity)

  4. Value: Assigned value (static or profile reference)

  5. Variant: Scenario in which the value applies (e.g., “BaseCase”)

  6. Date: Start date for the assignment of the value


Generating the Dataset

Once you’ve filled out the relevant tabs:

  1. Click the “Generate JSON” button in the Excel toolbar to create the data.json file.

  2. Export your time series profiles to CSV format (as referenced in the devices (properties) tab).

  3. Follow these instructions (Uploading datasets) to upload these files into your project.


Notes

  • When in doubt, refer to the schema tab to ensure you’re using correct formats and required fields.

  • The template supports inheritance and scenario-based modeling—use these features to simplify and scale your dataset.

  • Maintain backups or use version naming to track changes over time.