def __init__(self, energyplus_file=None, model_file=None, weather_file=None, log_dir=None, elec_price_case_study=False, verbose=False): self.energyplus_process = None self.pipe_io = None # Verify path arguments, using the environment variables if energyplus_file is None: energyplus_file = os.getenv('ENERGYPLUS') if energyplus_file is None: print( 'energyplus_env: FATAL: EnergyPlus executable is not specified. Use environment variable ENERGYPLUS.' ) if model_file is None: model_file = os.getenv('ENERGYPLUS_MODEL') if model_file is None: print( 'energyplus_env: FATAL: EnergyPlus model file is not specified. Use environment variable ' 'ENERGYPLUS_MODEL.') if weather_file is None: weather_file = os.getenv('ENERGYPLUS_WEATHER') if weather_file is None: print( 'energyplus_env: FATAL: EnergyPlus weather file is not specified. Use environment variable ' 'ENERGYPLUS_WEATHER.') if log_dir is None: log_dir = os.getenv('ENERGYPLUS_LOG') if log_dir is None: log_dir = 'log' # Initialize paths self.energyplus_file = energyplus_file self.model_file = model_file self.weather_files = weather_file.split(',') self.log_dir = log_dir self.elec_price_case_study = elec_price_case_study # Create an EnergyPlus model (constructs the model, for ex of energyplus_model_2ZoneDC_HVAC_EcoFan.py) self.ep_model = build_ep_model( model_file=self.model_file, log_dir=self.log_dir, elec_price_case_study=self.elec_price_case_study, verbose=verbose) self.action_space = self.ep_model.action_space self.observation_space = self.ep_model.observation_space # TODO: self.reward_space which defaults to [-inf,+inf] self.pipe_io = PipeIo() self.timestep1 = 0 self.episode_idx = -1 self.verbose = verbose self.seed()
def __init__(self, energyplus_file=None, model_file=None, weather_file=None, log_dir=None, verbose=False): print('>> building EnergyPlusEnv') self.energyplus_process = None self.pipe_io = None # Verify path arguments if energyplus_file is None: energyplus_file = os.getenv('ENERGYPLUS') if energyplus_file is None: print( 'energyplus_env: FATAL: EnergyPlus executable is not specified. Use environment variable ENERGYPLUS.' ) return None if model_file is None: model_file = os.getenv('ENERGYPLUS_MODEL') if model_file is None: print( 'energyplus_env: FATAL: EnergyPlus model file is not specified. Use environment variable ENERGYPLUS_MODEL.' ) return None if weather_file is None: weather_file = os.getenv('ENERGYPLUS_WEATHER') if weather_file is None: print( 'energyplus_env: FATAL: EnergyPlus weather file is not specified. Use environment variable ENERGYPLUS_WEATHER.' ) return None if log_dir is None: log_dir = os.getenv('ENERGYPLUS_LOG') if log_dir is None: log_dir = 'log' # Initialize paths self.energyplus_file = energyplus_file self.model_file = model_file self.weather_files = weather_file.split(',') self.log_dir = log_dir # Create an EnergyPlus model self.ep_model = build_ep_model(model_file=self.model_file, log_dir=self.log_dir) self.action_space = self.ep_model.action_space self.observation_space = self.ep_model.observation_space # TODO: self.reward_space which defaults to [-inf,+inf] self.pipe_io = PipeIo() self.episode_idx = -1 self.verbose = verbose self.seed()