The vast majority of ENERGY 2100’s code is written in the Julia programming language using script files containing a “.jl” file extension. This code is organized into subdirectories under the root model directory grouped by the intent of each group of script files. 

The folder structure of ENERGY 2100, model version "2100CanadaPoplar" is shown below along with a description of the types of files stored in each of these folders.

Model Folder

Description of Purpose of Files in Folder

\2020Model

Stores batch files used to execute the model and the batch file to initiate the user interface.

\2020TOM

Houses the Oxford Economics macroeconomic model, TOM, and the economic forecast files (TOMInitial.db).

\Calibration 

These are script files which make calculations in preparation for the historical calibration (including historical policies), execute the historical calibration, and make post-calibration adjustments.

\Core 

These are Julia utility functions which define global functions like “ReadDisk” and “WriteDisk”. These are in essence an extension of the Julia language.  

\Database

Contains files that define the model variables on the HDF5 database as well as the set definitions. 

Set definitions are stored as csv files under \Database\Sets.

\Economic Transfers

Stores code that aggregates and maps ENERGY 2100 variables to TOM economic model.

\Engine 

Houses model source code and files that set up global constants.

\Input

Stores data input through script files, maps between ENERGY 2100 and TOM economic model.

\InputData

Stores user input data stored in .dat files. Eventually this subdirectory will be moved inside \Input. 

\Output

Stores Julia script files that write customized output files in both Excel and Access-friendly formats.

\Policy

Stores Julia script files that modify policy variables; also stores the groupings of policy files that make up the reference case and scenario cases.

\src

Houses EnergyModel.jl file that includes the files that set up the architecture of the model. The folder is a required Julia subdirectory which must be named “src”.

\Test

This folder contains test Julia files which individual modelers have constructed. The model does not need these to execute.

\VBInput 

Visual Basic program that reads .dat input data files and  creates TOM-related .csv files that pass data to/from the TOM macroeconomic model. 

Note:  This program is under construction as it is being translated to Julia.