8. MESSAGE

Model for Energy System Strategy Alternatives and their General Environmental Impacts (MESSAGE) has been desgined to develop an optimization model of an energy system for medium to long term planning, energy policy analysis and scenario development. MESSAGE formulates the dynamic linear programming model with a mixed integer option. (Nonlinear constraints or nonlinear objective function can only be defined for specific problem.)

8.1. Objective function in MESSAGE

The objective function in MESSAGE contains the sum of all discounted costs, i.e. all kinds of costs that can be accounted for. All costs related to operation (i.e. resource use, operation costs, costs of demand elasticities) are discounted from the middle of the current period to the base year to get the present value.

Note

Discounting makes the costs occurring in differnt periods comparable; the discount rate defines the weights different periods get in the optimization. In principle, it should be equal to the long-term real interest rate, i.e. excluding inflation or any other opportunity costs. A high discount rate gives more weight or importance to present expenditures than to future ones, while a low discount rate reduces these differences and thus favours technologies that have high investment costs but low operation costs.

MESSAGE solves the optimization model in the following two steps:

  1. Generation of matrix.

  2. Optimization of model using the generated matrix.

The model generates minimal total discounted system costs, including investment, operation and maintenance, fuel and any other user-defined costs, while meeting various system requirements (e.g. sufficient supply to match demand at a given time or sufficient resources and capacity to achieve the desired production) and user-defined constraints (e.g. reserve margin, speed of technology deployment, emission limits, policy targets).

8.2. Components in MESSAGE

The current version of the MESSAGE software (V5) consists of the following components:

  • A user-interface for building a model.

  • Databases.

  • A matrix generation program called “mxg”.

  • An optimization program called “opt”.

  • A program for the post processing of the solution for extraction of results called “cap”.

The following figure shows the flow of control and information between these components in execution of the MESSAGE program.

_images/message_components.PNG

The first part of this section describes the various databases used in MESSAGE. And the second part describes the significance of modelling files created by various programs while using MESSAGE.

8.3. Databases in MESSAGE

MESSAGE creates each model in a separate case study and accordingly one database file for each model. The types of databases used in MESSAGE are given in the table below:

Acronyms

Full form

Significance

adb

Application database

adb file is created and maintained for each case study. It contains information on default scenario created by MESSAGE. For a new case study, it is appropriate to work on its adb rather than creating a scenario and working on an ldb.

ldb

Local database

ldb file is created and maintained for each (alternative) scenario in a case study. It is a copy of adb file. It is created for each alternative scenario, which user can modify as per their scenario narratives. When input sheets (parameters) are updated in SPLAT for alternative scenario, the corresponding ldb files also get updated.

tdb

Technology database

tdb file is created and maintained independent of any case study

upd

Update database

upd file is created and maintained to update values in the adb and/or a set of scenarios in a case study across the board.

The interrelationship of the databases used in the MESSAGE program is depicted in the figure below:

_images/message_databases.PNG

8.4. Significance of various MESSAGE model files

This section describes the various file types which are present or created within the sub-folders such as data, int, and res inside the models/Region folder while running the MESSAGE.

Note

  • Region could refer to an acronym for a country e.g., ZAa for SouthAfrica or MAINa for the entire continent.

  • CaseName refers to a scenario.

  • MXG is a matrix generation program and CAP is used for post processing of the solution and for extraction of results within MESSAGE GUI application.

8.4.1. File types inside data folder

File

Full form

Significance

Region.adb and Region_Casename.ldb

Application database; Local database

The data folder contains the required files for loading into the model. The adb file contains the model description and all information about technologies and their characterisitics for the default scenario in the model. The ldb file contains relevant data for default scenario as well as alternative scenarios in the model. These files are loaded into Excel memory by pressing the Reload Global button.

Region.tit

Title file

This is not a standard MESSAGE file. This file is added by IRENA in the SPLAT model directory. It carries hourly profiles of all the technologies that have been configured in the model to have time slice wise capacity factors.

Region_Casename.ldr

Load regions file

It contains information on load curves defined across various seasons in the model.

Region.cin

Cap Input file

SPLAT prepares this file before running the MESSAGE CAP utility. Parameters, whose results are required to be extracted, must be filled into corresponding cells in ReportGen-Annual sheet. CAP is a utility available in MESSAGE GUI package.​

8.4.2. File types inside intm (interim) folder

File

Full form

Significance

Region_Casename.mps

Mathematical Programming System

The mps file contains the optimization problem (model objective and constraints) in a solver readable format. Mathematically, the problem is represented in matrix notation. These files are created by running the model with MXG in the Report-Annual sheet in the model. MXG is a Python script that converts .adb or .ldb file into .mps file.

Region_Casename_lin.sol

Linear Solution

This file is created by running the model with either of these solvers: CPLEX, CBC, or Gurobi. The file carries solution of the problem in form of human readable format text but is still not in MESSAGE readable format.

8.4.3. File types inside res folder

File

Full form

Significance

Region_Casename.toc

Table of Contents file

This file carries headers of all result tables extracted by MESSAGE CAP utility.

Region_Casename.tab

Tabular format file

The MESSAGE CAP utility extracts results from the .sol file in the interim folder in a tabular format. This file is required to Get Results from SPLAT. Main reasons for empty .tab file could be that the .cin file is empty or could not be created appropriately.

8.5. SPLAT MESSAGE workflow

The SPLAT MESSAGE workflow diagram looks as follows:

_images/splat_message_workflow.PNG