11. Output format
When a simulation is running, this generates a directory called
Eplus-env-<env_name>-res<num_simulation>
. The management of
the directories tree generated during a simulation is done by
the Modeling module too. The content of this root output directory
is the result of the simulation and we have:
Eplus-env-<env_name>-res<num_simulation>
├── Eplus-env-sub_run1
├── Eplus-env-sub_run2
├── Eplus-env-sub_run3
├── ...
├── Eplus-env-sub_runN
│ ├── output/
│ ├── environment.epJSON
| ├── weather.epw
│ ├── monitor.csv
| └── monitor_normalized.csv (optional)
├── data_available.txt
└── progress.csv
Eplus-env-sub_run<num_episode> records the results of each episode in simulation. The number of these directories depends on the number of episodes and maximum episode data value (see Maximum Episode Data Stored in Sinergym Output).
Within these directories, you have always the same structure:
A copy of environment.epJSON which is being used during simulation episode. Environment.epJSON does not have to be the same as the original hosted in the repository. Since the simulation can be modified to suit the specific user-defined settings when building the gymnasium environment.
A copy of Weather.epw which is being used during simulation episode. This file does not have to be the same than original (when using variability).
monitor.csv: This records all interactions Agent-Environment during the episode timestep by timestep. This file only exists when environment has been wrapped with Logger (see Wrappers for more information).
monitor_normalized.csv: This file is only generated when environment is wrapped with logger and normalization (see Wrappers). The structure is the same than monitor.csv but
observation_values
are normalized.output/: This directory has EnergyPlus simulation output. If you want to know more about this files, visit EnergyPlus documentation.
data_available.txt: This file is generated when EnergyPlus API initializes all callbacks and handlers for the simulation. In this file, we can find all the available components of the building model such as actuators, schedulers, meters, variables, internal variables, etc.
Warning
Some list of components such as
Output:Variable
’s does not appear fully in data_available.txt, because of it must be declared in the building model first. If you want to see all the variables or meters specifically, you should look for them in the correct Energyplus output file. If you specify a correct variable in environment, Sinergym will add theOutput:Variable
element in the building model before simulation start.progress.csv: This file has information about general simulation results. There is a row per episode and it records most important data such as mean power consumption or mean comfort penalty, for example. This file only exists when environment has been wrapped with Logger (see Wrappers for more information).
11.1. Logger
The files monitor.csv, monitor_normalized.csv and progress.csv belong to Sinergym logger which is a wrapper for the environment. This logger has the responsibility of recording all the interactions that are carried out in a simulation, regardless of the training technique which may be being used or any other external factor.
Recording is managed by an instance of the class CSVLogger
which is
present as a wrapper attribute and is called in each timestep and
in the end of a episode. This class can be substitute by a new one,
see Logger Wrapper personalization/configuration.
Warning
The CSVLogger
requires the info dict with specific keys to
log the information correctly. If you change the info dict structure
in Sinergym, you should check this logger or to use a custom one.
Note
Normalized observation methods are only used when environment is wrapped with normalization previously.
Note
Note that you can activate and deactivate logger from environment when you want it, using methods activate and deactivate, so you don’t need to unwrap environment.