sinergym.utils.wrappers.WeatherForecastingWrapper
- class sinergym.utils.wrappers.WeatherForecastingWrapper(env: Env, n: int = 5, delta: int = 1, columns: List[str] = ['Dry Bulb Temperature', 'Relative Humidity', 'Wind Direction', 'Wind Speed', 'Direct Normal Radiation', 'Diffuse Horizontal Radiation'], weather_variability: Dict[str, Tuple[float, float, float]] | None = None)
- __init__(env: Env, n: int = 5, delta: int = 1, columns: List[str] = ['Dry Bulb Temperature', 'Relative Humidity', 'Wind Direction', 'Wind Speed', 'Direct Normal Radiation', 'Diffuse Horizontal Radiation'], weather_variability: Dict[str, Tuple[float, float, float]] | None = None)
Adds weather forecast information to the current observation.
- Parameters:
env (Env) – Original Gym environment.
n (int, optional) – Number of observations to be added. Default to 5.
delta (int, optional) – Time interval between observations. Defaults to 1.
columns (List[str], optional) – List of the names of the meteorological variables that will make up the weather forecast observation.
weather_variability (Dict[str, Tuple[float, float, float]], optional) – Dictionary with the variation for each column in the weather data. Defaults to None.
sigma (The key is the column name and the value is a tuple with the)
provided (mean and tau for OU process. If not)
variability. (it assumes no)
- Raises:
ValueError – If any key in weather_variability is not present in the columns list.
Methods
__init__
(env[, n, delta, columns, ...])Adds weather forecast information to the current observation.
Modify weather data using Ornstein-Uhlenbeck process according to the variation specified in the weather_variability dictionary.
class_name
()Returns the class name of the wrapper.
close
()Closes the wrapper and
env
.get_wrapper_attr
(name)Gets an attribute from the wrapper and lower environments if name doesn't exist in this object.
observation
(obs, info)Build the state observation by adding weather forecast information.
render
()Uses the
render()
of theenv
that can be overwritten to change the returned data.reset
([seed, options])Resets the environment.
Set the weather data used to build de state observation.
step
(action)Performs the action in the new environment.
wrapper_spec
(**kwargs)Generates a WrapperSpec for the wrappers.
Attributes
action_space
Return the
Env
action_space
unless overwritten then the wrapperaction_space
is used.metadata
Returns the
Env
metadata
.np_random
Returns the
Env
np_random
attribute.observation_space
Return the
Env
observation_space
unless overwritten then the wrapperobservation_space
is used.render_mode
Returns the
Env
render_mode
.reward_range
Return the
Env
reward_range
unless overwritten then the wrapperreward_range
is used.spec
Returns the
Env
spec
attribute with the WrapperSpec if the wrapper inherits from EzPickle.unwrapped
Returns the base environment of the wrapper.
- apply_ou_variability()
Modify weather data using Ornstein-Uhlenbeck process according to the variation specified in the weather_variability dictionary.
- logger = <Logger WRAPPER WeatherForecastingWrapper (INFO)>
- observation(obs: ndarray, info: Dict[str, Any]) ndarray
Build the state observation by adding weather forecast information.
- Parameters:
obs (np.ndarray) – Original observation.
info (Dict[str, Any]) – Information about the enviroment.
- Returns:
Transformed observation.
- Return type:
np.ndarray
- reset(seed: int | None = None, options: Dict[str, Any] | None = None) Tuple[ndarray, Dict[str, Any]]
Resets the environment.
- Returns:
Tuple with next observation, and dict with information about the enviroment.
- Return type:
Tuple[np.ndarray,Dict[str,Any]]
- set_weather_data()
Set the weather data used to build de state observation.
- step(action: int | ndarray) Tuple[ndarray, float, bool, bool, Dict[str, Any]]
Performs the action in the new environment.
- Parameters:
action (Union[int, np.ndarray]) – Action to be executed in environment.
- Returns:
Tuple with next observation, reward, bool for terminated episode and dict with Information about the enviroment.
- Return type:
Tuple[np.ndarray, float, bool, Dict[str, Any]]