def test_error_term_solar(self): """ Checks that the forecast values for solar irradiance deviates from the actual values """ env = ActiveEnv(seed=3) env.set_parameters({'solar_std': 0.5}) while env.get_solar_forecast()[0, 0] < 0.01: # to avoid night (no sun) action = env.action_space.sample() env.step(action) nominal_sun = env.powergrid.sgen['sn_mva'] solar_forecast = nominal_sun * env.get_solar_forecast()[:, 0] solar = -env.powergrid.sgen['p_mw'] assert norm(solar_forecast - solar) > 0.01
def test_set_params(self): """ Checks that the forecasts are equal when set_parameters is used to change solar and demand scale """ env1 = ActiveEnv(seed=3) solar_scale1 = env1.params['solar_scale'] demand_scale1 = env1.params['demand_scale'] env2 = ActiveEnv(seed=3) env2.set_parameters({ 'solar_scale': solar_scale1 * 2, 'demand_scale': demand_scale1 * 3 }) solar1, solar2 = env1.get_solar_forecast(), env2.get_solar_forecast() demand1, demand2 = env1.get_demand_forecast( ), env2.get_demand_forecast() assert norm(solar1 * 2 - solar2) < 10e-7 assert norm(demand1[0] * 3 - demand2[0]) < 10e-7