Version: Next

Deployment

Prerequisites

To run the energy workbench, the following software needs to be installed on your system:

  • Oracle Java SE 8

The supplied scripts with the release are all written in bash. This means a Linux host or a Windows system with a bash interpreter installed is required to run the daily data script or the helper script to start and stop the EWB server.


Decompressing the release

Start by decompressing the EWB release archive into a location of your choosing.

To decompress the EWB release on a *nix platform, copy the file to where you want to extract the release. Open a terminal in the directory with the EWB release and run the following command:

tar -xvzf energy-workbench-server-<YYYY>-<MM>-<dd>.tar.gz

where <YYYY> <MM> <dd> are the year, month and date of the release.

To decompress on Windows systems, you will need to install a utility to decompress and extract the archive. We recommend using 7-Zip http://www.7zip.org. Once installed extract the release to your desired directory.


File Layout

Within the extracted EWB release directory, the file layout should be as follows:

energy-workbench-<DATE>/
|-- bin/
|   |-- energy-workbench-server-<version>.jar
|   |-- ewb_daily.sh
|   |-- ewb_server.sh
|   |-- load-aggregator-<version>.jar
|   |-- load-processor-<version>.jar
|   |-- pof-network-extractor-<version>.jar
|   |-- weather-processor-<version>.jar
|   `-- weather-station-mapper-<version>.jar
|-- conf/
|   `-- ewb.conf
|-- docs/
|   |-- ...
|   `-- index.html
|-- logs
bin directory

This directory contains all the applications and scripts required by the energy workbench. Descriptions of each file:

FileDescription
energy-workbench-server-<version>.jar
The Energy Workbench server application.
See the EWB Server config for more information
ewb_daily.sh
The script that runs the daily data ingestion.
See the data ingestion page for more information
ewb_server.sh
A script to start and stop the EWB server. This is used by the ewb_daily.sh script to stop the server while data is updated, and start it again when it's done.
load-aggregator-<version>.jar
The load aggregator tool.
See the Load Aggregator page for more information.
load-processor-<version>.jar
The load processor tool.
See the Load Processor page for more information.
pof-network-extractor-<version>.jar
The PoF Network Extractor tool.
See the PoF Network Extractor page for more information.
weather-processor-<version>.jar
The weather processor tool.
See the weather Processor page for more information.
weather-station-mapper-<version>.jar
The Weather Station Mapper tool.
See the Weather Station Mapper page for more information.
conf directory

This is the recommended directory to put all the configuration files for the tools and applications in the bin directory.

See each of the corresponding pages for each tool / application for more information about config files and their contents.

The supplied ewb.conf file is used by the ewb_daily.sh and ewb_server.sh scripts. See the data ingestion page for more details.

docs directory

Contains the documentation pages you are reading now. There are many files and sub directories in this directory making up the documentation, however the primary file of interest is the index.html file. Opening this in a web browser will allow you to view the documentation pages you are currently reading. Alternatively you can point an HTTP server at this directory to serve the docs pages remotely.

logs directory

This is the default directory where logs are placed if invoked via the ewb_daily.sh and ewb_server.sh scripts using the default values in ewb.conf. See the Logging page for more information about configuring logging.


Configuration files

All the tools and the server provided in the release have their own specific configuration files. See each of the relevant applications pages to create their configuration files. Once they have been created, they can be reused between releases, however, make sure to check if any configuration parameters have been changed, added or removed by the application in the newer release.

The ewb_daily.sh and ewb_server.sh scripts rely on ewb.conf being in the default location. If you move the location of ewb.conf you need to make sure to update the config include line in these scripts with the path to the ewb.conf file.

ewb.conf

The default ewb.conf is a configuration file used by the bash scripts included with the Energy Workbench. The default variable values make assumptions about the file layout described above. If you move any files from the default file layout location described above the configuration will need to be modified.

The following table describes the variables defined in ewb.conf. See the ewb.conf that ships with the release for default values.

VariableDescription
JAVAPath to java binary.
USE_SYSLOGSet to 1 for the scripts to log events to the system log
Set to 0 to disable logging to the system log.
SYSLOG_LEVELThe facility level to use for system log messages.
EWB_BASE_PATHAn absolute path to the EWB release directory (the top level directory described in the file layout section).
EWB_BIN_PATHAn absolute path to the bin directory described in the file layout above.
EWB_CONF_PATHAn absolute path to the conf directory described in the file layout above.
EWB_LOGS_PATHAn absolute path to the logs directory described in the file layout above.
EWB_SERVER_JARAn absolute path the the EWB server jar file.
EWB_SERVER_CONFAn absolute path to the EWB server configuration file.
EWB_SERVER_CMDThe command to invoke the EWB server jar file with all required command line arguments.
EWB_SERVER_STOPCommand used by the ewb_daily.sh script to stop the EWB server.
EWB_SERVER_STARTCommand used by the ewb_daily.sh script to start the EWB server.
POF_EXTRACTOR_JARAn absolute path the the PoF Network Extractor jar file.
POF_EXTRACTOR_CONFAn absolute path to the PoF Network Extractor configuration file.
POF_SERVERThe server name or IP address of the PoF Server. This can be a report server.
POF_EXTRACTOR_CMDThe command to invoke the PoF Network Extractor jar file with all required command line arguments.
LOAD_PROCESSOR_JARAn absolute path the the Load Processor jar file.
LOAD_PROCESSOR_CONFAn absolute path to the Load Processor configuration file.
LOAD_PROCESSOR_CMDThe command to invoke the Load Processor jar file with all required command line arguments.
LOAD_AGGREGATOR_JARAn absolute path the the Load Aggregator jar file.
LOAD_AGGREGATOR_CONFAn absolute path to the Load Aggregator configuration file.
LOAD_AGGREGATOR_CMDThe command to invoke the Load Aggregator jar file with all required command line arguments.
WEATHER_PROCESSOR_JARAn absolute path the the Weather Processor jar file.
WEATHER_PROCESSOR_CONFAn absolute path to the Weather Processor configuration file.
WEATHER_PROCESSOR_CMDThe command to invoke the Weather Processor jar file with all required command line arguments.
WEATHER_STATION_MAPPER_JARAn absolute path the the Weather Station Mapper jar file.
WEATHER_STATION_MAPPER_CONFAn absolute path to the Weather Station Mapper configuration file.
WEATHER_STATION_MAPPER_CMDThe command to invoke the Weather Station Mapper jar file with all required command line arguments.

File Handle Limits

The Energy Workbench handles a lot of time series data. To support this a large amount of files are used. For performance reasons, handles to these files are held once opened until the application ends.

Some operating systems will have default open file handle limits lower than what the Energy Workbench requires. In these cases it is required to increase the open file handle limit to run the Energy Workbench. If your OS has a file handle limit of less than 65535, it is recommend to increase it to this value.

Consult your operating system documentation for specific instructions on how to increase open file handle limits. Remember that this limit needs to be available to the user running any of the EWB processes, not just the maximum system limit.