Environments

The list of available environments is the following:

Env. name

Location

IDF file

Weather type (*)

Action space

Simulation period

Eplus-demo-v1

Pittsburgh, USA

5ZoneAutoDXVAV.idf

-

Discrete(10)

01/01 - 31/03

Eplus-5Zone-hot-discrete-v1

Arizona, USA

5ZoneAutoDXVAV.idf

Hot dry (2B)

Discrete(10)

01/01 - 31/12

Eplus-5Zone-mixed-discrete-v1

New York, USA

5ZoneAutoDXVAV.idf

Mixed humid (4A)

Discrete(10)

01/01 - 31/12

Eplus-5Zone-cool-discrete-v1

Washington, USA

5ZoneAutoDXVAV.idf

Cool marine (5C)

Discrete(10)

01/01 - 31/12

Eplus-5Zone-hot-continuous-v1

Arizona, USA

5ZoneAutoDXVAV.idf

Hot dry (2B)

Box(2)

01/01 - 31/12

Eplus-5Zone-mixed-continuous-v1

New York, USA

5ZoneAutoDXVAV.idf

Mixed humid (4A)

Box(2)

01/01 - 31/12

Eplus-5Zone-cool-continuous-v1

Washington, USA

5ZoneAutoDXVAV.idf

Cool marine (5C)

Box(2)

01/01 - 31/12

Eplus-5Zone-hot-discrete-stochastic-v1

Arizona, USA

5ZoneAutoDXVAV.idf

Hot dry (2B) (**)

Discrete(10)

01/01 - 31/12

Eplus-5Zone-mixed-discrete-stochastic-v1

New York, USA

5ZoneAutoDXVAV.idf

Mixed humid (4A) (**)

Discrete(10)

01/01 - 31/12

Eplus-5Zone-cool-discrete-stochastic-v1

Washington, USA

5ZoneAutoDXVAV.idf

Cool marine (5C) (**)

Discrete(10)

01/01 - 31/12

Eplus-5Zone-hot-continuous-stochastic-v1

Arizona, USA

5ZoneAutoDXVAV.idf

Hot dry (2B) (**)

Box(2)

01/01 - 31/12

Eplus-5Zone-mixed-continuous-stochastic-v1

New York, USA

5ZoneAutoDXVAV.idf

Mixed humid (4A) (**)

Box(2)

01/01 - 31/12

Eplus-5Zone-cool-continuous-stochastic-v1

Washington, USA

5ZoneAutoDXVAV.idf

Cool marine (5C) (**)

Box(2)

01/01 - 31/12

Eplus-datacenter-discrete-v1

Chicago, USA

2ZoneDataCenterHVAC_wEconomizer.idf

-

Discrete(10)

01/01 - 31/12

Eplus-datacenter-continuous-v1

Chicago, USA

2ZoneDataCenterHVAC_wEconomizer.idf

-

Discrete(10)

01/01 - 31/12

Eplus-datacenter-discrete-stochastic-v1

Chicago, USA

2ZoneDataCenterHVAC_wEconomizer.idf

- (**)

Box(4)

01/01 - 31/12

Eplus-datacenter-continuous-stochastic-v1

Chicago, USA

2ZoneDataCenterHVAC_wEconomizer.idf

- (**)

Box(4)

01/01 - 31/12

Eplus-IWMullion-discrete-v1

Pittsburgh, USA

IWMullion.idf

-

Discrete(10)

01/01 - 31/12

Eplus-IWMullion-continuous-v1

Pittsburgh, USA

IWMullion.idf

-

Discrete(10)

01/01 - 31/03

Eplus-IWMullion-discrete-stochastic-v1

Pittsburgh, USA

IWMullion.idf

- (**)

Box(2)

01/01 - 31/03

Eplus-IWMullion-continuous-stochastic-v1

Pittsburgh, USA

IWMullion.idf

- (**)

Box(2)

01/01 - 31/03

(*) Weather types according to DOE’s classification.

(**) In these environments, weather series change from episode to episode. Gaussian noise with 0 mean and 2.5 std is added to the original values in order to add stochastic.

Observation/action spaces

Observation and action spaces are defined in sinergym/sinergym/data/variables specifically for each IDF file. Therefore, external interface with simulation is defined in the same way.

This is a definition example for 5ZoneAutoDXVAV.idf and its variants:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE BCVTB-variables SYSTEM "variables.dtd">
<space>
  <!--

  **OBSERVATIONS**

      Type: Box(19)

      =====  =============================================  ====  ====
      N      Variable name                                  Max   Min    
      =====  =============================================  ====  ====
      0      Site Outdoor Air Drybulb Temperature           -5e6  5e6
      *****  *********************************************  ****  ****
      1      Site Outdoor Air Relative Humidity             -5e6  5e6                
      *****  *********************************************  ****  ****
      2      Site Wind Speed                                -5e6  5e6             
      *****  *********************************************  ****  ****
      3      Site Wind Direction                            -5e6  5e6
      *****  *********************************************  ****  ****
      4      Site Diffuse Solar Radiation Rate per Area     -5e6  5e6           
      *****  *********************************************  ****  ****
      5      Site Direct Solar Radiation Rate per Area      -5e6  5e6         
      *****  *********************************************  ****  ****
      6      Zone Thermostat Heating Setpoint Temperature   -5e6  5e6         
      *****  *********************************************  ****  ****
      7      Zone Thermostat Cooling Setpoint Temperature   -5e6  5e6           
      *****  *********************************************  ****  ****
      8      Zone Air Temperature                           -5e6  5e6         
      *****  *********************************************  ****  ****
      9      Zone Thermal Comfort Mean Radiant Temperature  -5e6  5e6          
      *****  *********************************************  ****  ****
      10     Zone Air Relative Humidity                     -5e6  5e6           
      *****  *********************************************  ****  ****
      11     Zone Thermal Comfort Clothing Value            -5e6  5e6          
      *****  *********************************************  ****  ****
      12     Zone Thermal Comfort Fanger Model PPD          -5e6  5e6          
      *****  *********************************************  ****  ****
      13     Zone People Occupant Count                     -5e6  5e6          
      *****  *********************************************  ****  ****
      14     People Air Temperature                         -5e6  5e6     
      *****  *********************************************  ****  ****
      15     Facility Total HVAC Electricity Demand Rate    -5e6  5e6  
      *****  *********************************************  ****  ****
      16     Current day                                     1     31
      *****  *********************************************  ****  ****
      17     Current month                                   1     12
      *****  *********************************************  ****  ****
      18     Current hour                                    0     23
      =====  =============================================  ====  ====
  -->

  <observation-space>
    <low value="-5e6"/>
    <high value="5e6"/>
    <shape value="19"/>
    <dtype value="numpy.float32"/>
  </observation-space>



  <!--
     **DISCRETE ACTIONS**

      Type: Discrete(10)

      ======  ================  ================
      Num     Heating setpoint  Cooling setpoint
      ======  ================  ================
      0             15                30
      ******  ****************  ****************
      1             16                29
      ******  ****************  ****************
      2             17                28
      ******  ****************  ****************
      3             18                27
      ******  ****************  ****************
      4             19                26
      ******  ****************  ****************
      5             20                25
      ******  ****************  ****************
      6             21                24
      ******  ****************  ****************
      7             22                23
      ******  ****************  ****************
      8             22                22
      ******  ****************  ****************
      9             21                21
      ======  ================  ================

      **CONTINUOUS ACTIONS**

      Type: Box(2)

      ===  ================  ====  ====
      Num  Variable name     Min   Max
      ===  ================  ====  ====
      0    Heating setpoint  15.0  22.5
      ***  ****************  ****  ****
      1    Cooling setpoint  22.5  30.0
      ===  ================  ====  ====
  -->

  <action-space>
    <shape value="2"/>  <!-- number of actions values is common to discrete and continuous -->

    <discrete>
      <element index="0" action0="15" action1="30"/>
      <element index="1" action0="16" action1="29"/>
      <element index="2" action0="17" action1="28"/>
      <element index="3" action0="18" action1="27"/>
      <element index="4" action0="19" action1="26"/>
      <element index="5" action0="20" action1="25"/>
      <element index="6" action0="21" action1="24"/>
      <element index="7" action0="22" action1="23"/>
      <element index="8" action0="22" action1="22"/>
      <element index="9" action0="21" action1="21"/>
    </discrete>

    <continuous>
      <low-ranges>
        <element index="0" value="15.0"/>
        <element index="1" value="22.5"/>
      </low-ranges>
      <high-ranges>
        <element index="0" value="22.5"/>
        <element index="1" value="30.0"/>
      </high-ranges>
      <dtype value="numpy.float32"/>
    </continuous>

  </action-space>
</space>

This gives you the possibility of playing with different observation/action spaces in discrete and continuous environments in order to study how this affects the resolution of a building problem. Inner each environment it is known what configuration file must read and spaces will be defined automatically, so you should not worry about anything.

In order to make environments more generic in DRL solutions. We have updated action space for continuous problem. Gym action space is defined always between [-1,1] and Sinergym parse this values to action space defined in configuration file internally.

The function in charge of reading those configuration files is parse_observation_action_space(space_file) in sinergym/sinergym/utils/common.py